]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
[grub2.git] / ChangeLog
CommitLineData
64463dfd
VS
12013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
4 error.
5
48972495
VS
62013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
9
5dd5e64b
VS
102013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
13 removed in current versions cygwin_conv_*.
14
1c1f31e5
VS
152013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * configure.ac: Disable efiemu runtime on cygwin.
18
c546a259
VS
192013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
22 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
23
81690478
VS
242013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
27 error message.
28
6b87c10a
VS
292013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
32 windows variant.
33 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
34 data.
35
8f0baaac
VS
362013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
39 when on x86 and not cygwin.
40 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
41 -Wl,-melf_x86_64.
42
b224c266
VS
432013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * configure.ac: Set CPP to build one when checkoing for freetype for
46 build.
47
506b336b
VS
482013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
51 [!GRUB_BUILD]: Remove has_argument.
52
8c8c87b7
VS
532013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
56 Replace with a dummy.
57
7dc5ca13
VS
582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * configure.ac: Don't change host_os from mingw to cygwin.
61
c3302aa5
VS
622013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * configure.ac: Change target_os from windows to cygwin.
65
7b780018
VS
662013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
67
68 Handle grub-pe2elf and grub-mkfont for cases when build != host.
69
70 * Makefile.am (build-grub-mkfont): Don't include gnulib.
71 (build-grub-gen-asciih): Likewise.
72 (build-grub-gen-widthspec): Likewise.
73 * Makefile.util.def (grub-pe2elf): Remove.
74 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
75 * configure.ac: Separate tests for build.
76 Move ./build-grub-pe2elf to grub-core.
77 Fix typo.
78 * grub-core/Makefile.am (build-grub-pe2elf): New target.
79 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
80 defined.
81 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
82 constants.
83 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
84 * util/grub-pe2elf.c: Simplify not to rely on getopt.
85 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
86
984cfd8a
VS
872013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
90 mingw32 as well based on grub_util_get_disk_size.
91 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
92 grub_util_get_fd_size.
93 (sync): Removed.
94 (fsync): Moved to ...
95 * grub-core/kern/emu/misc.c (fsync): ... here.
96
f82d79c9
VS
972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * include/grub/mm.h (grub_extend_alloc): Remove.
100 * grub-core/loader/i386/pc/plan9.c: Use own version of
101 grub_extend_alloc with appropriate types.
102
fd7dd66d
VS
1032013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
106
43ffba7c
VS
1072013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * util/getroot.c: Include sys/wait.h only when we need waitpid.
110
3c7eac44
VS
1112013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
112
113 Fix dependencies on cygwin.
114
115 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
116 dependencies when used and defined.
117 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
118
bdb5ba47
VS
1192013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
122 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
123
ed7fbf43
VS
1242013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
127 implementation available to cause compile-time rather than runtime
128 error.
129
fc46e9fc
VS
1302013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * util/grub-fstest.c: Don't check for symlinks on windows.
133
7f68269a
VS
1342013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * INSTALL: Mention unavailability of man pages when cross-compiling.
137
8ed358e0
VS
1382013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
141 and gcry_log_bug.
142 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
143
fc97214f
VS
1442013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * INSTALL: Document cross-compilation.
147 * acinclude.m4: Determine whether nm support -P and --defined-only.
148 * configure.ac: Add TARGET_ to all variables pertaining to target
149 that don't have it yet.
150 * gentpl.py: Likewise.
151 * grub-core/Makefile.am: Likewise.
152 * grub-core/genmod.sh.in: Likewise.
153 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
154 as well.
155
ca1fb563
IB
1562013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
157
158 * configure.ac: Remove -Wempty-body. It's not essential and needs
159 recent gcc.
160
0031b229
IB
1612013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
162
163 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
164 * util/getroot.c: Likewise.
165
54ea2f44
VS
1662013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * grub-core/disk/ahci.c: Add needed explicit cast.
169 * grub-core/lib/backtrace.c: Likewise.
170 * grub-core/net/ip.c: Likewise.
171 * grub-core/net/tcp.c: Likewise.
172 * grub-core/net/udp.c: Likewise.
173
3c601f8c
VS
1742013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
177
1d679dda
VS
1782013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * util/import_gcry.py: Add final newline in visibility.h.
181
00c28dd9
VS
1822013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * conf/Makefile.common: Fix typo.
185
32af299a
VS
1862013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
189
e733cf52
VS
1902013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * Makefile.am (widthspec.h): Fix typo.
193 * util/grub-gen-widthspec.c: Likewise.
194
c6b066f2
VS
1952013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
196
197 Move ascii.h and widthspec.h generation to a separate build-time-only
198 tool.
199
ad1fe3f9 2002013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
201
202 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
203 Always fill bootdisk info and improve check for NetBSD disklabel.
204
92a52dd4
VS
2052013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * conf/Makefile.extra-dist: Add util/bin2h.c.
208 Reported by: floppym.
209
b2e9d276
VS
2102013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
213
7b966834
VS
2142013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * configure.ac: Disable unifont and starfield if no freetype was found.
217
d5c1eef1
VS
2182013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
221 on NetBSD and OpenBSD.
222
66345b50 2232013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
224
225 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
226
66345b50 2272013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
228
229 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
230 reduced. Inheritant options are processed during the theme loading.
231
66345b50 2322013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
233
234 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
235
369508b3
AS
2362013-08-14 Avik Sil <aviksil@in.ibm.com>
237
238 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
239
2402013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
241
242 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
243 using qemu.
244
6f27a3f6
PFS
2452013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
246
247 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
248 remove-potcdate.sed.
249
c6ed362a
AB
2502013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
251
252 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
253 unused attribute from pull argument.
254
5e7d9464
AB
2552013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
256
257 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
258 memory leak.
259
dea55e2a
AB
2602013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
261
262 * util/getroot.c (pull_lvm_by_command): add --separator option
263 to vgs call to disable padding of output to 10 characters.
264
f0b94ded
VS
2652013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
268 here ...
269 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
270 here.
271
b828fb5d
VS
2722013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
275 length.
276
7c9d0c39
VS
2772013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
278
279 Fix handling of build-time grub-bin2h and grub-mkfont when doing
280 full Canadian cross. Tested with build=x86_64, host=arm,
281 target=ppc-ieee1275.
282
816719c8
VS
2832013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * configure.ac: Error if no $BUILD_CC could be found.
286 Reported by: DevHC.
287
2af2353b
VS
2882013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
291 i386-multiboot.
292
797abd0a
VS
2932013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
296 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
297
36e87d25
CW
2982013-08-13 Colin Watson <cjwatson@ubuntu.com>
299
300 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
301 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
302 falling back to the partition device, otherwise a later call to this
303 function may fail spuriously.
304 Reported by Axel Beckert. Fixes Debian bug #708614.
305
273349fe
GS
3062013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
307
308 * autogen.sh: Replace find -not by the POSIX-compliant find !.
309
418f86c6
GS
3102013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
311
312 Prevent shadowing of stdlib's devname(3) on BSD.
313
314 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
315 and devlast to diskname and disklast, respectively.
316
c137aea0
CW
3172013-08-11 Colin Watson <cjwatson@ubuntu.com>
318
319 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
320
272dc8df 3212013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
322
323 * docs/grub.texi: Introduce terminal window position options:
324 terminal-left: terminal window's left position
325 terminal-top: terminal window's top position
326 terminal-width: terminal window's width
327 terminal-height: terminal window's height
328 terminal-border: terminal window's border width
329 * grub-core/gfxmenu/theme-loader.c: Likewise.
330 * include/grub/gfxmenu_view.h: Likewise.
331 * po/exlude.pot: Likewise.
332 * grub-core/gfxmenu/view.c: Likewise.
333 Also updated minimal window size.
334 Also terminal_sanity_check function has been introduced.
272dc8df
VT
335 * grub-core/tests/checksums.h: Update (terminal window height
336 is adjusted now for low resolution screen)
b4743461 337
748a4533
VS
3382013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
341 position).
342
fca5f944
VS
3432013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * po/exclude.pot: Add few recent exceptions.
346
4f47d809
VS
3472013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * tests/grub_func_test.in: Add unicode.pf2.
350
a62ae90c
VS
3512013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
354 standard rather than noral color, in line with other terminals.
355
4ed41392
VS
3562013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
359 analysis.
360
3719fbc5
VS
3612013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/loader/arm/linux.c: Change printf to dprintf.
364
459b1d91
VS
3652013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
368 inappropriate printf.
369
f4e1ab9d
AB
3702013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
371
372 * .bzrignore: Remove grub-core/lib/dtc-grub,
373 grub-core/Makefile.libfdt.def
374 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
375
fa471bfa
VS
3762013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * include/grub/video.h (grub_video_register): Keep double-linked as
379 well as single-linked invariants.
380 Reported by: qwertial.
381
d65be02b
VS
3822013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * grub-core/commands/nativedisk.c (get_uuid): Handle
385 GRUB_DISK_DEVICE_UBOOTDISK_ID.
386
ba8bc620
VT
3872013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
388
389 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
390 maximum of NW, N, NE heights instead of N's height and maximum of
391 NW, W, SW widths instead of W's width. (So the box will be always
392 correctly drawn)
393
4f0ad029
GS
3942013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
395
396 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
397 Fix misuse of variable count.
398
43d53b72
LL
3992013-07-18 Leif Lindholm <leif.lindholm@arm.com>
4002013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
4012013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 402
43d53b72
LL
403 New ports to arm-uboot and arm-efi.
404 Mostly by Leif Lindholm with some additions from
405 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 406
88f8d146
VS
4072013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
410 and not before.
411 Reported by: Leon Drugi.
412
3f42504c
VS
4132013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
416 Reported by: Paulo Flabiano Smorigo.
417
d110499b
VT
4182013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
419
420 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
421
a8674ad3
VT
4222013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
423
424 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
425
286fe4b3
VS
4262013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
429
1bd57aa3
VS
4302013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
433
7a87d69f
AB
4342013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
435
436 * grub-core/net/bootp.c: Export net_* variables.
437 * grub-core/net/net.c: Likewise.
438
b2182299
VS
4392013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
442
795b3dc0
VS
4432013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
446
68714c43
VS
4472013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
448
449 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
450
af211bab
VS
4512013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
454
0036f02d
MM
4552013-07-14 Massimo Maggi <me@massimo-maggi.eu>
456
457 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
458 <= 0.
459
6d0ddff3
MM
4602013-07-14 Massimo Maggi <me@massimo-maggi.eu>
461
462 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
463 functions.
464
038016f4
MM
4652013-07-14 Massimo Maggi <me@massimo-maggi.eu>
466
467 * grub-core/fs/zfs/zfs_lz4.c: New file.
468 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
469
776bdce2
MM
4702013-07-14 Massimo Maggi <me@massimo-maggi.eu>
471
472 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
473
c71dbd40
MM
4742013-07-14 Massimo Maggi <me@massimo-maggi.eu>
475
476 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
477 (check_pool_label): Likewise.
478 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
479
4802013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
481
482 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
483
8e67b50f
AB
4842013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
485
486 * docs/grub.texi (Commands): Document postition parameters
487 for menuentry command.
488
f5ae3717
AB
4892013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
490
491 * util/grub-mknetdir.in: Remove stray line from help output.
492
9c28da2a
VS
4932013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
494
495 Remove early sm712 init as there is no reason for it (the "watchdog"
496 effect was due to wrong GPIO map).
497
139072b8
VS
4982013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * grub-core/commands/pcidump.c: Remove static variables.
501
c6a61bda
VS
5022013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * grub-core/commands/sleep.c: Refresh screen before sleeping.
505
51369614
VS
5062013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * configure.ac: Move delimiter after the infos.
509
efa8640a
VS
5102013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
513
6f80a7b2
VS
5142013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
517 not filling whole 8x16 space.
518
a2371e19
VS
5192013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
522
64fce2d8
VS
5232013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * configure.ac: Indicate which liblzma is used if any.
526
eb272d84
PW
5272013-06-21 Paul Wise <pabs3@bonedaddy.net>
5282013-06-21 Craig Sanders <savannah@taz.net.au>
529
530 * util/grub-reboot.in: Document submenu usage.
531
a9e5abee
CW
5322013-06-25 Colin Watson <cjwatson@ubuntu.com>
533
534 * .bzrignore: Update with a number of new test-related files.
535
e639c204
CW
5362013-06-25 Colin Watson <cjwatson@ubuntu.com>
537
538 * util/grub-script-check.c: Fail on scripts containing no
539 commands, to guard against corrupted grub-mkconfig setups that
540 produce no useful output.
541 * tests/grub_script_no_commands.in: New test.
542 * Makefile.util.def (grub_script_no_commands): Add.
543 Reported by Hans Putter. Fixes Debian bug #713886.
544
a4c89b17
AB
5452013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
546
547 * grub-core/disk/diskfilter.c: Forgot to remove comment
548 from previous commit.
549
5b06b53c
AB
5502013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
551
552 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
553 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
554
702da5c9
AB
5552013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
556
557 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
558
aa62a5b7
AB
5592013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
560
561 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
562 rescan diskfilter devices until nothing new is found.
563
4aa237c8
VS
5642013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
565
566 Fix casts when compiling coreboot-specific code for 64-bit EFI.
567
93d8479b
VS
5682013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
569
570 Don't try to detect cbfs on *-emu.
571
837222cc
VS
5722013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * grub-core/term/gfxterm.c: USe right background color when scrolling.
575
99c971af
VS
5762013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
577
578 Add support for processed coreboot payload chainloading.
579
e6930a45
VS
5802013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
581
582 Enable coreboot information commands even when not loaded as
583 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
584
5027af38
VS
5852013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
586
587 Support for cbfs. Also factor out the part which is common
588 for all archives to a separate module. This splits tar from cpio
589 as they are very different but keeps cpio, cpio_be, odc and newc
590 together since they're very similar.
591
a5b55c4b
DM
5922013-06-15 David Michael <fedora.dm0@gmail.com>
593
594 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
595 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
596
0301a8b3
VS
5972013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
598
599 * tests/grub_script_eval.in: Really add the eval test.
600
3d84cb17
VS
6012013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
602
603 Move flavour-specific parts out of common cpio.c file and
604 rename remaining to cpio_common.c
605
593e430c
AB
6062013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
607
608 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
609 off new function grub_script_execute_new_scope. Change callers to use
610 either of them as appropriate.
611 * grub-core/commands/eval.c: New command eval.
612 * docs/grub.texi (Commands): Document it.
613
63c29849
AB
6142013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
615
616 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
617 to fetch values when listing.
618
cc284112
AB
6192013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
620
621 Fix make dist on non-pc.
622
6232013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
624
625 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
626 without a device name.
627
69544d1e
VS
6282013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
629
630 Remove enable_executable_check as it's not needed anymore.
631 Reported by: dougray.
632
96dbe648
VS
6332013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
636 ambigouos RAID before discovering RAIDs on top of it.
637 Reported by: bodom.
638
ccfc0bdb
VS
6392013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
640
641 Fix typo (failback vs fallback).
642
f2587088
AB
6432013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
644
645 * util/grub.d/30_os-prober.in: Add support for probing EFI
646 System Partition (as of os-prober 1.58).
647
cec5cf0c
VS
6482013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * configure.ac: Add yet another path to unifont. For parabola.
651
e40b4596
JT
6522013-05-30 Josh Triplett <josh@joshtriplett.org>
653
654 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
655 handling to copy the killed characters to the kill buffer as
656 UCS4 stored as grub_uint32_t rather than as 8-bit characters
657 stored as char. Eliminates UCS4 truncation and corruption
658 observed when killing characters with Ctrl-u and yanking them
659 back with Ctrl-y.
660
fc4c4fdd
VS
6612013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
662
663 Detach optional parts of gfxterm and integrate in with coreboot init.
664
6570b205
VS
6652013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
666
667 Move blit and fill dispatcher to appropriate files to decrease export
668 and relocation overhead.
669
b8323067
VS
6702013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * grub-core/font/font.c, include/grub/font.h: Inline simple font
673 functions.
674
3cc1878f
VS
6752013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * grub-core/Makefile.am: Fix compilation problem with some
678 automake versions.
679
4b80e43c
VS
6802013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
683
57e0c20c
VS
6842013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
687 automake versions.
688
4fd42c53
VS
6892013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
692 SSDT.
693
1e908b34
RS
6942013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
695
696 * grub-core/partmap/dfly.c: New partition map.
697
1359e474
VS
6982013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
701 checking.
702 Reported by: Francesco Lavra.
703
17806392
AB
7042013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
705
706 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
707 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
708 false conditions.
709 * conf/Makefile.common: define dist_grubconf_DATA
710
cdce14fa
VS
7112013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
712
713 Progressively skip menu elements on small terminals rather
714 than crashing.
715
c8d6cc3c
VS
7162013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
719 to avoid losing last column.
720
a73b31ce
VS
7212013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * po/exclude.pot: Add missing string "%C".
724
1202c764
VS
7252013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
728 after the test.
729
50268344
VS
7302013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * util/grub-install.in: Gettextize "Not found" message.
733
62b15edf
VS
7342013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
735
736 Fix distfiles list.
737 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
738
7392013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
740
741 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
742 present.
743 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
744
709ad61b
VS
7452013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
748
d128901a
VS
7492013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
752 attribute since structure is not necessarily aligned.
753
34b22f5c
AB
7542013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
755
756 * docs/grub.texi (Device syntax): Clarify description of network
757 drives.
758
0f7e980b
VS
7592013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
760
761 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
762 for vasprintf presence.
763
30b03dc2
VS
7642013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * util/grub-install.in: Handle efibootmgr presence check.
767 Reported by: Leif Lindholm.
768
0dc11c08
VS
7692013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
772 new strings to translate.
773
f8024c3f
VS
7742013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
777 yet another string (pun intended) to translate.
778
b4c1da62
VS
7792013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * po/POTFILES-shell.in: Autogenerate it.
782
0ef7478b
VS
7832013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
786
8200fa15
VS
7872013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
790 misnomer.
791
091945b2
AB
7922013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
793
794 * docs/grub.texi (Network): Add description of net_default_interface,
795 net_default_ip and net_default_mac. Rewrite variables description
796 to emphasize that they are per-interface.
797
0e7b2e32
VS
7982013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
799
800 New test: cmdline and cat.
801
16f7c8f6
VS
8022013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/commands/cat.c: Show UTF-8 characters.
805
3e912fda
VS
8062013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * conf/Makefile.common: Poison float and double on non-emu.
809
ee0220bc
VS
8102013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * configure.ac: Don't disable extended registers on emu.
813
89e0240c
VS
8142013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * configure.ac: Don't use extended registers on x86_64.
817 Reported by: Peter Jones.
818
e56d9637
VS
8192013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/term/efi/console.c: Fix compile error.
822
8098f655
VS
8232013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
824
825 Compressed HFS+ support.
826
16940e07
VS
8272013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
830 pixel".
831
c5dbc13d
VS
8322013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
833
834 Menu color test.
835
011f8ae8
VS
8362013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * grub-core/tests/setjmp_test.c: New test.
839
2aa072d7
VS
8402013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
841
842 New variables 'net_default_*' to determine MAC/IP of default interface.
843
43fe02cb
VS
8442013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * tests/gettext_strings_test.in: A test to check for strings not
847 marked for translation.
848
bed06142
VS
8492013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * autogen.sh: Exclude unused libgcrypt files from translation.
852
fb2666b5
VS
8532013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
854
855 Simplify few strings.
856
d22840ec
VS
8572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
858
859 Mark few forgotten strings for translation.
860
e34092fd
VS
8612013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
864 rather than printf.
865
47cf82b4
VS
8662013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
869 rather than printf.
870 * grub-core/video/readers/tga.c: Likewise.
871
1eed0e6e
VS
8722013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * tests/priority_queue_unit_test.cc: New test.
875
c5b7697b
VS
8762013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
879 than printf.
880
5945c2f8
AB
8812013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
882
883 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
884 variable for one time boot menu entry.
885
fa292343
B
8862013-05-05 Bean <bean123ch@gmail.com>
887
888 * grub-core/commands/testspeed.c: New command testspeed.
889
310d4214
VS
8902013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
891
892 Factor-out human-size printing.
893
85002bf3
VS
8942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
895
896 Agglomerate more mallocs to speed-up gfxterm.
897
22b06e96
VS
8982013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
899
900 Speed-up gfxterm by slightly agglomerating mallocs.
901
b7c036bc
VS
9022013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
903
904 More video checks.
905
92323d1f
VS
9062013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
907
908 Speed-up gfxterm by saving intermediate results in index+alpha
909 format.
910
0fb356a3
VS
9112013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
914 test.
915
44dea3f9
VS
9162013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
919 line of timeout as it may contain the rest of long line.
920
14af86e4
VS
9212013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * grub-core/normal/main.c: Fix freed memory dereference.
924
03f7c8c3
VS
9252013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
926
927 Fix several memory leaks.
928
c686014c
VS
9292013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
932
0788a695
VS
9332013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
936
daf01d61
VS
9372013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
938
939 Fix test -a and -o precedence.
940 Reported by: adrian15.
941
82ae74d7
VS
9422013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
945
8cec7bd4
AB
9462013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
947
948 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
949 and add it as source to functional_test module.
950
aa73d688
VS
9512013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
954
c104b6f9
VS
9552013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
956
957 New series of tests for gfxterm and gfxmenu.
958
7391c4d5
VS
9592013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
962 the theme path relative to $prefix/themes.
963
cff50118
VS
9642013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
967 Fix order bug.
968 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
969
7c332bdc
VS
9702013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
973 descriptor.
974
a4f9a5ff
VS
9752013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
978 grub_gfxmenu_timeout_notifications.
979 (grub_gfxmenu_view_destroy): Likewise.
980
b5a2114d
VS
9812013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
984
a8905e8a
VS
9852013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
986
987 Several fixes to ieee1275 and big-endian video.
988
813c1622
VS
9892013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
990
991 Add missing exports on mips.
992
3f3e7326
VS
9932013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
996 if no unifont is found.
997 Restore original keyboard.
998
095accd1
VS
9992013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1002 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
1003
50361660
VS
10042013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 First automated video test (running videotest and comparing results)
1007
cd0f6eec
VS
10082013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
1011 instead of 2 to have full RGB/CMY test pattern.
1012
3f9634e5
VS
10132013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 Add few more tests.
1016
583e5b64
VS
10172013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * include/grub/arc/arc.h: Account for missing "other" peripheral on
1020 ARCS. All users updated.
1021
aa7bcb99
VS
10222013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
1025
95ef1a54
VS
10262013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/partmap/amiga.c: Fix size of checksummed block.
1029
46546fc5
VS
10302013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
1033 Reported by: qwertial.
1034
3476e0ef
VT
10352013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
1036
1037 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
1038 with syntax "XXX deg"/"XXX °".
1039
96f33fed
VS
10402013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 Make PCI init in i386-qemu port more robust.
1043
10442013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
1045
1046 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
1047 cached view is reused.
1048 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
1049 open boot menus.
1050
c53b4e67
VS
10512013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 Unify more code in grub-install_header.
1054
f7457fb2
VS
10552013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 Add few new tests.
1058
e2f27a8c
VS
10592013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 Enforce disabling of firmware disk drivers when native drivers kick in.
1062
ef9d8cd5
VS
10632013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/commands/nativedisk.c: Customize the list of modules on
1066 platform. Don't try to search for disks already using native drivers.
1067
f7bf6c31
VS
10682013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
1071 platforms.
1072
bdc4add8
VS
10732013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
1076 handling of variables containing backslash.
1077
e9e46c9a
VS
10782013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
1081 dereference.
1082 Reported by: qwertial.
1083
0e90dee8
VS
10842013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
1087
e0aacf24
VS
10882013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
1091 dereference.
1092 Reported by: qwertial.
1093
3c0003c3
VS
10942013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * docs/grub.texi: Add a comment about usefullness of nativedisk.
1097
adb7d667
VS
10982013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
1101
7cd0df84
VS
11022013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 New command `nativedisk'.
1105
02adbb93
VS
11062013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
1109 * grub-core/loader/i386/bsd.c: Likewise.
1110
9fb0fd4f
VS
11112013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
1114
bd69257a
VS
11152013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
1118 grub_get_unaligned16 rather than shifts.
1119
178c2764
VS
11202013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * grub-core/kern/file.c: Use const char * rather than casting to
1123 non-const.
1124
eadfad24
VS
11252013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * grub-core/commands/probe.c: Add missing grub_device_close.
1128
9f73ebd4
VS
11292013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * INSTALL: Document linguas.sh.
1132
965fa829
VS
11332013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 Remove POTFILES.in and regenerate it in autogen.sh.
1136
d417ddc4
VS
11372013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 Move --directory/--override-directorry to grub-install_header and unify.
1140
f97ec546
VS
11412013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * grub-core/term/morse.c: Macroify dih and dah.
1144
b2d7470c
PFS
11452013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1146
1147 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
1148
141e2a78
VS
11492013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * grub-core/term/ns8250.c: Systematically probe ports by writing
1152 to SR before using them.
1153
1dd70ebd
PFS
11542013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1155
1156 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
1157 disks.
1158 (check_sas): Get sas_adress info.
1159
c796a107
VS
11602013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
1163 ports.
1164
43168646
LD
11652013-04-27 Leon Drugi <eyak>
1166
1167 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
1168 BSS clearing.
1169
e7b8fd08
VS
11702013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 Core compression test.
1173
17f9fd29
VS
11742013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 Implement grub_machine_get_bootlocation for ARC.
1177
dc2a6c8b
VS
11782013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 Improve AHCI detection and command issuing.
1181
f25a2ba6
VS
11822013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 Fix pseries test.
1185
a6393224
VS
11862013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 Make 'make check' work on emu.
1189
db99fbe8
VS
11902013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 Replace libcurses with our own vt100 handling for the ease of testing
1193 and decreasing prerequisites.
1194
b24ca7cd
VS
11952013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
1198
63314aa4
VS
11992013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
1202 compile when not needed.
1203
c1b00fff
VS
12042013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * tests/pseries_test.in: New test.
1207
f93e89ef
VS
12082013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1209
1210 Add test to check that different boot mediums work.
1211
c4b456d3
VS
12122013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
1215 ofw limited ISO support.
1216
5fe67f39
VS
12172013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * configure.ac: Fix loongson conditional.
1220
7f63a64f
VS
12212013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 Enable mipsel-arc.
1224
b04b5990
VS
12252013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 Add serial on ARC platform.
1228
88d2f302
VS
12292013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
1232 commit.
1233
86eb23bc
VS
12342013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * tests/partmap_test.in: Add missing double semicolon.
1237
eec3bb75
VS
12382013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * util/grub-mkrescue.in: Fix loongson filename.
1241
e0810df3
VS
12422013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * util/grub-mkrescue.in: Move all files that don't have a location
1245 set in stone under /boot/grub. Use ISO hard links rather than copies
1246 to save some space.
1247
65a6b30b
VS
12482013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
1251 bogus SLOF values.
1252
6aff0107
VS
12532013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 Make check work on mips-arc.
1256
5e013e56
VS
12572013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * util/grub-mkrescue.in: Alias sashARCS as sash.
1260
d1989e2e
VS
12612013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
1264 it's serial.
1265
1a25e72c
VS
12662013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * util/grub-install.in: Fix target fo qemu_mips.
1269 Fix extension on EFI.
1270
a59a9826
VS
12712013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
1274 in front of chosen entry to mark it even if highlighting is lost.
1275
1a40f80c
VS
12762013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
1279 gfxpayload=keep if cbfb is active.
1280
e343549c
VS
12812013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
1284
45fbd9a2
VS
12852013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 Add missing video ids to coreboot and ieee1275 video.
1288
ab1440bd
VS
12892013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * util/grub-mkrescue.in: Add mips-arc support.
1292
cdeb8324
VS
12932013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
1296
8528c879
VS
12972013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 Move mips-arc link address. Previous link address was chosen
1300 in belief that RAM on SGI platforms grows down while in fact it
1301 grows up from an unusual base.
1302
17fca573
VS
13032013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
1306 Fix a type which prevented CD-ROM and floppy boot.
1307
d178788e
VS
13082013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 Support coreboot framebuffer.
1311
1312 * grub-core/video/i386/coreboot/cbfb.c: New file.
1313
fe4c3e7e
VS
13142013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
1317 detecting too small regions.
1318
ec2dd179
VS
13192013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
1322
872dac83
VS
13232013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
1326 Remove dprintf.
1327 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1328
90ec4b7f
VS
13292013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
1332 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1333 * grub-core/loader/powerpc/ieee1275/linux.c
1334 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1335
f32555dd
VS
13362013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1339 Look for /boot-rom as well as /rom/boot-rom.
1340
38649799
VS
13412013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
1344 handling when creating text_layer failed.
1345 * grub-core/video/video.c (grub_video_create_render_target):
1346 Set result to 0 on error.
1347 (grub_video_delete_render_target): Do not dereference NULL.
1348
aeace7f7
VS
13492013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
1352 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
1353 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
1354 (grub_linux_load64): Mask out 2 high bits.
1355
4eafa175
AB
13562013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
1357
1358 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
1359 more place.
1360
daaa64bd
VS
13612013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 Add support for pseries and other bootinfo machines to grub-mkrescue.
1364
1365 Tested by: Paulo Flabiano Smorigo.
1366
d0d2daa6
VS
13672013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * util/grub-mkrescue.in: Add GPT for EFI boot.
1370
b193e100
VS
13712013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
1374 It improves performance in qemu.
1375
a0f8f3ac
VS
13762013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * build-aux/snippet: Add missing gnulib files.
1379
284df0e2
AB
13802013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1381
1382 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
1383
740201f3
AB
13842013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1385
1386 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
1387
a7e03923
PJ
13882013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13892013-04-15 Peter Jones <pjones@redhat.com>
1390
1391 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
1392 sectors.
1393 Based on patch by Peter Jones.
1394
25fc51a8
VS
13952013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 Fix DMRAID partition handling.
1398
88017d47
VS
13992013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * tests/grub_cmd_date.in: Skip on sparc64.
1402
fa7d914e
VS
14032013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
1406 firmware error messages.
1407
cbe57a48
VS
14082013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
1411 source and destination differ.
1412
21aecce0
VS
14132013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
1416 detection.
1417
25092d29
VS
14182013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
1421 match config-util.h to avoid warnings and increase compatibility.
1422
79451522 14232013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 14242013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
1425
1426 Add option to compress files on install/image creation.
1427
78b7d77b
VS
14282013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * docs/grub-dev.texi: Rearrange menu to match the section order.
1431 Reported by: Bryan Hundven.
1432
cc2fa5ec
VS
14332013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
1436
b49fe879
VS
14372013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 Move GRUB out of system area when using xorriso 1.2.9 or later.
1440
5351da81
VS
14412013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * tests/grub_cmd_date.in: Add missing exit 1.
1444
c9d586ea
VS
14452013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * tests/partmap_test.in: Skip on sparc64.
1448
3f729741
VS
14492013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 Support grub-shell on sparc64.
1452
8ca86b3a
VS
14532013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 Support mkrescue on sparc64.
1456
aa1af9bb
VS
14572013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 Allow IEEE1275 ports on path even if it wasn't detected automatically.
1460 Needed on OpenBIOS due to incomplete device tree.
1461
ac4fea79
VS
14622013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
1465 would be otherwise excluded.
1466
14672013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
1468
1469 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1470 Inline name defines used only once.
1471
fe22b071
VS
14722013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 Fix memory leaks in ofnet.
1475 Reported by: Francesco Lavra.
1476
9d21381b
VS
14772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * docs/man/grub-glue-efi.h2m: Add missing file.
1480
07aec23c
VS
14812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
1484
67ab8353
VS
14852013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 Better support Apple Intel Macs on CD.
1488
ba44ca6d
VS
14892013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 Replace stpcpy with grub_stpcpy in tools.
1492
bbdd6305
VS
14932013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 Handle Japanese special keys.
1496 Reported by: Hiroyuki YAMAMORI.
1497 Codes supplied by: Hiroyuki YAMAMORI.
1498
8573d302
VS
14992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * util/grub-mkimage.c: Document memdisk implying --prefix.
1502
d70dbab7
VS
15032013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
1506 much we can do about it anyway.
1507
51a4c3e3
AN
15082013-04-12 Aleš Nesrsta <starous@volny.cz>
1509
1510 Fix handling of split transfers.
1511
92c8f58d
VS
15122013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * grub-core/net/http.c: Fix bad free.
1515
b7d17a49
VS
15162013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
1519 than buffer size.
1520
a3d566d4
VS
15212013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 Disable partmap check on i386-ieee1275 due to openfirmware issues.
1524
a936af56
VS
15252013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * tests/util/grub-shell.in: Fix it on powerpc.
1528
51212234
VS
15292013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 Turn off QEMU ACPI-way since new releases don't have shutdown port
1532 anymore.
1533
a21eec9e
VS
15342013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * docs/grub.texi: Update coreboot status info.
1537
e3734b84
VS
15382013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * tests/grub_cmd_date.in: New test for datetime.
1541
f9d40055
VS
15422013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * tests/partmap_test.in: Fix missing qemudisk setting.
1545
dbc56d8f
VS
15462013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 Support i386-ieee1275 grub-mkrescue and make check on it.
1549
a79b8a15
VS
15502013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
1553 feature for it.
1554
48f39bb4
VS
15552013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
1558 GRUB_CMDLINE_XEN_DEFAULT.
1559 Reported by: Marc Warne (GigaTux) <gigatux>
1560
053cfcdd
VS
15612013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 Import new gnulib.
1564
93cd84df
VS
15652013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 Use ACPI shutdown intests as traditional port was removed.
1568
f4b1fa4f
AB
15692013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
1570
1571 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
1572 distinction.
1573
49818a59
VS
15742013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
1577 Fix few warining messages and leaks while on it.
1578
9277a306
AB
15792013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
1580
1581 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
1582 links under grub-core/lib/libgcrypt-grub/mpi.
1583
d5e2a158
VS
15842013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 Fix ia64-efi image generation on big-endian machines. Deduplicate
1587 some code while on it.
1588 Reported by: Leif Lindholm.
1589
18866643
AB
15902013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1591
1592 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
1593 as extra_dist.
1594
ca53deb8
AB
15952013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1596
1597 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
1598
d4c4b8e1
BH
15992013-04-08 Bryan Hundven <bryanhundven@gmail.com>
1600
1601 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
1602 texinfo-5.1.
1603
47043f95
VS
16042013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1605
1606 * grub-core/normal/term.c: Few more fixes for menu entry editor
1607 rendering.
1608 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1609
a3216068
VS
16102013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/normal/term.c: Few more fixes for menu entry editor
1613 rendering.
1614 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1615
21026747
AB
16162013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1617
1618 * conf/Makefile.extra-dist (EXTRA_DIST): Add
1619 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
1620
59624ca8
AB
16212013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1622
1623 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
1624 instead of hardcoding grub.mo.
1625
1f44478c
FN
16262013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
1627
1628 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
1629
eeada7b1
VS
16302013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
1633 grub-core/disk/geli.c.
1634
132867de
VS
16352013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * util/grub-mkfont.c: Prefer enum to #define.
1638
de73de17
VS
16392013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
1642
1865baa7
VS
16432013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
1646
ce7d92a9
VS
16472013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
1650
52eab656
VS
16512013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
1654
98b23b95
VS
16552013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * include/grub/bsdlabel.h: Use enums.
1658
0467a5dd
VS
16592013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 Move GRUB_CHAR_BIT to types.h.
1662
16cc9f03
AB
16632013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1664
1665 * docs/grub.texi: Document more user commands.
1666
3152aecb
AB
16672013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1668
1669 * docs/grub.texi: Document menuentry --id option.
1670
c506fc30
FL
16712013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
1672
1673 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
1674
aa428238
VS
16752013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 Unify file copying setup across different install scripts. Add
1678 options for performing partial install.
1679
efe0cdda
PJ
16802013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
16812013-04-04 Peter Jones <pjones@redhat.com>
1682
1683 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
1684
f75835bd
VS
16852013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 Use TSC as a possible time source on i386-ieee1275.
1688
2cd5ce6c
VS
16892013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
1692 Init err.
1693
c9625630
VS
16942013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * util/grub-setup.c (setup): Handle some corner cases.
1697
be008941
VS
16982013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
1701
1a78d573
VS
17022013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/commands/verify.c: Save verified file to avoid it being
1705 tampered with after verification was done.
1706
db8ff59f
VS
17072013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
1710 reported width by one to compensate for curesor algorithm problem.
1711
91bf46b1
VS
17122013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 Fix screen corruption in menu entry editor and simplify the code
1715 flow while on it.
1716
a7b1d693
AB
17172013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
1718
1719 * util/grub-mount.c (fuse_init): Return error if fuse_main
1720 failed.
1721
31df9ad8
FL
17222013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
1723
1724 * include/grub/elf.h: Add missing ARM relocation codes and fix
1725 existing ones.
1726
07f392eb
VT
17272013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1728
1729 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
1730
9efd73ec 17312013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
17322013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
1735 into account when calculating radius.
1736
17372013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
1738
1739 * grub-core/gfxmenu/view.c: Fix off-by-one error.
1740
4985ddaa
VT
17412013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1742
1743 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
1744
8c3635ff
RS
17452013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
1746
1747 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
1748 missing closing bracket.
1749
74a35e69
RS
17502013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
1751
1752 * INSTALL: Mention xorriso requirement.
1753
40f1c000
AB
17542013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
1755
1756 * grub-core/commands/verify.c: Fix hash algorithms values for
1757 the first three hashes - they start with 1, not with 0.
1758
e75fdee4
VS
17592013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
1762 Try terminating EFI services several times due to quirks in some
1763 implementations.
1764
33028f4c
CW
17652013-03-26 Colin Watson <cjwatson@ubuntu.com>
1766
1767 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
1768 skipping Event, Device, Processor, PowerRes, ThermalZone, and
1769 BankField extended opcodes.
1770 (get_sleep_type): Add minimal scope handling (just enough to
1771 handle setting the scope to the root path).
1772 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
1773 * include/grub/acpi.h: Add enumeration values for Event, Device,
1774 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
1775
33871a10
VT
17762013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
1777
1778 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
1779 memory leak.
1780
8990963a
VS
17812013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * grub-core/disk/ahci.c: Give more time for AHCI request.
1784
daae8f9e
VS
17852013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
1788 command.
1789
6a7fb94b
VS
17902013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 Replace the region at 0 from coreboot tables to available in BSD
1793 memory map.
1794
ff99babd
VS
17952013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
1798 non-BIOS platforms.
1799
30d6b1b2
VS
18002013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
1803 platforms.
1804
6ccd0b31
VS
18052013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
1808 handling of multi-device filesystems.
1809
23c9cc04
VS
18102013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
1813 platforms.
1814
ce50dbd7
VS
18152013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 Add new 'proc' filesystem framework and put luks_script into it.
1818
d975e8d5
VS
18192013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
1822 and qemu.
1823
e73ba5e8
VS
18242013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
1827
92750e4c
VS
18282013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1829
1830 Add ability to generate newc additions on runtime.
1831
0ec45a68
VS
18322013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
1835 description.
1836
320abd43
VS
18372013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * po/POTFILES.in: Regenerate.
1840
d7a6506e
VS
18412013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * grub-core/commands/verify.c (hashes): Add several hashes
1844 from the spec.
1845
8fe05def
VS
18462013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 Slight improve in USB-related boot-time checkpoints.
1849
524e2766
VS
18502013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * grub-core/commands/boottime.c: Fix copyright header.
1853
cc19857a
VS
18542013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
1857 coreboot tables content. Support for cbmemc.
1858
ef8810e9
VS
18592013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 Fix a conflict between ports structures with 2 controllers of
1862 same kind.
1863
e9dabdfa
VS
18642013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * include/grub/boottime.h: Add missing file.
1867
f6df57d2
VS
18682013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 Initialize USB ports in parallel to speed-up boot.
1871
d745dda7
VS
18722013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 Fix USB devices not being detected when requested
1875 due to delayed attach.
1876
e5a2dd7b
VS
18772013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1878
e744219b
VS
1879 Implement boot time analysis framework.
1880
18812013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
1884 descriptor to just receive it as argument rather than endpoint
1885 address.
1886
5dd6f587
VS
18872013-03-19 Aleš Nesrsta <starous@volny.cz>
1888
1889 Better estimate the maximum USB transfer size.
1890
2f1071d5
VS
18912013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 Resend a packet if we got the wrong buffer in status.
1894
46ecfc49
VS
18952013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
1898 multiplication rather than division.
1899
ea811130
VS
19002013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
1903 than divisions.
1904
d2789cf0
VS
19052013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
1908 operations to have intended shifts and not divisions.
1909
a9c94590
VS
19102013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
1913 intended shifts rather than division.
1914
84cfe81b
VS
19152013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
1918 computation for some years before epoch. Avode confusing division
1919 while on it.
1920
21344ef6
VS
19212013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * grub-core/video/i386/pc/vbe.c
1924 (grub_video_vbe_print_adapter_specific_info): Replace division by
1925 shifts.
1926
3f2b4d1a
VS
19272013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 Adjust types in gdb module to have intended unsigned shifts rather than
1930 signed divisions.
1931
3dac5878
VS
19322013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
1935 maximum size is 4G - 1 on hfs
1936
5341c0fb
VS
19372013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
1940
fc3ff2a2
VS
19412013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
1944 function.
1945
81455e8e
AB
19462013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
1947
1948 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
1949 causing gcc error with gcc 4.7.1.
1950
efd4f117
NZ
19512013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
1952
1953 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
1954 dereference null pointer. While the code is technically correct, gcc
1955 may eliminate a null check if pointer is already dereferenced.
1956
e11645f4
NZ
19572013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
1958
1959 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
1960 OOM check.
1961 * grub-core/normal/term.c (read_terminal_list): Likewise.
1962
77468368
VS
19632013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 Lift up core size limits on some platforms. Fix potential memory
1966 corruption with big core on small memory systems. Document remaining
1967 limits.
1968
f6b58fe5
VS
19692013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
1972 gotoxy to 0,0.
1973
19ce697d
VS
19742013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 Remove all trampoline support. Add -Wtrampolines when
1977 present. Remove symbols used for trampolines to make
1978 link fail if trampolines are present.
1979
73b5d90f
VS
19802013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
1983 append out of its parent.
1984
cb758e96
VS
19852013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
1988 parent.
1989
3188131f
VS
19902013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
1993 all vars to a macro. All users updated.
1994
e42b2514
VS
19952013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * grub-core/disk/ieee1275/nand.c: Fix compilation on
1998 i386-ieee1275.
1999
83e1a1a1
VS
20002013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
2003
1d5a880f
VS
20042013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
2007
6e4146c4
VS
20082013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 Move to more hookless approach in IEEE1275 devices handling.
2011
99fcda8a
VS
20122013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * grub-core/kern/term.c (grub_term_normal_color),
2015 (grub_term_highlight_color): Add back lost defaults.
2016
73bf57e2
VS
20172013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 Make elfload not use hooks. Opt for flags and iterators instead.
2020
7f8c105f
VS
20212013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
2024 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
2025
396d4091
VS
20262013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * grub-core/script/execute.c (gettext_append): Remove nested functions.
2029
20302013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
2033 hook pass-through parameter. All users updated and unnested.
2034
74a27421
VS
20352013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
2038 out of its parent.
2039
b46d4213
VS
20402013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * grub-core/fs/hfs.c: Remove nested functions.
2043
e114c3cc
VS
20442013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
2047 the context through.
2048 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
2049
f9b7d780
VS
20502013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * util/grub-editenv.c (list_variables): Move print_var out of its
2053 parent.
2054
ca9c2608
VS
20552013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
2058 function.
2059
5d983f5f
VS
20602013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/gentrigtables.c: Make tables const.
2063
3056d3e7
VS
20642013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 Remove nested functions from videoinfo iterators.
2067
e2303774
VS
20682013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
2071 for 64-bit platforms.
2072
f42e3a2f
VS
20732013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
2076 a FOR_CHILDREN macro.
2077
be174e5e
VS
20782013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
2081 platform from firmware path.
2082
0789b672
VS
20832013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 Enable linux16 on non-BIOS systems for i.a. memtest.
2086
2087 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
2088 correctly.
2089 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
2090
005a9c32
VS
20912013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
2094 Fix end of table condition.
2095
ff2b3cd9
VS
20962013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
2099 out of its parent.
2100
4fc40ff8
VS
21012013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * grub-core/fs/jfs.c: Remove nested functions.
2104
be42d97a
VS
21052013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * grub-core/fs/minix.c: Remove nested functions.
2108
99373ce4
VS
21092013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * grub-core/fs/iso9660.c: Remove nested functions.
2112
5aec2afe
VS
21132013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
2116 of parent function.
2117
6c69e691
VS
21182013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * util/grub-fstest.c: Remove nested functions.
2121
43c91882
VS
21222013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * grub-core/loader/machoXX.c: Remove nested functions.
2125
4eb8b756
CW
21262013-02-27 Colin Watson <cjwatson@ubuntu.com>
2127
2128 Remove nested functions from disk and file read hooks.
2129
2130 * include/grub/disk.h (grub_disk_read_hook_t): New type.
2131 (struct grub_disk): Add read_hook_data member.
2132 * include/grub/file.h (struct grub_file): Likewise.
2133 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
2134 argument.
2135
2136 Update all callers.
2137
df6da5a5
AB
21382012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
2139
2140 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
2141 Fix off by one error in enumerating extended partitions.
2142
21aecde5
AB
21432013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
2144
2145 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
2146 memory leak if device name is not found.
2147
f1a19118
AB
21482013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2149
2150 * grub-core/normal/menu_entry.c (update_screen): remove
2151 unused variable `off' which caused scroll down arrow to be always shown.
2152
958bfd20
AB
21532013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2154
2155 * grub-core/normal/menu_entry.c (insert_string): fix off by one
2156 access to unallocated memory.
2157
b7b78edb
AB
21582013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2159
2160 * Makefile.util.def: Add partmap/msdos.c to common library.
2161 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
2162 * grub-core/disk/ldm.c: Check for existence of
2163 GRUB_PC_PARTITION_TYPE_LDM.
2164
28d468d6
VS
21652013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
2168 sizes and display sector size.
2169
d55ffb02
VS
21702013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 Implement new command cmosdump.
2173
b5ea6ce0
VS
21742013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2175
2176 Support Openfirmware disks with non-512B sectors.
2177
2178 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
2179 size of the disk.
2180 * (grub_ofdisk_get_block_size): New function.
2181 * (grub_ofdisk_prepare): Use the correct block size.
2182 * (grub_ofdisk_read): Likewise.
2183 * (grub_ofdisk_write): Likewise.
2184 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
2185 New proto.
2186
cc0e476f
VS
21872013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
2190
c5dbdc33
VS
21912013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
2194 on first error.
2195
3f078c0f
VS
21962013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
2199 freeing it.
2200
66a93674
VS
22012013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 Implement USBDebug (full USB stack variant).
2204
c9f0c134
VS
22052013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
2208 unless they have unexpected values.
2209
cfe1288b
VS
22102013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
2213 grub_print_error.
2214
e42b9969
VS
22152013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
2218 zero-out of port structure.
2219
cf94fd62
VS
22202013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
2223 of extended attributes.
2224
f81ef4b5
AB
22252013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
2226
2227 * util/grub-install.in: change misleading comment about
2228 device.map creation
2229
af18fdb4
VS
22302013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
2233 when menu highlight color isn't set.
2234
08bcec50
M
22352013-01-27 C. Masloch <pushbx@38.de>
2236
2237 Improve FreeDOS direct loading support compatibility.
2238
2239 * include/grub/i386/relocator.h (grub_relocator16_state):
2240 New member ebp.
2241 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
2242 variable.
2243 (grub_relocator16_boot): Handle %ebp.
2244 * grub-core/lib/i386/relocator16.S: Likewise.
2245 * grub-core/loader/i386/pc/freedos.c:
2246 Load BPB to pass kernel which partition to load from.
2247 Check that kernel file is not too large.
2248 Set register dl to BIOS unit number as well.
2249
7782b8a6
CW
22502013-01-22 Colin Watson <cjwatson@ubuntu.com>
2251
2252 * util/grub-reboot.in (usage): Document the need for
2253 GRUB_DEFAULT=saved.
2254 * util/grub-set-default.in (usage): Likewise.
2255 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
2256
e661c180
VS
22572013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
2260 than defining WORDS_BIGENDIAN manually.
2261
1c22ca9a
VS
22622013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
2265 invariants.
2266
d44892fe
CW
22672013-01-21 Colin Watson <cjwatson@ubuntu.com>
2268
2269 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
2270 nested.
2271 (blit_comb: add_device_width): Likewise.
2272
5fdbaed1
CW
22732013-01-21 Colin Watson <cjwatson@ubuntu.com>
2274
2275 Remove nested functions from USB iterators.
2276
2277 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
2278 (grub_usb_controller_iterate_hook_t): Likewise.
2279 (grub_usb_iterate): Add hook_data argument.
2280 (grub_usb_controller_iterate): Likewise.
2281 (struct grub_usb_controller_dev.iterate): Likewise.
2282
2283 Update all implementations and callers.
2284
4250985a
VS
22852013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
2288 margin when not needed.
2289
7d8848f3
VS
22902013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2291
bc136973 2292 Make color variables global instead of it being per-terminal.
7d8848f3
VS
2293
22942013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2295
bc136973
VS
2296 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
2297 asterisk.
7d8848f3 2298
ed12a003
CW
22992013-01-21 Colin Watson <cjwatson@ubuntu.com>
2300
2301 Fix powerpc and sparc64 build failures caused by un-nesting memory
2302 map iterators.
2303
6a0db449
CW
23042013-01-21 Colin Watson <cjwatson@ubuntu.com>
2305
2306 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
2307 parameter declarations.
2308
ccd86b21
VS
23092013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
2312
822b726b
VS
23132013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 Improve spkmomdem reliability by adding a separator between bytes.
2316
115c2cc1
CW
23172013-01-21 Colin Watson <cjwatson@ubuntu.com>
2318
2319 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
2320 an Acer registration utility with several sightings in the wild.
2321 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
2322
fc524edf
CW
23232013-01-21 Colin Watson <cjwatson@ubuntu.com>
2324
2325 Remove nested functions from filesystem directory iterators.
2326
2327 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
2328 (struct grub_fs.dir): Add hook_data argument.
2329
2330 Update all implementations and callers.
2331
53d3e4e3
CW
23322013-01-21 Colin Watson <cjwatson@ubuntu.com>
2333
2334 * docs/grub.texi (Multi-boot manual config): Fix typo for
2335 "recommended".
2336
c821711f
LL
23372013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2338
2339 * util/grub-mkimage.c (main): Postpone freeing arguments.output
2340 until after its use in generate_image.
2341
6a0debbd
CW
23422013-01-20 Colin Watson <cjwatson@ubuntu.com>
2343
2344 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
2345 initrd size to addr_min, since the initrd will be allocated after
2346 this address.
2347
f41e08db
AB
23482013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2349
2350 * conf/Makefile.common: Fix autogen rules to pass definition
2351 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
2352
77529e0f
LL
23532013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2354
2355 * include/grub/elf.h: Update ARM definitions based on binutils.
2356
b879aa7b
VS
23572013-01-20 Aleš Nesrsta <starous@volny.cz>
2358
2359 Split long USB transfers into short ones.
2360
8eb8284d
AB
23612013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2362
2363 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
2364 is interrupted by ESC.
2365
08dad2dc
VS
23662013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * util/grub-script-check.c (main): Uniform the error message.
2369
6c724b85
CW
23702013-01-20 Colin Watson <cjwatson@ubuntu.com>
2371
2372 Remove nested functions from ELF iterators.
2373
25239370
CW
23742013-01-20 Colin Watson <cjwatson@ubuntu.com>
2375
2376 Remove nested functions from device iterators.
2377
2378 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
2379 (grub_arc_iterate_devs): Add hook_data argument.
2380 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
2381 (struct grub_ata_dev.iterate): Add hook_data argument.
2382 * include/grub/device.h (grub_device_iterate_hook_t): New type.
2383 (grub_device_iterate): Add hook_data argument.
2384 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
2385 (struct grub_disk_dev.iterate): Add hook_data argument.
2386 (grub_disk_dev_iterate): Likewise.
2387 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
2388 Likewise.
2389 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
2390 Likewise.
2391 * include/grub/partition.h (grub_partition_iterate_hook_t): New
2392 type.
2393 (struct grub_partition_map.iterate): Add hook_data argument.
2394 (grub_partition_iterate): Likewise.
2395 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
2396 (struct grub_scsi_dev.iterate): Add hook_data argument.
2397
2398 Update all callers.
2399
6c0314d6
CW
24002013-01-20 Colin Watson <cjwatson@ubuntu.com>
2401
2402 Fix typos for "developer" and "development".
2403
600dc5f1
VS
24042013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 Add license header to spkmodem-recv.c.
2407
17334a6b
VS
24082013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 Rewrite spkmodem to use PIT for timing. Double the speed.
2411
7d462559
VS
24122013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 Add new command pcidump.
2415
b78d6c32
VS
24162013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 New terminal outputs using serial: morse and spkmodem.
2419
34f71cb8
VS
24202013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 Improve bidi handling in entry editor.
2423
4542e71b
VS
24242013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2427 argument to prevent name collision.
2428
09fd6d82
CW
24292013-01-15 Colin Watson <cjwatson@ubuntu.com>
2430
2431 Remove nested functions from script reading and parsing.
2432
2433 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
2434 getline_data argument, passed to getline.
2435 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
2436 getline_data argument, passed to grub_parser_split_cmdline.
2437 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
2438 lexerstate->getline_data to lexerstate->getline.
2439 (grub_script_lexer_init): Add getline_data argument, saved in
2440 lexerstate->getline_data.
2441 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
2442 argument, passed to grub_script_parse.
2443 * grub-core/script/script.c (grub_script_parse): Add getline_data
2444 argument, passed to grub_script_lexer_init.
2445 * include/grub/parser.h (grub_parser_split_cmdline): Update
2446 prototype. Update all callers to pass appropriate getline data.
2447 (struct grub_parser.parse_line): Likewise.
2448 (grub_rescue_parse_line): Likewise.
2449 * include/grub/reader.h (grub_reader_getline_t): Add void *
2450 argument.
2451 * include/grub/script_sh.h (struct grub_lexer_param): Add
2452 getline_data member.
2453 (grub_script_parse): Update prototype. Update all callers to pass
2454 appropriate getline data.
2455 (grub_script_lexer_init): Likewise.
2456 (grub_normal_parse_line): Likewise.
2457
2458 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
2459 data argument.
2460 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
2461 static instead of nested. Rename to ...
2462 (grub_parser_execute_getline): ... this.
2463 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
2464 data argument.
2465 * grub-core/normal/main.c (read_config_file: getline): Make static
2466 instead of nested. Rename to ...
2467 (read_config_file_getline): ... this.
2468 (grub_normal_read_line): Add unused data argument.
2469 * grub-core/script/execute.c (grub_script_execute_sourcecode:
2470 getline): Make static instead of nested. Rename to ...
2471 (grub_script_execute_sourcecode_getline): ... this.
2472 * util/grub-script-check.c (main: get_config_line): Make static
2473 instead of nested.
2474
d0d4b8a0
CW
24752013-01-15 Colin Watson <cjwatson@ubuntu.com>
2476
2477 Remove nested functions from memory map iterators.
2478
2479 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
2480 argument, passed to hook.
2481 * grub-core/kern/i386/coreboot/mmap.c
2482 (grub_linuxbios_table_iterate): Likewise.
2483 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
2484 instead of nested.
2485 (grub_machine_mmap_iterate): Add hook_data argument.
2486 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
2487 Add hook_data argument, passed to hook.
2488 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
2489 Likewise.
2490 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2491 Likewise.
2492 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
2493 Likewise.
2494 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
2495 Likewise.
2496 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
2497 Likewise.
2498 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
2499 Likewise.
2500 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
2501 (grub_machine_mmap_iterate): Likewise.
2502 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
2503 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
2504 prototype.
2505 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
2506 Remove NESTED_FUNC_ATTR from here and from all users.
2507 (grub_mmap_iterate): Update prototype.
2508 (grub_efi_mmap_iterate): Update prototype. Update all callers to
2509 pass appropriate hook data.
2510 (grub_machine_mmap_iterate): Likewise.
2511
2512 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
2513 static instead of nested.
2514 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
2515 Rename to ...
2516 (lsmmap_hook): ... this.
2517 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
2518 Likewise.
2519 (grub_efiemu_mmap_fill: fill_hook): Likewise.
2520 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
2521 heap_init): Likewise.
2522 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
2523 Rename to ...
2524 (mmap_iterate_hook): ... this.
2525 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
2526 Likewise.
2527 * grub-core/lib/ieee1275/relocator.c
2528 (grub_relocator_firmware_get_max_events: count): Likewise.
2529 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
2530 to ...
2531 (grub_relocator_firmware_fill_events_iter): ... this.
2532 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
2533 hook): Likewise. Rename to ...
2534 (grub_relocator_alloc_chunk_align_iter): ... this.
2535 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
2536 Rename to ...
2537 (generate_e820_mmap_iter): ... this.
2538 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
2539 Rename to ...
2540 (count_hook): ... this.
2541 (grub_linux_boot: hook): Likewise. Rename to ...
2542 (grub_linux_boot_mmap_find): ... this.
2543 (grub_linux_boot: hook_fill): Likewise. Rename to ...
2544 (grub_linux_boot_mmap_fill): ... this.
2545 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
2546 hook): Likewise. Rename to ...
2547 (grub_fill_multiboot_mmap_iter): ... this.
2548 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
2549 hook): Likewise. Rename to ...
2550 (count_hook): ... this.
2551 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
2552 hook): Likewise. Rename to ...
2553 (grub_fill_multiboot_mmap_iter): ... this.
2554 * grub-core/loader/powerpc/ieee1275/linux.c
2555 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
2556 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
2557 Likewise. Rename to ...
2558 (alloc_phys_choose): ... this.
2559 (determine_phys_base: get_physbase): Likewise.
2560 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
2561 find_hook): Likewise.
2562 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
2563 (malloc_hook: count_hook): Likewise.
2564 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
2565 Likewise. Rename to ...
2566 (lower_hook): ... this.
2567 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2568 (upper_hook): ... this.
2569 (grub_mmap_get_post64: hook): Likewise. Rename to ...
2570 (post64_hook): ... this.
2571 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
2572 Likewise. Rename to ...
2573 (lower_hook): ... this.
2574 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2575 (upper_hook): ... this.
2576 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
2577 (grub_mmap_iterate: fill_hook): Likewise.
2578 (fill_mask): Pass addr and mask within a single struct.
2579 (grub_cmd_badram: hook): Make static instead of nested. Rename
2580 to ...
2581 (badram_iter): ... this.
2582 (grub_cmd_cutmem: hook): Likewise. Rename to ...
2583 (cutmem_iter): ... this.
2584
22099030
VS
25852013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2586
2587 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
2588 delimit path in strings using quotes.
2589 * util/getroot.c (grub_guess_root_devices): Likewise.
2590 (grub_make_system_path_relative_to_its_root): Likewise.
2591 * util/grub-probe.c (probe): Likewise.
2592 * util/ieee1275/ofpath.c (find_obppath): Likewise.
2593 (xrealpath): Likewise.
2594
4a9950ec
VS
25952013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 Fix compilation with older compilers.
2598
2599 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
2600 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
2601 declarations.
2602 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
2603 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
2604 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
2605 identifier with b.
2606 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
2607 * include/grub/crypto.h: Add type defines.
2608 * util/import_gcrypth.sed: Remove duplicate type defines.
2609
adcc6020
VS
26102013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 New command list_trusted.
2613
2614 * grub-core/commands/verify.c (grub_cmd_list): New function.
2615
a4528937
CW
26162013-01-13 Colin Watson <cjwatson@ubuntu.com>
2617
2618 * util/grub-mkimage.c (generate_image): Fix "size of public key"
2619 info message.
2620
ca3a7446
CW
26212013-01-13 Colin Watson <cjwatson@ubuntu.com>
2622
2623 Remove nested functions from PCI iterators.
2624
2625 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
2626 passed to hook. Update all callers to pass appropriate hook data.
2627 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
2628 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
2629 Remove NESTED_FUNC_ATTR from here and from all users.
2630 (grub_pci_iterate): Update prototype.
2631 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
2632 instead of nested. Rename to ...
2633 (grub_cs5536_find_iter): ... this.
2634 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
2635 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
2636 Likewise.
2637 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
2638 Likewise.
2639 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
2640 Likewise.
2641 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
2642 Likewise.
2643 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
2644 * grub-core/video/radeon_fuloong2e.c
2645 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
2646 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
2647 find_card): Likewise.
2648 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
2649 Likewise.
2650
f8e98fee
VS
26512013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * grub-core/commands/verify.c: Mark messages for translating.
2654
055b36b6
VS
26552013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
2658 fatal.
2659
f7ff879b
VS
26602013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
2663 fatal.
2664
26652013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
2666
2667 * autogen.sh: Do not try to delete nonexistant files.
2668 * util/import_gcrypth.sed: Add some missing header removals.
2669
01323d49
CW
26702013-01-12 Colin Watson <cjwatson@ubuntu.com>
2671
2672 Clean up dangling references to grub-setup.
2673 Fixes Ubuntu bug #1082045.
2674
2675 * docs/grub.texi (Images): Refer generally to grub-install rather
2676 than directly to grub-setup.
2677 (Installing GRUB using grub-install): Remove direct reference to
2678 grub-setup.
2679 (Device map) Likewise.
2680 (Invoking grub-install): Likewise.
2681 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2682 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2683 * util/grub-install.in (usage): Likewise.
2684
2685 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
2686 Apply to grub-bios-setup and grub-sparc64-setup rather than to
2687 grub-setup.
2688 * configure.ac: Remove grub_setup output variable.
2689
2690 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
2691 to grub-bios-setup.
2692 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
2693 grub-setup to grub-sparc64-setup.
2694
5e3b8dcb
VS
26952013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 Import gcrypt public-key cryptography and implement signature checking.
2698
535714bd
VS
26992013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * grub-core/fs/ntfs.c: Ue more appropriate types.
2702 * grub-core/fs/ntfscomp.c: Likewise.
2703 * include/grub/ntfs.h: Likewise.
2704
3e4f3566
VS
27052013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 Support Apple FAT binaries on non-Apple platforms.
2708
2709 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
2710 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
2711 Likewise.
2712 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
2713 Apple FAT binaries.
2714
4dedb13f
VS
27152013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
2718 sector devices.
2719
f8861eaf
CW
27202013-01-07 Colin Watson <cjwatson@ubuntu.com>
2721
2722 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
2723 explicitly zeroing elements.
2724 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
2725 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
2726 of elements in a structure already allocated using grub_zalloc.
2727 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
2728
86065b0a
CW
27292013-01-07 Colin Watson <cjwatson@ubuntu.com>
2730
2731 * docs/grub.texi (grub_cpu): New subsection.
2732 (grub_platform): Likewise.
2733
c6f1e92f
VS
27342013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
2737
f797ec85
VS
27382013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
2741 divisions.
2742
033d0b4b
VS
27432013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
2746 * grub-core/fs/ntfscomp.c: Likewise.
2747 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
2748 (grub_ntfs_comp): Likewise.
2749
21d1b9a0
VS
27502013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
2753 Rename to ...
2754 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
2755 of groups_per_block. All users updated.
2756
10ca8645
VS
27572013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
2760 grub_error properly.
2761 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
2762 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
2763
a4c3ed4c
VS
27642013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
2767 always in /boot/zfs.
2768 Reported by: Yuta Satoh.
2769
0b716507
YS
27702013-01-03 Yuta Satoh <nigoro>
2771
2772 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
2773 ${grub_probe}
2774
00c05e22
VS
27752013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * configure.ac: Extend -Wno-trampolines to host.
2778
dadddb76
VS
27792013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
2782 entry->len = 0.
2783
54ce53ca
CW
27842013-01-03 Colin Watson <cjwatson@ubuntu.com>
2785
2786 * docs/grub.texi (Invoking grub-mkrelpath): New section.
2787 (Invoking grub-script-check): Likewise.
2788
8912efca
CW
27892013-01-03 Colin Watson <cjwatson@ubuntu.com>
2790
2791 * docs/grub.texi (Invoking grub-mount): New section.
2792 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
2793
c3fc8394
CW
27942013-01-02 Colin Watson <cjwatson@ubuntu.com>
2795
2796 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
2797 test failures, so that a failing unit test correctly causes 'make
2798 check' to fail.
2799
45d26abb
CW
28002013-01-02 Colin Watson <cjwatson@ubuntu.com>
2801
2802 Fix failing printf test.
2803
2804 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
2805 '$' in the correct order when collecting type information.
2806
971dd2c6
CW
28072013-01-02 Colin Watson <cjwatson@ubuntu.com>
2808
2809 * docs/grub.texi (configfile): Explain environment variable
2810 handling.
2811 (source): New section.
2812 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
2813
5c67ea6c
CW
28142012-12-31 Colin Watson <cjwatson@ubuntu.com>
2815
2816 Remove several trivially-unnecessary uses of nested functions.
2817
2818 * grub-core/commands/i386/pc/sendkey.c
2819 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
2820 instead of nested.
2821 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
2822 Rename to ...
2823 (legacy_file_getline): ... this.
2824 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
2825 Likewise.
2826 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
2827 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
2828 to ...
2829 (probe_dummy_iter): ... this.
2830 * grub-core/kern/i386/coreboot/mmap.c
2831 (grub_linuxbios_table_iterate: check_signature): Likewise.
2832 * grub-core/kern/parser.c (grub_parser_split_cmdline:
2833 check_varstate): Likewise. Mark inline.
2834 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
2835 an additional parameter.
2836 (find_long: fnd_long): Likewise. Pass two additional parameters.
2837 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
2838 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
2839 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
2840 Likewise. Rename to ...
2841 (grub_cmos_find_port_iter): ... this.
2842 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
2843 Rename to ...
2844 (find_rtc_iter): ... this.
2845
2846 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
2847 function directly into the function body, since it is only called
2848 once.
2849
33a68ac6
CW
28502012-12-30 Colin Watson <cjwatson@ubuntu.com>
2851
2852 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
2853 __attribute__ ((unused)).
2854 * grub-core/video/bochs.c (find_card): Likewise.
2855 * grub-core/video/cirrus.c (find_card): Likewise.
2856 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
2857 * grub-core/video/sis315pro.c (find_card): Likewise.
2858 * grub-core/video/sm712.c (find_card): Likewise.
2859
608b647a
CW
28602012-12-28 Colin Watson <cjwatson@ubuntu.com>
2861
2862 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
2863 Fixes Savannah bug #37821.
2864
fd49ceb3
CW
28652012-12-28 Colin Watson <cjwatson@ubuntu.com>
2866
2867 Apply program name transformations at build-time rather than at
2868 run-time. Fixes Debian bug #696465.
2869
2870 * acinclude.m4 (grub_TRANSFORM): New macro.
2871 * configure.ac: Create output variables with transformed names for
2872 most programs.
2873 * util/bash-completion.d/grub-completion.bash.in: Use
2874 pre-transformed variables for program names.
2875 * util/grub-install.in: Likewise.
2876 * util/grub-kbdcomp.in: Likewise.
2877 * util/grub-mkconfig.in: Likewise.
2878 * util/grub-mkconfig_lib.in: Likewise.
2879 * util/grub-mknetdir.in: Likewise.
2880 * util/grub-mkrescue.in: Likewise.
2881 * util/grub-mkstandalone.in: Likewise.
2882 * util/grub-reboot.in: Likewise.
2883 * util/grub-set-default.in: Likewise.
2884 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2885 * tests/util/grub-shell-tester.in: Remove unused assignment.
2886 * tests/util/grub-shell.in: Likewise.
2887 * util/grub.d/00_header.in: Likewise.
2888
7024b3c0
CW
28892012-12-28 Colin Watson <cjwatson@ubuntu.com>
2890
2891 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
2892
2893 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
2894 HAVE_RAW_DECL_GETS.
2895 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
2896
e3501b13
VS
28972012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
2900 Reported by: Eriks Latosheks <foresterlv>.
2901
b40c88a9
VS
29022012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * docs/grub.texi (Network): Update instructions on generating netboot
2905 image.
2906
ce96d01c
VS
29072012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
2910 around device name if necessarry.
2911
0f596201
PFS
29122012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2913
2914 * util/grub-install.in: Follow the symbolic link parameter added
2915 to the file command.
2916
600d5bdb
AB
29172012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
2918
2919 * util/grub-install.in: Remove stale TODO.
2920
64ebd2f4
PFS
29212012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2922
2923 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
2924 dynamic allocation for the bootpath buffer.
2925
74b2fe3e
DTB
29262012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
2927
2928 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
2929 window too small.
2930
969b804f
VS
29312012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
2934 argument rather than font name. All users updated.
2935 (grub_gfxterm_set_window): Likewise.
2936
b9f5ebd6
VT
29372012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2938
2939 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
2940 from working.
2941
258f43b7
VS
29422012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * util/getroot.c (convert_system_partition_to_system_disk): Support
2945 nbd disks.
2946
cc1ce5f9
VS
29472012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
2950 infinite loop on corrupted FS.
2951
e77a16ca
VS
29522012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 Fix big-endian mtime.
2955
2956 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
2957 together sec and usec.
2958 (grub_ufs_dir): Use correct byteswapping for UFS time.
2959
d9c48c7b
VS
29602012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 Support big-endian UFS1.
2963
2964 * Makefile.util.def (libgrubmods): Add ufs_be.c
2965 * grub-core/Makefile.core.def (ufs1_be): New module.
2966 * grub-core/fs/ufs_be.c: New file.
2967 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
2968 the file.
2969
2f9f40ba
LL
29702012-11-28 Leif Lindholm <leif.lindholm@arm.com>
2971
2972 * include/grub/types.h: Fix functionality unaffecting typo in
2973 GRUB_TARGET_WORDSIZE conditional macro.
2974
48ff0889
PFS
29752012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2976
2977 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
2978
03711240
GS
29792012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
2980
2981 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
2982 that /netbsd appears first (when it exists).
2983
a31b11bd
CJ
29842012-10-12 Christoph Junghans <ottxor@gentoo.org>
2985
2986 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
2987 Fixes Savannah bug #37558.
2988
e8a5d5d4
CW
29892012-10-12 Colin Watson <cjwatson@ubuntu.com>
2990
2991 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
2992 description of extract_entries_configfile.
2993
29942012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
2995
2996 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
2997 preferred_address.
2998 (grub_cmd_linux): Likewise.
2999 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
3000 preferred_lifetime. Update all users.
3001
288c757d
CW
30022012-09-26 Colin Watson <cjwatson@ubuntu.com>
3003
3004 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
3005 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
3006
0d35da3f
CW
30072012-09-26 Colin Watson <cjwatson@ubuntu.com>
3008
3009 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
3010 errors from grub-probe to /dev/null, not stdout.
3011
b78c3127
VS
30122012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
3015 sector 1.
3016
473959f0
CW
30172012-09-24 Colin Watson <cjwatson@ubuntu.com>
3018
3019 * util/grub-install.in: Make the error message if $source_dir
3020 doesn't exist more useful.
3021
794c8c33
CW
30222012-09-22 Colin Watson <cjwatson@ubuntu.com>
3023
3024 Fix grub-emu build on FreeBSD.
3025
3026 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
3027 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
3028 headers on Linux.
3029 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
3030 implementation is currently Linux-specific.
3031 * util/getroot.c (exec_pipe): Define only on Linux or when either
3032 libzfs or libnvpair is unavailable.
3033 (find_root_devices_from_poolname): Remove unused path variable.
3034
86d08fdb
CW
30352012-09-19 Colin Watson <cjwatson@ubuntu.com>
3036
3037 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
3038 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
3039 should fit before end == 63.
3040
735abf54
CW
30412012-09-19 Colin Watson <cjwatson@ubuntu.com>
3042
3043 * util/grub-setup.c (write_rootdev): Remove unused core_img
3044 parameter. Update all callers.
3045 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
3046 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
3047 GRUB_SETUP_BIOS.
3048
140acd3c
VS
30492012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * util/grub-mkconfig_lib.in (grub_tab): New variable.
3052 (grub_add_tab): New function.
3053 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
3054 * util/grub.d/10_illumos.in: Likewise.
3055 * util/grub.d/10_kfreebsd.in: Likewise.
3056 * util/grub.d/10_linux.in: Likewise.
3057 * util/grub.d/10_netbsd.in: Likewise.
3058 * util/grub.d/10_windows.in: Likewise.
3059 * util/grub.d/10_xnu.in: Likewise.
3060 * util/grub.d/20_linux_xen.in: Likewise.
3061 * util/grub.d/30_os-prober.in: Likewise.
3062
7ddffdad
VS
30632012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3066 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
3067 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
3068 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
3069 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
3070 ieee1275-nocursor.
3071 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
3072 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
3073
4e092454
VS
30742012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3075
3076 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
3077 le-conversion.
3078 Reported by: BURETTE, Bernard.
3079
735abf54 30802012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
3081
3082 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
3083 from comment.
3084
dfd39dbd
CW
30852012-09-14 Colin Watson <cjwatson@ubuntu.com>
3086
3087 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
3088 IEEE1275 machines. Fixes powerpc-emu compilation.
3089 * include/grub/terminfo.h: Likewise.
3090
3bfa763c
VS
30912012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
3094 a const pointer.
3095 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
3096 const pointer.
3097 (efiemu_set_variable): Make vendor_guid a const pointer.
3098
250e475b
VS
30992012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 Don't require grub-mkconfig_lib to generate manpages for programs.
3102
3103 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
3104 dependencies, don't add grub-mkconfig_lib.
3105 (program): Pass empty adddeps.
3106 (script): Pass grub-mkconfig_lib as adddeps.
3107
592fd0e4
VS
31082012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
3111 * util/getroot.c (grub_find_device): Likewise.
3112 (get_mdadm_uuid): Likewise.
3113 (grub_util_is_imsm): Likewise.
3114 (grub_util_pull_device): Likewise.
3115 * util/grub-probe.c (probe): Likewise.
3116
801a3027
BG
31172012-09-10 Benoit Gschwind <gschwind>
3118
3119 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
3120 (devs): Add devpath_8.
3121
c5052c81
PJ
31222012-09-08 Peter Jones <pjones@redhat.com>
3123
3124 * grub-core/Makefile.core.def (efifwsetup): New module.
3125 * grub-core/commands/efi/efifwsetup.c: New file.
3126 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
3127 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
3128 New define.
3129 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
3130
8e832f71
JS
31312012-09-05 Jiri Slaby <jslaby@suse.cz>
3132
3133 * configure.ac: Add SuSe path.
3134
f0f55752
CW
31352012-09-05 Colin Watson <cjwatson@ubuntu.com>
3136
3137 * NEWS: Fix typo.
3138
ecadc4c2
CW
31392012-09-05 Colin Watson <cjwatson@ubuntu.com>
3140
3141 * util/import_gcry.py: Sort cipher_files, to make build system
3142 generation more deterministic.
3143
64498f25
VS
31442012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
3147 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
3148 (grub_set_datetime): Likewise.
3149
9cc836a2
VS
31502012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
3153 warnings.
3154
bcfcea01
VS
31552012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
3158
a4099485
VS
31592012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
3162
265c162a
CW
31632012-09-04 Colin Watson <cjwatson@ubuntu.com>
3164
3165 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
3166 required for checkouts from bzr, but it may be useful for users or
3167 distributors wishing to update translations against a tarball
3168 distribution, and it can be helpful for the tarball to be a superset
3169 of what's in bzr.
3170
3d171e95
CW
31712012-09-04 Colin Watson <cjwatson@ubuntu.com>
3172
3173 * Makefile.am (EXTRA_DIST): Add
3174 grub-core/tests/boot/linux.init-mips.S,
3175 grub-core/tests/boot/linux.init-ppc.S, and
3176 grub-core/tests/boot/linux-ppc.cfg.
3177
f2c2503e
CW
31782012-09-04 Colin Watson <cjwatson@ubuntu.com>
3179
3180 * grub-core/mmap/mips/loongson: Remove empty directory.
3181
31822012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
3183
3184 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
3185 gone.
3186
ab2163d5
CW
31872012-09-04 Colin Watson <cjwatson@ubuntu.com>
3188
3189 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
3190 grub-sparc64-setup.
3191
ce938140
GS
31922012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3193
3194 * configure.ac: Strengthen the test for working -nostdinc -isystem.
3195
529f58a5
GS
31962012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3197
3198 * po/POTFILES.in: Regenerated.
3199
16cf79e9
GS
32002012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3201
3202 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
3203 (NetBSD): New subsection.
3204
39b27f1e 32052012-07-22 Ales Nesrsta <starous@volny.cz>
3206
3207 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
3208 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
3209
a885261b
VS
32102012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
3213 * util/grub.d/10_hurd.in: Add missing quoting.
3214 * util/grub.d/10_illumos.in: Likewise.
3215 * util/grub.d/10_kfreebsd.in: Likewise.
3216 * util/grub.d/10_linux.in: Likewise.
3217 * util/grub.d/20_linux_xen.in: Likewise.
3218
7bd29c01
VS
32192012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 New command `lsefi'.
3222
3223 * grub-core/Makefile.core.def (lsefi): New module.
3224 * grub-core/commands/efi/lsefi.c: New file.
3225 * include/grub/efi/api.h: Add more GUIDs.
3226
ac625d8f
VS
32272012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
3230 (grub_bsd_elf32_hook): Likewise.
3231 (grub_bsd_elf64_size_hook): Likewise.
3232 (grub_bsd_elf64_hook): Likewise.
3233 (grub_bsd_load_elf): Likewise.
3234
e73bb801
VS
32352012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
3238 if hash function is unavailable.
3239 (dec_stream_header): Likewise.
3240
e81db8b5
VS
32412012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
3244 filter state.
3245
d187a1c3
VS
32462012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 Fix coreboot compilation.
3249
3250 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
3251 (grub_vga_text_init_real): ... this.
3252 (grub_vga_text_fini): Rename to ...
3253 (grub_vga_text_fini_real): ... this.
3254
91a05f64
VS
32552012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
3258
6af96df7
VS
32592012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * grub-core/lib/legacy_parse.c: Support clear and testload.
3262
4d569e12
VS
32632012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
3266
073b57bb
VS
32672012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * grub-core/fs/ext2.c: Experimental support for 64-bit.
3270
a706f4cc
VS
32712012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 * grub-core/net/tftp.c (ack): Fix endianness problem.
3274 (tftp_receive): Likewise.
3275 Reported by: Michael Davidsaver.
3276
e7850aa9
VS
32772012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3278
3279 * gentpl.py: Make mans depend on grub-mkconfig_lib.
3280
32812012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
3284 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
3285 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
3286
35692881
VS
32872012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
3290 efi_mmap_size.
3291 Reported by: Stuart Hayes.
3292
c35fc5bd
VS
32932012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
3296
3297 * grub-core/Makefile.core.def (mda_text): New module.
3298 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
3299 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
3300 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
3301 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
3302 here.
3303 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
3304 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
3305 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
3306 here.
3307 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
3308 to ..
3309 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
3310 ... here
3311 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
3312 here.
3313 * grub-core/term/i386/vga_common.c: Removed.
3314 * include/grub/i386/vga_common.h: Likewise.
3315 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
3316 (grub_vga_cr_bw_read): Likewise.
3317 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
3318 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
3319 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
3320 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
3321 grub_vga_cr_read/grub_vga_cr_write.
3322 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
3323
5f91f701
VS
33242012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3325
3326 * configure.ac: Bump version to 2.00.
3327 * grub-core/normal/main.c (features): Add feature_200_final.
3328
0c4f85f6
VS
33292012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
33302012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
3331
3332 * NEWS: Fix unclarity and language mistakes.
3333
f923ad22
VS
33342012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
3337 additional size to 3 pages.
3338 Reported by: Stuart Hayes.
3339
d22029ba
VS
33402012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * NEWS: Add 2.00 entry.
3343
58eee08f
VS
33442012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
3347 put explicit "/" for empty path.
3348 (wildcard_expand): Improve dprintf.
3349
c59bdff7
VS
33502012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
3353 it's equal to currnode. This can happen with "" symlink.
3354
5e6a440a
YB
33552012-06-27 Yves Blusseau <blusseau@zetam.org>
3356
3357 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
3358 echo shell command by printf command.
3359
73a68bcb
VS
33602012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3361
3362 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
3363 the value returned by firmware is the maximal position, not diumension.
3364 (grub_terminfo_output_state): Use a more sane fallback.
3365
392a603b
VS
33662012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
3369
42d0867f
VS
33702012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
3373 frequency to 150 MHz.
3374
489509f4
VS
33752012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 Apple fixes.
3378
3379 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
3380 __APPLE_
3381 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
3382 definition.
3383 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
3384
9f3fc883
VS
33852012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 Handle slash in HFS label.
3388
3389 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
3390 (grub_hfs_dir): Tanslate slash.
3391 (grub_hfs_label): Don't translate slash.
3392
54853fd7
VS
33932012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
3396 network protocol listing since it introduces problematic dependency on
3397 net module.
3398
4dc02ddf
VS
33992012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
3402
c50c867d
VS
34032012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 Init video early on yeeloong to avoid being rebooted by watchdog.
3406
3407 * grub-core/Makefile.am (gensm712): New target.
3408 (sm712_start.S): Likewise.
3409 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
3410 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
3411 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
3412 description.
3413 * include/grub/vga.h: Move registry definitions to...
3414 * include/grub/vgaregs.h: ... here.
3415
5f92c8a1
VS
34162012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
3419 signedness.
3420
e9e6f111
VS
34212012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
3424 platforms with firmware disk drivers in the core.
3425
754ad9eb
VS
34262012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
3429 informative verbose message.
3430 (read_lv): Handle 64-bit segment size.
3431
315654c2
VS
34322012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
3435
fb022c79
VS
34362012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
3439 character but still remove trainling spaces.
3440 (grub_fat_label): Ignore archive flag.
3441
8645f72c
VS
34422012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
3445 cast between linux_kernel_header and linux_kernel_params.
3446
36498496
VS
34472012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
3450 type for size.
3451 (grub_raid6_recover_func_t): Likewise.
3452 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
3453 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3454
0b5ea6b8
VS
34552012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
3458
650cfcfe
GS
34592012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3460
3461 Fix overflow.
3462
3463 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
3464 [__NetBSD__]: Add explicit cast before bitshift.
3465
8a4d6a44
VS
34662012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * configure.ac: Bump to 2.00~rc1.
3469
2fb97ed3
VS
34702012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
3473 half of $a0.
3474
1fa097dc
VS
34752012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
34762012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
3477
3478 * docs/grub.texi: Fix search syntax.
3479 (Multi-boot manual config): Put msdos rather than GPT example.
3480 Grammar corrections.
3481
c890ba78
VS
34822012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
3485
0f92dca7
VS
34862012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
3489
3988c4a0
VS
34902012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
3493 message on double free. Put the value of magic in case of mismatch.
3494
9e86d4c5
VS
34952012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3496
3497 Speed-up video on yeeloong.
3498
3499 * grub-core/video/sm712.c (framebuffer): Remove render_target and
3500 add cached_ptr.
3501 (grub_video_sm712_video_fini): Unmap cached_ptr.
3502 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
3503 (grub_video_sm712_set_active_render_target): Removed.
3504 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3505 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
3506 sync caches.
3507
ed24c312
VS
35082012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 Avoid flushing the same line multiple times on loongson.
3511
3512 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
3513 Step in 32 bytes and not 1 byte.
3514 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
3515 Likewise.
3516
d1718e7d
VS
35172012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
3520 subvolumes.
3521
982f1909
VS
35222012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 Implement flow control for http.
3525
3526 * grub-core/net/http.c (parse_line): Handle response 206.
3527 (http_receive): Stall if too many packets are in the queue.
3528 (http_establish): Fix range header.
3529 (http_seek): Fix double free.
3530 (http_close): Likewise.
3531 (http_packets_pulled): New function.
3532 (grub_http_protocol): Set http_seek
3533 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
3534 (ack_real): Set window depending on i_stall.
3535 (grub_net_send_tcp_packet): Likewise.
3536 (grub_net_tcp_stall): New function.
3537 (grub_net_tcp_unstall): Likewise.
3538 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
3539 (grub_net_tcp_unstall): Likewise.
3540
bd407d6e
VS
35412012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/net/tftp.c: Decrease stall to 50 packets.
3544
c7564b8e
VS
35452012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
3548
a3706162
VS
35492012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * tests/util/grub-shell.in: Fix a typo.
3552
b27069e0
VS
35532012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 Implement flow control for tftp.
3556
3557 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
3558 packets but stop only if stop condition is satisfied.
3559 (grub_net_fs_read_real): Call packets_pulled after real read. Use
3560 `stall' instead of `eof' as stop condition.
3561 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
3562 (http_err): Likewise.
3563 * grub-core/net/tftp.c (ack): Replace the first argument with data
3564 instead of socket.
3565 (tftp_receive): Stall if too many packets are in wait queue.
3566 (tftp_packets_pulled): New function.
3567 (grub_tftp_protocol): Set packets_pulled.
3568 * include/grub/net.h (grub_net_packets): New field count.
3569 (grub_net_put_packet): Increment count.
3570 (grub_net_remove_packet): Likewise.
3571 (grub_net_app_protocol): New field `packets_pulled'.
3572 (grub_net): New field `stall'.
3573
6b9cfac6
VS
35742012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
3577 sync part to handle them.
3578
f35abd81
VS
35792012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
3582 * grub-core/net/drivers/ieee1275/ofnet.c
3583 (grub_ieee1275_net_config_real): Likewise.
3584
0e7ec820
VS
35852012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
3588 the direct route for server/gateway.
3589
9d611a31
VS
35902012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
3593 IP address to server name since we may not hame the DNS.
3594
418f45ab
VS
35952012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
3598 freeing random buffer on failure.
3599 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
3600
44a0efc1
VS
36012012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
3604
531e2241
VS
36052012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
3608 reserved bytes.
3609 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
3610 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
3611 Handle malloc error correctly.
3612
cde393c9
VS
36132012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
3616 blocks.
3617
538478d0
VS
36182012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
3621 increment.
3622
9b55efe0
VS
36232012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
3626 none is explicitly specified.
3627
9eb832c3
VS
36282012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
3631 while reallocating.
3632
d6b7c7c9
VS
36332012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 Respect netmask from bootp/dhcp.
3636
3637 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
3638 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
3639 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
3640 into ...
3641 (grub_net_add_ipv4_local): ... this.
3642 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
3643 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
3644 (grub_net_add_ipv4_local): New proto.
3645
67caf9eb
VS
36462012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
3649 determining EFI memory map size.
3650
43657558
VS
36512012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
3654
eb6d0dd3
VS
36552012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
3658 when looking for partition separator.
3659
31230544
VS
36602012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3663 Escape commas.
3664
918a2517
VS
36652012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 Restructure FAT driver to avoid hook in label reading as it hits a
3668 GCC bug.
3669
3670 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
3671 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
3672 (grub_fat_iterate_dir): Split into ...
3673 (grub_fat_iterate_init): ... this, ...
3674 (grub_fat_iterate_fini): ... this, ...
3675 (grub_fat_iterate_dir_next): ... and this. All users updated.
3676
9f1d654e
VS
36772012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3680 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
3681 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3682 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
3683 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
3684 New fields last_key and last_key_time.
3685 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
3686 extended key-esc into extended key-extended key.
3687
52f0f643
VS
36882012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 Avoid unnecessary memcpy of whole video buffer.
3691
3692 * grub-core/video/fb/video_fb.c (dirty): New struct.
3693 (framebuffer): Add members current_dirty and previous_dirty.
3694 (dirty): New function.
3695 (grub_video_fb_fill_rect): Update dirty.
3696 (common_blitter): Likewise.
3697 (grub_video_fb_scroll): Likewise.
3698 (doublebuf_blit_update_screen): Copy only dirty part.
3699 (doublebuf_pageflipping_update_screen): Likewise.
3700 (grub_video_fb_doublebuf_blit_init): Init dirty.
3701 (doublebuf_pageflipping_init): Likewise.
3702 (grub_video_fb_setup): Likewise.
3703
e169a180
VS
37042012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
3707 poll rate.
3708
48556879
VS
37092012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 Fix wildcard regexp dot and other special characters handling.
3712 Reported by: Robert Mabee.
3713
3714 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
3715 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
3716 (split_path): Trigger expansion on '?'.
3717 (unescape): New function.
3718 (wildcard_expand): Unescape parts copied without globbing.
3719 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
3720 (grub_script_arglist_to_argv): Don't unescape expansions.
3721
0494408e
VS
37222012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * include/grub/net.h (grub_net_card): New member txbufsize.
3725 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
3726 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
3727 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
3728 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
3729 txbufsize.
3730 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
3731 compatible property to check for macs. Set
3732 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
3733 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
3734 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
3735 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
3736 (send_card_buffer): Use txbuf.
3737 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
3738 nested function out of the parent while on it.
3739
cc35fe8f
VS
37402012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
3743 presence check.
3744 (grub_ieee1275_net_config_real): Fix config pointer.
3745
970a0a09
VS
37462012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
3749 filename parsing to non-block devices.
3750
3e19bf87
VS
37512012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 * grub-core/kern/device.c (grub_device_open): Remove dead code.
3754
c62d1a0c
VS
37552012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
3758 All users updated.
3759
ef76bec3
VS
37602012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
3763 UUID search command even if hints probing failed.
3764
37652012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
3766
3767 * po/POTFILES.in: Regenerated.
3768
70aaf305
VS
37692012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 Speed-up video on fuloong.
3772
3773 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
3774 New function.
3775 (grub_pci_device_unmap_range): Handle non-cached address.
3776 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
3777 add direct_ptr.
3778 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
3779 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
3780 (grub_video_sis315pro_set_active_render_target): Removed.
3781 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
3782 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3783 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
3784 sync caches.
3785 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
3786 New proto.
3787
10400f0b
VS
37882012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * docs/grub.texi (Multi-boot manual config): New section.
3791
ba67e2c6
VS
37922012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 Avoid slow read-back from VRAM.
3795
3796 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
3797 Move from here ...
3798 * grub-core/video/fb/video_fb.c
3799 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
3800 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
3801 (front_target): Remove front_target. Add pages.
3802 (grub_video_fb_init): Skip setting front_pages.
3803 (grub_video_fb_fini): Likewise.
3804 (doublebuf_blit_update_screen): Use pages.
3805 (grub_video_fb_doublebuf_blit_init): Likewise.
3806 (doublebuf_pageflipping_init): Allocate offscreen buffer.
3807 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
3808 (grub_video_fb_setup): Prefer doublebuffing.
3809
377c98cb
VS
38102012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
3813 gzio.
3814
eac49cff
VS
38152012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 Add loongson tests.
3818
3819 * tests/util/grub-shell.in: Handle loongson.
3820 * tests/partmap_test.in: Add loongson to the list of platform using ATA
3821 drivers.
3822 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
3823 Reboot instead of shutdown if REBOOT is defined.
3824
0321415e
VS
38252012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
3828 sized ports since unlike on real hardware qemu supports only 32-bit
3829 regs.
3830
3f2bdd8f
VS
38312012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * Makefile.util.def (grub-mkrescue): Enable on loongson.
3834 * util/grub-mkrescue.in: Handle loongson.
3835
29a049c9
VS
38362012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
3839 Set is_part appropriately.
3840 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
3841 names. Canonicalize partition without full disk.
3842
4abde346
VS
38432012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 Revert usb-quiesce since it's wrong.
3846
3847 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
3848 (grub_ofdisk_init): Don't do quiesce.
3849
61f1d93b
VS
38502012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
3853 PowerMac workaround to Xserves as well.
3854 Information supplied by: Benjamin Herrenschmidt.
3855
a09eb541
VS
38562012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 Don't assume that beginning address is also the entry point on ppc.
3859
3860 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
3861 (grub_linux_boot): Use linux_entry.
3862 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
3863 (grub_linux_load64): Likewise.
3864
505b3c9b
VS
38652012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
3868
cbe0b4ef
VS
38692012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
3872 needlessly lose the console.
3873
3006e981
VS
38742012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
3877 space.
3878
4e5a96b0
VS
38792012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3880
7da036bb
VS
3881 Remove non-functional EFI grub_get_rtc. Put a better fatal message
3882 than current grub_get_rtc() not implemented when booted with
3883 coreboot without TSC.
3884
3885 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
3886 Add machine/time.h to kernel headers on loongson.
3887 * grub-core/Makefile.core.def (kernel): Remove
3888 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
3889 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
3890 (grub_get_rtc): Likewise.
3891 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
3892 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
3893 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
3894 * grub-core/kern/i386/tsc.c (grub_tsc_init)
3895 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
3896 rather than installing known non-working time source.
3897 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
3898 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
3899 * include/grub/time.h: Don't include machine/time.h.
3900 * include/grub/efi/time.h: Removed.
3901 * include/grub/i386/efi/time.h: Likewise.
3902 * include/grub/i386/ieee1275/time.h: Likewise.
3903 * include/grub/powerpc/ieee1275/time.h: Likewise.
3904 * include/grub/sparc64/ieee1275/time.h: Likewise.
3905 * include/grub/x86_64/efi/time.h: Likewise.
3906
39072012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
3910
3911 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
3912 value.
3913 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
3914 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
3915 with dotless variants when any combining above is present.
3916
5561c22d
VS
39172012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
3920 text and not binary.
3921
96f7e60e
VS
39222012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 Stop polling as soon as we have the packet we were waiting for.
3925
3926 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
3927 All users updated.
3928 * grub-core/net/arp.c (have_pending): New var.
3929 (pending_req): Likewise.
3930 (grub_net_arp_send_request): Fill pending_req and use have_pending as
3931 stop indicator.
3932 (grub_net_arp_receive): Set have_pending.
3933 * grub-core/net/dns.c (recv_data): New field stop.
3934 (recv_hook): Set stop.
3935 (grub_net_dns_lookup): Init stop and use as stop condition.
3936 * grub-core/net/http.c (http_establish): Use headers_recv as stop
3937 condition.
3938 * grub-core/net/net.c (grub_net_poll_cards): New argument
3939 stop_condition. Stop when it goes true.
3940 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
3941 indicator.
3942 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
3943
3e747239
VS
39442012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 Keep TX and RX buffers on EFI rather than always allocate new ones.
3947
3948 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
3949 card. All users updated.
3950 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
3951 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
3952 (get_card_packet): Likewise.
3953 (grub_efinet_findcards): Init new fields.
3954
f695e99a
VS
39552012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
3958 compilation error on sparc64.
3959
9e5e66d1
VS
39602012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 Use ITC on IA64 rather than broken routine based on daytime.
3963
3964 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
3965 ia64.
3966 (grub_get_rtc) [__ia64__]: Likewise.
3967 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
3968 (get_itc): New function.
3969 (grub_rtc_get_time_ms): Likewise.
3970 (grub_machine_init): Calibrate ITC.
3971 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
3972 Keep only on non-ia64. Don't export since it's broken and used only
3973 if TSC is unavailable.
3974
a1767404
VS
39752012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
3978 even if it's used.
3979 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
3980 Skip if parent is unused.
3981
34b2bced
VS
39822012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
3985
5e619f40
VS
39862012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 Fix wildcard escaping.
3989
3990 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
3991 * grub-core/script/execute.c (wildcard_escape): .. to here.
3992 Don't escape dot.
3993 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
3994 * grub-core/script/execute.c (wildcard_unescape): .. to here.
3995 Don't escape dot.
3996 * grub-core/script/execute.c (gettext_append): Always escape.
3997 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
3998 * grub-core/script/yylex.l: Don't cut away the escaping.
3999 * tests/grub_script_echo1.in: Add tests with wildcard.
4000
c8ca5855
VS
40012012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
4004 (ftdi_hw_configure): Likewise.
4005 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
4006 define.
4007 (real_config): Handle 1.5 stop bits.
4008 (pl2303_hw_configure): Likewise.
4009
7183452c
VS
40102012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * Makefile.am: Add ppc linux bootcheck.
4013 * grub-core/tests/boot/linux-ppc.cfg: New file.
4014 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
4015
f57c84cd
VS
40162012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * tests/grub_script_expansion.in: Skip network protocols.
4019
ecfc6207
VS
40202012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
4023
8d03d284
VS
40242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
4027 --rom-directory.
4028 Add -graft-points.
4029
61c42af0
VS
40302012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 ESCC serial driver for conducting sautomated tests in qemu.
4033 Not tested on real hardware.
4034
4035 * include/grub/serial.h (grub_serial_port): New field escc_desc.
4036 * grub-core/term/ieee1275/escc.c: New file.
4037 * grub-core/Makefile.core.def (escc): New module.
4038
08fd1291
VS
40392012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
4042 invalid on error.
4043 (serial_hw_fetch): Don't read invalid handle.
4044 (serial_hw_put): Don't write into invalid handle.
4045
08dafeea
VS
40462012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 Add a 1.5 stop bits value.
4049
4050 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
4051 * include/grub/serial.h (grub_serial_stop_bits_t): Add
4052 GRUB_SERIAL_STOP_BITS_1_5.
4053
9068fdcf
VS
40542012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
4057 value rather than let it uninited.
4058
f4d5820f
VS
40592012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * grub-core/commands/wildcard.c (+check_file): New function.
4062 (wildcard_expand): Don't expand to non-existing files, expand with
4063 suffix and not attempt to expand if not needed.
4064
3d2de9a7
VS
40652012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
4068 out of partitions containing other partitions.
4069
c5c81ff9
VS
40702012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
4073 on some qemu versions with GRUB.
4074
4075 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
4076 define.
4077 (grub_openbsd_bootarg_pcibios): New struct.
4078 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
4079 Add PCIINFO.
4080
08a14e0b
VS
40812012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * tests/util/grub-shell.in: Trim firmware output on EFI.
4084
cede3ca3
VS
40852012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
4088 and coreboot since it's already in kernel.
4089
558d3a60
VS
40902012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
4093 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4094 to here. New return value start. All users updated.
4095 Recursively scan linear mappings.
4096 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
4097 proto.
4098 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4099 Use grub_util_get_dm_node_linear_info.
4100 * util/getroot.c (convert_system_partition_to_system_disk): Use
4101 grub_util_info rather than grub_dprintf.
4102 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
4103
60fde14d
VS
41042012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
4107
4108 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
4109 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
4110
24bd8838
VS
41112012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * include/grub/types.h (grub_set_unaligned64): New function.
4114 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
4115 (setup): Likewise.
4116
7bc06a49
VS
41172012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
4120 (grub_ofdisk_fini): Quiesce USB devices.
4121
49cea015
VS
41222012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
4125 caches.
4126
8dcbe03b
VS
41272012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
4130
5b258735
VS
41312012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * grub-core/disk/pata.c (grub_pata_pio_read)
4134 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
4135 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4136
37ba07eb
VS
41372012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 Extend automated tests to qemu-mips.
4140
4141 * Makefile.am: reorganise tests and enable qemu-mips.
4142 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
4143 * grub-core/tests/boot/linux.init-mips.S: New file.
4144 * tests/partmap_test.in: Handle ata0 disks.
4145 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
4146 non-pc i386.
4147
070038f8
VS
41482012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
4151 ia64.
4152 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
4153 quotes while on it.
4154
004be2cd
VS
41552012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
4158 (grub_halt): Likewise.
4159 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
4160
b1622487
VS
41612012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * grub-core/term/serial.c (grub_serial_register)
4164 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
4165 the behaviour in line with x86 platforms.
4166
b7b4ab33
VS
41672012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
4170 (grub_ata_strncpy): Likewise.
4171 (grub_ata_identify): Add missing byteswaps.
4172
5e3535ae
VS
41732012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
4176 byte-swap.
4177 (screen_read_char): Likewise.
4178 (grub_vga_text_cls): Likewise.
4179
c21b17e6
VS
41802012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
4183 filenames.
4184 (make_file_path): Likewise.
4185
bf293dec
VS
41862012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
4189 machines.
4190 Tested by: Paulo Flabiano Smorigo.
4191 Crucial information about API supplied by: Coleen <Last name unknown>.
4192 Reviewed by: Coleen <Last name unknown>.
4193
81f6ef0e
VS
41942012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * util/grub-mkimage.c: Disable -Wcast-align.
4197
7284143a
VS
41982012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
4201 as they are fatal.
4202
b99f3e00
VS
42032012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
4206
944f752d
VS
42072012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * util/grub-probe.c (escape_of_path): Fix double free.
4210
6cce6f38
VS
42112012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * grub-core/commands/videoinfo.c (hook): Show pitch.
4214
1e1eb50e
VS
42152012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * util/grub.d/20_linux_xen.in: Skip xen-syms.
4218
1c715b5a
VS
42192012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
4222 (probe): Add ieee1275 to OFW devices.
4223
007ae52d
VS
42242012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
4227
4557a36d
VS
42282012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 Handle IBM OFW path.
4231
4232 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
4233 available.
4234 (of_path_of_scsi): Handle vdevice.
4235
efbeefe9
VS
42362012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
4239 Allocate in multiples of 16 to avoid adding a few bytes free region the
4240 windows bugs upon.
4241
15a940bb
VS
42422012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
4245 Allocate in multiples of 16 to avoid adding a few bytes free region the
4246 windows bugs upon.
4247 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
4248
6e5efd60
VS
42492012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
4252 resolutions.
4253 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
4254 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
4255
0d3d137e
IS
42562012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
4257
4258 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
4259
45dbe300
VS
42602012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
4263 resulted in \\ at the end of the line.
4264
6d8db947
VS
42652012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
4268 (grub_parser_cmdline_state): Likewise.
4269 (grub_parser_split_cmdline): Likewise.
4270
de89d338
VS
42712012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
4274 /dev/root and /dev/dm-*.
4275
00d41dee
VS
42762012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
4279 fix partially stale display.
4280
f95d1f11
VS
42812012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * grub-core/normal/menu_entry.c (backward_char): Use right line for
4284 substraction.
4285
6297e197
VS
42862012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
4289 Fix MBR remapping workaround.
4290 (grub_util_biosdisk_read) [__linux__]: Likewise.
4291
8a7ecad3
VS
42922012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * util/grub-install.in: Check for ieee1275 and not ieee1276.
4295
2b34f944
VS
42962012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * configure.ac: Bump to beta6.
4299
684aef11
CW
43002012-05-31 Christer Weinigel <christer@weinigel.se>
4301
4302 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
4303
05b0bb91
VS
43042012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
4307 (grub_cmd_linux): Likewise.
4308
bda36bfa
CW
43092012-05-31 Christer Weinigel <christer@weinigel.se>
4310
4311 Fix EHCI low-speed.
4312
4313 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
4314 (GRUB_EHCI_MULT_TWO): Likewise.
4315 (GRUB_EHCI_MULT_THREE): Likewise.
4316 (GRUB_EHCI_CMASK_MASK): New enum value.
4317 (GRUB_EHCI_SMASK_MASK): Likewise.
4318 (GRUB_EHCI_CMASK_OFF): Likewise.
4319 (GRUB_EHCI_SMASK_OFF): Likewise.
4320 (grub_ehci_pci_iter): Enable periodic schedule.
4321 (grub_ehci_parse_notrun): Likewise.
4322 (grub_ehci_restore_hw): Likewise.
4323 (grub_ehci_setup_qh): Set flags for low speed transfers.
4324 (grub_ehci_find_qh): Use periodic list for low speed.
4325 (grub_ehci_setup_transfer): Check periodic queue as well.
4326 (grub_ehci_check_transfer): Likewise.
4327 (grub_ehci_cancel_transfer): Cancel periodic transfer.
4328
e12bcb1c
PFS
43292012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4330
4331 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
4332 parameter is used.
4333
bcc75fb3
PJ
43342012-05-31 Peter Jones <pjones@redhat.com>
4335
4336 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
4337 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
4338 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
4339
f19cb95e
VS
43402012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
4343 uninited variable. Allocate at least setup_sects.
4344
a4e5ca80
VS
43452012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 Fix handling of EFI with big memory maps.
4348
4349 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
4350 (real_mode_mem): Likewise.
4351 (real_mode_target): Likewise.
4352 (real_mode_pages): Likewise.
4353 (prot_mode_pages): Likewise.
4354 (linux_params): New var.
4355 (linux_cmdline): Likewise.
4356 (free_pages): Don't set real mode variables.
4357 (allocate_pages): Don't allocate real mode memory.
4358 (grub_e820_add_region): Remove the limit.
4359 (grub_linux_boot): Allocate and copy real mode memory.
4360 (grub_linux_unload): Free linux_cmdline.
4361 (grub_cmd_linux): Use temporary storage for parameters.
4362 (grub_cmd_initrd): Likewise.
4363 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
4364 (linux_kernel_params): Make it 1K big.
4365
ddb73558
VS
43662012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * Makefile.util.def: Remove -Wno-format.
4369 * grub-core/Makefile.core.def: Likewise.
4370
1c4afb60
VS
43712012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * tests/cmp_unit_test.c: Add missing failure message.
4374 * tests/example_unit_test.c: Likewise.
4375 * tests/printf_unit_test.c: Likewise.
4376
941e3a6d
VS
43772012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
4380 relaxation of protective MBR requirements.
4381
b105df76
VS
43822012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * configure.ac: Add condition for COND_HOST_XNU.
4385 * Makefile.util.def (10_xnu): New script.
4386 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
4387
84e1569e
VS
43882012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
4391 objconv bug.
4392
130c0f77
VS
43932012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
4396 Binary on other platforms stays identical.
4397
6fd0b143
VS
43982012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
4401 Apple.
4402
0af1751d
VS
44032012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
4406
176d5f7d
VS
44072012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
4410 rather than defining size_t ourselves to avoid conflict.
4411
7de5e20a
VS
44122012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
4415 initialisation to avoid __bzero reference.
4416
f7143efe
VS
44172012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
4420 version.
4421 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
4422 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
4423 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
4424 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
4425 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
4426
e6ad0555
VS
44272012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
4430 * grub-core/kern/misc.c: Likewise.
4431 * grub-core/loader/i386/xnu.c: Likewise.
4432 * include/grub/i386/tsc.h: Likewise.
4433 * include/grub/symbol.h: Likewise.
4434
4a5a3c4a
VS
44352012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
4438 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
4439 on older compiler.
4440
037f6d90
VS
44412012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
4444 Implement Apple flavour.
4445 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
4446
f7194551
VS
44472012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
4450 (memmove) [__APPLE__]: Likewise.
4451 (memcpy) [__APPLE__]: Likewise.
4452 (memset) [__APPLE__]: Likewise.
4453 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
4454 (memmove) [__APPLE__]: Likewise.
4455 (memcpy) [__APPLE__]: Likewise.
4456 (memset) [__APPLE__]: Likewise.
4457
85a730ca
VS
44582012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
4461 dependency discard.
4462
40e80b94
VS
44632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/normal/main.c (read_config_file): Provide config_file and
4466 config_directory.
4467 * util/grub.d/41_custom.in: Use config_directoy when available.
4468
9da59c32
VS
44692012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
4472 (grub_bfs_dir): Likewise.
4473
2787ae53
PJ
44742012-05-27 Peter Jones <pjones@redhat.com>
4475
4476 The old code gives arguments to a printf function which can't work
4477 correctly, and the compiler complains.
4478
4479 * grub-core/tests/example_functional_test.c (example_test): Add
4480 missing text.
4481 * grub-core/tests/lib/test.c (add_failure): Rewrite.
4482 * include/grub/test.h (grub_test_assert_helper): New declaration.
4483 (grub_test_assert): Use grub_test_assert_helper.
4484
526ef13d
VS
44852012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
4488 (exfctest): ... this to avoid overlong filenames.
4489 All users updated.
4490
20dd511c
VS
44912012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 Handle "." and ".." on squashfs.
4494
4495 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
4496 Make inode numbers into stack.
4497 (grub_squash_read_symlink): Use stack.
4498 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
4499 (make_root_node): Fill stack.
4500 (grub_squash_open): Use stack.
4501
1d80c62a
VS
45022012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
4505 freeing.
4506
d336f652
VS
45072012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
4510 stderr on test calls.
4511
8b43f587
VS
45122012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
4515
80a3dc3f
VS
45162012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
4519
47e297d4
VS
45202012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
4523 "..".
4524
df042ccb
VS
45252012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
4528 (grub_hfsplus_iterate_dir): Add "." and "..".
4529
fc977f48
VS
45302012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * grub-core/fs/cpio.c (canonicalize): Handle "..".
4533 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
4534
f3250e5f
VS
45352012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
4538 (find_path): Handle "." and "..".
4539
fd8ed4c5
VS
45402012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
4543 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
4544 (grub_affs_iterate_dir): Handle hardlinks.
4545
4ce776d2
MG
45462012-05-26 Matthew Garrett <mjg@redhat.com>
4547
4548 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
4549 (grub_efi_console_fini): Likewise.
4550 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
4551 (grub_video_gop_fill_mode_info): Rename to ...
4552 (grub_video_gop_fill_real_mode_info): ... this.
4553 (grub_video_gop_fill_mode_info): New function.
4554 (grub_video_gop_setup): Setup double framebuffer.
4555 (grub_video_gop_get_info_and_fini): Use original framebuffer.
4556 Free offscreen.
4557 (grub_video_gop_swap_buffers): Copy framebuffer.
4558 (grub_video_gop_fini): Free offscreen buffer.
4559 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
4560 New enum.
4561 (grub_efi_gop_blt_pixel): New struct.
4562
683031ba
VS
45632012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * gentpl.py: Remove error disabling for objconv.
4566
c2deb798
VS
45672012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * configure.ac: Remove -Wunitialized as it's not available on older
4570 compilers.
4571
45722012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
4573
4574 Fix extent overflow comparator.
4575
4576 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
4577 (grub_hfsplus_read_block): Set type.
4578 (grub_hfsplus_cmp_extkey): Compare type.
4579
d6b1fd36
VS
45802012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
4583
0a9aa0f6
VS
45842012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
4587 than 0.
4588
8360e159
VS
45892012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
4592 (dejavu_bold_14.pf2): New target.
4593
501b9e4b
VS
45942012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * configure.ac: Fix djvu font detection.
4597
7026b0e2
VS
45982012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
4601 ext* instead of ext2.
4602
c2a51ade
VS
46032012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
4606 name with \0.
4607
8f803a5d
JU
46082012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
4609
4610 * docs/grub-dev.texi: Remove dot from .png.
4611
13c6353f
VS
46122012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
4615 protective entry in any slot.
4616 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
4617 if protective entry is found in any slot.
4618
4619 Protective entry in non-first slot make no sense but is a widespread
4620 brain damage.
4621
4cf6be1b
VS
46222012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
4625
937d1c44
VS
46262012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
4629 with old reiserfs.
4630 (grub_reiserfs_open): Don't free root.
4631
021d90ec
VS
46322012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
4635 after freeing for safety.
4636
967b2b64
VS
46372012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
4640 Reported by: Jordan Uggla.
4641
34274d02
JU
46422012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
4643
967b2b64
VS
4644 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
4645 actual implementation. Specifically, clarify that the grub menu will
4646 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
4647 passed.
34274d02 4648
dcaaae9d
BH
46492012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
4650
4651 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
4652 of r0.
4653
7086ad52
VS
46542012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 Remove unjustified hard dependency of normal.mod on gfxterm.
4657
4658 * include/grub/term.h (grub_term_output): New member fullscreen.
4659 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
4660 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
4661 (grub_gfxterm): Set .fullscreen.
4662 * grub-core/normal/menu.c (menu_init): Use fullscreen.
4663 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
4664
37ed2c9b
VS
46652012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
4668 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 4669 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 4670
a4469c88
VS
46712012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
4674
4e461486
VS
46752012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4678 a bad FS.
4679
aa78f5c4
VS
46802012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4681
4682 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
4683 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
4684
197626b5
VS
46852012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
4688 (grub_jfs_mount): Fill caseins.
4689 (grub_jfs_find_file): Respect caseins.
4690
8ad3f28c
VS
46912012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
4694 through UTF-16.
4695
0c6c324e
VS
46962012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
4699 New argument origpath. All users updated.
4700
c6666ba6
VS
47012012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
4704 (read_attr): Ensure that we read start of possibly compressed block.
4705
e28e5fe5
VS
47062012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
4709 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
4710 All users updated.
4711
5fc23ab2
VS
47122012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
4715 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
4716 (dejavu.pf2): Replace with ...
4717 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
4718 this.
4719
79dbc21c
VS
47202012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * util/grub.d/20_linux_xen.in: Add missing line.
4723
d2fcfb0c
VS
47242012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
4727 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
4728 (grub_utf16_to_utf8): Likewise.
4729
5560e9d6
VS
47302012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
4733 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
4734 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4735 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
4736 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4737 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
4738
47392012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
4740
4741 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4742 a bad FS.
4743
5560e9d6 47442012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
4745
4746 * grub-core/fs/udf.c (read_string): Bail out on size=0.
4747 (grub_udf_read_symlink): Handle read_string failure.
4748
5eae3175
VS
47492012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
4752 comment.
4753
c1ad82db
VS
47542012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 Fix handling of UDF symlinks.
4757
4758 * grub-core/fs/udf.c (read_string): New argument outbuf.
4759 All users updated.
4760 (grub_ufs_read_symlink): Rename to ...
4761 (grub_udf_read_symlink): ... this. All users updated.
4762 Handle symlinks with more than one component.
4763
33eca6e0
VS
47642012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
4767 symlinks. Replace leading colon with a slash.
4768
57f4a70b
VS
47692012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
4772 filename.
4773
38c8ee20
VS
47742012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
4777 match in inner node.
4778
2e57f28f
VS
47792012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
4782 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
4783 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
4784 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
4785 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
4786 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
4787 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
4788 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
4789 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
4790
fe8c2f11
VS
47912012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 Use grub-probe and not cmp to check that disk is empty.
4794
4795 * util/grub-install.in: Use grub-probe for zero-check.
4796 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
4797 (probe): Handle PRINT_ZERO_CHECK.
4798 (argp_parser): Handle -t zero_check.
4799
48002012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
4801
4802 Flush block cache on adding disk to device map.
4803
4804 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
4805 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
4806 adding.
4807 (read_device_map): Likewise.
4808 (open_device): Flush on opening.
4809
690434e8
VS
48102012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
4813 (handle_symlink): Fix off-by-one error.
4814 Canonicalize the target.
4815 (grub_cpio_dir): Canonicalize the name.
4816 Fix memory leak.
4817 Set directory.
4818 (grub_cpio_open): Canonicalize the name.
4819
742d2be6
VS
48202012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
4823 handling.
4824
3244fe96
VS
48252012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
4828 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
4829
8aeb1837
VS
48302012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
4833 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 4834 All users updated.
8aeb1837 4835
9133fd05
VS
48362012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
4839 counterpart.
4840
6d521c5b
VS
48412012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 Fix UFS1 big file support.
4844
4845 * grub-core/fs/ufs.c (INODE): Removed.
4846 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
4847 64-bit.
4848 (INODE_MODE): Simplify.
4849 (grub_ufs_inode): Use uint64_t for size and not int64_t.
4850 (grub_ufs_lookup_symlink): Don't use INODE.
4851
21b82e17
VS
48522012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 Fix minixfs with non-power-of-two blocks since it's supported by minix.
4855
4856 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
4857 (grub_minix_data): Replace log_block_size with block_size.
4858 (grub_minix_read_file): Use block_size but avoid 64-bit division.
4859 (grub_minix_mount): Fill block_size.
4860
48612012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
4862
4863 * configure.ac: Bump to beta5.
4864
f417ed04
VS
48652012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 Fix wrapped HFS+ handling.
4868
4869 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
4870 blocks_start. All users updated.
4871 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
4872 wrapping offset.
4873 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
4874
607d282b
VS
48752012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 Fix long symlinks on reiserfs.
4878
4879 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
4880 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
4881 (grub_reiserfs_iterate_dir): Save size for non-directories.
4882 (grub_reiserfs_open): Don't reread stat block as we already know the
4883 size.
4884 (grub_reiserfs_read): Split into...
4885 (grub_reiserfs_read_real): ... and ...
4886 (grub_reiserfs_read): ...this.
4887
ae16024d
VS
48882012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 Fix non-indexed JFS.
4891
4892 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
4893 (grub_jfs_data): New field namecomponentlen.
4894 (grub_jfs_mount): Fill namecomponentlen.
4895 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
4896
eea1e26e
VS
48972012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
4900 * tests/grub_script_echo1.in: Add tests.
4901
df760f77
VS
49022012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 * util/grub-install.in: Ignore empty devicetree directory.
4905
5efb817d
B
49062012-05-08 Bean <bean123ch@gmail.com>
4907
4908 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
4909 All users updated.
4910 (free_rsm): Free header as well.
4911 (free_old_fragments): Fix memory leak.
4912 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
4913 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
4914 (destroy_pq): Likewise.
4915 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
4916
668ea6d2
VS
49172012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
4920 resulting hash as a precaution.
4921
1739b1fe
VS
49222012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
4925 '_' in variable names.
4926 * grub-core/net/net.c (grub_net_network_level_interface_register):
4927 Likewise.
4928
6ae485aa
VS
49292012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 Fix AFFS with non-512B blocks.
4932
4933 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
4934 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
4935 (grub_affs_data): Replace blocksize with log_blocksize.
4936 (grub_affs_read_block): Fix non-512B blocks.
4937 (grub_affs_read_symlink): Likewise.
4938 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
4939 (grub_affs_read): Fix non-512B blocks.
4940 (grub_affs_label): Likewise.
4941 (grub_affs_mtime): Likewise.
4942 (grub_affs_mount): Fix block detection routine.
4943
d20fab84
VS
49442012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 Add filesystem mtime to AFFS.
4947
4948 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
4949 (aftime2ctime): New function.
4950 (grub_affs_dir): Use aftime2ctime.
4951 (grub_affs_label): Fix return value.
4952 (grub_affs_mtime): New function.
4953 (grub_affs_fs): Add mtime.
4954
e87b10f5
VS
49552012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
4958 UTF-8.
4959
7dceec9b
VS
49602012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4961
4962 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
4963 UTF-8.
4964
2f48221f
VS
49652012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
4968
dacd85cf
VS
49692012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
4972 flags.
4973 (FLAGS_CASE_SENSITIVE): New enum value.
4974 (cache_entry): New struct.
4975 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
4976 cache_size and cache.
4977 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
4978 Add log_blocksize and fshelp_flags.
4979 (grub_sfs_read_extent): Handle non-512 blocks.
4980 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
4981 (grub_sfs_read_file): Handle non-512 blocks.
4982 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
4983 fshelp_flags.
4984 (grub_sfs_read_symlink): Handle non-512 blocks.
4985 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
4986 (grub_sfs_dir): Free cache.
4987 (grub_sfs_close): Likewise.
4988
24e9a854
VS
49892012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
4992 filesystems.
4993
62ace64d
VS
49942012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
4997
83b2e89c
VS
49982012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
5001
75ccaea3
VS
50022012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
5005 (grub_sfs_read_extent): Likewise.
5006 (grub_sfs_read_block): Likewise.
5007 (grub_sfs_mount): Likewise.
5008 (grub_sfs_iterate_dir): Likewise.
5009 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
5010 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
5011
1b8463f2
VS
50122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 Fix errors on compressed NTFS with 512B clusters.
5015
5016 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
5017 types.
5018 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
5019 not 0.
5020 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
5021 Relax check for inline extents.
5022 (ntfscomp): Return correct -1 on error and not 0.
5023
4f8e368f
VS
50242012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 * util/grub-install.in: Fix handling of prefix containing spaces.
5027
6f5d5ee8
VS
50282012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
5031 (grub_squash_read_data): Fix offset byte-swapping.
5032
ce41ab7a
VS
50332012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
5036 per common usage and preffered in several parts of code.
5037 (grub_memcmp): Likewise.
5038 (grub_strncmp): Likewise.
5039 * include/grub/misc.h (grub_strcasecmp): Likewise.
5040 (grub_strncasecmp): Likewise.
5041 * Makefile.util.def (cmp_test): New test.
5042 (grub_script_strcmp): Likewise.
5043 * tests/cmp_unit_test.c: New file.
5044 * tests/grub_script_strcmp.in: Likewise.
5045 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
5046
49717bf4
VS
50472012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * include/grub/pci.h: Move enums into no-asm part.
5050
0a308f64
VS
50512012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
5054
1796965f
ST
50552012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
5056
5057 * util/getroot.c (find_hurd_root_device): Try to make error message
5058 and comments to translators clearer.
5059
4e9b2819
VS
50602012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
5063
076aeb50
VS
50642012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
5067 btrfs.
5068
19424d94
VS
50692012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * docs/grub.cfg: Update.
5072
ebb73076
VS
50732012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * docs/grub.texi (PXE): Remove not present variables.
5076
9a1b669c
VS
50772012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * grub-core/net/net.c (defserver_set_env): New function.
5080 (defserver_get_env): Likewise.
5081 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
5082
d38bf7d3
VS
50832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
5086 entries.
5087
50882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
5089
5090 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
5091 * grub-core/kern/emu/hostdisk.c: Likewise.
5092
e5e4ca48
ST
50932012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5094
5095 Handle hurd userspace partitions.
5096
5097 * util/getroot.c (find_hurd_root_device): New function.
5098 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
5099
56bb5dd5
VS
51002012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
5103 names.
5104 Reported by: Bastian Blank.
5105
9e8bc27a
VS
51062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
5109 crossing page boundary.
5110
aa01499d
VS
51112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 Fix B-tree search in BFS, especially in presence of non-ASCII
5114 characters.
5115
5116 * grub-core/fs/bfs.c (bfs_strcmp): New function.
5117 (find_in_b_tree): Use standard bsearch + btree algorithm.
5118
57006035
VS
51192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
5122 and so on.
5123
9d34bb85
MG
51242012-05-03 Matthew Garrett <mjg@redhat.com>
51252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 Suspend broadcom cards in order to stop their DMA.
5128
5129 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
5130 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
5131 (pci): Don't build on x86 EFI.
5132 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
5133 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
5134 New function.
5135 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
5136 stop_broadcom if running on EFI.
5137 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
5138 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
5139 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
5140 (grub_pci_find_capability): New proto.
5141
01aab997
VS
51422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * docs/grub.texi: Remove dot from the extension as it apparently
5145 doesn't work with some makeinfo versions.
5146
fbd8dca6
VS
51472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
5150 with GRUB expectance.
5151
dab797f4
VS
51522012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
5155
1516bfb4
VS
51562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
5159 zero after directory block since last entry may be not 0-terminated if
5160 it ends on block boundary. Use continue instead of if spanning whole
5161 loop.
5162
a3a0eace
VS
51632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 Support 4K sectors UDF inline files.
5166
5167 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
5168 (grub_udf_extended_file_entry): Likewise.
5169 (grub_fshelp_node): Name the anonymous union. Put block at the end.
5170 All users updated.
5171 (get_fshelp_size): New function.
5172 (grub_udf_read_icb): Read whole block.
5173 (grub_udf_iterate_dir): Likewise.
5174 (grub_udf_dir): Likewise.
5175 (grub_udf_open): Likewise.
5176
c82f16c1
VS
51772012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
5180
59fd2aac
VS
51812012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
5184 inline symlinks in addition to workaround.
5185
3b4afb4d
VS
51862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
5189
f45c794a
VS
51902012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
5193
f25cecbd
VS
51942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
5197
bb9a34e8
VS
51982012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 Fix reiserfs big seek times.
5201
5202 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
5203 exact. All users updated.
5204 (grub_reiserfs_read): Use nearest btree search for seeking.
5205 Fix return value on error.
5206
dc478aea
VS
52072012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
5210 entries.
5211 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
5212 * docs/grub.texi: Update menuentry description.
5213
8db10f47
VS
52142012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
5217 crash when embedding onto filesystem.
5218
bcb288ed
VS
52192012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
5222 name.
5223
a626fdd7
VS
52242012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
5227
b2f68477
VS
52282012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
5231 commit.
5232
ba15b2af
B
52332012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
52342012-05-01 Bean <bean123ch@gmail.com>
5235
5236 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
5237
a188012e
VS
52382012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
5241 Special behaviour for len = 0 to read whole file isn't used anywhere and
5242 can cause buffer ovewrflows in several places.
5243
f0a53ed2
VS
52442012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
5247
5ed554f0
VS
52482012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 Handle RAIDZ on non-512B sectors.
5251
5252 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
5253 max_children_ashift.
5254 (fill_vdev_info_real): Fill max_children_ashift.
5255 (read_device): Use max_children_ashift.
5256
ddc58357
VS
52572012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
5260
e3282399
VS
52612012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
5264 disk names.
5265 * docs/grub.texi: Update device.map parts.
5266
ee618bd4
VS
52672012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 Don't scan into non-diskfilter devices having diskfilter names.
5270
5271 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
5272 (scan_disk): New argument accept_diskfilter. Fix recursion depth
5273 handling.
5274 (scan_disk_hook): New function.
5275
bdf88864
B
52762012-04-29 Bean <bean123ch@gmail.com>
5277
5278 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
5279 allocation.
5280
32745f51
MK
52812012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
5282
5283 * configure.ac: Detect starfield theme font path
5284 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
5285
bc95c8c0
VS
52862012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
5289 geometry on serial consoles.
5290
147fbcab
VS
52912012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
5294 because of network consoles.
5295
0f42c889
VS
52962012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5297
5298 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
5299 handling.
5300
4a3594c9
VS
53012012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
5304 falls on Q syndrom.
5305
5cb53879
VS
53062012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
5309 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
5310
b282dfe5
VS
53112012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
5314 Allocate at lest 8192 for temporary buffer as required for lzo.
5315
daa59f47
VS
53162012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
5319 to cluster_bits, since it's already added in.
5320 (grub_fat_read_data): Likewise.
5321
986748ce
VS
53222012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
5325 as long as cluster size is multiple of 512 bytes.
5326
a20f6ad0
VS
53272012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * util/grub-mkrescue.in: Fix locale directory.
5330
385f9abb
VS
53312012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/kern/emu/hostdisk.c (map): Make static.
5334
1c557d30
B
53352012-04-23 Bean <bean123ch@gmail.com>
5336
5337 * util/grub-fstest.c (fstest): Add missing break.
5338
524b5d3a
ST
53392012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
5340
5341 Fix hurd build.
5342
5343 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
5344 not define nr variable.
fe4824e9 5345 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
5346 find_root_devices_from_poolname, find_root_devices_from_libzfs,
5347 grub_find_device): Do not define.
524b5d3a 5348
9a06490c
VS
53492012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 Fix kfreebsd compile and behaviour.
5352
5353 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
5354 format-security.
5355 * util/getroot.c: Fix wait.h include.
5356 (grub_guess_root_devices): Error if grub_find_device fails.
5357 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
5358 (grub_util_get_dev_abstraction): Likewise.
5359 (grub_util_pull_device): Likewise.
5360 (grub_util_get_grub_dev): Likewise.
5361 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
5362
48143d96
VS
53632012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 Fix and unify wholedisk detection.
5366
5367 * util/getroot.c (convert_system_partition_to_system_disk): New argument
5368 is_part. All users updated.
5369 (device_is_wholedisk): Removed.
5370 (grub_util_biosdisk_get_grub_dev): Use is_part.
5371
ebbd24f3
VS
53722012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
5375 mode.
5376
56f7aa1e
VS
53772012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * configure.ac: Bump to beta4.
5380
9c815e01
VS
53812012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
5384 --fs-uuid --set UUID syntax.
5385
59e2651a
VS
53862012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
5389 disunification.
5390
54e03cfc
VS
53912012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5392
5393 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
5394
81092a75
MK
53952012-04-18 Mads Kiilerich <mads@kiilerich.com>
5396
5397 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
5398
f8315e14
MG
53992012-04-18 Mike Gilbert <floppym@gentoo.org>
5400
5401 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
5402
1501ac21
B
54032012-04-18 Bean <bean123ch@gmail.com>
5404
5405 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
5406 place.
5407
cb7f944e
VS
54082012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
5411 users updated.
5412 (grub_util_biosdisk_read): Handle Linux partitions not exactly
5413 corresponding to GRUB partitions.
5414 (grub_util_biosdisk_write): Likewise.
5415
b72d44a1
VS
54162012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 Scan mdraid before LVM.
5419
5420 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
5421 (grub_diskfilter_register_front): ... this.
5422 (grub_diskfilter_register_back): New function.
5423 All users of grub_diskfilter_register updated.
5424
33d918b8
VS
54252012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * util/grub-install.in: Fix an automatic target detection bug.
5428
c6ca973d
VS
54292012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * util/grub-install.in: New option --efi-directory.
5432
b41be562
VS
54332012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
5436 boot services if we have no other choice.
5437
54382012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * util/grub-mknetdir.in: Rename --override-directory to --directory and
5441 document it.
5442 * tests/util/grub-shell.in: Update to --directory.
5443
e0595a73
VS
54442012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
5447
4ed80652
VS
54482012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
5451 (grub_minix_read_file): Likewise.
5452 (grub_minix_read_inode): Likewise.
5453 (grub_minix_find_file): Likewise.
5454 (grub_minix_dir): Likewise.
5455
56008077
VS
54562012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 * util/grub-setup.c (setup): Fix partition handling and blocklist
5459 check.
5460
ee520775
VS
54612012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
5464 redundant buggy overlap check.
5465
16fc9293
VS
54662012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
5469 and grub-mknetdir.
5470
9bab65c4
VS
54712012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
5474 kh.loadflags on pre-2.00 kernels.
5475
3c491b47
VS
54762012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 Terminate UNDI and PXE before launching the payload to avoid problems
5479 with DMA.
5480
5481 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
5482 (grub_loader_flags): ... this. All users updated.
5483 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
5484 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
5485 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
5486 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
5487 function.
5488 (grub_pxe_restore): Likewise.
5489 (fini_hnd): New var.
5490 (GRUB_MOD_INIT): Register shutdown hook.
5491 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
5492 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
5493 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
5494 (grub_loader_set): Rename second argument to flags.
5495
851ffada
VS
54962012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
5499 written bytes.
5500 (grub_get_num_of_utf8_bytes): New function.
5501 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
5502 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
5503 executing it.
5504 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
5505 (grub_ucs4_to_utf8): Change return type.
5506
491c57a8
VS
55072012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
5510 warning.
851ffada
VS
5511 * grub-core/fs/bfs.c (hop_level): Likewise.
5512 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 5513
756773df
VS
55142012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5515
5516 * grub-core/lib/adler32.c: Recode due to license unclearness.
5517
fd556a96
VS
55182012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
5521 (test_header): Likewise.
5522
9f9d3f69
VS
55232012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 Fix --help formatting.
5526
5527 * util/grub-mkconfig_lib.in (print_option_help): New function.
5528 (grub_fmt): Likewise.
5529 * util/grub-install.in: Use print_option_help and grub_fmt.
5530 * util/grub-kbdcomp.in: Likewise.
5531 * util/grub-mkconfig.in: Likewise.
5532 * util/grub-mknetdir.in: Likewise.
5533 * util/grub-mkrescue.in: Likewise.
5534 * util/grub-mkstandalone.in: Likewise.
5535 * util/grub-reboot.in: Likewise.
5536 * util/grub-set-default.in: Likewise.
5537 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5538
561ec77e
VS
55392012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * linguas.sh: Remove autogenerated *.po.
5542
7ec2b021
VS
55432012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * po/README: Move language fetcing to ...
5546 * linguas.sh: ... here.
5547 * po/README: Point to linguas.sh.
5548
a88f3270
VS
55492012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 * po/README: Exclude ko.po due to disclaimer problems.
5552
d61357ce
VS
55532012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
5556 len = 0.
5557 (grub_gettext_translate_real): Handle 0th string.
5558 (grub_gettext_translate): Ensure that "" isn't translated.
5559
505e41dc
VS
55602012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
5563 TRANSLATORS comment.
5564 (grub_diskfilter_print_partmap): Propagate changing of error into
5565 warning.
5566
e44092db
VS
55672012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
5570 to uint64_t to prevent overflow.
5571 (grub_diskfilter_lv): Increase start_extent and extent_count
5572 to uint64_t to prevent overflow.
5573
9b83956a
VS
55742012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * configure.ac: Increase version.
5577
da0d5b3f
VS
55782012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
5581
5582 * po/Rules-translit: New file.
5583 * po/arabic.sed: Likewise.
5584 * po/cyrillic.sed: Likewise.
5585 * po/greek.sed: Likewise.
5586 * po/hebrew.sed: Likewise.
5587 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
5588 * po/Makefile.in.in: Add extra_dist4.
5589
ac66b453
VS
55902012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 Handle big-endian minixfs (fixes minixfs tests on bigendian).
5593
5594 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
5595 modify names. Introduce MODE_BIGENDIAN.
5596 * grub-core/fs/minix_be.c: New file.
5597 * grub-core/fs/minix2_be.c: Likewise
5598 * grub-core/fs/minix3_be.c: Likewise.
5599 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
5600 minix3_be.
5601 * grub-core/Makefile.core.def (minix_be): New module.
5602 (minix2_be): Likewise.
5603 (minix3_be): Likewise.
5604
56052012-04-01 Felix <email@hamburg.de>
5606
5607 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
5608 (devs): Add MBP 2011.
5609
0a2d5a82
VS
56102012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
5613
d1625889
VS
56142012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 * grub-core/normal/cmdline.c (print_completion): New field
5617 prompt_len.
5618 (grub_cmdline_get): Handle width properly.
5619
6d36a236
VS
56202012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 * grub-core/commands/lsacpi.c (options): Add missing terminator.
5623
9576977e
VS
56242012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 5627 after 29th of February.
9576977e 5628
d73ff15d
VS
56292012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 Fix exfat endianness handling.
5632
5633 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
5634 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
5635 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
5636 Byte-swap utf16 when necessary.
5637 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
5638
bbb39a45
AB
56392012-03-31 Anton Blanchard <anton@samba.org>
56402012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 Fix btrfs endianness handling.
5643
5644 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
5645 (lower_bound): Make root uint64_t. Use root in le.
5646 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
5647 (find_path): Fix template key init.
5648 (grub_btrfs_dir): Fix mtime byteswap.
5649 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
5650
354e0af7
VS
56512012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
5654 recursion_depth. Break infinite resursions. All users updated.
5655
4e75f21c
VS
56562012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
5659 after free.
5660 Reported by: Peter Jones.
5661
25581802
AB
56622012-03-31 Anton Blanchard <anton@samba.org>
5663
5664 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
5665 8 bit values.
5666
08fbf92e
VS
56672012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 * util/grub-install.in: Fix nvram call for PreP.
5670
5d1182a6
VS
56712012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
5674 the error when some elements are missing into a warning.
5675
3f8cdd90
VS
56762012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
5679
51006716
CW
56802012-03-28 Colin Watson <cjwatson@ubuntu.com>
5681
5682 * docs/grub.texi (Invoking grub-probe): New section.
5683 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
5684
e1bd676b
VS
56852012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 Fix tab and wide character handling in editor and menu.
5688
5689 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
5690 agglomerate control characters with combining marks.
5691 (bidi_line_wrap): Allow break on tab.
5692 (grub_unicode_get_comb_start): New function.
5693 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
5694 and tab correctly.
5695 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
5696 with a space.
5697 * grub-core/normal/term.c (print_ucs4_terminal): New argument
5698 fixed_tab_size. All users updated.
5699 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
5700 (grub_term_getcharwidth): Handle \t.
5701 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
5702 and copy.
5703
22e6a774
VS
57042012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 Handle big-endian mdraid.
5707
5708 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
5709 * grub-core/Makefile.core.def (mdraid09_be): New module.
5710 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
5711 rather than grub_le_to_cpu* and grub_cpu_to_le*.
5712 * grub-core/disk/mdraid_linux_be.c: New file.
5713
3c0eae66
VS
57142012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
5717
b6cf74c9
VS
57182012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5719
5720 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
5721 missing quotes which caused confusion among translators.
5722
83c93b9c
VS
57232012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 * util/grub-mkconfig_lib.in: Fix typo.
5726
ac6fd218
VS
57272012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
5730 spaces.
5731 * tests/grub_script_leading_whitespace.in: New file.
5732 * Makefile.util.def (grub_script_leading_whitespace): New test.
5733
ba287dd8
VS
57342012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
5737 to work.
5738
d2d58d0a
VS
57392012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
5742 starts with control character.
5743
0382d9bb
VS
57442012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
5747 overflow.
5748 (grub_gdb_outbuf): Likewise.
5749
d83ff9f9
VS
57502012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
5753 zero terminator. Fixes a crash.
5754
2282da4a
VS
57552012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
5758 beyond 4 GiB.
5759 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
5760 images independently of preffered adderss field.
5761
0ae4f0bd
VS
57622012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
5765 * grub-core/commands/regexp.c: Likewise.
5766 * grub-core/loader/i386/linux.c: Likewise.
5767 * grub-core/partmap/msdos.c: Likewise.
5768 * grub-core/script/execute.c: Likewise.
5769 * grub-core/term/gfxterm.c: Likewise.
5770
546fbe9b
VS
57712012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 Add variable parsing in $"..." and fix several mismatches with bash.
5774
5775 * Makefile.util.def (grub_script_gettext): New test.
5776 * grub-core/script/execute.c (parse_string): New function.
5777 (gettext_append): Likewise.
5778 (grub_script_arglist_to_argv): Use gettext_append.
5779 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
5780 * tests/grub_script_gettext.in: New file.
5781
9fdb2d7b
VS
57822012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 Fix handling of leading spaces in scripts.
5785
5786 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
5787 spaces.
5788 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
5789 other than skipping \r. All users updated.
5790 * tests/grub_script_echo1.in: Add space-related tests.
5791 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
5792
1a1ac4f6
VS
57932012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
5796
b63d89b6
VS
57972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * configure.ac: Bump up the version to beta2.
5800
17f38c0f
VS
58012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 Fix gettext reload bugs (e.g. inability to disable gettext
5804 once enabled).
5805
5806 * grub-core/gettext/gettext.c: Encapsulate all static variables in
5807 main_context and secondary_context. All functions updated.
5808 (grub_gettext_translate): Rename to ...
5809 (grub_gettext_translate_real): ... this. Return NULL on failed
5810 translate.
5811 (grub_gettext_translate): Handle secondary context.
5812 (grub_gettext_delete_list): Close file and zero-out the context.
5813 (grub_mofile_open): Don't call grub_gettext_delete_list.
5814 Don't close file.
5815 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
5816 if locale="" to avoid pointless error message.
5817 (grub_gettext_env_write_lang): Update lang even if load fails.
5818 Handle secondary context.
5819 (grub_gettext_reread_prefix): New function.
5820 (read_main): Likewise.
5821 (read_secondary): Likewise.
5822 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
5823 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
5824 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
5825 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
5826
8e56f870
VS
58272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 * configure.ac: Decrease warning level to avoid spurious warnings and
5830 to be able to compile with GCC 4.2.
5831 * Makefile.util.def: Remove -Wno-error=logical-op.
5832
82f6d455
WB
58332012-03-10 William Bittner <william.bittner@gmail.com>
5834
5835 * util/import_unicode.py: Add missing brackets around string for
5836 python 3 support.
5837
1ecd61a4
VS
58382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 Fix efi chainloader on network root.
5841
5842 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
5843 network devices.
5844 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
5845 New function.
5846
14361ee8
VS
58472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
5850 unused show_text member.
5851 * docs/grub.texi: Document "text" property.
5852
922aabf3
VS
58532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
5856 in dprintf.
5857
ec316771
VS
58582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 Fix IMSM handling on Fedora.
5861
5862 * util/getroot.c (grub_util_is_imsm): New function.
5863 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
5864
0f021838
VS
58652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * Makefile.am: Strip gold section.
5868 * conf/Makefile.common: Likewise.
5869 * gentpl.py: Likewise.
5870 * grub-core/Makefile.core.def: Likewise.
5871 * grub-core/genmod.sh.in: Likewise.
5872
1039c8eb
VS
58732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5874
5875 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
5876 * util/grub.d/20_linux_xen.in: Likewise.
5877 Based on Debian patch.
5878
6dd412cd
VS
58792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * util/grub.d/10_linux.in: Fix syntax error resulting in
5882 Richard Laager's patch.
5883 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
5884
3fd8bae5
VS
58852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
5888 dependencies.
5889
7eea1671
RL
58902012-03-10 Richard Laager <rlaager@wiktel.com>
5891
5892 * util/grub.d/10_linux.in: Fix ZFS root passing.
5893
e8e0566b
VS
58942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
5897 * grub-core/commands/xnu_uuid.c: Likewise.
5898 * grub-core/loader/efi/appleloader.c: Likewise.
5899 * grub-core/script/execute.c: Likewise.
5900 * grub-core/script/main.c: Likewise.
5901 * util/grub-mkfont.c: Likewise.
5902
1acc5b1f
VS
59032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * util/grub-mkfont.c (options): Use more appropriate "select" that
5906 "set" for face index.
5907
35d70620
VS
59082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * util/grub-editenv.c (options): Gettextize command summaries.
5911
c9eb96b5
VS
59122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
5915 "out of memory" error messagge.
5916
1f493136
VS
59172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
5920 of diskfilter for diskfilter on diskfilter support.
5921
6d790129
VS
59222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
5925
005f46c9
VS
59262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * util/grub-install.in: Check for themes/starfield/theme.txt and not
5929 themes/starfield.
5930
c8f778a0
VS
59312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
5934
de1e64eb
VS
59352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
5938
c6d54211
VS
59392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
5942 of error message.
5943
dd390777
VS
59442012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
5947
5fd1c522
VS
59482012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
5951 message.
c6d54211 5952 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 5953
fae01f6c
VS
59542012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5955
5956 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
5957 Gettextize.
5958 * util/grub-mount.c (options): Likewise.
5959
292fdaff
VS
59602012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
5963 gettextize.
5964 * grub-core/commands/search_wrap.c (options): Likewise.
5965
ecdbae77
VS
59662012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
5969
52bfedfa
VS
59702012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
5973 size calculation.
5974 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
5975 none is known.
5976
55b20e58
VS
59772012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
5980 "temporary" since it's used in identifier and is limited in space.
5981
fda9d101
VS
59822012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 * po/POTFILES.in: Regenerate. Include *.h since they contain
5985 translatable strings as well.
5986
6a0295e2
VS
59872012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
5990 byte-swap on big-endian.
5991 Reported by: Lennart Sorensen
5992
807fb77c
VS
59932012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
5996 (allocate_pages): Improve dprintf.
5997 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
5998 code32_start. Fill code32_start and kernel_alignment in params.
5999 (grub_cmd_initrd): Use prot_init_space.
6000
61ac50ba
VS
60012012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
6004
abdd26dd
VS
60052012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * util/grub-install.in: Add missing dot at the end of sentence.
6008
6e69da9c
VS
60092012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6012 * grub-core/commands/videotest.c: Likewise.
6013 * grub-core/loader/i386/linux.c: Likewise.
6014
4a929343
VS
60152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
6018 sentence.
6019 Reported by: Milo Casagrande.
6020
bb51c6c6
VS
60212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
6024 * grub-core/commands/gptsync.c: Likewise.
6025 * grub-core/commands/hashsum.c: Likewise.
6026 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6027 * grub-core/commands/legacycfg.c: Likewise.
6028 * grub-core/io/gzio.c: Likewise.
6029 * grub-core/net/net.c: Likewise.
6030 * grub-core/term/gfxterm.c: Likewise.
6031 * grub-core/term/terminfo.c: Likewise.
6032 * grub-core/tests/test_blockarg.c: Likewise.
6033 * grub-core/video/video.c: Likewise.
6034 * util/grub-install.in: Likewise.
6035 * util/grub-mkfont.c: Likewise.
6036
b2b149cb
VS
60372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
6040
c7c080ad
VS
60412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 6044 Reported by: David Prévot.
c7c080ad 6045
f2e243c0
VS
60462012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
6049 description.
6050
09963c76
VS
60512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * util/grub-script-check.c (main): Fix a syntax error message which was
6054 unclear.
6055
a50514a8
VS
60562012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
6059
4650daec
VS
60602012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
6063 messages.
6064
60652012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
6066
6067 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
6068 without argument.
6069 * util/grub-mount.c (options): Likewise.
6070
bbc5a342
VS
60712012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
6074
ef292a87
VS
60752012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 * grub-core/net/http.c: Add TRANSLATORS comments.
6078 * grub-core/normal/cmdline.c: Likewise.
6079 * grub-core/normal/misc.c: Likewise.
6080 * grub-core/partmap/msdos.c: Likewise.
6081 * grub-core/parttool/msdospart.c: Likewise.
6082 * grub-core/script/execute.c: Likewise.
6083 * grub-core/script/main.c: Likewise.
6084 * grub-core/term/terminfo.c: Likewise.
6085 * grub-core/video/bitmap.c: Likewise.
6086 * util/grub-install.in: Likewise.
6087 * util/grub-mkimage.c: Likewise.
6088 * util/grub-mklayout.c: Likewise.
6089 * util/grub-setup.c: Likewise.
6090
0fc19bd0
VS
60912012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
6094 with similar messages in grub-fstest.
6095
d95862ef
VS
60962012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * util/grub-install.in: Unify "option requires an argument" message
6099 with similar messages in other files.
6100 * util/grub-mkconfig.in: Likewise.
6101
b7308f90
VS
61022012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * util/grub-set-default.in: Replace printf with gettext_printf (the
6105 string in in question is already translated from grub-reboot)
6106
559dc587
VS
61072012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 * configure.ac: Bump up the version to beta1.
6110
1a11761f
VS
61112012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
6114 case when min_align = 0.
6115
24539abd
VS
61162012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
6119 and fix a case when line_start overflows.
6120
32bd735b
VS
61212012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * util/grub-reboot.in (usage): Mention id posibility.
6124 * util/grub-set-default.in (usage): Likewise.
6125
1a2fd1e6
VS
61262012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
6129 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
6130 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6131 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6132 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6133 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6134 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6135
90eeab76
VS
61362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 * grub-core/commands/menuentry.c (options): Remove
6139 GRUB_ARG_OPTION_REPEATABLE.
6140 Reported by: Andreas Vogel
6141
5ad1be82
AV
61422012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
6143
6144 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
6145
cb055286
HE
61462012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
6147
6148 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
6149 error.
6150
93b1cd79
VS
61512012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 Use sort -V by the idea of Georgi Georgiev.
6154
6155 * util/grub-mkconfig_lib.in (version_sort): New function.
6156 (version_test_numeric): Use version_sort.
6157
0cdc126c
VS
61582012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 Use submenus in grub-mkconfig.
6161
6162 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
6163 * util/grub-mkconfig_lib.in (grub_quote): New function.
6164 (gettext_printf): Use gettext and not gettext_quoted to fix several
6165 messages.
6166 * util/grub.d/10_hurd.in: Use submenus.
6167 * util/grub.d/10_kfreebsd.in: Likewise.
6168 * util/grub.d/10_linux.in: Likewise.
6169 * util/grub.d/10_netbsd.in: Likewise.
6170 * util/grub.d/20_linux_xen.in: Likewise.
6171 * util/grub.d/30_os-prober.in: Likewise.
6172 * util/grub.d/10_illumos.in: Add missing quoting.
6173 * util/grub.d/10_windows.in: Likewise.
6174
d9bef9bc
VS
61752012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 Fix menu title instability bug.
6178
6179 * grub-core/commands/menuentry.c (options): New option --id.
6180 (grub_normal_add_menu_entry): New argument id. All users updated.
6181 (grub_cmd_menuentry): Handle --id.
6182 (grub_menu_init): Accept unknown arguments.
6183 * grub-core/normal/main.c (features): Add feature_menuentry_id and
6184 feature_menuentry_options.
6185 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
6186 saved_entry.
6187 (get_entry_number): Match with id as well.
6188 * include/grub/menu.h (grub_menu_entry): New member id.
6189 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
6190 * util/grub.d/00_header.in: Define menuentry_id_option.
6191 * util/grub.d/10_hurd.in: Define id.
6192 * util/grub.d/10_illumos.in: Likewise.
6193 * util/grub.d/10_kfreebsd.in: Likewise.
6194 * util/grub.d/10_linux.in: Likewise.
6195 * util/grub.d/10_netbsd.in: Likewise.
6196 * util/grub.d/10_windows.in: Likewise.
6197 * util/grub.d/20_linux_xen.in: Likewise.
6198 * util/grub.d/30_os-prober.in: Likewise.
6199
62002012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
6201
6202 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
6203 "scope" with "body".
6204
7c8d0ce7
VS
62052012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
6208 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
6209 prot_size and prot_file_size.
6210
49de079b
VS
62112012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
6214 All users updated. If easily=1 require raid-5/-6 to be full.
6215 (is_node_readable): Likewise.
6216 (scan_devices): Scan incomplete but readable LVs at the end.
6217 (grub_diskfilter_memberlist): Pull missing devices.
6218 (insert_array): Skip scanning until device is complete or scan is
6219 done otherwise.
6220 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
6221 check.
6222 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
6223 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
6224
aff05d45
MG
62252012-03-03 Matthew Garrett <mjg@redhat.com>
62262012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 Avoid EFI boot services when loading Linux.
6229
6230 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
6231 avoid_efi_bootservices. All users updated.
6232 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
6233 argument avoid_efi_bootservices. All users updated.
6234 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
6235 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
6236 align, min_align, relocatable, prefered_address. All users updated.
6237 Allocate avoiding boot services if kernel is relocatable.
6238 (grub_cmd_linux): Check if kernel is relocatable.
6239 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
6240 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
6241 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
6242 avoid_efi_boot_services.
6243 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
6244 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
6245 (linux_kernel_params): Likewise.
6246
3935dde2
MG
62472012-03-03 Matthew Garrett <mjg@redhat.com>
62482012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 Use EDID on EFI.
6251
6252 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
6253 datasize_out.
6254 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
6255 modes. Set gop_handle.
6256 (grub_video_gop_get_edid): New function.
6257 (grub_gop_get_preferred_mode): Likewise.
6258 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
6259 (grub_video_efi_gop_adapter): Set .get_edid.
6260 * include/grub/efi/edid.h: New file.
6261 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
6262
32107ec0
VS
62632012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * util/grub-install.in: Load efivars unconditionally.
6266
e70a2c50
VS
62672012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * po/Rules-piglatin: Change suffix from .po-update-en to
6270 .po-update-en-piglatin.
6271
8f9cace1
VS
62722012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 Add a pig farm.
6275
6276 * po/piglatin.sed: New file.
6277 * po/en@piglatin.header: Likewise.
6278 * po/Rules-piglatin: Likewise.
6279 * po/README: Add en@piglatin to autogenerated languages.
6280
8f95d002
VS
62812012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
6284 "Command for ...".
6285 * grub-core/commands/hdparm.c (options): Use "Display" rather than
6286 "Check" since we don't check anything.
6287 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
6288 is 64-bit one.
6289 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
6290 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
6291 (grub_md_sha512_real): Likewise.
6292
805a8dcc
VS
62932012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 * grub-core/commands/gptsync.c: Fix typographic quoting.
6296 * grub-core/commands/ieee1275/suspend.c: Likewise.
6297 * grub-core/commands/parttool.c: Likewise.
6298 * grub-core/commands/search_wrap.c: Likewise.
6299 * grub-core/commands/videoinfo.c: Likewise.
6300 * grub-core/gfxmenu/gui_label.c: Likewise.
6301 * grub-core/hello/hello.c: Likewise.
6302 * grub-core/kern/emu/main.c: Likewise.
6303 * grub-core/net/net.c: Likewise.
6304 * grub-core/normal/menu.c: Likewise.
6305 * grub-core/normal/menu_text.c: Likewise.
6306 * grub-core/normal/misc.c: Likewise.
6307 * util/grub-editenv.c: Likewise.
6308 * util/grub-install.in: Likewise.
6309 * util/grub-kbdcomp.in: Likewise.
6310 * util/grub-mkconfig.in: Likewise.
6311 * util/grub-mknetdir.in: Likewise.
6312 * util/grub-mkrescue.in: Likewise.
6313 * util/grub-mkstandalone.in: Likewise.
6314 * util/grub-reboot.in: Likewise.
6315 * util/grub-set-default.in: Likewise.
6316 * util/grub-setup.c: Likewise.
6317 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6318
40211ab8
VS
63192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
6322 * grub-core/commands/keystatus.c: Likewise.
6323 * grub-core/commands/loadenv.c: Likewise.
6324 * grub-core/commands/probe.c: Likewise.
6325 * grub-core/commands/regexp.c: Likewise.
6326 * grub-core/commands/true.c: Likewise.
6327 * grub-core/commands/videoinfo.c: Likewise.
6328 * grub-core/disk/cryptodisk.c: Likewise.
6329 * grub-core/disk/ldm.c: Likewise.
6330 * grub-core/disk/loopback.c: Likewise.
6331 * grub-core/disk/luks.c: Likewise.
6332 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6333 * grub-core/kern/disk.c: Likewise.
6334 * grub-core/kern/emu/hostdisk.c: Likewise.
6335
0c7d99c7
VS
63362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
6339 * util/grub-install.in: Add missing quote in the comment.
6340
e7d2559b
VS
63412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
6344 * grub-core/commands/lsmmap.c: Likewise.
6345 * grub-core/commands/minicmd.c: Likewise.
6346 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6347 * grub-core/commands/regexp.c: Likewise.
6348 * grub-core/gdb/gdb.c: Likewise.
6349 * grub-core/term/gfxterm.c: Likewise.
6350 * util/grub-mkconfig.in: Likewise.
6351 * util/grub-mkfont.c: Likewise.
6352 * util/grub-mklayout.c: Likewise.
6353 * util/grub-mknetdir.in: Likewise.
6354 * util/grub-mkrescue.in: Likewise.
6355 * util/grub.d/30_os-prober.in: Likewise.
6356
49ce9e50
VS
63572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
6360 with "Direct color" and "Packed" with "Packed pixel".
6361 (grub_cmd_videoinfo): Simplify legend.
6362
e4b791fa
VS
63632012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6366 absolutely unclear error message.
6367
fd1265cb
VS
63682012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 * util/grub-mkstandalone.in: Remove confusing leftover print.
6371
8822a8a0
VS
63722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
6375 comments.
6376 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
6377 (GRUB_MOD_INIT): Likewise.
6378 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
6379 VGA mode.
6380 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
6381 comments.
6382 * util/grub-install.in (usage): Likewise.
6383 Spell ID in whole letters.
6384 Add missing ending dot.
6385 Quote variables.
6386 * util/grub-reboot.in: Fix capitalisation.
6387 * util/grub-set-default.in: Likewise.
6388
937fd0cc
VS
63892012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
6392 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
6393 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
6394 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
6395 Disable -Werror for -Wdeprecated-declarations.
6396 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
6397 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
6398 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
6399 (grub_util_get_grub_dev): Make luks handling dependent on
6400 HAVE_DEVICE_MAPPER and not __linux__.
6401 (get_win32_path): Fix format security.
6402 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
6403 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
6404 Don't try grub_find_zpool_from_dir.
6405 (grub_make_system_path_relative_to_its_root) [!__linux__]:
6406 #ifdef-out paresdir.
6407
1bab1ae3
VS
64082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * util/grub-pe2elf.c (usage): Add missing noreturn.
6411 (write_section_data): Rename name to shname to avoid shadowing.
6412 (write_symbol_table): Rename name to symname to avoid shadowing.
6413 Fix write_reloc_section call.
6414
ef023e42
VS
64152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
6418 to ensure that it's after the last byte of .text.
6419
48afcb75
VS
64202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 * util/ieee1275/ofpath.c (my_isdigit): New function.
6423 (trailing_digits): Use my_isdigit.
6424 (strip_trailing_digits): Likewise.
6425
88d51eff
VS
64262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
6429 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
6430
17edc2ba
VS
64312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 * grub-core/kern/i386/pc/startup.S: Define __start.
6434
ad5518d7
VS
64352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
6438 strip already transforms he format.
6439
9e95e1bf
VS
64402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
6443
9cc3ee5c
VS
64442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * util/grub-install.in: Add missing gettext init.
6447 * util/grub-kbdcomp.in: Likewise.
6448 * util/grub-mkconfig.in: Likewise.
6449 * util/grub-mknetdir.in: Likewise.
6450 * util/grub-mkrescue.in: Likewise.
6451 * util/grub-mkstandalone.in: Likewise.
6452 * util/grub-reboot.in: Likewise.
6453 * util/grub-set-default.in: Likewise.
6454 * util/grub.d/00_header.in: Likewise.
6455 * util/grub.d/10_hurd.in: Likewise.
6456 * util/grub.d/10_windows.in: Likewise.
6457 * util/grub.d/30_os-prober.in: Likewise.
6458 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6459
49e08a06
VS
64602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * po/Rules-swiss: Fix header comment.
6463
3809cb41
AV
64642012-02-29 Andreas Vogel <anvoit>
6465
6466 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
6467 resulted in leak of arguments.
6468
fa6ec573
VS
64692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/boot/i386/pc/startup_raw.S: Use separate
6472 reed_solomon_size const definition instead of computing it since
6473 Apple assembler doesn't support the later.
6474
22899b9c
VS
64752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * gentpl.py (kernel): Rewrite Apple part.
6478
a132afc3
VS
64792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * include/grub/kernel.h (FOR_MODULES): Check module magic.
6482
9d742bd4
VS
64832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 * util/grub-mkimagexx.c (locate_sections): Support non-standard
6486 ELF section gap.
6487 (load_image): Likewise.
6488
f04a9a21
VS
64892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * configure.ac: Fix a typo in previous commit.
6492
46cf439c
VS
64932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 Don't add -Wl,-N on Apple platform.
6496
6497 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
6498 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
6499
c4c48c54
VS
65002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 * grub-core/Makefile.core.def (lzma_decompress): Use
6503 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
6504
31a12124
VS
65052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 * grub-core/genmod.sh.in: Rewrite the Apple part.
6508
4f3aa1af
VS
65092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
6512 comparison.
6513
7bd8b0c7
VS
65142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * acinclude.m4 (grub_CHECK_PIC): New test.
6517 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
6518
97304d7c
VS
65192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
6522 to avoid the warning.
6523
fb883812
VS
65242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
6527 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
6528 after. All users updated.
6529
a121c964
VS
65302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 Use the common size routine in hostfs so we can read disks as well.
6533
6534 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
6535 (grub_util_get_fd_size): ... this. Return size in bytes.
6536 All users updated.
6537 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
6538 grub_util_get_fd_size.
6539
c66d6410
VS
65402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
6543 Add blocksize retrieval.
6544
dfc8aeb0
VS
65452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 * configure.ac: Restore CFLAGS after efiemu check.
6548
403e25a5
VS
65492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
6552 Apple bug.
6553
382775d1
VS
65542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
6557
6fd4e6e4
VS
65582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
6561 (grub_cmd_halt): Likewise.
6562
bea359d6
VS
65632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6564
6565 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
6566 for local arithmetics.
6567 Break %sp init into 2 instructions.
6568 Add 0 byte at the end.
6569
32eb6ee1
VS
65702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * grub-core/disk/diskfilter.c (read_segment): Initialise err
6573 before loops.
6574
e8377389
VS
65752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
6578 for context.
6579
8cb17de7
VS
65802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * grub-core/disk/ldm.c (make_vg): Init part.name.
6583 (grub_ldm_detect): Silence spurious warning.
6584 (grub_util_is_ldm): Likewise.
6585
595717e6
VS
65862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
6589 sane value to avoid a spurious warning.
6590
c4b7e588
VS
65912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
6594 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
6595
59824957
VS
65962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
6599 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
6600
70115b99
VS
66012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
6604 hardcoding the relevant info.
6605
56733740
VS
66062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
6609 missing const qualifiers.
6610 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
6611
43481481
VS
66122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * util/getroot.c [__APPLE__]: Add missing includes.
6615 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
6616
3cb38f01
VS
66172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * util/grub-mkimage.c (generate_image): Silence spurious warning.
6620
d9dbf11e
VS
66212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
6624 avoid conflicts.
6625
0c42a45d
VS
66262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
6629
46c34eb0
VS
66302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
6633 and grub_file_close call.
6634
99ce1597
VS
66352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 Add LZSS Mach-O support (needed for new xnu kernelcache).
6638
6639 * grub-core/Makefile.core.def (xnu): Add file lzss.c
6640 * grub-core/loader/lzss.c: New file.
6641 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
6642 on Mach-O open failure.
6643 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
6644 Don't free cmdsXX in uncompressedXX is set.
6645 (grub_macho_file): Init new fields.
6646 New argument is_64bit. All users updated.
6647 Handle compressed. Error out if no suitable architecture is found.
6648 Don't close file.
6649 (grub_macho_open): New argument is_64bit. All users updated.
6650 * grub-core/loader/macho32.c: Add defines for new fields.
6651 * grub-core/loader/macho64.c: Likewise.
6652 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
6653 (grub_macho_parse): Handle compressed.
6654 Defer actual processing if compressed.
6655 (grub_macho_cmds_iterate): Decompress if compressed. New argument
6656 "filename". All users updated.
6657 (grub_macho_size): New argument "filename". All users updated.
6658 (grub_macho_get_entry_point): Likewise.
6659 (grub_macho_load): Handle compressed.
6660 * include/grub/macho.h (grub_macho_lzss_header): New struct.
6661 (GRUB_MACHO_LZSS_OFFSET): New define.
6662 (grub_decompress_lzss): New proto.
6663 * include/grub/machoload.h (grub_macho_file): New fields to handle
6664 compressed.
6665 (grub_macho_contains_macho64): Remove proto.
6666 (grub_macho_contains_macho32): Likewise.
6667 * util/grub.d/30_os-prober.in: Use kernel cache if available.
6668
ebd17d6f
VS
66692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
6672
2702b4e4
VS
66732012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 Fix make dist.
6676
6677 * Makefile.am (starfield_theme_files): New var.
6678 (starfield_DATA): Use starfield_theme_files.
6679 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
6680 Add bootcheck-related files.
6681 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
6682 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
6683 and font_char_metrics.txt.
6684 * grub-core/Makefile.core.def (kernel): Update extra_dist.
6685 (setjmp): Add lib/ia64/longjmp.S.
6686 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
6687 * po/POTFILES.in: Regenerate.
6688 * po/Rules-swiss: use DISTFILES.common.extra2 and not
6689 DISTFILES.common.extra1.
6690 * util/devicemap.c: Removed.
6691 * grub-core/lib/i386/relocator_backward.S: Likewise.
6692 * util/import_gcry.py: Remove unused files. Add extra_dist for
6693 ChangeLog.
6694
cf1adfdf
VS
66952012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * grub-core/gettext/gettext.c (grub_mofile_open): Call
6698 grub_gettext_delete_list before changing grub_gettext_max to avoid
6699 running out of array bounds.
6700
67012012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
6702
6703 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
6704 grub_vga_text_init/grub_vga_text_fini.
6705
cf1adfdf 67062012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
6707
6708 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
6709
541d92e9
VS
67102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 * configure.ac: Bump to 2.00~beta0.
6713
7931dddf
VS
67142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
6717 missing initialisation.
6718
f1b16fa3
VS
67192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
6722
83ddae23
VS
67232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 Support v2 xnu boot arguments.
6726
6727 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
6728 New argument fsbfreq_out.
6729 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
6730 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
6731 be used.
6732 * grub-core/loader/machoXX.c (grub_macho_load): New argument
6733 darwin_version.
6734 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
6735 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
6736 (grub_xnu_boot_params): Rename to ...
6737 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
6738 (grub_xnu_boot_params_v2): New struct.
6739
dc693fe6
VS
67402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
6743 zeroing of CRC field before computing CRC.
6744
5a6e39c2
VS
67452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6746
6747 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
6748 Change order of allocations to decrease fragmentation.
6749
6c21f5d7
VS
67502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6751
6752 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
6753
cfe456dc
CW
67542012-02-27 Colin Watson <cjwatson@ubuntu.com>
6755
6756 Use write-combining MTRR to speed up video with buggy BIOSes.
6757
6758 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
6759 (cpuid): New define.
6760 (rdmsr): Likewise.
6761 (wrmsr): Likewise.
6762 (mtrr_base): Likewise.
6763 (mtrr_mask): Likewise.
6764 (grub_vbe_enable_mtrr_entry): New function.
6765 (grub_vbe_enable_mtrr): Likewise.
6766 (grub_vbe_disable_mtrr): Likewise.
6767 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
6768 control off to BIOS.
6769 (grub_video_vbe_init): Fill mtrr.
6770 (grub_video_vbe_fini): Disable mtrr.
6771 (grub_video_vbe_get_info_and_fini): Likewise.
6772 (grub_video_vbe_setup): Enable mtrr.
6773
e3c78337
CW
67742012-02-27 Colin Watson <cjwatson@ubuntu.com>
6775
6776 * include/grub/partition.h (grub_partition_map): Change prototype of
6777 embed to take a maximum value for nsectors.
6778 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
6779 * include/grub/fs.h (grub_fs): Likewise.
6780 * grub-core/partmap/msdos.c (embed_signatures): New array.
6781 (pc_partition_map_embed): Check for and avoid sectors matching any
6782 of the signatures in embed_signatures, up to max_nsectors.
6783 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
6784 returned sector map to max_nsectors.
6785 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
6786 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
6787 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
6788 * util/grub-setup.c (setup): Allow for the embedding area being
6789 split into multiple blocklists. Tell dest_partmap->embed the
6790 maximum number of sectors we care about.
6791
67922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
6795 Specify blocklist_install and reserver_first_sector for all fs.
6796 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
6797 blocklists.
6798
984b973f
VS
67992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 * util/grub-install.in: Clarify strings.
6802 Fix source dir check.
6803
f122e0d6
RL
68042012-02-27 Richard Laager <rlaager@wiktel.com>
6805
6806 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
6807 "zfs" and "fuse.zfs" as synonyms.
6808
071114bb
VS
68092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * configure.ac: Put platform and target_cpu substitutions back since
6812 they are used for directories.
6813
817e6abc
RL
68142012-02-27 Richard Laager <rlaager@wiktel.com>
68152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * util/grub.d/10_linux.in: Add ZFS-related arguments.
6818 * util/grub.d/20_linux_xen.in: Likewise.
6819
897b7419
RL
68202012-02-27 Richard Laager <rlaager@wiktel.com>
6821
6822 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
6823 with full paths.
6824
a414bd15
RL
68252012-02-27 Richard Laager <rlaager@wiktel.com>
6826
6827 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
6828 unescape.
6829
30ac48c4
VS
68302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 Don't use insecure popen in getroot.
6833
6834 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
6835 (exec_pipe): ... here.
6836 (find_root_devices_from_poolname): Use exec_pipe.
6837
53f13848
VS
68382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 Remove platform and target_cpu replacement.
6841
6842 * configure.ac: Remove platform and target_cpu substitutions.
6843 * tests/util/grub-shell.in: Use modinfo.
6844 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
6845 explicitly.
6846
90cb2803
VS
68472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 Autodetect platform in grub-install but allow override.
6850
6851 * util/grub-install.in: Autodetect platform. Support --target and
6852 --directory. Read platform from modinfo.sh.
6853
b9136427
VS
68542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 Support btrfs multi-volume probe.
6857
6858 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
6859 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
6860 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
6861 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
6862 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
6863 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
6864 grub_find_root_devices_from_btrfs if on btrfs.
6865
c36e5cd1
VS
68662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 Remove any awareness of *.c util files about target.
6869
6870 * Makefile.util.def (grub-setup): Split to ...
6871 (grub-bios-setup): ... and this.
6872 (grub-sparc64-setup): ... and this.
6873 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
6874 * docs/man/grub-setup.h2m: Split into ...
6875 * docs/man/grub-sparc64-setup.h2m: ... this.
6876 * docs/man/grub-bios-setup.h2m: ... and this.
6877 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
6878 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
6879 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
6880 (grub_target_addr_t): Remove.
6881 (grub_target_size_t): Remove.
6882 (grub_target_ssize_t): Remove.
6883 * util/grub-install.in: Use new grub-*-setup.
6884 * util/grub-mkimagexx.c (Elf_Word): New define.
6885 (Elf_Half): Likewise.
6886 (Elf_Section): Likewise.
6887 (ELF_ST_TYPE): Likewise.
6888 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
6889 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
6890
584b2f8a
VS
68912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 Replace grub_target_addr with more appropriate types.
6894
6895 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
6896 grub_target_addr with grub_addr.
6897 * grub-core/commands/iorw.c (grub_cmd_read): Replace
6898 grub_target_addr with grub_port.
6899 (grub_cmd_write): Likewise.
6900 * grub-core/commands/memrw.c (grub_cmd_read): Replace
6901 grub_target_addr with grub_addr.
6902 (grub_cmd_write): Likewise.
6903 * grub-core/video/efi_uga.c (find_line_len): Likewise.
6904
5a0dc6fb
VS
69052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
6908 const qualifier for vendor_guid.
6909
786aff6e
VS
69102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
6913 const qualifier.
6914 (efiemu_memequal): Likewise.
6915 (find_variable): Likewise.
6916
49017b17
VS
69172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 Fix missing console prototype on qemu-mips.
6920
6921 * include/grub/mips/qemu_mips/console.h: New file.
6922
c5988629
MG
69232012-02-27 Matthew Garrett <mjg@redhat.com>
69242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
6927 * include/grub/efi/efi.h: Likewise.
6928 * include/grub/efi/api.h: Add guid for EFI-specified variables.
6929 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
6930 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
6931 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
6932 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
6933 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
6934
e33f8d69
MG
69352012-02-27 Matthew Garrett <mjg@redhat.com>
6936
6937 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
6938
fb312cd9
VS
69392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
6942 error.
6943
7134247c
VS
69442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 * configure.ac: Remove inappropriate use of program_transform_name
6947 on grubdir and bootdir but allow explicit specification of those
6948 variables.
6949
6a313124
VS
69502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 * util/grub-mknetdir.in (grub_prefix): Removed.
6953 (subdir): Use @bootdirname@ and @grubdirname@.
6954
2311c5ca
VS
69552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
6958
7d5d60f7
VS
69592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 * po/POTFILES.in: Regenerated.
6962
8151bc82
VS
69632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 Remove improper use of program_transform_name on pkglibrootdir.
6966
6967 * configure.ac (pkglibrootdir): Removed.
6968 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
6969 * util/grub-mkimage.c: Likewise.
6970
b4a6a533
VS
69712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
6974 warning.
6975
668f304f
VS
69762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * util/grub-install.in: Use file identifier if no UUID is available
6979 or user explicitly prompted for it.
6980
665f2341
NP
69812012-02-27 Navdeep Parhar <nparhar@gmail.com>
6982
6983 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
6984 (freebsd_get_zfs): New function.
6985 (grub_freebsd_boot): Pass zfs UUID.
6986 (grub_cmd_freebsd): Set zfs UUID.
6987
8151bc82 69882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
6989
6990 * conf/Makefile.common (platformdir): Base on pkglibdir and not
6991 pkglibrootdir.
6992
e4c498a1
MG
69932012-02-27 Mike Gilbert <floppym@gentoo.org>
6994
6995 Add configure flag to control libzfs integration.
6996
6997 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
6998
1e9a9a3f
VS
69992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
7002 device.
7003 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
7004 small devices.
7005
036985b8
VS
70062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 Remove grub_{modname}_init and grub_{modname}_fini. They should never
7009 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
7010 be used on non-modules.
7011
7012 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
7013 Rename to grub_boot_init.
7014 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
7015 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
7016 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
7017 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
7018 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
7019 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
7020 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
7021 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
7022 includes.
7023 (grub_machine_init): Remove empty inits.
7024 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
7025 includes.
7026 (grub_machine_init): Remove empty inits.
7027 * grub-core/term/arc/console.c: Remove explicit proto.
7028 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
7029 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
7030 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7031 grub_at_keyboard_fini.
7032 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
7033 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
7034 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7035 grub_gfxterm_fini.
7036 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
7037 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
7038 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7039 grub_vgatext_fini.
7040 * grub-core/term/ieee1275/console.c: Remove explicit proto.
7041 * grub-core/term/serial.c (GRUB_MOD_INIT)
7042 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
7043 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7044 grub_serial_fini.
7045 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
7046 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
7047 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7048 grub_terminfo_fini.
7049 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
7050 (GRUB_MOD_FINI): Likewise.
7051 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
7052 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
7053 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7054 grub_video_radeon_fuloong2e_fini.
7055 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
7056 [LOONGSON]: Rename to grub_video_sis315pro_init.
7057 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7058 grub_video_sis315pro_fini.
7059 * grub-core/video/sm712.c (GRUB_MOD_INIT)
7060 [LOONGSON]: Rename to grub_video_sm712_init.
7061 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7062 grub_video_sm712_fini.
7063 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
7064 (grub_at_keyboard_fini): Likewise.
7065 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
7066 Don't declare grub_{modname}_init.
7067 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
7068 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
7069 New proto.
7070 (grub_keylayouts_fini) [!EMU]: Likewise.
7071 * include/grub/serial.h (grub_serial_init) [!EMU]:
7072 New proto.
7073 (grub_serial_fini) [!EMU]: Likewise.
7074 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
7075 New proto.
7076 (grub_terminfo_fini) [!EMU]: Likewise.
7077 * include/grub/video.h (grub_font_init) [!EMU]:
7078 New proto.
7079 (grub_font_fini) [!EMU]: Likewise.
7080 (grub_gfxterm_init) [!EMU]: Likewise.
7081 (grub_gfxterm_fini) [!EMU]: Likewise.
7082 (grub_video_sm712_init) [!EMU]: Likewise.
7083 (grub_video_sm712_fini) [!EMU]: Likewise.
7084 (grub_video_sis315pro_init) [!EMU]: Likewise.
7085 (grub_video_sis315pro_fini) [!EMU]: Likewise.
7086 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
7087 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
7088
d5534665
VS
70892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 Make nand a prefix for nand devices.
7092
7093 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
7094
10133b5f
VS
70952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
7098 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
7099
8e307a62
VS
71002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * include/grub/env.h (grub_env_find): Remove prototype.
7103 * grub-core/kern/env.c (grub_env_find): Make static.
7104 (grub_env_set): Remove useless set.
7105
a4c65f34
VS
71062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * grub-core/kern/i386/realmode.S: Remove useless align.
7109
d87893d5
VS
71102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * include/grub/dl.h (grub_dl_load_file): Don't export.
7113
50159add
VS
71142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
7117 grub_dprintf.
7118
b2582b84
VS
71192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
7122 grub_errors.
7123 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
7124 not reloading whole superblock but only the part which is really needed.
7125 Remove useless grub_errors.
7126 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
7127 grub_errors.
7128
e2a83395
VS
71292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 Don't export grub_get_rtc.
7132
7133 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
7134 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
7135
e7d2a906
VS
71362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7137
7138 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
7139
6cf1363b
VS
71402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 7143 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 7144
eece3349
VS
71452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 Remove prio_list.
7148
7149 * include/grub/list.h (grub_prio_list): Removed.
7150 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
7151 GRUB_COMMAND_PRIO_MASK.
7152 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
7153 GRUB_COMMAND_FLAG_ACTIVE.
7154 (grub_prio_list_insert): Removed.
7155 (grub_prio_list_remove): Likewise.
7156 (GRUB_AS_PRIO_LIST): Likewise.
7157 (GRUB_AS_PRIO_LIST_P): Likewise.
7158 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
7159 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
7160 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
7161 * grub-core/kern/command.c (grub_register_command_prio): Inline
7162 the prio_list code.
7163 (grub_unregister_command): Likewise.
7164
94f064b4
VS
71652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 Fix interrupt mixup from previous commit.
7168
7169 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
7170 (grub_realidt): New var.
7171 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
7172 Load idt.
7173 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
7174 New declaration.
7175 (grub_relocator16_boot): Set grub_relocator16_idt.
7176 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
7177 (LOCAL(realidt)): ... this.
7178 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
7179 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
7180 (grub_realidt): New variable.
7181
27317084
VS
71822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
7185 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
7186 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
7187 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
7188 Gettextize.
7189 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
7190 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
7191 * po/POTFILES.in: Regenerate.
7192
47b40053
VS
71932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
7196 errors.
7197
2b343101
VS
71982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
7201 \0.
7202 (add_length): Likewise.
7203
ff27c3dd
LK
72042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
72052012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
7206
7207 GDB serial and backtrace support.
7208
7209 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
7210 (prot_to_real): Likewise.
7211 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
7212 * grub-core/Makefile.core.def (backtrace): New module.
7213 (gdb): Likewise.
7214 * grub-core/gdb/cstub.c: New file.
7215 * grub-core/gdb/gdb.c: Likewise.
7216 * grub-core/gdb/i386/idt.c: Likewise.
7217 * grub-core/gdb/i386/machdep.S: Likewise.
7218 * grub-core/gdb/i386/signal.c: Likewise.
7219 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 7220 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
7221 * include/grub/backtrace.h: Likewise.
7222 * include/grub/gdb.h: Likewise.
7223 * include/grub/i386/gdb.h: Likewise.
7224
72252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
7226
7227 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
7228 New function.
7229 (add_length): Likewise.
7230 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
7231 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
7232 proto.
7233 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
7234 __argp_get_display_len.
7235
ff27c3dd 72362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
7237
7238 $"..." support in scripts.
7239
7240 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
7241 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
7242 * grub-core/script/yylex.l: Likewise.
7243 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
7244 value.
7245
ff27c3dd 72462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
7247
7248 * gentpl.py: Remove obsolete pkglib_DATA handling.
7249
ff27c3dd 72502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
7251
7252 Don't transform PACKAGE_TARNAME following a discussion on autoconf
7253 mailing list.
7254
7255 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
7256 * util/grub-kbdcomp.in: Likewise.
7257 * util/grub-mkconfig.in: Likewise.
7258 * util/grub-mkconfig_lib.in: Likewise.
7259 * util/grub-mknetdir.in: Likewise.
7260 * util/grub-mkrescue.in: Likewise.
7261 * util/grub-mkstandalone.in: Likewise.
7262 * util/grub-reboot.in: Likewise.
7263 * util/grub-set-default.in: Likewise.
7264 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7265
ff27c3dd 72662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
7267
7268 Remove GRUB_PREFIX.
7269
7270 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
7271 * util/grub.d/00_header.in: Compute prefix in the only place it's still
7272 used for backward compatibility.
7273
ff27c3dd 72742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
7275
7276 Add new all_video module.
7277
7278 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
7279 * grub-core/Makefile.core.def (all_video): New module.
7280 * grub-core/genmoddep.awk: Generate dependency of all_video from
7281 video.lst.
7282 * grub-core/lib/fake_module.c: New file.
7283 * grub-core/normal/main.c (features): Add feature_all_video_module.
7284 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
7285 don't do explicit search again.
47454da5 7286 insmod all_video in load_video if available.
22c7ce85 7287
ff27c3dd 72882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
7289
7290 Another round of string clarification and adding TRANSLATORS comments.
7291
ff27c3dd 72922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
7293
7294 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
7295
ff27c3dd 72962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
7297
7298 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
7299 to grub_ssize_t.
7300 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
7301 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
7302
ff27c3dd 73032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
7304
7305 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
7306 trailing newline implicitly. All users updated.
7307
ff27c3dd 73082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
7309
7310 Implement serial on IEEE1275 and EFI.
7311
7312 * docs/grub.texi (Platform-specific limitations): Fix the columen video
7313 on emu. Mention arc and emu as the only platforms without serial
7314 support.
7315 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
7316 ieee1275 platforms.
7317 * grub-core/term/efi/serial.c: New file.
7318 * grub-core/term/ieee1275/serial.c: Likewise.
7319 * grub-core/term/serial.c (grub_serial_find): Disable direct port
7320 specification if no ns8250 driver is available.
7321 (grub_cmd_serial): Likewise.
7322 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
7323 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
7324 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
7325 (grub_efi_parity_type_t): New type.
7326 (grub_efi_stop_bits_t): Likewise.
7327 (grub_efi_serial_io_interface): New struct.
7328 * include/grub/serial.h (grub_serial_port): Make 'broken' field
7329 available for all interfaces.
7330 Add EFI and IEEE1275 fields.
7331 (grub_ofserial_init): New proto.
7332 (grub_efiserial_init): Likeiwse.
7333 * util/grub.d/00_header.in: Don't check for the presence of serial
7334 module.
7335
ff27c3dd 73362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
7337
7338 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
7339 name as if it was an alias.
7340
114076ef
VS
73412012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * grub-core/commands/lsacpi.c (options): Fix typo.
7344
6a656b0e
VS
73452012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 Convert grub-emu to argp.
7348
7349 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
7350 emu.
7351 * util/argp_common.c: Rename to ...
7352 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
7353 Add missing includes.
7354 * grub-core/kern/emu/main.c: Convert to argp.
7355 * po/POTFILES.in: Regenerate.
7356 * util/grub-install.in (usage): Make first letter lowcase in messages
7357 for uniformity.
7358 * util/grub-setup.c (options): Likewise.
7359
1e3f8ae8
VS
73602012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
7363 Put back accidently commented-out code.
7364
ed167a80
VS
73652012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
7368 loop check using Brent algorithm.
7369 (grub_hfsplus_btree_search): Likewise.
7370
6753c0ec
VS
73712012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * util/grub-install.in: Fix usage of wrong device for PreP install.
7374
4e27343f
VS
73752012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 * conf/Makefile.common (CFLAGS_GNULIB): Add
7378 -Wno-unsafe-loop-optimizations.
7379 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
7380 on tools.
7381 * grub-core/commands/legacycfg.c: Add pragma to skip
7382 -Wunsafe-loop-optimizations.
7383 (check_password_md5_real): Fix loop counter type.
7384 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
7385 reading.
7386 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
7387 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
7388 loop condition.
7389 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
7390 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
7391 * grub-core/net/net.c (grub_net_route_address): Add safety loop
7392 condition.
7393 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
7394 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
7395 avoid possible infinite loops.
7396 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
7397 and -Wunsafe-loop-optimizations.
7398 * grub-core/script/yylex.l: Likewise.
7399 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
7400 (print_glyphs): Avoid infinite loops.
7401 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
7402
697f18b0
GS
74032012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
7404
7405 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
7406 to avoid infinite loop.
7407 (disp_acpi_rsdt_table): Likewise.
7408
274416e8
VS
74092012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * grub-core/font/font.c (grub_font_load): Add support for default
7412 path for fonts ($prefix/fonts).
7413 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
7414 for checking if string is a path.
7415 * grub-core/normal/main.c (features): Add feature_default_font_path.
7416 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
7417 * util/grub.d/00_header.in: Use default directory if possible.
7418 * util/grub-install.in: Install unicode.pf2.
7419
b3e08622
VS
74202012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7421
7422 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
7423 * po/Rules-swiss: New file.
7424 * po/swiss.sed: Likewise.
7425
fe42ce09
VS
74262012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * grub-core/fs/btrfs.c (find_device): Fix typos.
7429 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
7430 * util/grub-mkrelpath.c (argp_parser): Likewise.
7431 Reported by: Yuri Chornoivan.
7432
72f1d065
DO
74332012-02-23 Dalet Omega <daletomega@gmail.com>
7434
7435 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
7436 for usual informative messages.
7437
c5884973
DO
74382012-02-23 Dalet Omega <daletomega@gmail.com>
7439
7440 Starfield theme.
7441
7442 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
7443 * conf/Makefile.common: Define starfielddir.
7444 * configure.ac: Configure starfield.
7445 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
7446 * themes/starfield/README: Likewise.
7447 * themes/starfield/blob_w.png: Likewise.
7448 * themes/starfield/boot_menu_c.png: Likewise.
7449 * themes/starfield/boot_menu_e.png: Likewise.
7450 * themes/starfield/boot_menu_n.png: Likewise.
7451 * themes/starfield/boot_menu_ne.png: Likewise.
7452 * themes/starfield/boot_menu_nw.png: Likewise.
7453 * themes/starfield/boot_menu_s.png: Likewise.
7454 * themes/starfield/boot_menu_se.png: Likewise.
7455 * themes/starfield/boot_menu_sw.png: Likewise.
7456 * themes/starfield/boot_menu_w.png: Likewise.
7457 * themes/starfield/slider_c.png: Likewise.
7458 * themes/starfield/slider_n.png: Likewise.
7459 * themes/starfield/slider_s.png: Likewise.
7460 * themes/starfield/src/blob_nw.xcf: Likewise.
7461 * themes/starfield/src/bootmenu/: Likewise.
7462 * themes/starfield/src/bootmenu/center.xcf: Likewise.
7463 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
7464 * themes/starfield/src/bootmenu/side.xcf: Likewise.
7465 * themes/starfield/src/slider_c.xcf: Likewise.
7466 * themes/starfield/src/slider_n.xcf: Likewise.
7467 * themes/starfield/src/slider_s.xcf: Likewise.
7468 * themes/starfield/src/terminalbox/: Likewise.
7469 * themes/starfield/src/terminalbox/center.xcf: Likewise.
7470 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
7471 * themes/starfield/src/terminalbox/side.xcf: Likewise.
7472 * themes/starfield/starfield.png: Likewise.
7473 * themes/starfield/terminal_box_c.png: Likewise.
7474 * themes/starfield/terminal_box_e.png: Likewise.
7475 * themes/starfield/terminal_box_n.png: Likewise.
7476 * themes/starfield/terminal_box_ne.png: Likewise.
7477 * themes/starfield/terminal_box_nw.png: Likewise.
7478 * themes/starfield/terminal_box_s.png: Likewise.
7479 * themes/starfield/terminal_box_se.png: Likewise.
7480 * themes/starfield/terminal_box_sw.png: Likewise.
7481 * themes/starfield/terminal_box_w.png: Likewise.
7482 * themes/starfield/theme.txt: Likewise.
7483
17d73325
VS
74842012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * util/grub.d/00_header.in: Add missing export theme.
7487
dbebaf92
VS
74882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
7491 already included.
7492 Reported by: Eren D.
7493
3d68bffb
VS
74942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 * conf/Makefile.common (grubdatadir): Removed.
7497 (Makefile.am): Move eveything grubdata to pkgdata.
7498
4b59234d
VS
74992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * grub-core/commands/acpihalt.c (get_sleep_type):
7502 Remove unused variable.
7503
463dcadc
VS
75042012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
7507 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
7508 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
7509 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
7510 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
7511 i18n with gettext no-op.
7512 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
7513 GRUB_ACPI_OPCODE_STRING_CONST.
7514 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
7515 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
7516
e5b90c82
VS
75172012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * po/POTFILES.in: Regenerate.
7520
2a704ca9
VS
75212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7522
7523 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
7524 -Wno-error=missing-noreturn.
7525
84f9d341
VS
75262012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7527
7528 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
7529 condition to avoid possibly infinite loops.
7530 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
7531 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
7532
d46683f9
VS
75332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
7536 condition to avoid possibly infinite loops.
7537
c44866b2
VS
75382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
7541 on show_error.
7542
96790539
VS
75432012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
7546
1ba7e295
VS
75472012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
7550
21ffe8f1
VS
75512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * util/bin2h.c (usage): Add missing attribute noreturn.
7554
0ccb6b3c
VS
75552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
7558 if the size isn't divisible by 512.
7559
b00d7fb6
VS
75602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 Make list_push and list_remove functions rather than inline functions
7563 to decrease size and avoid aliasing violations.
7564
7565 * include/grub/list.h (grub_list_push): Move to ...
7566 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
7567 * include/grub/list.h (grub_list_remove): Move to ...
7568 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
7569
9d369087
VS
75702012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
7573 and -Wunused-result.
7574
af0250d9
VS
75752012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
7578 Reported by: Seth Goldberg
7579
aad32b14
VS
75802012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
7583
ac96441c
ST
75842012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
7585
7586 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
7587 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
7588 command line.
7589 * docs/grub.texi (Simple configuration): Document
7590 GRUB_CMDLINE_GNUMACH.
7591
75922012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
7593
7594 * conf/Makefile.common (platform_SCRIPTS): New variable.
7595 (platform_PROGRAMS): Likewise.
7596 * gentpl.py: Mark *,module and *.image for install.
7597 * grub-core/gdb_grub.in: Add a notice of expected environment.
7598 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
7599 (gmodule.pl): Likewise.
7600
ac96441c 76012012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
7602
7603 Replace grub_checkkey with grub_getkey_noblock.
7604
7605 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
7606 (grub_getkey_noblock): ... this. All users updated.
7607
ac96441c 76082012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
7609
7610 * grub-core/kern/emu/console.c: Move to ...
7611 * grub-core/term/emu/console.c: ...here.
7612 (grub_ncurses_getkey): Fix return value if no key is detected.
7613
e51b5666
VS
76142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
7617 (grub_unit_test_fini): Likewise.
7618 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
7619
76202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 * include/grub/test.h (GRUB_UNIT_TEST)
7623
d9a62292
VS
76242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * grub-core/script/execute.c (grub_script_break): Clarify logic.
7627 Better error handling.
7628 (grub_script_return): Likewise.
7629 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7630
77c9182f
VS
76312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7632
7633 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
7634 rimplicit redifinition.
7635
edb13cf9
VS
76362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
7639 GRUB.
7640
a9e9dc7c
VS
76412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
7644 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
7645 prompt here.
7646
b4ba8e02
VS
76472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
7650 as GRUB_ERR_BUG. Don't malloc if no device is available.
7651
dded5540
VS
76522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
7655 Mark calling with invalid term as GRUB_ERR_BUG.
7656
0cf69874
VS
76572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
7660 packets rather than raising an error.
7661
59bfe502
VS
76622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
7665 in if.
7666
db5fc596
VS
76672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
7670 diagnostic to dprintf.
7671 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7672
e4b7f404
VS
76732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
7676 device name.
7677
e7b02f9e
VS
76782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
7681 (grub_ntfs_iterate_dir): Likewise.
7682
0331e102
VS
76832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 Efiemu stylistic fixes and gettext.
7686
7687 * grub-core/efiemu/i386/loadcore32.c
7688 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
7689 * grub-core/efiemu/i386/loadcore64.c
7690 (grub_arch_efiemu_relocate_symbols64): Likewise.
7691 * grub-core/efiemu/i386/pc/cfgtables.c
7692 (grub_machine_efiemu_init_tables): Likewise.
7693 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
7694 (grub_efiemu_loadcore_initXX): Add a filename argument.
7695 All users updated.
7696 Improved error message.
7697 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
7698 Add a filename argument.
7699 All users updated.
7700 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
7701 Reclassify double relocation as GRUB_ERR_BUG.
7702
306fc074
VS
77032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
7706 handling.
7707
794d8ef2
VS
77082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
7711 on partition.
7712
77132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
7714
7715 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
7716
794d8ef2 77172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
7718
7719 Improve string. Gettextize.
7720
78dde88e
VS
77212012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
7724 utils.
7725 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
7726
4786a90f
VS
77272012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
7730 [GRUB_UTIL]: New function.
7731 (insert_array) [GRUB_UTIL]: Store partmaps.
7732 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
7733 partmaps.
7734 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
7735 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
7736 (probe_abstraction): Print diskfilter and not raid.
7737 Reported by: Lennart Sorensen
7738
0b6225bd
VS
77392012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7740
7741 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
7742 * util/grub-mkimagexx.c (MASK3): New define.
7743 (add_value_to_slot_20b): Use MASK3.
7744 (add_value_to_slot_21): Likewise.
7745 (relocate_addresses): Fix format specification.
7746 (load_image): Explicitly init symtab_section.
7747
b055f8f6
VS
77482012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
7751 (grub_util_biosdisk_get_grub_dev): Fix format specification.
7752
b77c2fb7
VS
77532012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
7756 on powerpc.
7757 Reported by: Lennart Sorensen
7758
e3ec28ab
VS
77592012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * gentpl.py: Add missing license header.
7762 * docs/grub.texi: Update copyright year.
7763
c8d9ead6
GS
77642012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
7765
7766 Source grub-mkconfig_lib from the build directory at build time.
7767 Suggested by: Vladimir Serbinenko.
7768
7769 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
7770 * util/grub-install.in: Define pkgdatadir if not already set, and source
7771 grub-mkconfig_lib from there.
7772 * util/grub-kbdcomp.in: Likewise.
7773 * util/grub-mkconfig.in: Likewise.
7774 * util/grub-mknetdir.in: Likewise.
7775 * util/grub-mkrescue.in: Likewise.
7776 * util/grub-mkstandalone.in: Likewise.
7777 * util/grub-reboot.in: Likewise.
7778 * util/grub-set-default.in: Likewise.
7779 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7780
ebcecdf1
VS
77812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 Increase warning level.
7784
7785 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
7786 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
7787 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
7788 (TARGET_CFLAGS): Likewise.
7789 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
7790 * grub-core/Makefile.core.def (decompressor_xz): Add
7791 -Wno-unreachable-code.
7792 (normal): Add -Wno-redundant-decls.
7793 (xzio): Add -Wno-unreachable-code.
7794 (lzopio): Add -Wno-redundant-decls -Wno-error.
7795 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
7796 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
7797 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
7798 * grub-core/kern/dl.c: Add exception to -Wcast-align.
7799 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
7800 * grub-core/kern/i386/coreboot/init.c: Add exception to
7801 -Wsuggest-attribute=noreturn.
7802 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
7803 * grub-core/kern/ia64/dl_helper.c: Likewise.
7804 * grub-core/kern/mips/dl.c: Likewise.
7805 * grub-core/kern/sparc64/dl.c: Likewise.
7806 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
7807 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
7808 (memcmp): Likewise.
7809 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
7810 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
7811 * grub-core/loader/mips/linux.c: Likewise.
7812 * grub-core/loader/multiboot_elfxx.c: Likewise.
7813 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
7814 * grub-core/video/sm712.c: Add exception to -Wcast-align.
7815 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
7816 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
7817 fixme.
7818 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
7819 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
7820 Fix prototype.
7821
37bb97fe
VS
78222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
7825 address.
7826
29a3550b
VS
78272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7828
7829 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7830 Avoid improper use of strings.
7831 (grub_cmd_legacy_initrdnounzip): Likewise.
7832
dfdffd0d
VS
78332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * include/grub/emu/misc.h (grub_util_warn): Add missing format
7836 attribute.
7837 (grub_util_info): Likewise.
7838 (grub_util_error): Likewise.
7839
102fae4a
VS
78402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
7843 * util/grub-fstest.c (fstest): Likewise.
7844
7e94d044
VS
78452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
7848 (grub_md_sha512_real): Likewise.
7849 (grub_util_get_geli_uuid): Likewise.
7850 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
7851 (grub_util_biosdisk_open): Fix format specification.
7852 Respect format security.
7853 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
7854 (xrealloc): Likewise.
7855 (xasprintf): Likewise.
7856
5ebd9769
VS
78572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 * util/import_gcry.py: Include grub/crypto.h in init.c.
7860
495fc8c1
VS
78612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7862
7863 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
7864 (generate_image): Make prefix a const char *.
7865 Fix format specifications. Respect format security.
7866 Avoid void * arithmetics.
7867 Avoid shadowing.
7868 (argp_parser): Remove unused variable. Respect format security.
7869 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
7870 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
7871 (count_funcs): Remove unused variable.
7872 (relocate_addresses): Fix format specification.
7873 Disable x86-64 with elf32. Remove unused variables.
7874 (add_fixup_entry): Avoid shadowing.
7875 (make_reloc_section): Fix format specification.
7876 Use assert.
7877 (locate_sections): Fix format specifications.
7878 (load_image): Avoid shadowing.
7879
043c2ea3
VS
78802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
7883 Fix format specifications. Respect format security.
7884 Don't translate already translated grub_errmsg.
7885 (argp_parser): Remove unused variable
7886
3ec65a81
VS
78872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
7890
a4d9fe4a
VS
78912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
7894 (main): Likewise. Use xmalloc. Respect format security.
7895
15b81d49
VS
78962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7897
7898 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
7899 a const char *.
7900 (argp_parser): Remove unused variable.
7901
31731fc0
VS
79022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
7905 (add_pixel): Make static.
7906 (add_font): Likewise.
7907 (write_string_section): Make name and str a const char *.
7908 (write_be16_section): Make name a const char *.
7909 (print_glyphs): Make static.
7910 (write_font_ascii_bitmap): Likewise.
7911 (write_font_width_spec): Likewise.
7912 (write_font_pf2): Likewise.
7913 (argp_parser): Remove unused variable.
7914 Respect format security.
7915 (main): Avoid shadowing. Respect format security.
7916
0809527b
VS
79172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7918
7919 * util/grub-editenv.c (argp_parser): Make static.
7920 (create_envblk_file): Use xmalloc.
7921 (open_envblk_file): Likewise.
7922 Resepect format security.
7923 (set_variables): Respect format security.
7924
45b0c8b7
VS
79252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * util/getroot.c (grub_find_device): Respect format security.
7928 (get_mdadm_uuid): Remove unused variable.
7929 (grub_util_pull_device): Dont call gettext on already translated
7930 grub_errmsg.
7931 (find_system_device): Remove unused variable.
7932 (grub_util_get_grub_dev): Likewise.
7933 (grub_make_system_path_relative_to_its_root): Respect format security.
7934
1b024b4e
VS
79352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * util/grub-fstest.c (execute_command): Make first argument
7938 a const char *.
7939 (read_file): Avoid shadowing.
7940 Reuse underlying error message if device open fails.
7941 (cmd_cmp): Respect format security.
7942 (root): Make const char *.
7943 (fstest): Remove args argument and use global copy.
7944 Respect format security.
7945 (argp_parser): Make static.
7946 (main): Make default_root const char *.
7947
5d1d4e28
VS
79482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * util/grub-mount.c (root): Make const char *.
7951 (execute_command): Make first argument a const char *.
7952 (fuse_init): Respect format security.
7953 (argp_parser): Make static. Remove unused variable.
7954 (main): Make default_root a const char *.
7955 Respect format security.
7956
36eb7379
VS
79572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * util/grub-probe.c (probe): Don't call gettext on already translated
7960 grub_errmsg.
7961 Remove unused variables.
7962 (argp_parser): Remove unused variable.
7963
76fb2ea9
VS
79642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * util/grub-script-check.c (argp_parser): Remove unused variable.
7967 (main): Rename read to curread to avoid shadowing.
7968
56c98584
VS
79692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * util/misc.c (grub_util_write_image_at): Fix format specification.
7972 (grub_util_write_image): Likewise.
7973 (grub_script_execute_argument_to_string): Removed (unused).
7974 (grub_script_execute_menuentry): Likewise.
7975 (grub_putchar): Likewise.
7976
164ebb48
VS
79772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
7980 (FUNCTION) [GRUB_UTIL]: Likewise.
7981 (VARIABLE) [GRUB_UTIL]: Likewise.
7982
44318d61
VS
79832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
7986 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
7987
31a26002
VS
79882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
7991 buffer.
7992
79932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
7996 (LzmaEnc_SaveState): Removed (unused).
7997 (LzmaEnc_RestoreState): Likewise.
7998 (LzmaEnc_InitPriceTables): Made static.
7999 (LzmaEnc_Construct): Likewise.
8000 (LzmaEnc_FreeLits): Likewise.
8001 (LzmaEnc_Destruct): Likewise.
8002 (LzmaEnc_Init): Likewise.
8003 (LzmaEnc_InitPrices): Likewise.
8004 (LzmaEnc_Finish): Likewise.
8005 (LzmaEnc_PrepareForLzma2): Removed (unused).
8006 (LzmaEnc_MemPrepare): Likewise.
8007 (LzmaEnc_GetNumAvailableBytes): Likewise.
8008 (LzmaEnc_GetCurBuf): Likewise.
8009 (LzmaEnc_CodeOneMemBlock): Likewise.
8010
6fa67967
VS
80112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
8014 (grub_util_ldm_embed): Likewise.
8015
9a7428e6
VS
80162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * util/grub-editenv.c (print_var): Rename name to varname to
8019 avoid shadowing.
8020 (main): Rename index to curindex to avoid shadowing.
31a26002 8021 Make filename a const char *.
9a7428e6 8022
4f96abd1
VS
80232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
8026 to arg_getline to avoid shadowing.
8027
44d10dad
VS
80282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
8031 disk_ to avoid shadowing.
8032
340ba63e
VS
80332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
8036 curindex to avoid shadowing.
8037 Make static.
8038 (MatchFinder_GetNumAvailableBytes): Make static.
8039
22965bce
VS
80402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
8043 avoid shadowing.
8044
7b5784d4
VS
80452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
8048 argument from encrypt to do_encrypt to avoid shadowing.
8049
6f48ca01
VS
80502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
8053 incorrect nesting of #if's.
8054
a4ea2dff
VS
80552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
8058 checks which are always false on some platforms.
8059 (grub_cmd_lsacpi): Likewise.
8060 * grub-core/kern/misc.c (grub_strtoul): Likewise.
8061 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
8062 Likewise.
8063
def9fc1b
VS
80642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
8067 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
8068
a67b2a04
VS
80692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
8072 re_dfa_t to avoid breaking alignment invariants.
8073 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
8074 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
8075
44c6828d
VS
80762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
8079 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
8080
bebe0dd0
VS
80812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
8084 Fix declaration.
8085
a9cdb3cf
VS
80862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
8089 conserve alignment invariants.
8090 (grub_ehci_ehcc_read16): Likewise.
8091 (grub_ehci_oper_read32): Likewise.
8092 (grub_ehci_oper_write32): Likewise.
8093 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8094 Conserve alignment invariants.
8095
ccc3b1b8
VS
80962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8097
8098 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
8099 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
8100 declarations.
8101
987fbd95
VS
81022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
8105 Remove unused variable.
8106
0df363f3
VS
81072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8108
8109 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
8110 Remove set in if.
8111
b2c0c4a6
VS
81122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * include/grub/net.h: Remove double declarations.
8115
690c531f
VS
81162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 Remove "payload" command in ia64 Linux loader since I couldn't
8119 find any evidence of it being used for anything.
8120 Replace "relocate" command with an environment variable
8121
8122 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
8123 fields.
8124 (ia64_boot_payload): Removed.
8125 (last_payload): Likewise.
8126 (RELOCATE_OFF): Likewise.
8127 (RELOCATE_ON): Likewise.
8128 (RELOCATE_FORCE): Likewise.
8129 (relocate): Likewise.
8130 (free_pages): Don't free payloads.
8131 (grub_load_elf64): Use common error messages.
8132 Use "linux_relocate" variable.
8133 Increase the space after boot_params.
8134 (grub_cmd_payload): Removed.
8135 (grub_cmd_relocate): Likewise.
8136 (grub_cmd_fpswa): Improve messages.
8137 (cmd_payload): Removed.
8138 (cmd_relocate): Likewise.
8139 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
8140 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
8141
01783768
VS
81422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 Convert UHCI to DMA framework.
8145
8146 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
8147 (grub_uhci_pci_iter): Fill new members
8148 (grub_alloc_td): Use P2V and V2P functions.
8149 (grub_free_queue): Likewise.
8150 (grub_alloc_qh): Likewise.
8151 (grub_uhci_setup_transfer): Likewise.
8152 (grub_uhci_check_transfer): Likewise.
8153
43206939
VS
81542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
8157 Remove assignment in if while on it.
8158
571e140e
VS
81592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * util/grub-mkstandalone.in: Fix modules directory.
8162
a9d96eeb
VS
81632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
8166 on i386-pc target.
8167 (argp_parser): Accept "auto" as compression specification.
8168
e4e37e8d
VS
81692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 Fix `help' with unloaded modules.
8172
8173 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
8174 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
8175 (grub_dyncmd_dispatcher): Small stylistic fix.
8176 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
8177 explicit help is requested.
8178
e1ea3ade
VS
81792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
8182 Explicitly init restart while on it.
8183
27556881
VS
81842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
8187 uninited variable.
8188
d65f6b36
VS
81892012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 * util/grub-mknetdir.in: Use . rather than source for POSIX
8192 compatibility.
8193
0a1e473c
VS
81942012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
8197
ce6647c8
VS
81982012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
8201 variable.
8202
66747894
VS
82032012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
8206 without quotes.
8207
71645f6e
VS
82082012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
8211
0e1c1f61
VS
82122012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
8215 iteration of partitions.
8216
9c4b5c13
VS
82172012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 Improve gettext support. Stylistic fixes and error handling fixes while
8220 on it.
8221
215c90cb
VS
82222012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
8225 part. Instead setup the correct stack in RM.
8226 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
8227 for stack.
8228 * include/grub/i386/relocator_private.h: New file.
8229
b5c1f9bf
VS
82302012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
8233 argument.
8234 * util/grub-fstest.c (options): Add missing DEVICE part.
8235
b525fd83
VS
82362012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8237
8238 Clarify and unify messages.
8239
8240 * grub-core/commands/hashsum.c (options): Unify messages.
8241 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
8242 literal-only message as translatable.
8243 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
8244 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
8245 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
8246 commands.
8247 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
8248 key, not the key used to unlock. Clarify what it's used for.
8249 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
8250 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
8251 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
8252 * util/grub-editenv.c (options): Unify "verbose" message.
8253 * util/grub-fstest.c (read_file): Unify error message.
8254 (fstest): Add quotes around commands.
8255 (options): Unify "verbose" message.
8256 * util/grub-install.in: Add quotes around variable name.
8257 * util/grub-kbdcomp.in: Unify error message.
8258 * util/grub-mkfont.c (main): Likewise.
8259 * util/grub-mkrescue.in: Likewise.
8260 * util/grub-mklayout.c (options): Unify "verbose" message.
8261 * util/grub-mkstandalone.in: Unify help and verbose messages.
8262 * util/grub-mount.c (options): Unify "verbose" message.
8263 * util/grub-probe.c (options): Likewise.
8264 * util/grub-script-check.c (options): Likewise.
8265 * util/grub-setup.c (setup): Unify no-terminator message.
8266 (options): Use DEVICE and not DEV.
8267 Unify "verbose" message.
8268 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
8269
0ae70393
VS
82702012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 Improve and unify messages.
8273
8274 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
8275 name. All users updated.
8276 Print filename in error.
8277 (read_device_map): Print filename in error.
8278 * util/getroot.c (grub_guess_root_devices): Print filename in error.
8279 (grub_util_get_os_disk): Likewise.
8280 (grub_util_biosdisk_get_grub_dev): Likewise.
8281 (grub_util_check_block_device): Likewise.
8282 (grub_util_check_char_device): Likewise.
8283 (grub_make_system_path_relative_to_its_root): Likewise.
8284 * util/grub-editenv.c (create_envblk_file): Likewise.
8285 (open_envblk_file): Likewise.
8286 (write_envblk): Likewise.
8287 * util/grub-fstest.c (cmd_cp): Likewise.
8288 (cmd_cat): Likewise.
8289 (cmd_cmp): Likewise.
8290 * util/grub-menulst2cfg.c (main): Likewise.
8291 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
8292 (write_font_width_spec): Likewise.
8293 (write_font_pf2): Likewise.
8294 * util/grub-mkimage.c (generate_image): New argument outname.
8295 All users updated.
8296 Remove unreacheable message.
8297 (options): Unify messages.
8298 (help_filter): Likewise.
8299 * util/grub-mklayout.c (usage): Removed (unused).
8300 (main): Print filename in error.
8301 * util/grub-mkrescue.in: Fix wrong quoting.
8302 * util/grub-setup.c (setup): Print filename in error.
8303 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
8304 (check_sas): Likewise.
8305 * util/misc.c (grub_util_get_fp_size): Removed.
8306 (grub_util_get_image_size): Print filename in error.
8307 (grub_util_read_at): Removed.
8308 (grub_util_read_image): Print filename in error.
8309 (grub_util_load_image): Likewise.
8310 (grub_util_write_image_at): New argument filename. All users updated.
8311 Print filename in error.
8312 (grub_util_write_image): New argument filename. All users updated.
8313 Print filename in error.
8314 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
8315 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
8316
0a96117d
VS
83172012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 * grub-core/Makefile.core.def (pxechain): New module.
8320 * grub-core/loader/i386/pc/pxechainloader.c: New file.
8321 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
8322 function.
8323 (grub_pc_net_config_real): Use grub_pxe_get_cached.
8324 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
8325
aca002f7
VS
83262012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
8329 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
8330 * include/grub/err.h (grub_error_saved): New struct.
8331 (grub_errmsg): Make array size explicit.
8332 * include/grub/misc.h (grub_error_save): New function.
8333 (grub_error_load): Likewise.
8334 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
8335 (grub_error_push): Update `errno' member name.
8336 (grub_error_pop): Likewise
8337 * grub-core/net/tftp.c (tftp_data): New member save_err.
8338 (tftp_receive): Save error.
8339 (tftp_open): Restore error.
8340
a51dab13
VS
83412012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
8344 to real mode down to execute A20-related code in protected mode as
8345 intended.
8346
eb6e6649
GS
83472012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8348
8349 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
8350 NULL when the argument `level' has an unexpected value.
8351
92cd0f6e
VS
83522012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 Move platform-dependent files from $prefix to $prefix/$platform.
8355
8356 * config.h.in (GRUB_TARGET_CPU): New definition.
8357 (GRUB_PLATFORM): Likewise.
8358 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
8359 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
8360 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8361 * grub-core/kern/dl.c (grub_dl_load): Likewise.
8362 * grub-core/normal/autofs.c (read_fs_list): Likewise.
8363 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
8364 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
8365 * grub-core/normal/term.c (read_terminal_list): Likewise.
8366 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
8367 $prefix/locale.
8368 (grub_gettext_init_ext): Likewise.
8369 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
8370 grub_platform.
8371 * util/grub-install.in: Update directories.
8372 * util/grub-mknetdir.in: Likewise.
8373 * util/grub-mkrescue.in: Likewise.
8374
db606889
VS
83752012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
8378 grub_error framework. All users updated.
8379
c39992a4
VS
83802012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
8383 lists (by always binsearching), improve caching (cache strings
8384 used for binsearch, not only results), improve
8385 maintainability (by using more structured binary search) and correct
8386 error handling.
8387
1e5ec32f
VS
83882012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 * grub-core/script/execute.c (grub_script_return): Fix warning.
8391
ac576cde
VS
83922012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 * grub-core/script/execute.c (grub_script_return): Fix potential
8395 NULL-dereference.
8396 Reported by: Jim Meyering.
8397
498453f6
VS
83982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * po/POTFILES.in: Regenerate.
8401 * util/grub-install.in: Gettextize the strings missed in first pass.
8402
8be63f2e
VS
84032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 * Makefile.util.def (grub-mkdevicemap): Removed.
8406 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
8407 * include/grub/util/deviceiter.h: Removed.
8408 * util/deviceiter.c: Likewise.
8409 * util/getroot.c (grub_util_get_os_disk): New function.
8410 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
8411 replacement for EFI.
8412 * util/grub-mkdevicemap.c: Removed.
8413 * util/grub-probe.c (probe): Handle PRINT_DISK.
8414 (argp_parser): Handle -t disk.
8415
8e1e4e39
VS
84162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8417
8418 * util/grub-mkfont.c: Migrate to argp.
8419 * util/grub-mklayout.c: Likewise.
8420 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8421 * util/grub-mkrelpath.c: Likewise.
8422 * util/grub-probe.c: Likewise.
8423 * util/grub-script-check.c: Likewise.
8424
4459819a
VS
84252012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 * util/grub-reboot.in: Add missing datarootdir.
8428 Add missing newline.
8429 * util/grub-set-default.in: Add missing datarootdir.
8430 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
8431 * util/grub-mkrescue.in: Likewise.
8432
f65741c7
VS
84332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
8436
c1a33466
VS
84372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 * util/grub-kbdcomp.in: Add decent help and gettextize.
8440 * docs/man/grub-kbdcomp.h2m: New file.
8441
c76899a0
VS
84422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8443
8444 Migrate grub-mkimage.c to argp.
8445
8446 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
8447 (grub-setup): Likewise.
8448 * util/grub-setup.c (print_version): Move to ...
8449 * util/argp_common.c (print_version): ... here.
8450 * util/grub-setup.c (argp_program_version_hook): Move to ...
8451 * util/argp_common.c (argp_program_version_hook): ... here.
8452 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
8453 safety.
8454 * util/grub-mkimage.c (main): Migrate to argp.
8455
57db0757
VS
84562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * util/grub-mkrescue.in: Use same message as
8459 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
8460 for better translations.
8461
18534ad9
VS
84622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
8465 options with generic grub-mkrescue.in with the goal of future
8466 merge.
8467
c84ba308
VS
84682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * grub-core/kern/mm.c: Add missing include of i18n.h
8471 * grub-core/lib/relocator.c: Likewise.
8472
347998c2
VS
84732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
8476 error.
8477 (allocate_pages): Check return value.
8478 Replace fatal with error.
8479 (grub_linux_boot): Replace printf with dprintf.
8480 Check find_mmap_size return value.
8481 Replace fatal with error.
8482 Don't call grub_machine_fini.
8483 (grub_load_elf64): Replace printf with dprintf.
8484 (grub_cmd_linux): Likewise.
8485 (grub_cmd_initrd): Likewise.
8486 (grub_cmd_payload): Likewise.
8487
c779226e
VS
84882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8489
8490 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
8491 message.
8492 * grub-core/video/radeon_fuloong2e.c
8493 (grub_video_radeon_fuloong2e_setup): Likewise.
8494 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
8495 * grub-core/video/video.c (grub_video_set_mode): Don't override
8496 standard out of memory message.
8497
dc87d45a
GS
84982012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8499
8500 NetBSD disk wedge support.
8501
8502 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
8503 [__NetBSD__]: Handle NetBSD disk wedges.
8504 * util/getroot.c (convert_system_partition_to_system_disk)
8505 [__NetBSD__]: Likewise.
8506
055f856f
MW
85072012-02-03 Mark Wooding <mdw@distorted.org.uk>
8508
8509 * util/grub-mkconfig.in: Use umask rather than chmod to create
8510 grub.cfg.new to avoid insecure grub.cfg.
8511
4a9f8346
VS
85122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * grub-core/commands/ls.c: Gettextize.
8515 * grub-core/commands/setpci.c: Likewise.
8516 * grub-core/commands/videotest.c: Likewise.
8517 * grub-core/disk/geli.c: Likewise.
8518 * grub-core/kern/mm.c: Likewise.
8519 * grub-core/lib/relocator.c: Likewise.
8520 * grub-core/loader/efi/appleloader.c: Likewise.
8521 * grub-core/loader/i386/xnu.c: Likewise.
8522 * grub-core/loader/ia64/efi/linux.c: Likewise.
8523 * grub-core/loader/xnu.c: Likewise.
8524 * grub-core/net/dns.c: Likewise.
8525 * grub-core/net/net.c: Likewise.
8526 * grub-core/script/lexer.c: Likewise.
8527 * grub-core/script/parser.y: Likewise.
8528 * grub-core/script/yylex.l: Likewise.
8529 * util/getroot.c: Likewise.
8530 * util/grub-setup.c: Likewise.
8531
a646a366
VS
85322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
8535 number.
8536
54e2be26
VS
85372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
8540
f7c71e68
VS
85412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
8544 macro.
8545 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
8546 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
8547
a32d5c71
VS
85482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
8551 * util/grub-install.in: Gettextize.
8552 * util/grub-mkconfig.in: Likewise.
8553 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
8554 if not available.
8555 (grub_warn): Gettextize.
8556 * util/grub-mknetdir.in: Gettextize.
8557 * util/grub-mkrescue.in: Likewise.
8558 * util/grub-mkstandalone.in: Likewise.
8559 * util/grub-reboot.in: Likewise.
8560 * util/grub-set-default.in: Likewise.
8561 * util/grub.d/00_header.in: Likewise.
8562 * util/grub.d/10_hurd.in: Likewise.
8563 * util/grub.d/10_kfreebsd.in: Likewise.
8564 * util/grub.d/10_linux.in: Likewise.
8565 * util/grub.d/10_netbsd.in: Likewise.
8566 * util/grub.d/10_windows.in: Likewise.
8567 * util/grub.d/20_linux_xen.in: Likewise.
8568 * util/grub.d/30_os-prober.in: Likewise.
8569 * po/POTFILES-shell.in: Regenerate.
8570
69edd81a
RL
85712012-02-03 Richard Laager <rlaager@wiktel.com>
8572
8573 * util/grub-mkimage.c (main): Fix format-security warning.
8574 * util/grub-mkrelpath.c (main): Likewise.
8575 * util/grub-probe.c (main): Likewise.
8576
65f08dbf
RL
85772012-02-03 Richard Laager <rlaager@wiktel.com>
8578
8579 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
8580 failure.
8581 Put back lost PRINT_DRIVE.
8582
e9084abe
RL
85832012-02-03 Richard Laager <rlaager@wiktel.com>
8584
8585 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
8586 (grub_guess_root_devices): Replace strlen with sizeof.
8587 Avoid crash.
8588 (find_root_devices_from_poolname): Remove unused variable.
8589 Handle raidzN.
8590
cf5f7ee7
VS
85912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 Support install on multi-device filesystems.
8594
8595 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
8596 (grub_guess_root_devices): ...this. Return char **. All users updated.
8597 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
8598 Removed.
8599 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
8600 (find_root_devices_from_poolname): ... here.
8601 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
8602 Support zfs-fuse.
8603 (grub_guess_root_device): Rename to ...
8604 (grub_guess_root_devices): ... this. Return char **. All users updated.
8605 * util/grub-install.in: Handle multi-device filesystems.
8606 * util/grub-probe.c (probe). Make device_names a char **. Add delim
8607 argument. All users updated.
8608 Handle multi-device filesystems.
8609 Use 'delim' as separator.
8610 Remove device check to allow filesystems on file.
8611 (main): Support -0 argument. Handle multi-device.
8612 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
8613 Fix a cross-device check while on it.
8614 (arguments): Remove root_dev.
8615 (argp_parser): Remove -r.
8616 (main): Remove root_dev.
8617
2f53a9ed
VS
86182012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8619
8620 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
8621
17e1d934
VS
86222012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8623
8624 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
8625 symbol.
8626 Reported by: NODA, Kai <nodakai>.
8627
d3e3fab5
VS
86282012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 Fix ehci on amd64.
8631
8632 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
8633 pointers.
8634 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
8635 (grub_ehci_setup_qh): Likewise.
8636 (grub_ehci_find_qh): Likewise.
8637 (grub_ehci_transaction): Likewise.
8638 (grub_ehci_setup_transfer): Likewise.
8639 (grub_ehci_check_transfer): Likewise.
8640 (grub_ehci_portstatus): Likewise.
8641 (grub_ehci_detect_dev): Likewise.
8642 (grub_ehci_transfer_controller_data): New field td_last_phys.
8643 (grub_ehci_setup_transfer): Fill td_last_phys.
8644 (grub_ehci_check_transfer): Use td_last_phys.
8645
3008675b
SG
86462012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
8647
8648 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
8649 if no submenu is present.
8650
fc9b5652
AN
86512012-02-01 Aleš Nesrsta <starous@volny.cz>
8652
8653 CBI support.
8654
8655 * include/grub/usb.h (grub_usbms_protocol_t): New values
8656 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
8657 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
8658 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
8659 (grub_usbms_dev): Add subclass, protocol and intrpt.
8660 Remove in_maxsz and out_maxsz.
8661 (grub_usbms_reset): Rename to ...
8662 (grub_usbms_bo_reset): .. this.
8663 (grub_usbms_cbi_cmd): New function.
8664 (grub_usbms_cbi_reset): Likewise.
8665 (grub_usbms_reset): Likewise.
8666 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
8667 (grub_usbms_transfer): Rename to ...
8668 (grub_usbms_transfer_bo): ... this.
8669 (grub_usbms_transfer_cbi): Likewise.
8670 (grub_usbms_transfer): Likewise.
8671
a2b81d53
AN
86722012-02-01 Aleš Nesrsta <starous@volny.cz>
86732012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
8676 the support for the CS5536 modification thereos and few bugfixes.
8677
8678 * grub-core/Makefile.core.def (ehci): New module.
8679 * grub-core/bus/usb/ehci.c: New file.
8680 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
8681 port and hubaddr. All users updated.
8682 Save port and hubaddr into dev structure.
8683 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
8684 define.
8685 * include/grub/pci.h (grub_dma_phys2virt): New function.
8686 (grub_dma_virt2phys): Likewise.
8687 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
8688
b1d51f02
VS
86892012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
8692 check as some mkfs implementations omit it.
8693
fc694106
VS
86942012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 * docs/grub.texi (Unicode): Mention identifier and space limitations.
8697
6c0920e3
VS
86982012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
8701 Add new member volname2.
8702 (grub_jfs_label): Use volname2 if available.
8703
d1a46f9a
VS
87042012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
8707 over last_mounted as seen in image generated by mkfs.nilfs2.
8708 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
8709
dec8ed14
VS
87102012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
8713 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
8714 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
8715
7397c69b
VS
87162012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
8719 over the sector.
8720
b3fe42ad
VS
87212012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
8724 subvolume name (by removing a bogus and useless check).
8725
10476bb0
VS
87262012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
8729 sizeof while on it.
8730
9c08ad87
VS
87312012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
8734 (grub_scsi_read_capacity10): ... this.
8735 (grub_scsi_read_capacity16): New function.
8736 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
8737 0xffffffff.
8738 Fix off-by-one error.
8739 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
8740 64-bit unsigned.
8741 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
8742 (grub_scsi_read_capacity10): ... this.
8743 (grub_scsi_read_capacity_data): Rename to ...
8744 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
8745 (grub_scsi_read_capacity16): New struct.
8746 (grub_scsi_read_capacity16_data): Likewise.
8747 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
8748 grub_scsi_cmd_read_capacity10.
8749 New command grub_scsi_cmd_read_capacity16.
8750
bc8d0f45
VS
87512012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 SCSI >2TiB support.
8754
8755 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
8756 (grub_scsi_write16): Likewise.
8757 (grub_scsi_read): Use read16 when necessary.
8758 (grub_scsi_write): Likewise.
8759 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
8760 (grub_scsi_write16): Likewise.
8761 (grub_scsi_cmd_t): Add READ16 and WRITE16.
8762
cc774926
VS
87632012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 SCSI write support (for usbms mainly).
8766
8767 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
8768 a const pointer.
8769 (grub_scsi_write): Implement.
8770 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
8771
67639fd7
VS
87722012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
8775 variable.
8776
9079d3ed
VS
87772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 * grub-core/lib/posix_wrap/string.h (memchr): New function.
8780
c6a6f204
VS
87812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * po/POTFILES.in: Regenerate.
8784
ecbf8cd1
VS
87852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8786
8787 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
8788 with grub_printf to avoid unnecessary fatal failure.
8789
0b3b3b38
VS
87902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
8793 (INT_MAX): Likewise.
8794 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
8795 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
8796 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
8797 (strcpy): Likewise.
8798 (strstr): Likewise.
8799 (strchr): Likewise.
8800 (strncpy): Likewise.
8801 (strcat): Likewise.
8802 (strncat): Likewise.
8803 (strcoll): Likewise.
8804 * include/grub/types.h (GRUB_SHRT_MAX): New define.
8805 (GRUB_INT_MAX): Likewise.
8806
db7337a3
VS
88072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
8810 unexpected error.
8811 (optimize_utf8): Likewise.
8812 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
8813
f37c87e1
VS
88142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 * grub-core/boot/i386/pc/lnxboot.S: Use
8817 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
8818 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
8819 location.
8820 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
8821 definition.
8822 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
8823
63fe43f3
VS
88242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
8827 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
8828 now to avoid double free.
8829 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
8830 hostdisk.
8831 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
8832 * util/grub-probe.c (escape_of_path): Always return a new copy.
8833 (print_full_name): Escape path.
8834 (probe): Don't call grub_util_devname_to_ofpath on NULL.
8835 Fix hints on abstractions.
8836
ebe2c961
VS
88372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
8840 Don't add "root" line if no compatibility hont is available.
8841 Suggested by: Seth Goldberg.
8842
2b5336a2
VS
88432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
8846 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
8847 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
8848 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
8849
74310bd8
VS
88502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8851
8852 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
8853
c30582ba
VS
88542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8855
8856 * util/grub-pe2elf.c (ehdr): Make static.
8857 (shdr): Likewise.
8858 (num_sections): Likewise.
8859 (offset): Likewise.
8860
5f47782c
VS
88612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 Eliminate ofpath limits and possible overflows.
8864
8865 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
8866 (OF_PATH_MAX): Removed.
8867 (MAX_DISK_CAT): New const.
8868 (find_obppath): Use allocated rather than preallocated buffer.
8869 Return result. Argument of_path removed. All users updated.
8870 Add missing fdstat.
8871 (xrealpath): New function.
8872 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
8873 Allocate rather than use preallocated buffer. All users updated.
8874 (__of_path_common): Use allocated rather than preallocatecd buffer.
8875 Return result. Argument of_path removed. All users updated.
8876 (vendor_is_ATA): Read only needed part form the file.
8877 (check_sas): Allocate depending on contents rather than fixed.
8878 (main) [STANDALONE]: Handle NULL result.
8879
f990cbf9
VS
88802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8881
8882 * grub-core/normal/completion.c (iterate_dev): Close the disk.
8883
9c6e84b8
VS
88842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 Cryptodisk write support.
8887
8888 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
8889 (grub_cryptodisk_decrypt): Moved logic to ...
8890 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
8891 (grub_cryptodisk_write): Implement.
8892 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
8893 (grub_util_fd_write): ... this. Make global.
8894 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
8895
87cf9744
VS
88962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 * include/grub/list.h (grub_list_remove): Don't crash if element is
8899 removed twice.
8900
ca8c0baf
VS
89012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8902
8903 Rename ofconsole to console.
8904
8905 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
8906 as sysnonym to console.
8907 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
8908 * grub-core/term/ieee1275/console.c: ... this. All users updated.
8909 Rename grub_ofconsole_ to grub_console_. All users updated
8910 (grub_console_term_output): Rename "ofconsole" to "console".
8911 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
8912 as "console".
8913
64c8b8f6
VS
89142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
8917 handling.
8918 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
8919 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
8920 GRUB_DISK_DEVICE_FILE_ID.
8921
f6c434d5
VS
89222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
8925 and improve performance.
8926
5858b42d
VS
89272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
8930 missing ieee1275/ prefix on whole disk.
8931
4ed3c26b
VS
89322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
8935 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
8936
df71143e
VS
89372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
8940
076e7c0f
VS
89412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 Merge common RAID and LVM logic to an abstract diskfilter.
8944 Add LDM support using the same framework.
8945
8946 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
8947 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
8948 (libgrubmods): Remove grub-core/disk/raid.c and
8949 grub-core/partmap/gpt.c.
8950 * grub-core/Makefile.core.def (ldm): New module.
8951 (raid): Renamed to diskfilter. All users updated.
8952 * grub-core/disk/raid.c: Moved to ...
8953 * grub-core/disk/diskfilter.c: ... here.
8954 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
8955 (lv_num): New var.
8956 (find_array): Renamed to ...
8957 (find_lv): ... this. Support multi-LV. Skip nameless LVs
8958 (grub_is_array_readable): Renamed to ...
8959 (grub_is_lv_readable): ... this. Support multinode hierarchy.
8960 (insert_array): New argument id.
8961 (is_node_readable): New function.
8962 (scan_device): Rename to ...
8963 (scan_disk): .. this. Restrict to one disk.
8964 (scan_devices): New function.
8965 (grub_diskfilter_iterate): Support multi-LV.
8966 Skip invisible and nameless LVs.
8967 (grub_diskfilter_memberlist): Support multi-LV.
8968 (grub_diskfilter_read_node): New function.
8969 (grub_raid_read): Most of logic moved to ...
8970 (read_segment): ... here
8971 (read_lv): New function.
8972 (grub_diskfilter_get_vg_by_uuid): New function.
8973 (grub_diskfilter_make_raid): Likewise.
8974 * grub-core/disk/ldm.c: New file.
8975 * grub-core/disk/lvm.c (vg_list): Removed.
8976 (lv_count): Likewise.
8977 (scan_depth): Likewise.
8978 (is_lv_readable): Likewise.
8979 (grub_lvm_getvalue): Advance pointer past the number.
8980 (find_lv): Removed.
8981 (do_lvm_scan): Refactored into ...
8982 (grub_lvm_detect): ... this. Support raid.
8983 (grub_lvm_iterate): Removed.
8984 (grub_lvm_memberlist): Likewise.
8985 (grub_lvm_open): Likewise.
8986 (grub_lvm_close): Likewise.
8987 (read_lv): Likewise.
8988 (read_node): Likewise.
8989 (is_node_readable): Likewise.
8990 (is_lv_readable): Likewise.
8991 (grub_lvm_read): Likewise.
8992 (grub_lvm_write): Likewise.
8993 (grub_lvm_dev): Use diskfilter
8994 (GRUB_MOD_INIT): Likewise.
8995 (GRUB_MOD_FINI): Likewise.
8996 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
8997 new interface.
8998 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
8999 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9000 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
9001 grub_diskfilter_read_node.
9002 Fix a bug with xor.
9003 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
9004 grub_diskfilter_read_node.
9005 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
9006 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
9007 (grub_disk_dev_iterate): Move from here...
9008 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
9009 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9010 Make global.
9011 (grub_hostdisk_find_partition_start): Likewise.
9012 (grub_hostdisk_os_dev_to_grub_drive): New function.
9013 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
9014 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
9015 * util/getroot.c (make_device_name): ... here.
9016 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9017 Move to ...
9018 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
9019 * grub-core/kern/emu/hostdisk.c
9020 (convert_system_partition_to_system_disk): Move to ...
9021 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
9022 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
9023 * util/getroot.c (device_is_wholedisk): ... here.
9024 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
9025 * util/getroot.c (find_system_device): ... here.
9026 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
9027 Move to ...
9028 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
9029 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9030 Move to ...
9031 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
9032 Handle LDM.
9033 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9034 Move to ...
9035 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
9036 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
9037 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
9038 DISKFILTER.
9039 * include/grub/raid.h: Renamed to ...
9040 * include/grub/diskfilter.h: ... this.
9041 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
9042 (GRUB_RAID_LAYOUT_*): Make into array.
9043 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
9044 (grub_diskfilter_vg): New struct.
9045 (grub_diskfilter_pv_id): Likewise.
9046 (grub_raid_member): Removed.
9047 (grub_raid_array): Likewise.
9048 (grub_diskfilter_pv): New struct.
9049 (grub_diskfilter_lv): Likewise.
9050 (grub_diskfilter_segment): Likewise.
9051 (grub_diskfilter_node): Likewise.
9052 (grub_diskfilter_get_vg_by_uuid): New proto.
9053 (grub_raid_register): Inline.
9054 (grub_diskfilter_unregister): Likewise.
9055 (grub_diskfilter_make_raid): New proto.
9056 (grub_diskfilter_vg_register): Likewise.
9057 (grub_diskfilter_read_node): Likewise.
9058 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
9059 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
9060 (grub_util_is_ldm): Likewise.
9061 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
9062 (grub_hostdisk_find_partition_start): Likewise.
9063 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
9064 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
9065 New definition.
9066 (grub_gpt_partition_map_iterate): New proto.
9067 * include/grub/lvm.h (grub_lvm_vg): Removed.
9068 (grub_lvm_pv): Likewise.
9069 (grub_lvm_lv): Likewise.
9070 (grub_lvm_segment): Likewise.
9071 (grub_lvm_node): Likewise.
9072 * util/getroot.c [...]
9073 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
9074 (probe_abstraction): Likewise.
9075 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
9076 (main): Remove dead logic.
9077
8a7f9b9c
VS
90782012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 Simplify root device discover and don't fail when trying to open
9081 incorrect devices.
9082
9083 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
9084 function.
9085 (get_diskname_from_path): Likewise.
9086 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
9087 of iterating.
9088
30545b85
VS
90892012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
9092
28ea58cf
VS
90932012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
9096 pastthe end.
9097
692dabca
VS
90982012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * util/grub-install.in: Add missing \.
9101 Reported by: gentoofan
9102
f6e4ea70
VS
91032012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
9106 (direct_read): Use correct compressed size.
9107 (grub_squash_read_data): Likewise.
9108
91092012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
9110
9111 * docs/grub.texi (Platform limitations): New section.
9112 (Platform-specific operations): Likewise.
9113 * docs/grub-dev.texi (Porting): Likewise.
9114
76261110
VS
91152012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 IEEE1275 disk write support.
9118
9119 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
9120 const void *.
9121 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
9122 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
9123 and seek loginc to ...
9124 (grub_ofdisk_prepare): ... here.
9125 (grub_ofdisk_write): Implement.
9126
fc36d603
VS
91272012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 ARC disk write support.
9130
9131 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
9132 (reopen): New argument writable. All users updated.
9133 Handle required access mode.
9134 (grub_arcdisk_write): Implement.
9135 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
9136 (grub_arc_firmware_vector): Make buffer to write a const buffer.
9137
e06c2e7a
VS
91382012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
9141 (read_sblock): Don't attempt to read superblocks outside the disk size.
9142
ff447958
VS
91432012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
9146 first superblock to find the second one when possible.
9147
9e88df39
VS
91482012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 * util/grub-install.in: Fix an ARC bug.
9151 Print a warning if no platform-specific setup is available.
9152
bb26e4ff
VS
91532012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9154
9155 Use static allocation rather than scratch pointer in reed_solomon.
9156 It decreases its size significantly and avoids a variable in .text.
9157
9158 * grub-core/lib/reed_solomon.c (scratch): Removed.
9159 (chosenstat): New const or static array.
9160 (sigma): Likewise.
9161 (errpot): Likewise.
9162 (errpos): Likewise.
9163 (sy): Likewise.
9164 (mstat): Likewise.
9165 (errvals): Likewise.
9166 (eqstat): Likewise.
9167 (pol_evaluate): Replace x with log_x argument. All users updated.
9168 (syndroms): Removed.
9169 (gauss_solve): Use statically allocated arrays.
9170 (rs_recover): Likewise.
9171 Calculate syndroms directly.
9172 (decode_block): Use statically allocated arrays.
9173 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
9174 (main) [TEST]: Allow -DTEST -DSTANDALONE.
9175
2e13ede5
VS
91762012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 Eliminate fixed limit on reed solomon decoder length.
9179
9180 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
9181 rather than hardcoding the address.
9182 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
9183 no_reed_solomon_length.
9184 Move gate_a20 to no-reed-solomon part.
9185 Don't force a particular size of no reed-solomon part.
9186 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9187 Removed.
9188 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
9189 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
9190
f8a9ab12
VS
91912012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * grub-core/commands/wildcard.c (match_files): Handle filenames
9194 without explicit device.
9195 (wildcard_expand): Don't add explicit device if not already present.
9196 * tests/grub_script_echo1.in: Add a new expansion test.
9197
87edb894
VS
91982012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 Replace single-linked with double-linked lists. It results in more
9201 compact and more efficient code.
9202
9203 * grub-core/kern/list.c (grub_list_push): Moved from here ...
9204 * include/grub/list.h (grub_list_push): ... to here. Set prev.
9205 (grub_list_remove): Moved from here ...
9206 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
9207 (grub_prio_list_insert): Set prev.
9208 * include/grub/list.h (grub_list): Add prev. All users updated.
9209
48b391e9
VS
92102012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 Handle newer autotools. Add some missing quotes while on it.
9213
9214 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
9215 (pkglib_DATA): Move grub-mkconfig_lib from here ...
9216 (pkgdata_DATA): ... here.
9217 * Makefile.util.def (update-grub_lib): Removed.
9218 * conf/Makefile.common (pkglib_DATA): Removed.
9219 (pkglib_SCRIPTS): Likewise.
9220 (pkgdata_DATA): New variable.
9221 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
9222 needed.
9223 Add missing quotes.
9224 Remove unused variable while on it.
9225 * tests/util/grub-shell.in: Likewise.
9226 * util/grub-install.in: Likewise.
9227 * util/grub-mkconfig.in: Likewise.
9228 * util/grub-mknetdir.in: Likewise.
9229 * util/grub-mkrescue.in: Likewise.
9230 * util/grub-mkstandalone.in: Likewise.
9231 * util/grub.d/00_header.in: Likewise.
9232 * util/grub.d/10_hurd.in: Likewise.
9233 * util/grub.d/10_illumos.in: Likewise.
9234 * util/grub.d/10_kfreebsd.in: Likewise.
9235 * util/grub.d/10_linux.in: Likewise.
9236 * util/grub.d/10_netbsd.in: Likewise.
9237 * util/grub.d/10_windows.in: Likewise.
9238 * util/grub.d/20_linux_xen.in: Likewise.
9239 * util/grub.d/30_os-prober.in: Likewise.
9240 * util/update-grub_lib.in: Removed.
9241
92422012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
9243
9244 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
9245 a workaround for intel problem.
9246
66832792
PRP
92472012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
92482012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
92492012-01-23 pfsmorigo
9250
9251 * util/grub-install.in: Support dd'in into PreP partition.
9252 * util/grub-probe.c (probe): Support discovering partition type.
9253 (main): Support -t msdos_parttype.
9254
7816a17e
VS
92552012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
9258 infinite recursion using counter.
9259 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
9260 init to skip it if the magic check fails.
9261 (dec_stream_header): Init s->crc32.
9262
8f9d3a8c
ZB
92632012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
92642012-01-22 Zachary Bedell <pendorbound@gmail.com>
92652012-01-22 Richard Laager <rlaager@wiktel.com>
9266
9267 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
9268 All users updated.
9269 (find_bestub): Determine correct size.
9270 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
9271 (scan_disk): Align the size down.
9272 Call check pool before find_bestub to have ashift.
9273
b055dd32
VS
92742012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
9277 dprintf in no-malloc zone.
9278
d779e9bd
ML
92792012-01-22 Mario Limonciello <mario_limonciello@dell.com>
9280
9281 * configure.ac: Add back in test for limits.h.
9282
b508af69
VS
92832012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 Support 4K-sector NTFS.
9286
9287 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
9288 (grub_ntfs_data): Remove blocksize.
9289 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
9290 Remove data argument. All users updated.
9291
dad9c8b5
VS
92922012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
9295 being in .text to avoid dprel references.
9296 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
9297 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
9298 (grub_arch_highmemsize): Likewise.
9299 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
9300 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
9301 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
9302
d43a777e
VS
93032012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9304
9305 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
9306
9307 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
9308 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
9309
34e4208f
VS
93102012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
9313 GRUB_UTIL.
9314 (grub_set_datetime_cmos): Likewise.
9315
3ec0fc1c
VS
93162012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 Make XZ compression parameters dependent on target and not host CPU.
9319
9320 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
9321 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
9322
22489834
VS
93232012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
9326 set but not used variable.
9327
8502fbca
VS
93282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
9331 created when no uuid support is compiled into mkfs.reiser.
9332
76df2068
VS
93332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9334
9335 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
9336 (utf8_to_macroman): Do the opposite.
9337 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
9338
64e3f8f6
VS
93392012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 * configure.ac: Refise build qemu_mips w/o unifont.
9342
9c271078
VS
93432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 Eliminate grub_min/grub_max prone to overflow usage.
9346
9347 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
9348 (poll_nonroot_hub): Likewise.
9349 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
9350 (grub_affs_label): Likewise.
9351 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
9352 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
9353 (grub_hfs_label): Likewise.
9354 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
9355 * grub-core/fs/zfs/zfs.c (MIN): Remove.
9356 (zap_leaf_array_equal): Use grub_size. Remove MIN.
9357 (zap_leaf_array_get): Likewise.
9358 (dnode_get_path): Likewise.
9359 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
9360 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
9361 * grub-core/script/execute.c (grub_script_break): Likewise.
9362 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
9363 grub_max.
9364 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
9365 * include/grub/misc.h (grub_min): Removed.
9366 (grub_max): Likewise.
9367
80662dbc
VS
93682012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9369
9370 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
9371 direct.inode = 0.
9372
e6da1467
VS
93732012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
9376
b1ac4cb1
VS
93772012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
9380
b4bf7c3b
VS
93812012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
9384 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
9385
8ee1101a
VS
93862012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
9389 rather than a hack for grub_strncasemap.
9390
93912012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 Support multiple initrds
9394 Note: part of this was accidently committed in r3739.
9395
9396 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
9397 initrd.
9398 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9399 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9400 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9401 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9402 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9403
4d1e2bc9
VS
94042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
9407 disks with unknown size.
9408 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
9409
75b49ebe
VS
94102012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9411
9412 Remove defines pertaining to arbitrary limits not affecting GRUB
9413 anymore.
9414
9415 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
9416 (EXT2_MAX_SYMLINKCNT): Likewise.
9417 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
9418 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
9419 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
9420 (GRUB_PXE_MAX_BLKSIZE): Likewise.
9421 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
9422 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
9423 (DN_MAX_OBJECT_SHIFT): Likewise.
9424 (DN_MAX_OFFSET_SHIFT): Likewise.
9425 (DN_MAX_OBJECT): Likewise.
9426 (DNODES_PER_LEVEL_SHIFT): Likewise.
9427 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
9428 (SPA_MAXBLOCKSIZE): Likewise.
9429 (SPA_BLOCKSIZES): Likewise.
9430 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
9431 (MZAP_MAX_BLKSZ): Likewise.
9432
74a1dce7
VS
94332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
9436 handle NULL appropriately.
9437 Remove MIN.
9438
30c7d3ce
VS
94392012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 Fix efiemu.
9442
9443 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
9444 cpu/types.h.
9445 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
9446 * configure.ac: Fix efiemu check.
9447
3c76ea0c
VS
94482012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
9451 grub_probe.
9452 Reported by: adamwill
9453
7e532280
SG
94542012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
9455
9456 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
9457
30492374
VS
94582012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9459
9460 Fix handling of wide characters in gfxterm.
9461
9462 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
9463 (clear_char): Likewise.
9464 (paint_char): Skip code == NULL chars.
9465 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
9466
e70cb72f
VS
94672012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9468
9469 * grub-core/normal/charset.c: Move comment to right place.
9470
5c827cf9
VS
94712012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
9474 (GRUB_AFFS_FLAG_FFS): Put back where it was.
9475 (grub_affs_mount): Revert the correct version checking.
9476
53603892
VS
94772012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 * docs/grub.texi (Unicode): Mention several other unsupported features.
9480
ff094b9b
VS
94812011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
9484 case statements as compile-time one.
9485 (direct_read): Prevent spurious warnings.
9486 (grub_squash_read_data): Likewise.
9487
c029da8a
VS
94882011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 Various squash4 fixes and LZO and XZ support.
9491
9492 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
9493 Add xzembed source files.
9494 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
9495 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
9496 (grub_squash_inode): New subtype long_dir.
9497 (SQUASH_TYPE_LONG_DIR): New inode type.
9498 (COMPRESSION): New enum.
9499 (XZBUFSIZ): New const.
9500 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
9501 (read_chunk): Use data->decompress.
9502 (zlib_decompress): New function.
9503 (lzo_decompress): Likewise.
9504 (xz_decompress): Likewise.
9505 (squash_mount): Set new data fields.
9506 (grub_squash_iterate_dir): Handle long dir.
9507 (squash_unmount): Free xzdec and xzbuf.
9508 (grub_squash_open): Check ino type.
9509 (direct_read): Stylistic fixes. Use data->decompress.
9510 (grub_squash_read_data): Likewise.
9511 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
9512 (get_byte): Likewise.
9513 (grub_zlib_disk_read): Removed.
9514 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
9515 (GRUB_POSIX_BOOL_DEFINED): New define.
9516 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
9517 * grub-core/lib/xzembed/xz.h: Addmissing includes.
9518 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
9519 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
9520
7a45a539
VS
95212011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 Don't override more informative errors.
9524
9525 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
9526 * grub-core/font/font.c (open_section): Likewise.
9527 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
9528 filename. Don't override errors.
9529 (grub_cmd_openbsd_ramdisk): Don't override errors.
9530 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
9531 (grub_cmd_initrd): Likewise.
9532 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9533 (grub_cmd_initrd): Likewise.
9534 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
9535 (grub_cmd_linux): Likewise.
9536 (grub_cmd_initrd): Likewise.
9537 (grub_cmd_payload): Likewise.
9538 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9539 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
9540 (grub_cmd_module): Likewise.
9541 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9542 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9543 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
9544 (grub_cmd_xnu_mkext): Likewise.
9545 (grub_cmd_xnu_ramdisk): Likewise.
9546 (grub_xnu_check_os_bundle_required): Likewise.
9547 (grub_xnu_load_kext_from_dir): Likewise.
9548 (grub_cmd_xnu_kextdir): Likewise.
9549 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
9550
b2d004db
VS
95512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
9554 as 1024 in block size field. Found on one of my test images.
9555 Small optimisation while on it.
9556
ec000eac
VS
95572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
9560 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
9561 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
9562 performance fixes while on it.
9563 (grub_sfs_close): Fix memory leak while on it.
9564 (grub_sfs_label): Convert Latin1 to UTF-8.
9565
f50e1165
VS
95662011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9567
9568 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
9569 space to avoid overflows.
9570 (grub_hfs_label): Convert from macroman to UTF-8.
9571
2ae254de
VS
95722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
9575
0108f491
VS
95762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9577
9578 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
9579
f45f5f89
VS
95802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 * unicode: Import Unicode 6.0 data.
9583
4d8c4765
VS
95842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9585
63fa8ef9
VS
9586 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
9587 outside of range.
9588
95892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
9592
9593 * include/grub/charset.h (grub_getend): New function.
9594 * grub-core/script/function.c (grub_script_function_find): Use
9595 grub_getend.
9596 * grub-core/normal/completion.c (add_completion): Likewise.
9597
f3cb4a4e
VS
95982011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
9601 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
9602 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
9603 (GRUB_UNICODE_TAG_END): Likewise.
9604 (GRUB_UNICODE_LAST_VALID): Likewise.
9605
5da8dbc5
VS
96062011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
9609 len and make it smaller. All users updated.
9610 * util/import_unicode.py: Put length and not end character.
9611 Check length.
9612
8569f13d
VS
96132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 Make better Unicode-compliant and unify some UTF-8 code pathes.
9616
9617 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
9618 valid character.
9619 (grub_is_valid_utf8): Use grub_utf8_process.
9620 Check resulting code range.
9621 (grub_utf8_to_ucs4): Use grub_utf8_process.
9622 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
9623 valid character.
9624
cc4fddf5
VS
96252011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
9628
bbc47747
VS
96292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * docs/grub.texi (Filesystems): Mention AFS.
9632
f63d6bf4
VS
96332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * docs/grub.texi (Filesystems): Clarify restrictions.
9636 (Regexp): Mention non-Unicode regexp behaviour.
9637 (Other): Mention non-Unicode matching behaviour.
9638
74bbf0db
VS
96392011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9640
f63d6bf4 9641 Make HFS implementation use MacRoman.
74bbf0db
VS
9642
9643 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
9644 (macroman): New const array.
9645 (macroman_to_utf8): New function.
9646 (utf8_to_macroman): Likewise.
9647 (grub_hfs_find_dir): Use utf8_to_macroman.
9648 (grub_hfs_dir): Use macroman_to_utf8.
9649 Set case_insensitive.
9650
4ea0316e
VS
96512011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
9654
d3c13cbd
VS
96552011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9656
9657 Integrate hints into autogeneration scripts.
9658
9659 * docs/grub.texi (Filesystems): Add a hostdisk example.
9660 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
9661 (grub-probe): Add ofpath.
9662 * gentpl.py: Remove group nosparc64.
9663 * grub-core/commands/search.c (cache_entry): New struct.
9664 (cache): New var.
9665 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
9666 * grub-core/commands/search_wrap.c (options): Add platform-specific
9667 hint options.
9668 (grub_cmd_search): Handle platform-specific hints.
9669 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
9670 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
9671 (grub_util_biosdisk_data): Likewise.
9672 (grub_util_biosdisk_open): Set device_map.
9673 (read_device_map): Handle "" as indication of no map.
9674 Set device_map.
9675 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
9676 (grub_util_biosdisk_get_compatibility_hint): New function.
9677 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
9678 * include/grub/emu/hostdisk.h
9679 (grub_util_biosdisk_get_compatibility_hint): New proto.
9680 * util/grub-install.in: Don't call grub-mkdevicemap.
9681 Add platform-specific hint to load.cfg.
9682 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
9683 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9684 hints. Set root preliminary to compatibility hint, not to OS name.
9685 * util/grub-probe.c (PRINT_*): Add hints.
9686 (print): Make static.
9687 (escape_of_path): New function.
9688 (guess_bios_drive): Likewise.
9689 (guess_efi_drive): Likewise.
9690 (guess_baremetal_drive): Likewise.
9691 (print_full_name): Likewise.
9692 (probe): Handle hints.
9693 (main): Likewise.
9694 * util/ieee1275/devicemap.c: Removed.
9695 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
9696 updated.
9697 (grub_util_devname_to_ofpath): Return NULL on failure.
9698
9699 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
9700 resource leak.
9701 * util/getroot.c (grub_util_pull_device): Fix memory leak.
9702
9703 * po/POTFILES.in: Regenerated.
9704
9705 Allow purely long options
9706
9707 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
9708 (SHORT_ARG_USAGE): Likewise.
9709 (grub_arg_show_help): Compare opt with help_options.
9710 (parse_option): Receive opt as argument. If makes big simplificatons.
9711 All users updated
9712
00ce2df3
VS
97132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
9716 Restructure to avoid warning.
9717
e77e325f
VS
97182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 * util/grub-install.in: Account for possible escaped comma in device
9721 name.
9722
165099ea
VS
97232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
9726 channel.
9727
ce4a999d
VS
97282011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
9731 allocation and zero-setting.
9732 (grub_ieee1275_get_devname): Check that alias is complete.
9733
379586ad
VS
97342011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
9737 unaligned segments.
9738
9197b0ad
VS
97392011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
9742 prefix.
9743 (grub_ofdisk_open): Check and discard ieee1275 prefix.
9744 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9745 Add ieee1275 prefix.
9746
edddb7f9
VS
97472011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 * docs/grub.texi (Filesystems): Update.
9750
a1a8b1b9
VS
97512011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 Support odc, newc and bigendian cpio formats.
9754
9755 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
9756 * grub-core/Makefile.core.def (newc): New module.
9757 (odc): Likewise.
9758 (cpio_be): Likewise.
9759 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
9760 (MAGIC): Likewise.
9761 (MAGIC2): Likewise.
9762 (head) [MODE_ODC]: Adapt for the format.
9763 (head) [MODE_NEWC]: Likewise.
9764 (head) [!MODE_*]: Write fields of interest as arrays.
9765 (MAGIC_USTAR): Removed.
9766 (read_number) [MODE_NEWC]: Change to hex.
9767 (read_number) [!MODE_*]: Parse binary arrays.
9768 (grub_cpio_find_file): Factor out the code for better structure and
9769 always use read_number.
9770 (grub_cpio_mount): Use MAGIC and MAGIC2.
9771 (grub_cpio_dir): Exit on first hook non-0 return.
9772 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
9773 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
9774 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
9775 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
9776 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
9777 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
9778 * grub-core/fs/newc.c: New file.
9779 * grub-core/fs/odc.c: Likewise.
9780 * grub-core/fs/cpio_be.c: Likewise.
9781
58eba9ee
VS
97822011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 Fix handling of tar numbers occupying the whole field.
9785
9786 * grub-core/fs/cpio.c (read_number): New function.
9787 (grub_cpio_find_file): Use read_number instead of strtoull.
9788
a54a0e12
VS
97892011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
9792 occupying the whole field size.
9793
a6120aca
LA
97942011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
9795
9796 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
9797
a93964ce
VS
97982011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
9801
3ea1ca46
SG
98022011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
9803
9804 * grub-core/Makefile.core.def (lzma_decompress): Add missing
9805 TARGET_IMG_LDFLAGS.
9806
b87f7ef2
VS
98072011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9808
9809 * util/getroot.c (ESCAPED_PATH_MAX): New define.
9810 (mountinfo_entry): Increase the field size to take escaping into
9811 account.
9812 (find_root_device_from_libzfs): Add one byte to size of strings for
9813 security.
9814
62092395
VS
98152011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9816
9817 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
9818 an assert.
9819 * util/grub-setup.c (setup): Likewise.
9820
1f0b1a77
VS
98212011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
9824 _LzmaDecodeA.
9825
8eba9997
VS
98262011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 * docs/grub.texi (Internationalisation): New section.
9829
dd0c91e9
VS
98302011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 * docs/grub.texi (Loopback booting): New section.
9833
98342011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
9835
9836 * util/grub-mkstandalone.in: Fix minor typo errors.
9837
198e150a
VS
98382011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
9841
9842 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
9843 net/icmp.c and net/icmp6.c.
9844 (http): New module.
9845 (priority_queue): Likewise.
9846 * grub-core/io/bufio.c: Rewritten.
9847 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
9848 TYPE_WITH_CONFIGFILE_OPTION.
9849 (legacy_commands): Add bootp and dhcp.
9850 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
9851 (grub_legacy_parse): Likewise.
9852 * grub-core/lib/priority_queue.c: New file.
9853 * grub-core/net/arp.c: Add missing license header.
9854 (arp_find_entry): Removed.
9855 (arp_find_entry): Likewise.
9856 (grub_net_arp_resolve): Rename to ...
9857 (grub_net_arp_send_request): ...this.
9858 (grub_net_arp_receive): New card argument.
9859 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
9860 Set router and DNS server.
9861 (grub_net_configure_by_dhcp_ack): Handle routing information.
9862 (grub_cmd_bootp): Set checksum.
9863 (grub_bootp_init): Remove net_dhcp.
9864 * grub-core/net/dns.c: New file.
9865 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
9866 completion.
9867 (get_card_packet): Handle allocation.
9868 (grub_efinet_findcards): Set mtu.
9869 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
9870 (get_card_packet): Handle allocation.
9871 (emucard): Set mtu.
9872 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
9873 (GRUB_MOD_INIT): Set mtu.
9874 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
9875 mtu.
9876 (get_card_packet): Handle allocation.
9877 (grub_ofnet_findcards): Set mtu.
9878 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
9879 assert.
9880 (grub_net_recv_ethernet_packet): Handle IPv6.
9881 * grub-core/net/http.c: New file.
9882 * grub-core/net/icmp.c: Likewise.
9883 * grub-core/net/icmp6.c: Likewise.
9884 * grub-core/net/ip.c (ip6addr): New type.
9885 (ip6hdr): Likewise.
9886 (reassemble): Likewise.
9887 (cmp): New function.
9888 (reassembles): New variable.
9889 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
9890 (id): New variable.
9891 (send_fragmented): New function.
9892 (grub_net_send_ip_packet): Rename to ...
9893 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
9894 Handle non-UDP.
9895 (grub_net_recv_ip_packets): Rename to ...
9896 (handle_dgram): ... this. Check checksum. Handle non-UDP.
9897 (free_rsm): New function.
9898 (free_old_fragments): Likewise.
9899 (grub_net_recv_ip4_packets): New function.
9900 (grub_net_send_ip6_packet): Likewise.
9901 (grub_net_send_ip_packet): Likewise.
9902 (grub_net_recv_ip6_packets): Likewise.
9903 (grub_net_recv_ip_packets): Likewise.
9904 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
9905 (LINK_LAYER_CACHE_SIZE): New const.
9906 (link_layer_find_entry): New function.
9907 (grub_net_link_layer_add_address): Likewise.
9908 (grub_net_link_layer_resolve_check): Likewise.
9909 (grub_net_link_layer_resolve): Likewise.
9910 (grub_net_ipv6_get_slaac): Likewise.
9911 (grub_net_ipv6_get_link_local): Likewise.
9912 (grub_cmd_ipv6_autoconf): Likewise.
9913 (parse_ip): Handle one number representation.
9914 (parse_ip6): New functoion.
9915 (match_net): Handle IPv6.
9916 (grub_net_resolve_address): Handle IPv6 and DNS.
9917 (grub_net_resolve_net_address): Handle IPv6.
9918 (route_cmp): New function.
9919 (grub_net_route_address): Find best route.
9920 (grub_net_addr_to_str): Handle IPv6.
9921 (grub_net_addr_cmp): New function.
9922 (grub_net_add_addr): Register local route.
9923 (print_net_address): Handle net address.
9924 (grub_net_poll_cards): Retransmit TCP.
9925 (grub_net_poll_cards_idle_real): Likewise.
9926 (have_ahead): New function.
9927 (grub_net_seek_real): Use underlying seek.
9928 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
9929 * grub-core/net/tcp.c: New file.
9930 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
9931 (cmp): New function.
9932 (ack): Likewise.
9933 (tftp_receive): Handle unordered input.
9934 (destroy_pq): New function.
9935 (tftp_close): Close pq.
9936 * grub-core/net/udp.c: Put missing license header.
9937 (grub_net_udp_socket): New function.
9938 (udp_socket_register): Likewise.
9939 (grub_net_udp_close): Likewise.
9940 (grub_net_recv_udp_packet): Check checksum.
9941 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
9942 * include/grub/misc.h (grub_memchr): New function.
9943 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
9944 (grub_net_card_driver): Return buf in recv.
9945 (grub_net_slaac_mac_list): New struct.
9946 (grub_network_level_protocol_id): Add ipv6.
9947 (grub_net_network_level_addr): Likewise.
9948 (grub_net_network_level_net_addr): Likewise.
9949 (grub_net_app_protocol): Add seek.
9950 (grub_net_socket): Removed.
9951 (grub_net_sockets): Likewise.
9952 (grub_net_socket_register): Likewise.
9953 (grub_net_socket_unregister): Likewise.
9954 (FOR_NET_SOCKETS): Likewise.
9955 (grub_net_add_addr): Add const.
9956 (GRUB_NET_BOOTP_*): New enum.
9957 (grub_net_addr_cmp): New proto.
9958 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
9959 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
9960 (grub_net_hwaddr_to_str): NEw proto.
9961 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
9962 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
9963 (grub_dns_init): New proto.
9964 (grub_dns_fini): Likewise.
9965 (grub_net_tcp_retransmit): Likewise.
9966 (grub_net_link_layer_add_address): Likewise.
9967 (grub_net_link_layer_resolve_check): Likewise.
9968 (grub_net_link_layer_resolve): Likewise.
9969 (grub_net_dns_lookup): Likewise.
9970 (grub_net_add_dns_server): Likewise.
9971 (grub_net_remove_dns_server): Likewise.
9972 (GRUB_NET_TRIES): New const.
9973 (GRUB_NET_INTERVAL): Likewise.
9974 * include/grub/net/arp.h: Mostly rewritten.
9975 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
9976 * include/grub/net/ip.h: Mostly rewritten.
9977 * include/grub/net/netbuff.h: Indent.
9978 * include/grub/net/tcp.h: New file.
9979 * include/grub/net/udp.h: Mostly rewritten.
9980 * include/grub/priority_queue.h: New file.
9981 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
9982 (grub_swap_bytes64_compile_time): Likewise.
9983 (grub_cpu_to_be16_compile_time): Likewise.
9984 (grub_cpu_to_be32_compile_time): Likewise.
9985 (grub_cpu_to_be64_compile_time): Likewise.
9986 (grub_be_to_cpu64_compile_time): Likewise.
9987
215c1800
VS
99882011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
9991 UINT_TO_PTR with cast.
9992
c17e546c
VS
99932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
9996 don't use them.
9997
ff6b18b6
VS
99982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
10001 already there.
10002
70ffcc93
VS
100032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10004
10005 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
10006 confusing ipxe.
10007
e5f4d260
VS
100082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
10011 Add missing const attribute.
10012 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
10013 Likewise.
10014 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
10015 Likewise.
10016
8e54b4b7
VS
100172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
10020 misaligned access.
10021 (serpent_setkey): Likewise.
10022 (serpent_encrypt_internal): Likewise.
10023 (serpent_decrypt_internal): Likewise.
10024 (serpent_encrypt): Don't put an alignment-increasing cast.
10025 (serpent_decrypt): Likewise.
10026 (serpent_test): Likewise.
10027
813c0a2b
VS
100282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
10031
f2b60fbd
VS
100322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
10035
10036 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
10037 grub_addr_t casts.
10038 (PTR_TO_UINT64): Likewise.
10039 (PTR_TO_UINT32): Likewise.
10040
5ef5c511
VS
100412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 * util/grub-mkimage.c (generate_image): Decrease the higher limit
10044 because of stack.
10045 * util/grub-setup.c (setup): Don't add redundancy past the higher load
10046 limit.
10047
c476e6df
VS
100482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
10051 text_width > available width a bit more gracefully.
10052
384ad7cc
VS
100532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
10056 current address calculation.
10057
96f8caf8
VS
100582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
10061 stack.
10062 (encode_block): Likewise.
10063
276b7a8b
VS
100642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
10067 certainety.
10068
e3fd394a
VS
100692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
10072 non-RS part to avoid RS messing with GDT.
10073 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10074 Increase to suit in realmode routines.
10075
100762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 * grub-core/kern/i386/realmode.S: Increase alignment.
10079 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
10080
ee9c2e7a
VS
100812011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
10084 be deterministic.
10085 (syndroms): Compute 0 syndrom.
10086 (rs_recover): Use 0 syndrom.
10087
7a7f7cc9
VS
100882011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
10091
a14b16d1
VS
100922011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
10095 brackets.
10096
9f59e9fc
VS
100972011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10098
ca1b552c
VS
10099 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
10100 account.
10101 (get_top_pad): Likewise.
10102 (get_right_pad): Likewise.
10103 (get_bottom_pad): Likewise.
10104
101052011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 10108
e739d698
VS
101092011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10110
10111 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
10112 attribute as the structure isn't guaranteed to be properly aligned.
10113 (grub_efi_pci_device_path): Likewise.
10114 (grub_efi_pccard_device_path): Likewise.
10115 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
10116 specify the size of `memory_type'.
10117 (grub_efi_vendor_device_path): Likewise.
10118 (grub_efi_controller_device_path): Likewise.
10119 (grub_efi_acpi_device_path): Likewise.
10120 (grub_efi_expanded_acpi_device_path): Likewise.
10121 (grub_efi_atapi_device_path): Likewise.
10122 (grub_efi_scsi_device_path): Likewise.
10123 (grub_efi_fibre_channel_device_path): Likewise.
10124 (grub_efi_1394_device_path): Likewise.
10125 (grub_efi_usb_device_path): Likewise.
10126 (grub_efi_usb_class_device_path): Likewise.
10127 (grub_efi_i2o_device_path): Likewise.
10128 (grub_efi_mac_address_device_path): Likewise.
10129 (grub_efi_ipv4_device_path): Likewise.
10130 (grub_efi_ipv6_device_path): Likewise.
10131 (grub_efi_infiniband_device_path): Likewise.
10132 (grub_efi_uart_device_path): Likewise.
10133 (grub_efi_vendor_messaging_device_path): Likewise.
10134 (grub_efi_hard_drive_device_path): Likewise.
10135 (grub_efi_cdrom_device_path): Likewise.
10136 (grub_efi_vendor_media_device_path): Likewise.
10137 (grub_efi_file_path_device_path): Likewise.
10138 (grub_efi_protocol_device_path): Likewise.
10139 (grub_efi_piwg_device_path): Likewise.
10140 (grub_efi_bios_device_path): Likewise.
10141
cb8f88ea
VS
101422011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10143
10144 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
10145 (grub_ucs4_to_utf8_alloc): Likewise.
10146 (grub_ucs4_to_utf8): Likewise.
10147 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
10148 (grub_ucs4_to_utf8_alloc): Likewise.
10149
309e5352
VS
101502011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10151
10152 AFFS never uses unicode.
10153
10154 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
10155 (grub_latin1_to_utf8): New inline function.
10156 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
10157
e7987e1b
VS
101582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
10161 overflow.
10162
efc2616e
VS
101632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
10166 (grub_squash_dirent_header): Likewise.
10167 (read_chunk): Don't double swap.
10168 (grub_squash_iterate_dir): Fix swap sizes.
10169
3c349f5a
VS
101702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
10173
b453412d
VS
101742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
10177 (grub_hfs_iterate_dir): Likewise.
10178
12e9d4d1
VS
101792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 Fix video on platforms where unaligned access is forbidden.
10182 Make several optimisations while on it.
10183
10184 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
10185 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10186 (grub_video_fbblit_replace_32bit_1bit): Likewise.
10187 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10188 Disable.
10189 (grub_video_fbblit_replace_16bit_1bit):
10190 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10191 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10192 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
10193 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
10194 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10195 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10196 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
10197 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
10198 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
10199 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
10200 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
10201 (grub_video_fbblit_replace_index_RGB888): Likewise.
10202 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
10203 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
10204 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
10205 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
10206 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
10207 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10208 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10209 Disable.
10210 (grub_video_fbblit_blend_XXX565_1bit):
10211 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10212 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
10213 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
10214 void *.
10215 * grub-core/video/fb/video_fb.c (common_blitter)
10216 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
10217 (grub_video_fb_create_render_target_from_pointer)
10218 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10219 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
10220 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
10221 definition.
10222 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
10223
ace96609
VS
102242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
10227 HH22 and HM10 relocations.
10228
fd261d73
VS
102292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
10232
e59b7857
VS
102332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
10236 allocation succeeded.
10237
9b4baaa4
VS
102382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10239
10240 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
10241 argument a u8 pointer. All users updated.
10242 Handle unaligned buffers.
10243
dc713193
VS
102442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
10247 add_part to workaround compiler bug.
10248
30dd48c2
VS
102492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
10252
0c6087a8
VS
102532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10254
10255 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
10256 Reserve alignment invariants.
10257 (grub_multiboot_load): Likewise.
10258 (retrieve_video_parameters): Likewise.
10259 (grub_multiboot_make_mbi): Likewise.
10260
c2e77777
VS
102612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
10264 incorrect pointer.
10265
b70b6d11
VS
102662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
10269 (grub_pata_pio_write): Likewise.
10270
02a2bf83
VS
102712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 Add noreturn attributes and remove unreachable code.
10274
10275 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
10276 code.
10277 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
10278 code. Mark as noreturn.
10279 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
10280 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
10281 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
10282 unreachable code.
10283 * grub-core/kern/main.c (grub_main): Mark as noreturn.
10284 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
10285 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
10286 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
10287 * include/grub/kernel.h (grub_main): Mark as noreturn.
10288 * include/grub/reader.h (grub_rescue_run): Likewise.
10289
2019d09e
VS
102902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
10293 redundant declaration.
10294
d1c501ee
VS
102952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * include/grub/net.h (grub_net_network_level_interfaces): Remove
10298 redundant declaration.
10299 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
10300
61664420
VS
103012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
10304 to ensure alignment.
10305 (grub_hdparm_print_identify): Make argument uint16 * to ensure
10306 alignment. Ensure tmp alignment.
10307 (grub_cmd_hdparm): Ensure buf alignment.
10308 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
10309 to ensure alignment.
10310 (grub_ata_dumpinfo): Ensure text alignment.
10311 (grub_atapi_identify): Preserve alignment invariant.
10312 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
10313
0d51ee20
VS
103142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
10317 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
10318 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
10319 * include/grub/misc.h (grub_reboot)
10320 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
10321 (grub_halt) [__mips__]: Likewise.
10322
753ef8c1
VS
103232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
10326 Remove redundant declaration.
10327 (grub_mmap_get_post64): Likewise.
10328 (grub_mmap_get_upper): Likewise.
10329 (grub_mmap_get_lower): Likewise.
10330
85c85365
VS
103312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10332
10333 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
10334 uint32_t * to ensure alignment.
10335 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
10336
a23f2cc4
VS
103372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10338
93018f64
VS
10339 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
10340 uint16_t * to ensure alignment.
10341 (sun_pc_partition_map_iterate): Make `block' a union to ensure
10342 alignment.
10343
103442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
10347 to ensure alignment.
10348 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
10349
58acccd6
VS
103502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 * grub-core/fs/ntfs.c (u16at): Make into inline function.
10353 Handle unaligned pointers.
10354 (u32at): Likewise.
10355 (u64at): Likewise.
10356 (fixup): Use byte access instead of v16at.
10357 (find_attr): Fix imporper usage of v32at.
10358 (read_data): Likewise.
10359 (list_file): Handle byte-swapping and unaligned strings.
10360 (grub_ntfs_label): Likewise.
10361
9b05cad7
VS
103622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
10365 as it's not necessarily aligned.
10366
b3950b84
VS
103672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10368
10369 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
10370 redundant declaration.
10371 (grub_serial_init): Likewise.
10372 (grub_terminfo_init): Likewise.
10373
fcd232b7
VS
103742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10375
10376 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
10377 function.
10378 (ZAP_HASH_IDX): Likewise.
10379 (ZAP_LEAF_HASH_SHIFT): Likewise.
10380 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
10381 (LEAF_HASH): Likewise.
10382 (ZAP_LEAF_NUMCHUNKS): Likewise.
10383 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
10384 alignment invariants. Return pointer. All users updated.
10385 (ZAP_LEAF_ENTRY): Make into inline function.
10386 (NBBY): Removed.
10387 (xor): LIkewise.
10388 (xor_out): Use grub_crypto_xor.
10389 (dnode_get_path): Use grub_get_unaligned.
10390 (nvlist_find_value): Likewise.
10391 (grub_zfs_nvlist_lookup_uint64): Likewise.
10392 (grub_zfs_nvlist_lookup_string): Likewise.
10393 (get_nvlist_size): Likewise.
10394 (grub_zfs_open): Likewise.
10395 (fill_fs_info): Likewise.
10396 (grub_zfs_dir): Likewise.
10397 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
10398 alignment invariants.
10399 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
10400 necessarily aligned.
10401
f138623a
VS
104022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
10405
564840dc
VS
104062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
10409 arithmetic to conserve alignment invariants.
10410
9b40df20
VS
104112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
10414 redundant declaration.
10415 (grub_efiemu_mm_obtain_request): Likewise.
10416 (grub_efiemu_prepare): Likewise.
10417
d1c930f9
VS
104182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
10421 to match types.
10422
4c5f3056
VS
104232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
10426 case of aunaligned recptr.
10427 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
10428 alignment.
10429 (grub_hfsplus_btree_search): Handle unaligned index.
10430
728cba91
VS
104312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
10434 to get freetag and skip.
10435
eb561f31
VS
104362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
10439 array.
10440 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
10441 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
10442
20993fbb
VS
104432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10444
10445 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
10446 name for checksum and fix allocation algorithm.
10447
1f313b94
VS
104482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10449
10450 * include/grub/types.h (grub_properly_aligned_t): New type.
10451 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
10452 (grub_get_unaligned16): Add explicit casts.
10453 (grub_get_unaligned32): Likewise.
10454 (grub_get_unaligned64): Likewise.
10455 (grub_set_unaligned16): New function.
10456 (grub_set_unaligned32): Likewise.
10457
47ae27ec
VS
104582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10461
78c2cd1c
VS
104622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10463
10464 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
10465 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
10466 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
10467
53072f9b
VS
104682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
10471 conditionals.
10472
055dc239
VS
104732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
10476 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
10477
496bd074
VS
104782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10479
10480 Unify and improve RAID and crypto xor.
10481
10482 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
10483 changed to grub_crypto_xor
10484 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
10485 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
10486 Use bigger types when possible.
10487
ef6e4335
VS
104882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 * grub-core/disk/raid.c (scan_devices): Fix condition.
10491
5d048bf2
VS
104922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
10495 Make name a const ptr.
10496
ee533335
VS
104972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
10500 first argument a const pointer.
10501 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10502 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
10503 proto.
10504 (grub_children_iterate): Likewise.
10505 (grub_machine_mmap_iterate): Remove redundant declaration.
10506
cc8f3668
VS
105072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10508
10509 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
10510 (grub_cmd_acpi) [!x86]: Disable EBDA.
10511
c5fc563a
VS
105122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10513
10514 Enable UTF8 in gnulib regexp.
10515
10516 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
10517 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
10518 (isupper): Use grub_isupper.
10519 (isascii): New inline function.
10520 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
10521 * grub-core/lib/posix_wrap/wctype.h: Likewise.
10522 * grub-core/normal/charset.c (grub_utf8_process): New function.
10523 (grub_utf8_to_utf16): Use grub_utf8_process.
10524 (grub_encode_utf8_character): New function.
10525 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
10526 * include/grub/charset.h (grub_utf8_process): New declaration.
10527 (grub_encode_utf8_character): Likewise.
10528 * include/grub/misc.h (grub_islower): New inline function.
10529 (grub_isupper): Likewise.
10530 (grub_strchrsub): Moved down to fix the definitions.
10531
0af2346f
VS
105322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
10535 specification.
10536
74dbd244
VS
105372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * include/grub/loader.h (grub_loader_register_preboot_hook):
10540 Use struct preboot * and not void * for handle. All users updated.
10541 (grub_loader_unregister_preboot_hook): Likewise.
10542
1bc8f60d
VS
105432011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
10546 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
10547 UTF-16-BE. All users updated.
10548 (grub_hfsplus_cmp_catkey): Fix unicode handling.
10549 (grub_hfsplus_iterate_dir): Likewise.
10550 (grub_hfsplus_label): Likewise.
10551
48d6e456
VS
105522011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10553
10554 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
10555
bf3a3857
VS
105562011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 Add missing const qualifiers.
10559
10560 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
10561 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
10562 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
10563 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
10564 (grub_lvm_check_flag): Likewise.
10565 * grub-core/efiemu/i386/coredetect.c
10566 (grub_efiemu_get_default_core_name): Likewise
10567 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10568 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
10569 * grub-core/fs/ntfs.c (fixup): Likewise.
10570 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
10571 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
10572 (fzap_lookup): Likewise.
10573 (zap_lookup): Likewise.
10574 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
10575 * grub-core/lib/legacy_parse.c (check_option): Likewise.
10576 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
10577 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
10578 (grub_freebsd_add_meta_module): Likewise.
10579 (grub_cmd_freebsd_module): Likewise.
10580 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
10581 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
10582 (grub_xnu_writetree_get_size): Likewise.
10583 (grub_xnu_writetree_toheap_real): Likewise.
10584 (grub_xnu_find_key): Likewise.
10585 (grub_xnu_create_key): Likewise.
10586 (grub_xnu_create_value): Likewise.
10587 (grub_xnu_register_memory): Likewise.
10588 (grub_xnu_check_os_bundle_required): Likewise.
10589 (grub_xnu_scan_dir_for_kexts): Likewise.
10590 (grub_xnu_load_kext_from_dir): Likewise.
10591 * grub-core/normal/color.c (color_list): Likewise.
10592 * grub-core/normal/completion.c (current_word): Likewise.
10593 * grub-core/normal/menu_entry.c (insert_string): Likewise.
10594 * grub-core/term/serial.c (grub_serial_find): Likewise.
10595 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
10596 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
10597 Likewise.
10598 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
10599 (grub_freebsd_add_meta_module): Likewise.
10600 * include/grub/lib/arg.h (grub_arg_option): Likewise.
10601 * include/grub/net.h (grub_net_card_driver): Likewise.
10602 (grub_net_card): Likewise.
10603 (grub_net_app_protocol): Likewise.
10604 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
10605 * include/grub/serial.h (grub_serial_find): Likewise.
10606 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
10607 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
10608 (grub_xnu_create_value): Likewise.
10609 (grub_xnu_find_key): Likewise.
10610 (grub_xnu_scan_dir_for_kexts): Likewise.
10611 (grub_xnu_load_kext_from_dir): Likewise.
10612
10613 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
10614 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
10615 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
10616 Moved from here ...
10617 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
10618
112b4837
CW
106192011-11-28 Colin Watson <cjwatson@ubuntu.com>
10620
10621 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
10622
49e891ac
VS
106232011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
10624
10625 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
10626 (read_device): Fix size calculation.
10627
fd258e5c
RM
106282011-11-25 Robert Millan <rmh@gnu.org>
10629
10630 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
10631 (find_root_device_from_libzfs): Add zpool output parser to be used
10632 as fallback when libzfs isn't available.
10633
78845dc2
SG
106342011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
10635
10636 * po/Makefile.in.in: Add missing escape-continuation.
10637
adac5211
VS
106382011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
10639
10640 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
10641
10b64f1c
VS
106422011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
10645
bb416954
VS
106462011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
10649
bdfe9eeb
VS
106502011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10651
10652 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
10653
581ffa8a
VS
106542011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10655
10656 * grub-core/lib/adler32.c: Add missing license specification.
10657 * grub-core/lib/crc64.c: Likewise.
10658 * grub-core/loader/i386/pc/plan9.c: Likewise.
10659 * grub-core/partmap/plan.c: Likewise.
10660
2536cf64
LK
106612011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
10662
10663 Add facility to debug GRUB with gdb under qemu.
10664
10665 * grub-core/gdb_grub.in: New file.
10666 * grub-core/gmodule.pl.in: Likewise.
10667 * grub-core/Makefile.core.def (gmodule.pl): New script.
10668 (gdb_grub): Likewise.
10669
bc108a4a
VS
106702011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 * util/grub-mount.c (argp_parser): Accept relative pathes.
10673 * util/grub-fstest.c (argp_parser): Likewise.
10674
111c1778
VS
106752011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10676
10677 Plan9 support.
10678
10679 * Makefile.util.def (libgrubmods): Add
10680 grub-core/partmap/plan.c.
10681 * docs/grub.texi: Notice Plan9 support.
10682 * grub-core/Makefile.core.def (plan9): New module.
10683 (part_plan): Likewise.
10684 * grub-core/loader/i386/pc/plan9.c: New file.
10685 * grub-core/partmap/plan.c: Likewise.
10686 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
10687 define.
10688 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
10689 * include/grub/mm.h (grub_extend_alloc): New inline function.
10690
c30be3b6
VS
106912011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 Make Reed-Solomon faster by using power of generator representation of
10694 GF(256)*.
10695
10696 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
10697 (gf_double_t): Likewise.
10698 (gf_invert): Removed.
10699 (gf_powx): New array.
10700 (gf_powx_inv): Likewise.
10701 (scratch): Move higher.
10702 (gf_reduce): Removed.
10703 (gf_mul): Use powx.
10704 (gf_invert): Likewise.
10705 (init_inverts): Replaced with ...
10706 (init_powx): ...this. All users updated.
10707 (pol_evaluate): Replace multiplications with additions.
10708 (rs_encode): Likewise.
10709 (gauss_eliminate): Call gf_invert.
10710 (grub_reed_solomon_add_redundancy): Call init_powx.
10711 (grub_reed_solomon_recover): Call init_powx unconditionally.
10712
fa5aeffc
VS
107132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
10716
a346b81c
VS
107172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10718
10719 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
10720 disk->partiton for safety.
10721
d89ee414
VS
107222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10725 Fix a memory leak.
10726 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
10727
91ee7b6d
VS
107282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10729
10730 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
10731
91e5a33d
VS
107322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
10735
9edd7be2
VS
107362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 Fix spaces handling in proc/self/mountinfo.
10739
10740 * util/getroot.c (unescape): New function.
10741 (grub_find_root_device_from_mountinfo): Use unescape.
10742
ba102053
VS
107432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 Support ZFS embedding.
10746
10747 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
10748 (grub_zfs_fs): Register grub_zfs_embed.
10749
aa94b870
VS
107502011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 Fix MIPS compilation.
10753
10754 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
10755 * include/grub/offsets.h: Rename decompressor fields from
10756 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
10757 * util/grub-mkimage.c (image_targets): Use new names.
10758
5fbdac14
VS
107592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 Defer multiboot device parsing until we're in compressed part.
10762
10763 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
10764 bsd_part. setdevice has fallen into disuse.
10765 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
10766 (bsd_part): Likewise.
10767 (boot_dev): New variable.
10768 (multiboot_trampoline): Don't parse multiboot device.
10769 Pass multiboot device in %edx.
10770 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
10771 grub_boot_device.
10772 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
10773 Likewise.
10774 * grub-core/kern/i386/pc/startup.S: Save edx.
10775 (grub_boot_drive): Removed.
10776 (grub_install_dos_part): Likewise.
10777 (grub_install_bsd_part): Likewise.
10778 (grub_boot_device): New variable.
10779 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
10780 (grub_install_bsd_part): Likewise.
10781 (grub_boot_drive): Likewise.
10782 (grub_boot_device): New variable.
10783 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
10784 Removed.
10785 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
10786 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
10787 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
10788 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
10789 * util/grub-install.in: Remove redundant condition.
10790
691cbb58
VS
107912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 Fix bug introduced by previous commit.
10794
10795 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
10796
60240b8b
VS
107972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 Use decompressors framework on i386-pc. It increases core size
10800 by 46 bytes but improves compatibility and maintainability.
10801
10802 * grub-core/Makefile.core.def (lzma_decompress): New image.
10803 (kernel): Add i386_pc_ldflags.
10804 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
10805 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
10806 to real_to_prot, prot_to_real and device info.
10807 * include/grub/offsets.h: Renamed decompressor offsets.
10808 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
10809 (image_target_desc): Remove raw_size and rename decompressor fields.
10810 (compress_kernel): Handle lzma.
10811 (generate_image): Handle decompressors on i386-pc.
10812
e9d3421c
VS
108132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 * configure.ac: Add -fno-asynchronous-unwind-tables.
10816
2b23074a
VS
108172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10818
10819 Move assembly code to C by using intwrap. It increases core size
10820 by 88 bytes but improves compatibility and maintainability.
10821
10822 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
10823 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
10824 ... here. Translated to C.
10825 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
10826 * grub-core/term/i386/pc/console.c (grub_console_getkey):
10827 ... here. Translated to C.
10828 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
10829 * grub-core/term/i386/pc/console.c (grub_console_getxy):
10830 ... here. Translated to C.
10831 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
10832 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
10833 ... here. Translated to C.
10834 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
10835 * grub-core/term/i386/pc/console.c (grub_console_cls):
10836 ... here. Translated to C.
10837 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
10838 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
10839 ... here. Translated to C.
10840 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
10841 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
10842 Translated to C.
10843 * grub-core/term/i386/pc/console.c (int10_9): New function.
10844 (grub_console_putchar): Likewise.
10845 * include/grub/i386/pc/console.h: Removed the not anymore shared
10846 functions.
10847
678f4b67
VS
108482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 Move grub_chainloader_real_boot out of the kernel.
10851
10852 * grub-core/Makefile.am: Remove machine/loader.h.
10853 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10854 Removed.
10855 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
10856 variable.
10857 (grub_relocator16_keep_a20_enabled): Likewise.
10858 (grub_relocator16_boot): Fill new variables.
10859 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
10860 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
10861 relocator.
10862 (grub_chainloader_unload): Likewise.
10863 (grub_chainloader_cmd): Likewise.
10864 * include/grub/i386/pc/loader.h: Removed.
10865 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
10866 and esi. All initialisers updated.
10867
4626edf6
VS
108682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
108692011-11-12 Colin Watson <cjwatson@ubuntu.com>
10870
10871 * Makefile.util.def (grub-mount): New util.
10872 * .bzrignore: Add grub-mount.
10873 * configure.ac: Check for fuse and enable grub-mount if available.
10874 * docs/man/grub-mount.h2m: New file.
10875 * util/grub-mount.c: Likewise.
10876
10f0117b
VS
108772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 * grub-core/commands/efi/fixvideo.c: Gettextize.
10880 * grub-core/commands/hashsum.c: Likewise.
10881 * grub-core/commands/i386/cmostest.c: Likewise.
10882 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10883 * grub-core/commands/i386/pc/lsapm.c: Likewise.
10884 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10885 * grub-core/commands/lsmmap.c: Likewise.
10886 * grub-core/commands/menuentry.c: Likewise.
10887 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10888 * grub-core/commands/setpci.c: Likewise.
10889 * grub-core/loader/i386/bsd.c: Likewise.
10890 * grub-core/loader/i386/linux.c: Likewise.
10891 * util/getroot.c: Likewise.
10892 * util/grub-editenv.c: Likewise.
10893 * util/grub-fstest.c: Likewise.
10894 * util/grub-mkfont.c: Likewise.
10895 * util/grub-mkimage.c: Likewise.
10896 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10897 * util/grub-pe2elf.c: Likewise.
10898 * util/grub-probe.c: Likewise.
10899 * util/grub-setup.c: Likewise.
10900 * util/ieee1275/ofpath.c: Likewise.
10901 * util/misc.c: Likewise.
10902 * util/raid.c: Likewise.
10903
566f779b
RM
109042011-11-11 Robert Millan <rmh@gnu.org>
10905
10906 * util/getroot.c (grub_util_get_geom_abstraction): Remove
10907 __attribute__((unused)) from `os_dev', which *is* being used.
10908
b50787de
VS
109092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
10912 forgotten define.
10913 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
10914 GRUB_IA64_DL_GOT_ALIGN.
10915 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
10916 GRUB_IA64_DL_TRAMP_ALIGN.
10917
119d11c8
VS
109182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10919
10920 Replace grub_fatal with normal errors in i386 linux loader.
10921
10922 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
10923 (allocate_pages): Check find_efi_mmap_size return value.
10924 (grub_e820_add_region): Return error.
10925 (grub_linux_boot): Check mmap return value.
10926
6e0632e2
VS
109272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10928
10929 * grub-core/commands/acpihalt.c: Gettextized.
10930 * grub-core/commands/cacheinfo.c: Likewise.
10931 * grub-core/commands/cmp.c: Likewise.
10932 * grub-core/commands/efi/loadbios.c: Likewise.
10933 * grub-core/commands/gptsync.c: Likewise.
10934 * grub-core/commands/ieee1275/suspend.c: Likewise.
10935 * grub-core/commands/legacycfg.c: Likewise.
10936 * grub-core/commands/memrw.c: Likewise.
10937 * grub-core/commands/minicmd.c: Likewise.
10938 * grub-core/commands/parttool.c: Likewise.
10939 * grub-core/commands/time.c: Likewise.
10940 * grub-core/commands/videoinfo.c: Likewise.
10941 * grub-core/disk/geli.c: Likewise.
10942 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
10943 * grub-core/disk/luks.c: Likewise.
10944 * grub-core/disk/lvm.c: Likewise.
10945 * grub-core/font/font_cmd.c: Likewise.
10946 * grub-core/fs/zfs/zfscrypt.c: Likewise.
10947 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10948 * grub-core/gfxmenu/view.c: Likewise.
10949 * grub-core/kern/emu/hostdisk.c: Likewise.
10950 * grub-core/kern/emu/main.c: Likewise.
10951 * grub-core/kern/emu/misc.c: Likewise.
10952 * grub-core/kern/emu/mm.c: Likewise.
10953 * grub-core/kern/mips/arc/init.c: Likewise.
10954 * grub-core/kern/mips/loongson/init.c: Likewise.
10955 * grub-core/kern/partition.c: Likewise.
10956 * grub-core/lib/i386/halt.c: Likewise.
10957 * grub-core/lib/mips/arc/reboot.c: Likewise.
10958 * grub-core/lib/mips/loongson/reboot.c: Likewise.
10959 * grub-core/loader/i386/pc/chainloader.c: Likewise.
10960 * grub-core/loader/i386/xnu.c: Likewise.
10961 * grub-core/loader/multiboot.c: Likewise.
10962 * grub-core/net/bootp.c: Likewise.
10963 * grub-core/net/net.c: Likewise.
10964 * grub-core/normal/term.c: Likewise.
10965 * grub-core/partmap/bsdlabel.c: Likewise.
10966 * grub-core/parttool/msdospart.c: Likewise.
10967 * grub-core/term/gfxterm.c: Likewise.
10968 * grub-core/term/terminfo.c: Likewise.
10969 * grub-core/video/i386/pc/vbe.c: Likewise.
10970 * util/grub-menulst2cfg.c: Likewise.
10971 * util/grub-mkdevicemap.c: Likewise.
10972 * util/grub-mklayout.c: Likewise.
10973 * util/grub-mkrelpath.c: Likewise.
10974 * util/grub-script-check.c: Likewise.
10975 * util/ieee1275/grub-ofpathname.c: Likewise.
10976 * util/resolve.c: Likewise.
10977
073aa7a9
VS
109782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 Support %1$d syntax.
10981
10982 * tests/printf_unit_test.c: New file.
10983 * Makefile.util.def (printf_test): New test.
10984 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
10985
c76b5417
VS
109862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10987
10988 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
10989 fix.
10990
df067ad1
VS
109912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
10994 dprintf.
10995 * grub-core/font/font.c (grub_font_load): Likewise.
10996
5b289bc5
VS
109972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10998
10999 * util/grub-macho2img.c: Add comment concerning gettext.
11000 * grub-core/lib/legacy_parse.c: Likewise.
11001
c1860f87
VS
110022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
11005 (grub_xvasprintf): Likewise.
11006
d35d0d37
VS
110072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 Add const keyword to grub_env_get and gettextize week days.
11010
11011 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
11012 (grub_read_hook_datetime): Return const char *.
11013 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
11014 updated.
11015 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11016 Mark for gettext.
11017 (grub_get_weekday_name): Return const char *. Call gettext.
11018 * grub-core/script/argv.c (grub_script_argv_append): Receive const
11019 char * and len as the argument. All users updated.
11020 (grub_script_argv_split_append): Receive const char *.
11021 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
11022 * include/grub/env.h (grub_env_get): Likewise.
11023 (grub_env_read_hook_t): Return const char *.
11024 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
11025 (grub_script_argv_split_append): Likewise.
11026
9aed8a71
VS
110272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11028
11029 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
11030
067fdf00
VS
110312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
11034 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
11035
a8bd9d39
VS
110362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
11039 Fix prototype.
11040
f7ce5baf
VS
110412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 Fix mips compilation.
11044
11045 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
11046 normal decoder.
11047 (hashes): Use in embed decoder as well (for sizes).
11048 (dec_stream_header): Fix embed decompressor logic.
11049 (dec_stream_footer): Likewise.
11050
9bb182f3
VS
110512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
11054 an error and not a fatal on unrecognised relocation types.
11055
63a9e6f6
VS
110562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11059 Issue error rather than printf on unknown arguments.
11060
4c458569
VS
110612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
11064 Make buf a const.
11065
e2d22baf
VS
110662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
11069 Fix module name.
11070
53dc8590
VS
110712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
11074 leftover debug printf.
11075
6c189294
VS
110762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
11079
f7688369
VS
110802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
11083 A stylistic fix.
11084
11a775a3
VS
110852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
11088
33f784e8
SL
110892011-11-10 Shea Levy <slevy@tieronedesign.com>
11090
11091 Allow all modules to perform serial IO
11092
11093 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
11094 * include/grub/serial.h (grub_serial_port_configure): New inline
11095 function.
11096 (grub_serial_port_fetch): Likewise.
11097 (grub_serial_port_put): Likewise.
11098 (grub_serial_port_fini): Likewise.
11099 (grub_serial_find): New proto.
11100
f6276525
VS
111012011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 Put symlink at the end of the node and fix a potential
11104 memory corruption.
11105
11106 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
11107 Make symlink into an array.
11108 (set_rockridge): Set have_symlink and alloc_dirents.
11109 (grub_iso9660_read_symlink): Use new layout.
11110 (grub_iso9660_iterate_dir): Fix memory corruption.
11111 Use new layout.
11112 (grub_iso9660_dir): Set have_symlink.
11113 (grub_iso9660_open): Likewise.
11114
c3591189
VS
111152011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11116
11117 Remove local keyword.
11118
11119 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
11120 (version_test_gt): Likewise.
11121 (version_find_latest): Likewise.
11122 (gettext_printf): Likewise.
11123 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
11124
cb544caa
VS
111252011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
11128
45bd824d
VS
111292011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 Fix ZFS memory and resource leaks.
11132
11133 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
11134 All users updated.
11135 Free type on exit.
11136 (fill_vdev_info): New parameter inserted. All users updated.
11137 (check_pool_label): Likewise.
11138 (scan_disk): Likewise.
11139 (scan_devices): Close non-inserted disks.
11140 (fzap_iterate): Free l.
11141 (unmount_device): Free children descripto memory.
11142
ad9a2f44
VS
111432011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
11146 argument (access out of bounds).
11147
6b68db81
VS
111482011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11149
11150 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
11151 >= 6 drives.
11152
28840fda
VS
111532011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
11156 Fix declaration.
11157
8a5a3a5b
VS
111582011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 Fix several memory leaks.
11161
11162 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
11163 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
11164 (grub_cpio_dir): Likewise.
11165 * grub-core/fs/fat.c (grub_fat_label): Likewise.
11166 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
11167 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
11168 (grub_romfs_label): Likewise.
11169 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
11170 (squash_unmount): New function.
11171 (grub_squash_dir): Fix memory leak.
11172 (grub_squash_open): Likewise.
11173 (grub_squash_read): Likewise.
11174 (grub_squash_mtime): Likewise.
11175 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
11176 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
11177 * util/grub-fstest.c (fstest): Likewise.
11178
57b01250
VS
111792011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
11182 avoid accessing beyond the array.
11183
19e81ba7
VS
111842011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
11187
52b656c0
VS
111882011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 Several AFFS fixes.
11191
11192 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
11193 (GRUB_AFFS_FLAG_FFS): Removed.
11194 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
11195 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
11196 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
11197 (grub_fshelp_node): Make block 32-bit.
11198 Add block_cache and last_block_cache.
11199 (grub_affs_read_block): Fill and use block cache.
11200 (grub_affs_read_file): Removed.
11201 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
11202 boot block.
11203 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
11204 safety.
11205 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
11206 space.
11207 (grub_affs_close): Free block cache.
11208 (grub_affs_read): Use grub_fshelp_read_file directly.
11209
438a746a
VS
112102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
11213 with no error set.
11214
49a45021
VS
112152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11216
11217 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
11218 used variable.
11219 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11220 Likewise.
11221
3ae17eb8
VS
112222011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
11225
11226 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
11227 byteswap when needed.
11228
27610c38
VS
112292011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 Fix FreeBSD compilation.
11232
11233 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
11234 to avoid circular dependency.
11235 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
11236 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
11237 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
11238
4a19b601
VS
112392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11240
11241 Fix ZFS crypto error types.
11242
11243 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
11244 (grub_gcm_decrypt): Likewise.
11245 (grub_zfs_load_key_real): Fix error code type. Handle possible error
11246 from PBKDF2.
11247
958ee221
VS
112482011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 Illumos support.
11251
11252 * Makefile.util.def (10_illumos): New script.
11253 * configure.ac: Set COND_HOST_ILLUMOS.
11254 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
11255 Support Illumos calls.
11256 (find_partition_start) [__sun__]: Likewise.
11257 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
11258 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
11259 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
11260 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
11261 device.
11262 * util/grub-probe.c (probe) [__sun__]: Do character check.
11263 * util/grub.d/10_illumos.in: New file.
11264
cac14fb6
VS
112652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 Support escaped commas in hostdisk.
11268
11269 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
11270 (find_grub_drive): Use unescape_cmp.
11271 (make_device_name): Escape commas.
11272
78e08dc3
VS
112732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
11276
9f421dd1
VS
112772011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
11280 variable.
11281
ed64e9e2
VS
112822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11283
11284 Support trampoline jumps on powerpc.
11285
11286 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
11287 __ia64__ path.
11288 (grub_dl_load_segments): Set mod->sz.
11289 (grub_dl_flush_cache): Flush whole space occupied by module, not just
11290 segments.
11291 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
11292 (jump): Likewise.
11293 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
11294 function.
11295 (trampoline): New struct.
11296 (trampoline_template): New const.
11297 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
11298 * include/grub/dl.h (grub_dl): Add sz element.
11299 [__powerpc__]: Follow __ia64__.
11300 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
11301 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
11302 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
11303 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
11304
3084ede4
VS
113052011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 ZFS crypto support.
11308
11309 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
11310 * grub-core/Makefile.core.def (zfscrypt): New module.
11311 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
11312 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
11313 it. All users updated.
11314 (grub_zfs_decrypt): New var.
11315 (grub_zfs_load_key): Likewise.
11316 (zio_checksum_functions): Add SHA256+MAC.
11317 (zio_checksum_verify): Handle incomplete comparison due to MAC.
11318 (zio_read): Handle encrypted blocks.
11319 (zap_verify): Remove incorrect check.
11320 (fzap_iterate): Handle non-standard fzap.
11321 (zap_iterate): Likewise.
11322 (zap_iterate_u64): New function.
11323 (dnode_get_fullpath): Load keys.
11324 * grub-core/fs/zfs/zfscrypt.c: New file.
11325 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
11326 (grub_crypto_ecb_encrypt): Make input const.
11327 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
11328 (grub_crypto_ecb_encrypt): Make input const.
11329 (GRUB_CIPHER_AES): New macro.
11330 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
11331 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
11332 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
11333 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
11334 prefix. All users updated.
11335 (grub_zfs_add_key): New proto.
11336 (grub_zfs_decrypt): Likewise.
11337 (grub_zfs_load_key): Likewise.
11338 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
11339 * util/grub-fstest.c (options): Add -K option.
11340 (argp_parser): Likewise.
11341
b632b404
VS
113422011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11343
11344 Support zle compression on ZFS.
11345
11346 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
11347 (decomp_table): Add zle.
11348 * include/grub/zfs/zio.h (zio_compress): Add zle.
11349
c7ba4f69
VS
113502011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 Support BtrFS embedding.
11353
11354 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
11355 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
11356 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
11357 * util/grub-setup.c (setup): Use fs embedding if available.
11358 Add additional sanity check.
11359
455377d9
VS
113602011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11361
11362 * util/grub-install.in: Fix condition for config_opt.
11363
c2fd16ca
VS
113642011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11365
11366 Support third redundancy strip on raidz3.
11367
11368 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
11369 Return error on singularity. All users updated.
11370 (read_device): Don't stop on 3rd failure on raidz3.
11371
8622923b
VS
113722011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 Support case-insensitive ZFS subvolumes.
11375
11376 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
11377 All users updated.
11378 (zap_hash): Likewise.
11379 (name_cmp): New function.
11380 (zap_leaf_array_equal): New parameter case_insensitive.
11381 All users updated.
11382 (zap_leaf_lookup): Likewise.
11383 (fzap_lookup): Likewise.
11384 (zap_lookup): Likewise.
11385 (dnode_get_path): New parameter case_insensitive. Retrieve case
11386 sensitiviness of a volume. All users updated.
11387 (dnode_get_fullpath): New parameter case_insensitive.
11388 All users updated.
11389 (grub_zfs_dir): Set info.case_insensitiveness.
11390
95f2e860
VS
113912011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 Support second redundancy strip on raidz(2,3).
11394
11395 * grub-core/fs/zfs/zfs.c (powx): New array.
11396 (powx_inv): Likewise.
11397 (poly): New const.
11398 (xor_out): New function.
11399 (gf_mul): Likewise.
11400 (recovery): Likewise.
11401 (read_device): Use second redundancy strip.
11402
11ee4389
VS
114032011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11404
11405 Use a power of generator representation of GF(256) multiplication group
11406 to save space time and complexity.
11407
11408 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
11409 (raid6_table2): Likewise.
11410 (powx): New array.
11411 (powx_inv): Likewise.
11412 (poly): New const.
11413 (grub_raid_block_mul): Replace with ...
11414 (grub_raid_block_mulx): ...this.
11415 (grub_raid6_init_table): Rewritten.
11416 (grub_raid6_recover): Use power of generator representation.
11417
09e2763f
VS
114182011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
11421 for the right device.
11422
8bec9a28
VS
114232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
11426 expected by grub-mkimage and it's more clear since there is no implicit
11427 padding.
11428
dbd3a32e
VS
114292011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11430
11431 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
11432 disk.
11433 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11434
182c872a
PMH
114352011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
11436
11437 * util/grub-mkrescue.in: Fix handling xorriso option.
11438
1e51cabd
VS
114392011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11440
11441 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
11442 NULL.
11443
9cc3581d 114442011-11-03 crocket <crockabiscuit@gmail.com>
11445
11446 * util/grub.d/10_linux.in: Add Slackware initrd naming.
11447
158dc1ea
VS
114482011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11449
11450 XZ CRC64 and SHA256 support.
11451
11452 * Makefile.util.def (libgrubmods): Add crc64.c.
11453 * grub-core/Makefile.core.def (crc64): New module.
11454 * grub-core/lib/crc64.c: New file.
11455 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
11456 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
11457 Fix the type.
11458 (MAX_HASH_SIZE): New define.
11459 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
11460 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
11461 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11462 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11463 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
11464 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
11465 Handle non-crc32 hashes.
11466 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
11467 (dec_stream_header): Handle non-crc32 hashes.
11468 (dec_stream_footer): Likewise.
11469 (dec_block_header): Likewise.
11470 (dec_main): Likewise.
11471 (xz_dec_init): Likewise.
11472 (xz_dec_reset): Likewise.
11473 (xz_dec_end): Likewise.
11474 * util/import_gcry.py: Add CRC64 line.
11475
9d9b3d2f
VS
114762011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
11479 as well.
11480
7d0ac931
VS
114812011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 Make reiserfs label retrieval similar to other *_label functions.
11484
11485 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
11486 (REISERFS_MAX_LABEL_LENGTH): Removed.
11487 (REISERFS_LABEL_OFFSET): Likewise.
11488 (grub_reiserfs_label): Rewritten.
11489
114902011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
11493 field.
11494
cf5ba824
VS
114952011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11496
11497 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
11498
17744004
VS
114992011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
11502 drive failure on both raidz and raidz2.
11503
aca5aefc
VS
115042011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11505
11506 Fix RAIDZ(2) for >= 5 devices.
11507
11508 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
11509 asize argument. All users updated.
11510
ce8ca56e
VS
115112011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 Fix RAIDZ(2).
11514
11515 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
11516 (fill_vdev_info_real): Set ashift.
11517 (read_device): Rewrite RAIDZ part based on reverse engineering.
11518
7c01e783
VS
115192011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
11522 don't report potentially unavialiable fields in debug output.
11523 (find_path): Fix double-free and memory leak.
11524
ce109e84
VS
115252011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 Read label on UFS1.
11528
11529 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
11530 (grub_ufs_fs): Always set .label.
11531
87661123
VS
115322011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11533
11534 Use shifts in UFS.
11535
11536 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
11537 (grub_ufs_data): New field log2_blksz.
11538 (grub_ufs_read_file): Use shifts.
11539 (grub_ufs_mount): Check block size and logarithm it.
11540
46bc1dc2
VS
115412011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11542
11543 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
11544 long symlinks.
11545
19ee2987
VS
115462011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 Handle symlinks and long names on tar and cpio.
11549
11550 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
11551 (ATTR_FILE): Likewise.
11552 (ATTR_DIR): Likewise.
11553 (ATTR_LNK): Likewise.
11554 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
11555 (grub_cpio_find_file): Fill mode, handle linkname field as well as
11556 L and K entries.
11557 (grub_cpio_mount): Zero-fill data.
11558 (handle_symlink): New function.
46bc1dc2
VS
11559 (grub_cpio_dir): Handle symlinks.
11560 (grub_cpio_open): Likewise.
11561 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 11562
c83a08d8
VS
115632011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11564
11565 Fix iso9660 filename limitations and fix memory leaks.
11566
11567 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
11568 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
11569
45cdd3ea
VS
115702011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11571
11572 Fix JFS file name length limitations.
11573
11574 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
11575 (grub_jfs_diropen): Fix maximum filename length.
11576 (grub_jfs_getent): Fix filename length.
11577 (grub_jfs_lookup_symlink): Fix size checks.
11578
94ef05c2
VS
115792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11580
11581 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
11582 string.
11583
785ab8c7
VS
115842011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11585
eb0b6b45
VS
11586 Leverage BFS implementation to read AFS.
11587
11588 * Makefile.util.def (libgrubmods): Add afs.c.
11589 * grub-core/Makefile.core.def (afs): New module
11590 * grub-core/fs/afs.c: New file.
11591 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
11592
115932011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 11596
c4a1628f
VS
115972011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11598
11599 * grub-core/fs/bfs.c: Run indent.
11600
5825b379
VS
116012011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11602
11603 BFS implementation based on the specification.
11604
11605 * grub-core/fs/bfs.c: New file.
11606 * Makefile.util.def (libgrubmods): Add bfs.c.
11607 * grub-core/Makefile.core.def (bfs): New module.
11608
42b2a706
VS
116092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * util/grub-fstest.c (cmd_cp): Clarify error message.
11612 (cmd_cmp): Likewise.
11613
61b99bfc
YB
116142011-10-30 Yves Blusseau <blusseau@zetam.org>
11615
11616 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
11617 and befs_be.
11618
faba3d16
VS
116192011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 Remove afs and befs because of copyright problem.
11622
11623 * grub-core/fs/afs.c: Removed.
11624 * grub-core/fs/afs_be.c: Removed.
11625 * grub-core/fs/befs.c: Removed.
11626 * grub-core/fs/befs_be.c: Removed.
11627 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
11628 * grub-core/Makefile.core.def (afs): Removed.
11629 (afs_be): Likewise.
11630 (befs): Likewise.
11631 (befs_be): Likewise.
11632
c39224b0
VS
116332011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 Prefer rockridge over Joliet.
11636
11637 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
11638 to ...
11639 (set_rockridge): ... here.
11640 (grub_iso9660_mount): Check rockridge on the primary label when
11641 discovering. Ignore Joliet if Rockridge is present.
11642
e551115a
VS
116432011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11644
11645 Use shifts in nilfs2.
11646
11647 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
11648 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
11649 (grub_nilfs2_palloc_entries_per_group): Replace with ...
11650 (grub_nilfs2_log_palloc_entries_per_group): ... this.
11651 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
11652 (grub_nilfs2_entries_per_block): Replaced with ...
11653 (grub_nilfs2_log_entries_per_block_log): ... this.
11654 (grub_nilfs2_blocks_per_group): Replaced with ...
11655 (grub_nilfs2_blocks_per_group_log): ... this.
11656 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
11657 (grub_nilfs2_blocks_per_desc_block_log): ... this.
11658 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
11659 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
11660 (grub_nilfs2_palloc_entry_offset): Replaced ...
11661 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
11662 (grub_nilfs2_dat_translate): Use shifts.
11663 (grub_nilfs2_read_inode): Likewise.
11664 (GRUB_MOD_INIT): Ensure that logs are correct.
11665
564dd58c
VS
116662011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 Use shifts in minix filesystem.
11669
11670 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
11671 (GRUB_MINIX_ZONE2SECT): Likewise.
11672 (grub_minix_data): Replace block_size with log_block_size.
11673 (grub_minix_read_file): Use shifts.
11674 (grub_minix_mount): Check block size and take a logarithm.
11675
ed9ba06d
VS
116762011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 Use shifts in squash4.
11679
11680 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
11681 (squash_mount): Check block size and take logarithm.
11682 (direct_read): Use shifts.
11683
ad03fe76
VS
116842011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 Correct befs block counting logic.
11687
11688 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
11689 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
11690 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
11691 (grub_afs_read_inode): Use block_shift.
11692 (RANGE_SHIFT): New definition.
11693 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
11694 unexpected conditions, use shifts and appropriate types.
11695 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
11696
6563f63d
VS
116972011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11698
11699 * grub-core/disk/raid.c (scan_devices): Check partition.
11700 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11701
5b1ae25f
VS
117022011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
11703
11704 Support BFS (befs) UUID.
11705
11706 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
11707 (grub_afs_small_data_element_header): New struct.
11708 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
11709 (grub_afs_read_attribute) [MODE_BFS]: New function.
11710 (grub_afs_iterate_dir): Allocate for complete inode.
11711 (grub_afs_mount): Likewise.
11712 (grub_afs_uuid) [MODE_BFS]: New function.
11713 (grub_afs_fs) [MODE_BFS]: Add .uuid.
11714
f8d82408
VS
117152011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
11718 (zfs_unmount): Fix memory leak.
11719
5773fb64
VS
117202011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 Support NTFS reparse points.
11723
11724 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
11725 (symlink_descriptor): New struct.
11726 (grub_ntfs_read_symlink): New function.
11727 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
11728 (grub_ntfs_open): Likewise.
11729
91c3fdde
VS
117302011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11731
11732 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
11733
3be82e10
VS
117342011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11735
11736 fstest xnu_uuid subcommand.
11737
11738 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
11739 grub-core/commands/xnu_uuid.c.
11740 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
11741 (fstest): Handle xnu_uuid.
11742 (options): Document xnu_uuid.
11743 (argp_parser): Parse xnu_uuid.
11744
8e32442e
VS
117452011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
11748 -l argument. Add newline at the end if printing.
11749 (GRUB_MOD_INIT): Document -l.
11750
52a05075
VS
117512011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
11754
1869edb5
VS
117552011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 ZFS multi-device and version 33 support.
11758
11759 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
11760 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
11761 (grub_zfs_data): Add multidev-ice-related fields.
11762 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
11763 (dva_get_offset): Make dva const.
11764 (zfs_fetch_nvlist): New function.
11765 (fill_vdev_info_real): Likewise.
11766 (fill_vdev_info): Likewise.
11767 (check_pool_label): Likewise.
11768 (scan_disk): Likewise.
11769 (scan_devices): Likewise.
11770 (read_device): Likewise.
11771 (read_dva): Likewise.
11772 (zio_read_gang): Use read_dva.
11773 (zio_read_data): Likewise.
11774 (zap_leaf_lookup): Add missing endian conversion.
11775 (zap_verify): Add missing endian conversion. All users updated.
11776 (fzap_lookup): Likewise.
11777 (fzap_iterate): Likewise.
11778 (dnode_get_path): Handle SA bonus.
11779 (nvlist_find_value): Make input const. All users updated.
11780 (unmount_device): New function.
11781 (zfs_unmount): Use unmount_device.
11782 (zfs_mount): Use scan_disk.
11783 (zfs_mtime): New function.
11784 (grub_zfs_open): Handle system attributes.
11785 (fill_fs_info): Likewise.
11786 (grub_zfs_dir): Likewise.
11787 (grub_zfs_fs): Add mtime.
11788 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
11789 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
11790 (SA_MTIME_OFFSET): Likewise.
11791 (SA_SYMLINK_OFFSET): Likewise.
11792 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
11793 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
11794 (fstest): Support zfsinfo.
11795 (argp_parser): Likewise.
11796
186b4028
VS
117972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11798
11799 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
11800 error.
11801
118022011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
11803
11804 ZFS fixes.
11805
11806 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
11807 sharing the same block. Iterate over correct number of indices.
11808 (dnode_get_path): Handle symlinks correctly.
11809
c0584900
VS
118102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
11813
67e2bd71
VS
118142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11815
11816 Read label on HFS+.
11817
11818 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
11819 (grub_hfsplus_btree_search): Fix types.
11820 (grub_hfsplus_label): Implement.
11821
e9cc6b7b
VS
118222011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
11825
19832ddb
VS
118262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
11829
66b40850
VS
118302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 Fix symlink handling on iso9660.
11833
11834 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
11835 All users updated.
11836 (grub_iso9660_susp_iterate): Accept zero-size iterate.
11837 (grub_iso9660_read_symlink): Moved most of code ...
11838 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
11839
db821363
VS
118402011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11841
11842 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
11843 Use union to avoid breaking strict-aliasing rules.
11844
e1211949
VS
118452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11846
11847 Support multi-extent iso files.
11848
11849 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
11850 Add node.
11851 (grub_fshelp_node): Revamp. All users updated.
11852 (FLAG_*): New enum.
11853 (read_node): New function.
11854 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
11855 All users updated.
11856 (grub_iso9660_mount): Don't attempt to read sua when there is none.
11857 (get_node_size): New function.
11858 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
11859 entries.
11860 Fix memory leak on . and ..
11861 (grub_iso9660_read): Use read_node.
11862 (grub_iso9660_close): Free node.
11863
d4888031
VS
118642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11865
11866 Fix tar 4G limit and handle paths containing dot.
11867
11868 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
11869 (canonicalize): New function.
11870 (grub_cpio_find_file): Use canonicalize. Store offs in
11871 grub_disk_addr_t.
11872 (grub_cpio_dir): Use grub_disk_addr_t.
11873 (grub_cpio_open): Likewise.
11874
9f12e664
VS
118752011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 Fix handling of uncompressed blocks on squashfs and break 4G limit.
11878
11879 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
11880 unused flags.
11881 (grub_squash_inode): Add long_file and block_size.
11882 (grub_squash_cache_inode): New struct.
11883 (grub_squash_dirent): Make types into enum.
11884 (SQUASH_TYPE_LONG_REGULAR): New type.
11885 (grub_squash_frag_desc): Add field size.
11886 (SQUASH_BLOCK_FLAGS): New enum.
11887 (grub_squash_data): Use grub_squash_cache_inode.
11888 (grub_fshelp_node): Make ino_chunk 64-bit.
11889 (read_chunk): Minor argument change. All users updated.
11890 (squash_mount): Use correct le_to_cpu.
11891 (grub_squash_open): Handle LONG_REGULAR.
11892 (direct_read): New function.
11893 (grub_squash_read_data): Handle blocks correctly.
11894
9f326fba
VS
118952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
11898
f4d9b64b
VS
118992011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11900
11901 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
11902
5bbd28b8
VS
119032011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11904
11905 Fix 2G limit on ZFS.
11906
11907 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
11908 types.
11909 (uberblock_verify): Likewise.
11910 (dmu_read): Likewise.
11911 (grub_zfs_read): Likewise. Remove invalid cast.
11912
68c72069
VS
119132011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
11916 (grub_jfs_blkno): Fix incorrect shift.
11917 (grub_jfs_read_file): Use more appropriate types.
11918
6e536dc8
VS
119192011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 Support triple indirect on minix2 and minix3.
11922
11923 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
11924 Declare triple_indir_zone.
11925 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
11926 indirect.
11927
e0864e7a
VS
119282011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 Minix FS fixes.
11931
11932 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
11933 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
11934 Rename ctime to mtime. All users updated.
11935 (grub_minix_get_file_block): Fix types and double indirect computations.
11936
89481cab
VS
119372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
11940 if no label is found.
11941 (grub_fat_iterate_dir): Fix file size type.
11942 (grub_fat_iterate_dir): Likewise.
11943
f646e143
VS
119442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
11947 save some space.
11948 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
11949 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11950
534d769e
VS
119512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11952
11953 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
11954
e084ba18
VS
119552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 * util/import_gcry.py: Accept space between # and include.
11958
3471ecdf
VS
119592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11960
11961 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
11962
124df5f6
VS
119632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11964
11965 Fine grainely disable warnings on lexer. Remove Wno-error on it.
11966
11967 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
11968 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
11969 yylex_strncpy.
11970 * grub-core/script/yylex.l: Add fine-grained #pragma.
11971
4defb8d5
VS
119722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11973
11974 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
11975 New inline function.
11976 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
11977 Likewise.
11978 (memset) [GRUB_UTIL]: Likewise.
11979 (memcmp) [GRUB_UTIL]: Likewise.
11980
4e94ae65
VS
119812011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11982
11983 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
11984 inline function rather than a define.
11985
18c575e5
VS
119862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * util/grub-setup.c: Add missing include.
11989
f8bc22a8
VS
119902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 * util/ieee1275/grub-ofpathname.c: Add missing include.
11993
3ce69fc9
VS
119942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
11997 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
11998 Likewise.
11999
d1e293bb
VS
120002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12001
12002 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
12003 grub_memcmp usage.
12004
7a5c54a4
VS
120052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12006
12007 * util/grub-install.in: Add datarootdir as per automake manual
12008 suggestion.
12009 * util/grub-mknetdir.in: Likewise.
12010
120112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
12012
12013 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
12014 suggestion.
12015 * util/grub.d/10_kfreebsd.in: Likewise.
12016 * util/grub.d/10_linux.in: Likewise.
12017 * util/grub.d/10_netbsd.in: Likewise.
12018 * util/grub.d/10_windows.in: Likewise.
12019 * util/grub.d/20_linux_xen.in: Likewise.
12020
766f7d08
VS
120212011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
12022
12023 Remove redundant grub_kernel_image_size.
12024
12025 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
12026 _edata and _start.
12027 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
12028 the small code. It moves it only by few bytes but simplifies the code.
12029 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
12030 _start.
12031 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
12032 (grub_kernel_image_size): Removed.
12033 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
12034 (grub_kernel_image_size): Removed.
12035 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
12036 compiled with Apple toolchain.
12037 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
12038 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
12039 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
12040 (grub_total_module_size): Likewise.
12041 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
12042 Removed.
12043 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
12044 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
12045 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12046 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
12047 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
12048 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
12049 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
12050 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
12051 Removed.
12052 (grub_total_module_size): Removed.
12053 * util/grub-mkimage.c (image_target_desc): Remove image_size.
12054 (image_targets): Likewise.
12055 Set .compressed_size to no field on sparc.
12056 (generate_image): Remove kernel_image_size handling.
12057
fcf1d672
SJ
120582011-10-19 Szymon Janc <szymon@janc.net.pl>
12059
12060 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
12061 NULL pointer dereference.
12062
de9c615e
VS
120632011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12064
12065 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
12066 done with a dedicated section.
12067
12068 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
12069 Ensure the correct position of boot_path.
12070 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
12071 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
12072 other fields.
12073 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
12074 * include/grub/boot.h: Removed. All references removed.
12075 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
12076 Removed.
12077 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
12078
e55599dc
VS
120792011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12080
12081 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
12082 name.
12083
36dd20ad
VS
120842011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
12087
f8f72eb8
VS
120882011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12089
12090 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12091 Don't add the bogus brackets.
12092
a374751b
VS
120932011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12094
12095 ExFAT support.
12096
12097 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
12098 * grub-core/Makefile.core.def (exfat): New module.
12099 * grub-core/fs/exfat.c: New file.
12100 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
12101 (GRUB_FAT_ATTR_*): Make into an enum.
12102 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
12103 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
12104 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
12105 (GRUB_FAT_MAXFILE): Removed.
12106 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
12107 (grub_current_fat_bpb_t): New type.
12108 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
12109 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
12110 (grub_fat_dir_node_t): New type.
12111 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
12112 (fat_log2) [MODE_EXFAT]: Removed.
12113 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
12114 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
12115 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
12116 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
12117 (grub_fat_label) [MODE_EXFAT]: New function.
12118 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
12119 reserved_first_sector to 0.
12120
544c2487
VS
121212011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12122
12123 Move grub_reboot out of the kernel.
12124
12125 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
12126 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
12127 * grub-core/lib/efi/reboot.c: ... here.
12128 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
12129 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12130 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
12131 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
12132 * grub-core/lib/i386/reboot_trampoline.S: ... here.
12133 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
12134 * grub-core/lib/ieee1275/reboot.c: ... here.
12135 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
12136 * grub-core/lib/mips/arc/reboot.c: ... here.
12137 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
12138 * grub-core/lib/mips/loongson/reboot.c: ...here.
12139 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
12140 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
12141 * include/grub/emu/misc.h (grub_reboot): New function declaration.
12142 * include/grub/i386/reboot.h: New file.
12143 * include/grub/mips/loongson/ec.h: Fix includes.
12144 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
12145 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
12146 * grub-core/lib/i386/reboot.c: New file.
12147
a97501d2
VS
121482011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 Make grub_prefix into module to fix the arbitrary limit and save
12151 some space.
12152
12153 * grub-core/kern/emu/main.c (grub_prefix): Removed.
12154 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
12155 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
12156 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
12157 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
12158 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
12159 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
12160 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
12161 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12162 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
12163 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
12164 * include/grub/ia64/efi/kernel.h: Removed.
12165 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
12166 (grub_prefix): Removed.
12167 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
12168 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
12169 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
12170 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
12171 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
12172 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
12173 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
12174 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
12175 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
12176 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
12177 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12178 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12179 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12180 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12181 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
12182 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
12183 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
12184 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12185 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
12186 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
12187 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
12188 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
12189 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
12190 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
12191 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
12192 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
12193 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
12194 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
12195 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
12196 from module.
12197 * util/grub-mkimage.c (image_target_desc): Removed prefix and
12198 prefix_end.
12199 (image_targets): Likewise.
12200 (generate_image): Put prefix as a module.
12201
39705fad
VS
122022011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12203
12204 Replace grub_module_iterate with FOR_MODULES.
12205
12206 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
12207 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
12208 (grub_efi_modules_addr): ...this.
12209 * grub-core/kern/efi/init.c (grub_modbase): New variable.
12210 (grub_efi_init): Set grub_modbase.
12211 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
12212 (grub_modbase): New variable.
12213 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
12214 (grub_modbase): New variable.
12215 (grub_machine_init): Set grub_modbase.
12216 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
12217 (grub_modbase): New variable.
12218 (grub_machine_init): Set grub_modbase.
12219 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
12220 (grub_modbase): New variable.
12221 (grub_machine_init): Set grub_modbase.
12222 * grub-core/kern/main.c (grub_module_iterate): Remove.
12223 (grub_modules_get_end): Use grub_modbase.
12224 (grub_load_modules): Use FOR_MODULES.
12225 (grub_load_config): Likewise.
12226 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
12227 (grub_modbase): New variable.
12228 (grub_machine_init): Set grub_modbase.
12229 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
12230 (grub_modbase): New variable.
12231 (grub_machine_init): Set grub_modbase.
12232 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
12233 Removed.
12234 (grub_modbase): New variable.
12235 (grub_machine_init): Set grub_modbase.
12236 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
12237 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
12238 (grub_module_iterate): Likewise.
12239 (grub_modbase): New variable declaration.
12240 (FOR_MODULES): New macro.
12241
2afb7f6c
VS
122422011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12243
12244 * configure.ac: Check for __ctzdi2 and __ctzsi2.
12245 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
12246
366e34fa
VS
122472011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 Fix few obvious type discrepancies.
12250
12251 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
12252 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
12253 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
12254 variable.
12255 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
12256 and connected types.
12257 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
12258 offset.
12259 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
12260 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
12261 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
12262 and connected types.
12263
177b960e
VS
122642011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 Fix python 3.x incompatibilities.
12267
12268 * gentpl.py: Put brackets around print strings.
12269 * util/import_gcry.py: Open explicitly as utf-8.
12270 Use in instead of has_key.
12271
3b619ae1
VS
122722011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12273
12274 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
12275 (GRUB_XFS_INO_AGBITS): Make into inline function.
12276 (GRUB_XFS_INO_INOINAG): Likewise.
12277 (GRUB_XFS_INO_AG): Likewise.
12278 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
12279 (GRUB_XFS_EXTENT_OFFSET): Likewise.
12280 (GRUB_XFS_EXTENT_BLOCK): Likewise.
12281 (GRUB_XFS_EXTENT_SIZE): Likewise.
12282 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
12283 (GRUB_XFS_NEXT_DIRENT): Likewise.
12284 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
12285 (grub_xfs_read_file): Fix offset type.
12286
8bcebcb8
RM
122872011-10-15 Robert Millan <rmh@gnu.org>
12288
12289 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
12290
0017e5ef
RM
122912011-10-15 Robert Millan <rmh@gnu.org>
12292
12293 Fix build problem on FreeBSD and GNU/kFreeBSD.
12294
12295 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
12296
d8919552
VS
122972011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
12300
12301 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
12302 types.
12303 (grub_hfsplus_btree_recoffset): Likewise.
12304 (grub_hfsplus_btree_recptr): Likewise.
12305 (grub_hfsplus_find_block): Likewise.
12306 (grub_hfsplus_btree_search): Likewise.
12307 (grub_hfsplus_read_block): Likewise.
12308 (grub_hfsplus_read_file): Likewise.
12309 (grub_hfsplus_mount): Likewise.
12310 (grub_hfsplus_btree_iterate_node): Likewise.
12311 (grub_hfsplus_btree_search): Likewise.
12312 (grub_hfsplus_iterate_dir): Likewise.
12313 (grub_hfsplus_read): A small code simplification.
12314
c81296b6
VS
123152011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12316
12317 * grub-core/kern/emu/hostdisk.c
12318 (convert_system_partition_to_system_disk): Don't assume that children
12319 of mapper nodes are mapper nodes.
12320
0eb8ffb1
VS
123212011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
12324 * include/grub/misc.h (grub_isxdigit): New function.
12325 * grub-core/video/colors.c (my_isxdigit): Removed. All users
12326 switched to grub_isxdigit.
12327 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
12328 number starting with a letter.
12329
a98f4a08
RM
123302011-10-09 Robert Millan <rmh@gnu.org>
12331
12332 LVM support for FreeBSD and GNU/kFreeBSD.
12333
12334 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
12335 GNU/kFreeBSD.
12336 (LVM_DEV_MAPPER_STRING): Move from here ...
12337 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
12338 * util/getroot.c: Include `<grub/util/lvm.h>'.
12339 (grub_util_get_dev_abstraction): Enable
12340 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
12341 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
12342 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
12343 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
12344 support it.
12345 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
12346 GNU/kFreeBSD.
12347 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
12348 when LVM abstraction is required for ${GRUB_DEVICE}.
12349
050e8e90
SJ
123502011-10-06 Szymon Janc <szymon@janc.net.pl>
12351
12352 Add support for LZO compression in GRUB:
12353 - import of minilzo library,
12354 - LZO decompression for btrfs,
12355 - lzop files decompression.
12356
12357 * grub-core/io/lzopio.c: New file.
12358 * grub-core/lib/adler32.c: Likewise.
12359 * grub-core/lib/minilzo/lzoconf.h: Likewise.
12360 * grub-core/lib/minilzo/lzodefs.h: Likewise.
12361 * grub-core/lib/minilzo/minilzo.c: Likewise.
12362 * grub-core/lib/minilzo/minilzo.h: Likewise.
12363 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
12364 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
12365 grub-core/lib/minilzo/minilzo.c to common.
12366 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
12367 cflags in cppflags.
12368 * grub-core/Makefile.core.def (btrfs): Likewise.
12369 * grub-core/Makefile.core.def (lzopio): New module.
12370 (adler32): Likewise.
12371 * grub-core/fs/btrfs.c: Include minilzo.h.
12372 (GRUB_BTRFS_COMPRESSION_LZO): New define.
12373 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
12374 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
12375 (grub_btrfs_lzo_decompress): New function.
12376 (grub_btrfs_extent_read): Add support for LZO compression type.
12377 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
12378 (GRUB_USHRT_MAX): Likewise.
12379 (GRUB_UINT_MAX): Likewise.
12380 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
12381 (UINT_MAX): Likewise.
12382 (CHAR_BIT): Likewise.
12383 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
12384 grub-core/lib/posix_wrap/limits.h
12385 (UCHAR_MAX): Likewise.
12386 * include/grub/file.h (grub_file_filter_id): New compression filter
12387 GRUB_FILE_FILTER_LZOPIO.
12388 * include/grub/file.h (grub_file_filter_id): Set
12389 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
12390 * include/grub/types.h (grub_get_unaligned16): New function.
12391 (grub_get_unaligned32): Likewise.
12392 (grub_get_unaligned64): Likewise.
12393 * util/import_gcry.py (cryptolist): Add adler32.
12394
0eb8ffb1
VS
123952011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
12398 in perspective decreases the complexity of build system and fixes
12399 compilation right now.
12400
ce79cc99 124012011-10-01 Ales Nesrsta <starous@volny.cz>
12402
12403 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
12404 (fixed problem related to using UHCI with coreboot).
12405
8667a314
BC
124062011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12407
12408 * gentpl.py: Use Autogen macros so that the output template file
12409 (Makefile.tpl) size is reduced.
12410
fc5efcc0
MK
124112011-09-29 Mads Kiilerich <mads@kiilerich.com>
12412
12413 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
12414 extra_dist.
12415
d1ab689d
ML
124162011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12417
12418 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
12419 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
12420
c05de032
ML
124212011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12422
12423 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
12424 _fullpath.
12425
cca7ccd8
ML
124262011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12427
12428 Remove extra declaration of sleep for mingw32.
12429
12430 * util/misc.c (sleep) [__MINGW32__]: Removed.
12431 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
12432
e0b0dc83
GS
124332011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
12434
12435 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
12436 type and packname.
12437 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
12438 Resurrected.
12439 (NETBSD_BTINFO_BOOTWEDGE): New definition.
12440 (grub_netbsd_btinfo_bootwedge): New struct.
12441 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12442 New function.
12443 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
12444
91a1a164
TH
124452011-09-28 Thomas Haller <thomas.haller@fen-net.de>
12446
12447 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
12448 loader.
12449
2ded951e
AB
124502011-09-28 Andreas Born <futur.andy@googlemail.com>
12451
12452 Fix incorrect identifiers in bash-completion.
12453
12454 * util/bash-completion.d/grub-completion.bash.in
12455 (_grub_mkpasswd-pbkdf2): Rename to ...
12456 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
12457 (_grub_script-check): Rename to ...
12458 (_grub_script_check): ... this. All users updated.
12459
69915030
VS
124602011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
12461
12462 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12463 Return 0 if disk isn't biosdisk.
12464
20fd15f9
GS
124652011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12466
12467 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
12468 on NetBSD.
12469 * Makefile.util.def (grub-fstest): Likewise.
12470
1a7d7db9
GS
124712011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12472
12473 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
12474 Get sector size from disk label.
12475
2221ab6c
CW
124762011-09-05 Colin Watson <cjwatson@ubuntu.com>
12477
12478 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
12479 */README* as well as README*.
12480 Reported by: Axel Beckert.
12481
ca51c4a0
VS
124822011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
12485 case of less than 256 MiB of RAM.
12486
ab80f326
VS
124872011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12488
12489 * grub-core/commands/wildcard.c (make_regex): Handle @.
12490
4155e697
VS
124912011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12492
12493 * util/grub-install.in: Move cryptodisk logic to appropriate place.
12494
ab178c08
SJ
124952011-08-21 Szymon Janc <szymon@janc.net.pl>
12496
12497 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
12498 AC_LANG_CONFTEST macros.
12499
7dc3c686
SJ
125002011-08-20 Szymon Janc <szymon@janc.net.pl>
12501
12502 Add grub-fstest option to uncompress data for commands.
12503
12504 * util/grub-fstest.c (uncompress): New var.
12505 (options): New option -u.
12506
fe8d4a7b
SJ
125072011-08-20 Szymon Janc <szymon@janc.net.pl>
12508
12509 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
12510 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
12511
a5219af1
SJ
125122011-08-20 Szymon Janc <szymon@janc.net.pl>
12513
12514 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
12515 file type was not recognized correctly (not gzip or corrupted).
12516
f87abff5
VS
125172011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12518
12519 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
12520 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
12521
d94497ea
VS
125222011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
12525 loongson.
12526 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12527 video_radeon_fuloong2e.
12528 * grub-core/video/radeon_fuloong2e.c: New file.
12529 * include/grub/video.h (grub_video_id_t): Add new ID
12530 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
12531
0d1fd011
VS
125322011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
12535 define.
12536 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
12537 that PRID matches the detected subplatform and reset the subplatform
12538 if it doesn't.
12539
84beb0ee
VS
125402011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
12543
1227c133
VS
125442011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12545
12546 Fix PCI iterating on functions >= 4.
12547
12548 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
12549 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
12550 Removed.
12551 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
12552 (grub_pci_read): Fix bitmask.
12553 (grub_pci_read_word): Likewise.
12554 (grub_pci_read_byte): Likewise.
12555 (grub_pci_write): Likewise.
12556 (grub_pci_write_word): Likewise.
12557 (grub_pci_write_byte): Likewise.
12558
9594c689
VS
125592011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12560
12561 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
12562 can still be specified in TARGET_CFLAGS)
12563
14a2562c
VS
125642011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12565
12566 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
12567
12568 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
12569 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
12570 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
12571 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
12572 (FULOONG): Rename to ...
12573 (FULOONG2F): ... this. All users updated.
12574 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
12575 (machtype_fuloong2f_str): ... this.
12576 (machtype_fuloong2e_str): New string.
12577 Check for machtype_fuloong2e_str.
12578 * grub-core/loader/mips/linux.c (loongson_machtypes)
12579 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
12580 * grub-core/term/serial.c (loongson_defserial)
12581 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
12582 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
12583 loongson_defserial.
12584 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
12585 Rename to ...
12586 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
12587 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
12588 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
12589 to IMAGE_FULOONG2F_FLASH. All users updated.
12590 (image_targets): Rename images.
12591 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
12592
b526cbb6
SJ
125932011-08-19 Szymon Janc <szymon@janc.net.pl>
12594
12595 Make enable of disk cache statistics code configurable.
12596
12597 * configure.ac: --enable-cache-stats added.
12598 * config.h.in (DISK_CACHE_STATS): New define.
12599 * grub-core/Makefile.core.def (cacheinfo): New command.
12600 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
12601 * grub-core/commands/cacheinfo.c: New file.
12602 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
12603 moved to cacheinfo.c.
12604 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
12605 debug code.
12606 * include/grub/disk.h: Likewise.
12607
fb739ccd
SJ
126082011-08-19 Szymon Janc <szymon@janc.net.pl>
12609
12610 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
12611 * grub-core/Makefile.am: Likewise.
12612
2bba8cfd
VS
126132011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
12616 non-zero pull.
12617
43526629
VS
126182011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
12621 All users updated.
12622 (grub_jfs_lookup_symlink): Use correct starting inode.
12623
5c144cc8
VS
126242011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12625
12626 * util/grub-setup.c (main): Add missing gcry initialisation.
12627
b1257f65
VS
126282011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 Don't accept text modes on EFI when booting Linux.
12631
12632 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
12633 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
12634
828bc390
ML
126352011-08-15 Mario Limonciello <mario_limonciello@dell.com>
126362011-08-15 Colin Watson <cjwatson@ubuntu.com>
12637
12638 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
12639 use of "/path/.." as in grub-install for EFI as well as handling
12640 symlinks correctly.
12641 Fixes Debian bug #637768.
12642
5f60ccac
CW
126432011-08-15 Colin Watson <cjwatson@ubuntu.com>
12644
12645 * util/grub-probe.c: Remove duplicate #include.
12646
6dc212f9
RM
126472011-08-10 Robert Millan <rmh@gnu.org>
12648
12649 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
12650
12651 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
12652 function.
12653 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
12654 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
12655
66816d85
RM
126562011-08-03 Robert Millan <rmh@gnu.org>
12657
12658 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
12659 la_array as packed.
12660 Reported by: Zachary Bedell
12661
20168fca
CW
126622011-07-26 Colin Watson <cjwatson@ubuntu.com>
12663
12664 * configure.ac: The Loongson port requires grub-mkfont due to its
12665 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
12666 be built.
12667
303b6246
CW
126682011-07-26 Colin Watson <cjwatson@ubuntu.com>
12669
12670 * util/grub-install.in: Don't source grub-mkconfig_lib until after
12671 processing arguments (otherwise help2man fails when GRUB has not yet
12672 been installed).
12673
6795300e
VS
126742011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12675
41aa28ea
VS
12676 New script grub-mkstandalone.
12677
12678 * Makefile.util.def (grub-mkstandalone): New script.
12679 * docs/man/grub-mkstandalone.h2m: New file.
12680 * util/grub-mkstandalone.in: Likewise.
12681
126822011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 Support ATA disks with 4K sectors.
6795300e
VS
12685
12686 * include/grub/ata.h (grub_ata): New member log_sector_size.
12687 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
12688 (grub_ata_identify): Read sector size.
12689 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
12690
92227597
VS
126912011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12692
12693 * util/grub-install.in: Don't use uhci outside of x86.
12694
c77069f5
VS
126952011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 * util/grub-mkrescue.in: Add missing quotes.
12698
126992011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
12700
12701 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
12702 dereference.
12703
583168a2
VS
127042011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12705
12706 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
12707
6be1c01f
VS
127082011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12709
12710 * include/grub/video.h: add missing EXPORT_FUND on
12711 grub_video_edid_checksum and grub_video_edid_preferred_mode.
12712
a1167439
VS
127132011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 * include/grub/mips/kernel.h: Fix define conflict.
12716
bf66054f
VS
127172011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
12720 all four ways.
12721
8fc4fa45
CW
127222011-07-21 Colin Watson <cjwatson@ubuntu.com>
12723
12724 Preferred resolution detection for VBE.
12725
12726 * grub-core/video/video.c (grub_video_edid_checksum): New function.
12727 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
12728 the Flat Panel extension, in line with the X.org VESA driver.
12729 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
12730 New function.
12731 (grub_vbe_bios_get_ddc_capabilities): Likewise.
12732 (grub_vbe_bios_read_edid): Likewise.
12733 (grub_vbe_get_preferred_mode): Likewise.
12734 (grub_video_vbe_setup): When the mode is "auto", try to get the
12735 preferred mode from VBE, and use the largest mode that is no larger
12736 than the preferred mode (some BIOSes expose a preferred mode that is
12737 not in their mode list!). If this fails, fall back to 640x480 as a
12738 safe conservative choice.
12739 (grub_video_vbe_get_edid): New function.
12740 (grub_video_vbe_adapter): Add get_edid.
12741 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
12742 (struct grub_video_adapter): Add get_edid.
12743 (grub_video_edid_checksum): Add prototype.
12744 (grub_video_edid_preferred_mode): Likewise.
12745 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
12746 structure.
12747
12748 * grub-core/commands/videoinfo.c (print_edid): New function.
12749 (grub_cmd_videoinfo): Print EDID if available.
12750
12751 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
12752 is more appropriate on a wider range of platforms than 640x480.
12753 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
12754 documentation.
12755
ca5572a9
VS
127562011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12757
12758 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
12759
e4bcf625
VS
127602011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12761
12762 * po/POTFILES.in: Regenerate.
12763
c4edd548
VS
127642011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
12767 incorrect memory usage.
12768
16a2bab0
VS
127692011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12770
12771 * util/grub-install.in: Source grub-mkconfig_lib.
12772
2e418de6
VS
127732011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
12774
12775 Remove getroot.c from core on emu platform.
12776
12777 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
12778 kern/emu/raid.c.
12779 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
12780 useless.
12781 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
12782 * util/getroot.c (get_win32_path): ... here.
12783 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
12784 * util/getroot.c (fini_libzfs): ... here.
12785 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
12786 * util/getroot.c (grub_get_libzfs_handle): ... here.
12787 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
12788 Moved from here...
12789 * util/getroot.c (grub_find_zpool_from_dir): ... here.
12790 * grub-core/kern/emu/misc.c
12791 (grub_make_system_path_relative_to_its_root): Moved from here...
12792 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
12793 * grub-core/kern/emu/getroot.c: Moved from here ...
12794 * util/getroot.c: ... here. All users updated.
12795 * grub-core/kern/emu/raid.c: Moved from here ...
12796 * util/raid.c: ... here. All users updated.
12797
def9832a
VS
127982011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
12799
12800 * po/POTFILES.in: Regenerate.
12801
cd8fe79a
VS
128022011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12803
12804 Fix compilation on GNU/Linux.
12805
12806 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
12807 Disable geli.
12808 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
12809 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
12810 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
12811
a251b719
VS
128122011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
128132011-07-07 Michael Gorven <michael@gorven.za.net>
128142011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
12815
12816 LUKS and GELI support.
12817
12818 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
12819 grub-core/disk/luks.c, grub-core/disk/geli.c,
12820 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
12821 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
12822 grub-core/lib/arg.c.
12823 (libgrubmods.a): Remove gcrypts cflags and cppflags.
12824 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
12825 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
12826 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
12827 (grub-bin2h): Add libgcry.a.
12828 (grub-mkimage): Likewise.
12829 (grub-mkrelpath): Likewise.
12830 (grub-script-check): Likewise.
12831 (grub-editenv): Likewise.
12832 (grub-mkpasswd-pbkdf2): Likewise.
12833 (grub-pe2elf): Likewise.
12834 (grub-fstest): Likewise.
12835 (grub-mkfont): Likewise.
12836 (grub-mkdevicemap): Likewise.
12837 (grub-probe): Likewise.
12838 (grub-ofpath): Likewise.
12839 (grub-mklayout): Likewise.
12840 (example_unit_test): Likewise.
12841 (grub-menulst2cfg): Likewise.
12842 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
12843 * grub-core/Makefile.core.def (cryptodisk): New module.
12844 (luks): Likewise.
12845 (geli): Likewise.
12846 * grub-core/disk/AFSplitter.c: New file.
12847 * grub-core/disk/cryptodisk.c: Likewise.
12848 * grub-core/disk/geli.c: Likewise.
12849 * grub-core/disk/luks.c: Likewise.
12850 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
12851 grub_util_is_lvm.
12852 (grub_util_get_dm_abstraction): New function.
12853 (grub_util_follow_gpart_up): Likewise.
12854 (grub_util_get_geom_abstraction): Likewise.
12855 (grub_util_get_dev_abstraction): Use new functions.
12856 (grub_util_pull_device): Pull GELI and LUKS.
12857 (grub_util_get_grub_dev): Handle LUKS and GELI.
12858 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
12859 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
12860 (follow_geom_up): Removed.
12861 (grub_util_fd_seek): New function.
12862 (open_device): Use grub_util_fd_seek.
12863 (nread): Rename to ..
12864 (grub_util_fd_read): ... this. All users updated.
12865 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
12866 (grub_crypto_cbc_decrypt): Likewise.
12867 (grub_crypto_hmac_write): Likewise.
12868 (grub_crypto_hmac_buffer): Likewise.
12869 (grub_password_get): Extend to util.
12870 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
12871 New member modname.
12872 (gcry_md_spec) [GRUB_UTIL]: Likewise.
12873 * include/grub/cryptodisk.h: New file.
12874 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
12875 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
12876 LUKS and GELI.
12877 (grub_util_follow_gpart_up): New proto.
12878 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
12879 (grub_util_fd_read): Likewise.
12880 (grub_cryptodisk_cheat_mount): Likewise.
12881 (grub_util_cryptodisk_print_uuid): Likewise.
12882 (grub_util_get_fd_sectors): Likewise.
12883 * util/grub-fstest.c (mount_crypt): New var.
12884 (fstest): Mount crypto if requested.
12885 (options): New option -C.
12886 (argp_parser): Parse -C.
12887 (main): Init and fini gcry.
12888 * util/grub-install.in: Support cryptodisk install.
12889 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
12890 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
12891 cryptodisk.
12892 (prepare_grub_to_access_device): Likewise.
12893 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
12894 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
12895 (probe_cryptodisk_uuid): New function.
12896 (probe_abstraction): Likewise.
12897 (probe): Use new functions.
12898 * util/import_gcry.py: Create Makefile.utilgcry.def.
12899 Add modname member.
12900
9bfdcbbc
VS
129012011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 Lazy device scanning.
12904
12905 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
12906 (grub-setup): Remove util/raid.c.
12907 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
12908 * grub-core/disk/lvm.c (scan_depth): New variable.
12909 (grub_lvm_iterate): Rescan if necessary.
12910 (find_lv): New function based on grub_lvm_open.
12911 (grub_lvm_open): Use find_lv. Rescan on error.
12912 (is_node_readable): New function.
12913 (is_lv_readable): Likewise.
12914 (grub_lvm_scan_device): Skip already found disks.
12915 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
12916 Stop if searched device is found and readable.
12917 * grub-core/disk/raid.c (inscnt): New variable.
12918 (scan_depth): Likewise.
12919 (scan_devices): New function based on grub_raid_register. Abort if
12920 looked for device is found.
12921 (grub_raid_iterate): Rescan if needed.
12922 (find_array): NEw function based on -grub_raid_open.
12923 (grub_raid_open): Use find_array and rescan.
12924 (insert_array): Set became_readable_at.
12925 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
12926 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
12927 New function.
12928 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
12929 (grub_util_pull_device): New function.
12930 (grub_util_get_grub_dev): Call grub_util_pull_device.
12931 * util/raid.c: Moved to ..
12932 * grub-core/kern/emu/raid.c: ... here.
12933 (grub_util_raid_getmembers): New parameter "bootable".
12934 All users updated. Support 1.x.
12935 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
12936 All users updated.
12937 * include/grub/disk.h (grub_disk_pull_t): New enum.
12938 (grub_disk_dev): Change iterate prototype.
12939 All users updated.
12940 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
12941 New proto.
12942 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
12943 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
12944 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
12945 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
12946 All users updated.
12947 * include/grub/util/raid.h: Removed.
12948
1c358e59
VS
129492011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 * po/POTFILES.in: Regenerate.
12952
abee94ed
VS
129532011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 Unify sparc init with other ieee1275.
12956
12957 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
12958 instead of kern/sparc64/ieee1275/init.c.
12959 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
12960 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
12961 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
12962 grub/machine/kernel.h.
12963 (grub_ieee1275_original_stack) [__sparc__]: New variable.
12964 (grub_claim_heap) [__sparc__]: Use sparc version.
12965 (grub_machine_init): Moved args parsing to
12966 (grub_parse_cmdline): ...this.
12967 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
12968 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
12969 New definition.
12970 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
12971
12972 Move BOOTP to separate file.
12973
12974 * grub-core/Makefile.core.def (net): Add net/bootp.c.
12975 * grub-core/net/net.c: Move all BOOTP functions to
12976 * grub-core/net/bootp.c: ... here.
12977
12978 Use frame interface on PXE.
12979
12980 * grub-core/Makefile.core.def (pxecmd): Removed.
12981 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
12982 * grub-core/commands/i386/pc/pxecmd.c: Removed.
12983 * grub-core/i386/pc/pxe.c: Moved from here ...
12984 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
12985 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
12986 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
12987
12988 EFI network support.
12989
12990 * grub-core/Makefile.core.def (efinet): New module.
12991 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
12992 here...
12993 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
12994 All users updated.
12995 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
12996 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
12997 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
12998 * grub-core/net/drivers/efi/efinet.c: New file.
12999 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
13000 (grub_efi_net_config): New extern var.
13001
13002 Various cleanups and bugfixes.
13003
13004 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
13005 error.
13006 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
13007 disk declared as partition.
13008 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
13009 leak on failure.
13010 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
13011 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
13012 (grub_debug_zalloc): Likewise.
13013 (grub_debug_realloc): Likewise.
13014 (grub_debug_memalign): Likewise.
13015 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
13016 Check that target is IPv4.
13017 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
13018 local-mac-address as fallback.
13019 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
13020 memory leak.
13021 * grub-core/net/ip.c (ipchksum): Rename to ...
13022 (grub_net_ip_chksum): ... this. All users updated.
13023 (grub_net_recv_ip_packets): Special handling for DHCP.
13024 * util/grub-mkimage.c (generate_image): Zero-out aout header.
13025
13026 Unify prefix handling
13027
13028 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
13029 (grub_machine_get_bootlocation): ... this.
13030 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
13031 (grub_machine_get_bootlocation): ... this.
13032 (grub_prefix): New variable.
13033 (prefix): Removed.
13034 (root_dev): New variable.
13035 (dir): Likewise.
13036 (main): Use new variables.
13037 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
13038 Revamped into ...
13039 (grub_machine_get_bootlocation): ... this.
13040 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
13041 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
13042 (grub_machine_get_bootlocation): ... this.
13043 (grub_machine_set_prefix): Removed.
13044 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
13045 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
13046 Revamped into ...
13047 (grub_machine_get_bootlocation): ... this.
13048 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
13049 (grub_set_prefix_and_root): ... this. All users updated.
13050 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
13051 Revamped into ...
13052 (grub_machine_get_bootlocation): ... this.
13053 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
13054 (grub_machine_get_bootlocation): New proto.
13055 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
13056
13057 Less intrusive and more reliable seek on network implementation.
13058
13059 * grub-core/kern/file.c (grub_file_net_seek): Removed.
13060 (grub_file_seek): Don't call grub_file_net_seek.
13061 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
13062 (grub_net_fs_read_real): .. this.
13063 (grub_net_seek_real): Use net->offset.
13064 (grub_net_fs_read): Seek if necessary.
13065
13066 Unify IEEE1275 netwotk config with the other platforms.
13067
13068 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
13069 New variable.
13070 (grub_machine_get_bootlocation): Support network.
13071 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13072 Support type and device parsing.
13073 (grub_ieee1275_get_device_type): New function.
13074 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
13075 into ...
13076 (grub_ieee1275_net_config_real): ... this.
13077 (grub_ofnet_probecards): Removed.
13078 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
13079 * include/grub/ieee1275/ofnet.h: Removed.
13080 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
13081 extern var.
13082 (grub_ieee1275_get_device_type): New function.
13083
13084 Unify network device closing across platforms and make more robust.
13085
13086 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
13087 grub_grubnet_fini.
13088 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
13089 already.
13090 * grub-core/net/net.c (grub_net_network_level_interface_register):
13091 Update num_ifaces.
13092 (grub_net_card_unregister): Close all interfaces.
13093 (receive_packets): Don't poll if no iterfaces are registered.
13094 Open if necessary.
13095 (grub_net_fini_hw): New function.
13096 (grub_net_restore_hw): Likewise.
13097 (fini_hnd): New variable.
13098 (GRUB_MOD_INIT): Register preboot hook.
13099 (GRUB_MOD_FINI): Run and unregister preboot hook.
13100
13101 Poll network cards when idle.
13102
13103 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
13104 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
13105 * grub-core/net/net.c (receive_packets): Save last poll time.
13106 (grub_net_poll_cards_idle_real): New function.
13107 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
13108 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
13109 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
13110
13111 Rename ofnet interfaces.
13112
13113 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
13114 (grub_ofnet_findcards): Use ofnet_%s names.
13115
13116 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
13117
13118 Cleanup socket opening.
13119
13120 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
13121 (grub_net_fs_close): Likewise.
13122 (grub_net_fs_read_real): Use eof member.
13123 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
13124 (+grub_net_udp_close): New inline function.
13125
13126 * include/grub/net/tftp.h: Moved to the top of ...
13127 * grub-core/net/tftp.c: ... here.
13128 * include/grub/net/ip.h: Moved mostly to the top of ...
13129 * grub-core/net/ip.c: ... here.
13130 * include/grub/net/ethernet.h: Moved mostly to the top of ...
13131 * grub-core/net/ethernet.c: ... here.
13132
13133 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
13134
13135 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
13136 FS name.
13137
13138 * include/grub/net/ip.h (ipv4_ini): Removed.
13139 (ipv4_fini): Likewise.
13140
13141 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
13142 (grub_net_send_ip_packets): Likewise.
13143
cf1337aa
VS
131442011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13145
13146 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
13147 grub_read_cmos prototype.
13148
93c06ff9
VS
131492011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 VGA text support in qemu-mips
13152
13153 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
13154 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
13155 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
13156 text.
13157 * grub-core/kern/i386/qemu/init.c: Renamed to ...
13158 * grub-core/kern/vga_init.c: ... this.
13159 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
13160 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
13161 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
13162 Adjust.
13163 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
13164 GRUB_MACHINE_PCI_IO_BASE.
13165
748ccabe
VS
131662011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 MIPS qemu flash support.
13169
13170 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
13171 magic.
13172 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
13173 (grub_machine_init): Probe memory if its size isn't known.
13174 * util/grub-mkimage.c (image_targets): Add flash targets.
13175 (generate_image): Handle flash targets.
13176
d7345994
VS
131772011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13178
13179 MIPS qemu at_keyboard support.
13180
13181 * gentpl.py (videoinkernel): Add qemu-mips.
13182 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
13183 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
13184 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
13185 modules.
13186 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
13187 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
13188 * grub-core/term/serial.c (grub_serial_register)
13189 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
13190
a07a81b3
VS
131912011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13192
13193 CMOS support on sparc.
13194
13195 * gentpl.py (cmos): Add powerpc and sparc.
13196 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
13197 powerpc and sparc.
13198 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
13199 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
13200 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
13201 grub_set_datetime_cmos.
13202 * grub-core/lib/ieee1275/cmos.c: New file.
13203 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
13204 (find_rtc): Set no_ieee1275_rtc on error.
13205 (grub_get_datetime): Call grub_get_datetime_cmos on error.
13206 (grub_set_datetime): Call grub_set_datetime_cmos on error.
13207 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
13208 fail. Move value to argument. All users updated
13209 (grub_cmos_write): Likewise.
13210 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
13211 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
13212 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
13213 grub_get_datetime_cmos and grub_set_datetime_cmos.
13214
77546584
GS
132152011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13216
13217 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
13218 sourcing grub-mkconfig_lib.
13219 * util/update-grub_lib.in: Likewise.
13220 * util/grub.d/00_header.in: Likewise.
13221 * util/grub.d/10_hurd.in: Likewise.
13222 * util/grub.d/10_kfreebsd.in: Likewise.
13223 * util/grub.d/10_linux.in: Likewise.
13224 * util/grub.d/10_netbsd.in: Likewise.
13225 * util/grub.d/10_windows.in: Likewise.
13226 * util/grub.d/20_linux_xen.in: Likewise.
13227 * util/grub.d/30_os-prober.in: Likewise.
13228
54894791
CW
132292011-06-28 Colin Watson <cjwatson@ubuntu.com>
13230
13231 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
13232 default_bg_color rather than black.
13233 (grub_gfxterm_fullscreen): Likewise.
13234 (grub_gfxterm_background_color_cmd): Save new background color in
13235 default_bg_color.
13236
8d5d8444
VS
132372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13238
13239 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
13240
5afeb5bd
VS
132412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13242
13243 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
13244 mismerge.
13245
ba7df45e
VS
132462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13247
13248 Chainloading on coreboot support.
13249
13250 * grub-core/Makefile.core.def (chain): Add coreboot.
13251 * grub-core/loader/i386/coreboot/chainloader.c: New file.
13252
d0b526b2
VS
132532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13254
13255 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
13256 if it happens.
13257
5ff1d945
VS
132582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13259
13260 Implement time command.
13261
13262 * grub-core/Makefile.core.def (time): New module.
13263 * grub-core/commands/time.c: New file.
13264 * grub-core/script/parser.y: Remove "time" keyword.
13265 * grub-core/script/yylex.l: Likewise.
13266
5ebaad7e
VS
132672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
13270
bdea3798
VS
132712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
13274 when handling leftovers.
13275
b28c5655
VS
132762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
13279 so that help2man doesn't fail.
13280
b6f945dc
VS
132812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13282
13283 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
13284 type in pointers on sparc64.
13285 (get_card_packet): Likewise.
13286
f9b75e8a
CW
132872011-06-27 Colin Watson <cjwatson@ubuntu.com>
13288
13289 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
13290 with `*'.
13291 (grub_cmd_videoinfo): Fetch current video mode.
13292
1e3d9b86
VS
132932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
13296 because of underlying system restrictions.
13297
efff4b1c
VS
132982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
13301 necessary.
13302
9fc9ce37
VS
133032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 Coreboot video support.
13306
13307 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
13308 (vbe): Likewise.
13309 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
13310 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
13311 here ...
13312 * grub-core/kern/i386/int.S: ... here.
13313 * grub-core/video/i386/pc/vbe.c: Updated includes.
13314 * grub-core/video/i386/pc/vga.c: Likewise.
13315 * include/grub/i386/coreboot/memory.h
13316 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
13317 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
13318 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
13319 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
13320 Disable interrupts.
13321 * include/grub/i386/pc/vga.h: Removed. All users updated.
13322
41bec7fe
VS
133232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
13326 definitions for dprintf.
13327 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
13328
ca80309d
VS
133292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
13332 prototype.
13333 (get_card_packet): Likewise.
13334
9e322ce8
YB
133352011-06-26 Yves Blusseau <blusseau@zetam.org>
13336
13337 Display the path of the file when file is not found
13338
13339 * grub-core/fs/fat.c: Display the filename when file is not found.
13340 * grub-core/fs/fshelp.c: Likewise.
13341 * grub-core/fs/hfs.c: Likewise.
13342 * grub-core/fs/jfs.c: Likewise.
13343 * grub-core/fs/minix.c: Likewise.
13344 * grub-core/fs/ufs.c: Likewise.
13345 * grub-core/fs/btrfs.c: Likewise.
13346 * grub-core/commands/i386/pc/play.c: Likewise.
13347
cbf597af
SJ
133482011-06-26 Szymon Janc <szymon@janc.net.pl>
13349
13350 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
13351 pointer checks before calling grub_free().
13352 * grub-core/commands/wildcard.c (match_devices): Likewise.
13353 * grub-core/commands/wildcard.c (match_files): Likewise.
13354 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
13355 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
13356 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
13357 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
13358 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
13359 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
13360 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
13361 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
13362 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
13363
6295b32f
P
133642011-06-25 Patrick <p55@mailinator.com>
13365
13366 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
13367
77c0840b
VS
133682011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
13369
13370 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
13371 (grub_pxe_send): Likewise.
13372 (GRUB_MOD_INIT): Fix types.
13373
40ea05de
SJ
133742011-06-24 Szymon Janc <szymon@janc.net.pl>
13375
13376 * grub-core/io/xzio.c: Fix code style issues
13377
90162423
MRA
133782011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
133792011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
13380
13381 Network infrastructure.
13382 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
13383
13384 * include/grub/net/arp.h: New file.
90162423
MRA
13385 * include/grub/net/device.h: Likewise.
13386 * include/grub/net/ethernet.h: Likewise.
13387 * include/grub/net/ip.h: Likewise.
13388 * include/grub/net/netbuff.h: Likewise.
13389 * include/grub/net/tftp.h: Likewise.
13390 * include/grub/net/udp.h: Likewise.
13391 * include/grub/ieee1275/ofnet.h: Likewise.
13392 * include/grub/emu/export.h: Likewise.
13393 * include/grub/net.h: Likewise.
13394 * grub-core/net/arp.c: Likewise.
13395 * grub-core/net/ethernet.c: Likewise.
13396 * grub-core/net/ip.c: Likewise.
13397 * grub-core/net/udp.c: Likewise.
13398 * grub-core/net/tftp.c: Likewise.
13399 * grub-core/net/netbuff.c: Likewise.
13400 * grub-core/net/net.c: Likewise.
13401 * grub-core/net/drivers/emu/emunet.c: Likewise.
13402 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
13403 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
13404 export.h.
13405 * grub-core/Makefile.core.def (net): New module.
13406 (tftp): Likewise.
13407 (ofnet): Likewise.
13408 (emunet): Likewise.
13409 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
13410 network protocols.
13411 * grub-core/kern/device.c (grub_net_open) : New variable.
13412 (grub_device_open): Handle network device.
13413 (grub_device_close): Likewise.
13414 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
13415 (grub_grubnet_fini): Likewise.
13416 (grub_file_seek): Seek in network device.
13417 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
13418 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
13419 network root.
13420 (grub_machine_fini): Call grub_grubnet_fini.
13421 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
13422 network.
13423 (grub_ieee1275_get_aliasdevname): New function.
13424 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13425 Add unofficial Solaris network info.
13426 (grub_multiboot_make_mbi): Likewise.
13427 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
13428 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
13429 * include/grub/device.h (grub_fs): Removed.
13430 * include/grub/err.h (grub_err_t): Add network-related values.
13431 * include/grub/i386/pc/pxe.h: Removed bootp parts.
13432 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
13433 (grub_ieee1275_get_aliasdevname): New proto.
13434 * include/grub/net.h: Rewritten.
423a1849 13435
031f22a0
VS
134362011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
13439 names.
13440
4388ca72
VS
134412011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
13444 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
13445 it truncates the output.
13446 Reported by: Ximin Luo.
13447
98e2f506
VS
134482011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13449
13450 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
13451
2a5e94d8
VS
134522011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13453
13454 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13455 partmap before abstraction.
13456
535c1910
AK
134572011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
13458
13459 * util/grub-mkconfig_lib.in: Add missing quotes.
13460
bc09e1a2
VS
134612011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
13464 old method if mountinfo would return /dev/root and /dev/root doesn't
13465 exist.
13466
290766fb
VS
134672011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 ZFS zlib support
13470
13471 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
13472 (decomp_table): Add zlib entries.
13473 (zio_read): USe 8 bits for compression function rather than 3.
13474 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
13475
134762011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13477
13478 * grub-core/disk/ahci.c: Add missing license statements.
13479 * grub-core/fs/romfs.c: Likewise.
13480 * grub-core/lib/ia64/setjmp.S: Likewise.
13481 * grub-core/loader/i386/pc/freedos.c: Likewise.
13482 * grub-core/loader/ia64/efi/linux.c: Likewise.
13483 * grub-core/video/colors.c: Likewise.
13484 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
13485
5ab3f48a
VS
134862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 AHCI support.
13489
13490 * grub-core/Makefile.core.def (ata_pthru): Removed.
13491 (ahci): New module.
13492 (pata): Likewise.
13493 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
13494 on unload.
13495 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
13496 readwrite.
13497 (grub_hdparm_do_check_powermode_cmd): Likewise.
13498 (grub_hdparm_do_smart_cmd): Likewise.
13499 (grub_hdparm_set_val_cmd): Likewise.
13500 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
13501 * grub-core/disk/ahci.c: New file.
13502 * grub-core/disk/ata.c: Factor out the low-level part into ...
13503 * grub-core/disk/pata.c: ... here.
13504 * grub-core/disk/ata_pthru.c: Contents moved to ...
13505 * grub-core/disk/pata.c: ... here.
13506 * grub-core/disk/scsi.c (grub_scsi_names): New array.
13507 (grub_scsi_iterate): Use grub_scsi_names.
13508 (grub_scsi_open): Likewise.
13509 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
13510 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
13511 (grub_ata_regs_t): New struct.
13512 (grub_disk_ata_pass_through_parms): Likewise.
13513 (grub_ata_device): Renamed to ...
13514 (grub_ata): ... this.
13515 (grub_ata_dev): New struct.
13516 Removed all low-level inline functions.
13517 * include/grub/scsi.h: Add PATA and AHCI subsystems.
13518 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
13519 iterate hooks and open. All users updated.
13520 * util/grub-install.in: Handle AHCI disk module.
13521
c31dc5f5
SJ
135222011-06-23 Szymon Janc <szymon@janc.net.pl>
13523
13524 Add support for DRI and RSTn markers in JPEG files.
13525
13526 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
13527 (JPEG_MARKER_RST0): Likewise.
13528 (JPEG_MARKER_RST1): Likewise.
13529 (JPEG_MARKER_RST2): Likewise.
13530 (JPEG_MARKER_RST3): Likewise.
13531 (JPEG_MARKER_RST4): Likewise.
13532 (JPEG_MARKER_RST5): Likewise.
13533 (JPEG_MARKER_RST6): Likewise.
13534 (JPEG_MARKER_RST7): Likewise.
13535 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
13536 (grub_jpeg_decode_dri): New function.
13537 (grub_jpeg_decode_sos): Move image data related part into
13538 grub_jpeg_decode_data function.
13539 (grub_jpeg_decode_data): New function.
13540 (grub_jpeg_reset): New function.
13541 (grub_jpeg_decode_jpeg): Handle new markers.
13542
fe12fd5b
VS
135432011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 * util/ieee1275/ofpath.c (check_sas): Close fd.
13546 (main): Free of_path.
13547 Reported by: David Volgyes <dvolgyes>.
13548
03147f46
VS
135492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13550
13551 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
13552 Reported by: David Volgyes <dvolgyes>.
13553
cad3237f
VS
135542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13555
13556 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
13557 file after stat.
13558 Reported by: David Volgyes <dvolgyes>.
13559
13548d26
VS
135602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
13563
13564 Reported by: David Volgyes <dvolgyes>.
13565
e061a1b5
VS
135662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13567
13568 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
13569 Prevent memory leak.
13570
1abe47dc
VS
135712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13572
13573 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
13574 (main): Close file.
e061a1b5 13575 Reported by: David Volgyes <dvolgyes>.
1abe47dc 13576
fbc62666
VS
135772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
13580 to continue if allocation is failed.
13581
13582 Reported by: David Volgyes <dvolgyes>.
13583
e98c83e9
DV
135842011-06-23 David Volgyes <dvolgyes>
13585
13586 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
13587 dereference.
13588
a199a8cd
VS
135892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 Fix spurious warning.
13592
13593 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
13594 (acorn_partition_map_find): Use .bin member.
13595
e2d1dba0
VS
135962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13597
13598 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
13599 /dev/root as a valid device.
13600
8a5d6919
JM
136012011-06-23 Jim Meyering <meyering@redhat.com>
13602
e2d1dba0
VS
13603 Avoid NULL deref in grub_device_open.
13604
8a5d6919
JM
13605 * grub-core/kern/device.c (grub_device_open): Don't dereference
13606 a NULL pointer upon failed grub_env_get.
13607
f7db6f4a
VS
136082011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 Support non-512B sectors and agglomerate reads.
13611
13612 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
13613 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
13614 (disk_io_guid): Removed.
13615 (make_devices): Locate solely by BlockIO.
13616 (grub_efidisk_open): Fill log_sector_size and total_sectors.
13617 (grub_efidisk_read): Use read_blocks.
13618 (grub_efidisk_write): Use write_blocks.
13619 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
13620 log_sector_size.
13621 (get_safe_sectors): Handle non-512B sectors.
13622 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
13623 sectors.
13624 (grub_biosdisk_write): Handle non-512B sectors.
13625 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
13626 (grub_scsi_read): Remove special non-512B block handling (now handled
13627 one level up).
13628 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
13629 and do sanity checks.
13630 (grub_disk_adjust_range): Handle non-512B sectors.
13631 (transform_sector): New function.
13632 (grub_disk_read_small): Likewise.
13633 (grub_disk_read): Rewritten.
13634 (grub_disk_write): Handle non-512B sectors.
13635 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
13636 log_sector_size.
13637 (open_device): Use log_sector_size.
13638 (grub_util_biosdisk_read): Likewise.
13639 (grub_util_biosdisk_write): Likewise.
13640 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
13641 non-512B sectors.
13642 (pc_partition_map_embed): Likewise.
13643 * include/grub/disk.h (grub_disk): New field log_sector_size.
13644 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
13645 (GRUB_DISK_CACHE_BITS): Increased to 6.
13646 * util/grub-fstest.c (fstest): New command testload.
13647 (argp_parser): Likewise.
13648
881ac815
RM
136492011-06-16 Robert Millan <rmh@gnu.org>
13650
13651 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
13652 `ata' driver on kernel of FreeBSD 9.
13653
13654 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
13655 (get_ataraid_disk_name): New functions.
13656 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
13657 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
13658 get_ataraid_disk_name() and get_ada_disk_name().
13659
1e9aef7d
CW
136602011-06-13 Colin Watson <cjwatson@ubuntu.com>
13661
13662 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
13663 input format.
13664
351c7c8a
CW
136652011-05-29 Colin Watson <cjwatson@ubuntu.com>
13666
13667 * docs/grub.texi (Obtaining and Building GRUB): Substitute
13668 `ftp.gnu.org' for `alpha.gnu.org'.
13669
6b4e6430
CW
136702011-05-27 Colin Watson <cjwatson@ubuntu.com>
13671
13672 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
13673 partitions under /dev/disk/by-id/.
13674
c64db050
CW
136752011-05-27 Colin Watson <cjwatson@ubuntu.com>
13676
13677 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
13678 after ten consecutive open failures. Scanning all the way up to
13679 10000 is excessive and can cause serious performance problems in
13680 some configurations.
13681 Fixes Ubuntu bug #787461.
13682
245f4aba
VS
136832011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
13686 opening new one.
13687
f767c929
VS
136882011-05-21 Colin Watson <cjwatson@ubuntu.com>
136892011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13690
13691 Don't stat devices unless we have to.
13692
13693 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
13694 dir == /dev/mapper.
13695 (grub_guess_root_device): Use already known os_dev if possible.
13696 * grub-core/kern/emu/hostdisk.c
13697 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
13698 if device is known to be a dm one.
13699
f35fa3a6
CW
137002011-05-20 Colin Watson <cjwatson@ubuntu.com>
13701
13702 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
13703 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
13704 Reported by: Pawel Tecza.
13705
9a79fcf2
VS
137062011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
13707
13708 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
13709 (lsefisystab): Likewise.
13710 (lssal): Likewise.
13711 (lsefimmap): Likewise.
13712 (hdparm): Enable on qemu-mips.
13713 (setjmp): Add ia64 nodist.
13714 (serial): Simplify tags.
13715
63e3eea9
CW
137162011-05-18 Colin Watson <cjwatson@ubuntu.com>
13717
13718 * Makefile.util.def (grub-ofpathname): Install manual page.
13719
09728256
CW
137202011-05-18 Colin Watson <cjwatson@ubuntu.com>
13721
13722 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
13723
8b63a142
CW
137242011-05-18 Colin Watson <cjwatson@ubuntu.com>
13725
13726 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
13727
e775d8ed
VS
137282011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13729
13730 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
13731 into dprintf.
13732
bf947d36
VS
137332011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13734
13735 Use full 64-bit division.
13736
13737 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
13738 (grub_divmod64): ... this.
13739 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
13740 version.
13741
b84f26c5
CW
137422011-05-18 Colin Watson <cjwatson@ubuntu.com>
13743
13744 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
13745 `source'.
13746
5626056f
CW
137472011-05-18 Colin Watson <cjwatson@ubuntu.com>
13748
13749 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
13750 to avoid accidents when debugging with 'sh -x'.
13751 * grub-core/gensyminfo.sh.in: Likewise.
13752 * tests/example_scripted_test.in: Likewise.
13753 * tests/grub_cmd_regexp.in: Likewise.
13754 * tests/grub_script_blanklines.in: Likewise.
13755 * tests/grub_script_dollar.in: Likewise.
13756 * tests/grub_script_expansion.in: Likewise.
13757 * tests/grub_script_final_semicolon.in: Likewise.
13758 * tests/partmap_test.in: Likewise.
13759 * tests/util/grub-shell-tester.in: Likewise.
13760 * tests/util/grub-shell.in: Likewise.
13761
e2965f4a
CW
137622011-05-18 Colin Watson <cjwatson@ubuntu.com>
13763
13764 Move gfxmenu color handling to video, so that gfxterm can use it
13765 too.
13766
13767 * grub-core/gfxmenu/named_colors.c: Move to ...
13768 * grub-core/video/colors.c: ... here. Rename
13769 grub_gui_get_named_color to grub_video_get_named_color.
13770 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
13771 * grub-core/video/colors.c (my_isxdigit): ... here.
13772 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
13773 Move to ...
13774 * grub-core/video/colors.c (parse_hex_color_component): ... here.
13775 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
13776 to ...
13777 * grub-core/video/colors.c (grub_video_parse_color): ... here.
13778
13779 * include/grub/gui.h (grub_gui_color_t): Move to ...
13780 * include/grub/video.h (grub_video_rgba_color_t): ... here.
13781 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
13782 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
13783 * include/grub/gui.h (grub_gui_map_color): Move to ...
13784 * include/grub/video.h (grub_video_map_rgba_color): ... here.
13785 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
13786 to ...
13787 * include/grub/video.h (grub_video_get_named_color): ... here.
13788 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
13789 * include/grub/video.h (grub_video_parse_color): ... here.
13790
13791 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
13792 video/colors.c.
13793 (gfxmenu): Remove gfxmenu/named_colors.c.
13794 (video) [videomodules]: Add video/colors.c.
13795
13796 Add a background_color command.
13797
13798 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
13799 function.
13800 (GRUB_MOD_INIT): Register background_color command.
13801 (GRUB_MOD_FINI): Unregister background_color command.
13802 (redraw_screen_rect): Allow blend/replace of text layer to be
13803 controlled independently from whether there is a background bitmap.
13804 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
13805 changing bitmap.
13806
1e4b4390
VS
138072011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13808
26618ff0
VS
13809 Patch BPB in ntldr and chainloader --bpb.
13810
1e4b4390
VS
13811 * grub-core/fs/fat.c: Include grub/fat.h.
13812 (grub_fat_bpb): Moved to ...
13813 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
13814 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
13815 grub/ntfs.h.
13816 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
13817 Moved from here...
13818 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
13819 here.
13820 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
13821 New function.
13822 (grub_chainloader_cmd): Patch BPB if --bpb is given.
13823 (GRUB_MOD_INIT): Show --bpb.
13824 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
13825 * grub-core/normal/main.c (features): New variable.
13826 (GRUB_MOD_INIT): Set feature_* variables.
13827 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
13828 proto.
13829 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
13830
cf02731e
VS
138312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
13834 for cleanness.
13835
e3a1073f
VS
138362011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13837
13838 FreeDOS direct loading support.
13839
13840 * docs/grub.texi (Supported OS): Add FreeDOS.
13841 * grub-core/Makefile.core.def (freedos): New module.
13842 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
13843 variable.
13844 (grub_relocator16_boot): Handle %ebx.
13845 * grub-core/lib/i386/relocator16.S: Likewise.
13846 * grub-core/loader/i386/pc/freedos.c: New file.
13847
05caa461
VS
138482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13849
13850 Long Linux command line support.
13851
13852 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
13853 (maximal_cmdline_size): New variable.
13854 (allocate_pages): Use maximal_cmdline_size.
13855 (grub_cmd_linux): Set and use maximal_cmdline_size.
13856 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
13857 (allocate_pages): Use maximal_cmdline_size.
13858 (grub_cmd_linux): Set and use maximal_cmdline_size.
13859 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
13860 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
13861 and cmdline_size.
13862
a2491e23
VS
138632011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
138642011-05-18 Colin Watson <cjwatson@ubuntu.com>
13865
13866 Improve devmapper support
13867
13868 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
13869 (grub_util_is_lvm): New function.
13870 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
13871 than lvm if not dmraid.
13872 Handle mapped md nodes.
13873 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
13874 (grub_util_device_is_mapped): ... this. Make always available. All users
13875 updated.
13876 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
13877 (convert_system_partition_to_system_disk): Handle lvm, mpath and
13878 dmraid nodes.
13879 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
13880
6ad6223e
VS
138812011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13882
13883 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
13884
13885 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
13886 * grub-core/modinfo.sh.in: New file.
13887 * grub-core/Makefile.core.def (modinfo.sh): New script.
13888 * util/grub-mknetdir.in: Use modinfo.sh.
13889 * util/grub-mkrescue.in: Likewise.
13890
543a8f6e
VS
138912011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
13894 Fix potential usage of Elf32 instead of Elf64 when compiling on
13895 32-bit architecture. Add endianness macros while on it.
13896
4959e111
VS
138972011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 Use mipsel- rather than mips- in directories involving mipsel ports to
13900 allow both endiannesses coexist.
13901
13902 * configure.ac: proparate target_cpu=mipsel rather than resetting to
13903 mips. All conditions adjusted.
13904 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
13905 variable.
13906 * util/grub-install.in: Adjust conditions to take renaming into account.
13907 * util/grub-mkimage.c (image_targets): Likewise. New target
13908 mips-qemu_mips-elf for bigendian mips.
13909
35341bbc
VS
139102011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13911
13912 Avoid unnecessary copying on MIPS.
13913
13914 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
13915 early if src == dest.
13916 * util/grub-mkimage.c (generate_image): Arange for src == dest if
13917 compression is none.
13918
b772baed
VS
139192011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13920
13921 Reduce memory footprint on SGI by putting modules before the kernel
13922 as opposed to after.
13923
13924 * grub-core/Makefile.core.def (kernel): Increase linking address.
13925 (none_decompress): Likewise.
13926 (xz_decompress): Likewise.
13927 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
13928 address.
13929 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
13930 layout change.
13931 (grub_arch_modules_addr): New function.
13932 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
13933 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
13934 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
13935 here.
13936 * grub-core/kern/mips/startup.S (total_size): Rename to ...
13937 (grub_total_modules_size): ... this. Make global.
13938 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
13939 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
13940 New definition.
13941 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
13942 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
13943 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
13944 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
13945 * util/grub-mkimage.c (image_target_desc): New flag
13946 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
13947 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
13948 (generate_image): Handle images with modules before kernel.
13949
566a1917
VS
139502011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 Prevent potential loss of memory map by overwrite on qemu-mips.
13953
13954 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
13955 Save ram size in $s4.
13956 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
13957 All users changed to grub_arch_memsize.
13958 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
13959 Loongson.
13960 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
13961 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
13962 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
13963 external variable.
13964
5d420cd9
CW
139652011-05-17 Colin Watson <cjwatson@ubuntu.com>
13966
13967 * .bzrignore: Remove grub-dumpbios.
13968
d064b830
CW
139692011-05-17 Colin Watson <cjwatson@ubuntu.com>
13970
13971 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
13972 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
13973 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
13974 existing options which append).
13975 * docs/grub.texi (Simple configuration): Document new options.
13976 Reported by: Ian Jackson. Fixes Debian bug #617538.
13977
3ca2b466
CW
139782011-05-17 Colin Watson <cjwatson@ubuntu.com>
13979
13980 * util/grub-fstest.c (cmd_cat): New function.
13981 (fstest): Handle CMD_CAT.
13982 (options): Add cat.
13983 (argp_parser): Handle cat.
13984
24c9143a
CW
139852011-05-17 Colin Watson <cjwatson@ubuntu.com>
13986
13987 * Makefile.util.def (grub-bin2h): Don't install.
13988 * docs/man/grub-bin2h.h2m: Remove.
13989
90f7ac19
VS
139902011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13991
13992 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
13993 place.
13994
8d4a5178
VS
139952011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 Reenable qemu-mips port.
13998
13999 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
14000 Fix small arc bug while on it.
14001 * gentpl.py: Handle qemu_mips.
14002 * grub-core/Makefile.am: Likewise.
14003 * grub-core/Makefile.core.def: Likewise.
14004 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
14005 inappropriate includes.
14006 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
14007 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
14008 * grub-core/kern/main.c (grub_modules_get_end)
14009 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
14010 * grub-core/kern/mips/qemu-mips: Moved to ..
14011 * grub-core/kern/mips/qemu_mips: ... this.
14012 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
14013 (grub_machine_init): Call terminfo_init and serial_init.
14014 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
14015 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14016 New variable.
14017 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
14018 parameter passing.
14019 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
14020 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
14021 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
14022 * include/grub/mips/qemu_mips/cmos.h: New file.
14023 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
14024 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
14025 Removed.
14026 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
14027 Use correct mips-style address.
14028 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
14029 (GRUB_TICKS_PER_SECOND): Removed.
14030 (grub_get_rtc): Likewise.
14031 (grub_cpu_idle): Likewise.
14032 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
14033 New definition.
14034 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
14035 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
14036 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
14037 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
14038 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14039 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14040 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
14041 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
14042
400b9371
VS
140432011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14044
14045 SGI ARCS port.
14046
14047 * Makefile.util.def (libgrubmods.a): Add dvh.c.
14048 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
14049 platforms.
14050 * configure.ac: New target mips-arc.
14051 * gentpl.py: Likewise.
14052 * grub-core/Makefile.am: Likewise.
14053 * grub-core/Makefile.core.def: Likewise.
14054 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
14055 (none_decompress): Likewise.
14056 (lsdev): New module.
14057 (datetime): Use lib/arc/datetime.c on ARC.
14058 (part_dvh): New module.
14059 * grub-core/commands/arc/lsdev.c: New file.
14060 * grub-core/disk/arc/arcdisk.c: Likewise.
14061 * grub-core/kern/mips/arc/init.c: Likewise.
14062 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
14063 aligned addresses.
14064 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
14065 support.
14066 (grub_arch_dl_relocate_symbols): Likewise.
14067 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
14068 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
14069 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
14070 platforms.
14071 * grub-core/lib/arc/datetime.c: New file.
14072 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
14073 pci.h on non-loongson.
14074 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
14075 (grub_linux_boot): Set unused registers to 0.
14076 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
14077 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
14078 * grub-core/mmap/mips/uppermem.c: ...here.
14079 * grub-core/partmap/dvh.c: New file.
14080 * grub-core/term/arc/console.c: Likewise.
14081 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
14082 (grub_terminfo_set_current): Add terminal "arc".
14083 (grub_terminfo_readkey): Support ARC sequences.
14084 * include/grub/arc/arc.h: New file.
14085 * include/grub/arc/console.h: Likewise.
14086 * include/grub/disk.h (grub_disk_dev_id): Add
14087 GRUB_DISK_DEVICE_ARCDISK_ID.
14088 * include/grub/mips/arc/kernel.h: New file.
14089 * include/grub/mips/arc/memory.h: Likewise.
14090 * include/grub/mips/arc/time.h: Likewise.
14091 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
14092 * include/grub/mips/kernel.h (grub_halt): ... here.
14093 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
14094 here...
14095 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
14096 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
14097 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
14098 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
14099 proto.
14100 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
14101 from here ...
14102 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
14103 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
14104 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
14105 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
14106 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
14107 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
14108 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
14109 (grub_phys_addr_t): Moved from here ...
14110 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
14111 (grub_vtop): Moved from here ...
14112 * include/grub/mips/memory.h (grub_vtop): ... here.
14113 (grub_map_memory): Moved from here ...
14114 * include/grub/mips/memory.h (grub_map_memory): ... here.
14115 (grub_unmap_memory): Moved from here ...
14116 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
14117 (grub_machine_mmap_iterate): Moved from here ...
14118 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
14119 (grub_mmap_get_lower): Moved from here ...
14120 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
14121 (grub_mmap_get_upper): Moved from here ...
14122 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
14123 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14124 here ...
14125 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14126 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
14127 here ...
14128 * include/grub/mips/time.h (grub_get_rtc): ... here.
14129 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14130 here ...
14131 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14132 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
14133 here ...
14134 * include/grub/mips/time.h (grub_cpu_idle): ... here.
14135 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
14136 definition.
14137 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
14138 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
14139 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
14140 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
14141 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14142 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14143 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
14144 (GRUB_MACHINE_LINK_ADDR): Likewise.
14145 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
14146 to 6.
14147 * util/grub-install.in: Run dvhtool on ARC.
14148 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 14149 (generate_image): Handle ECOFF output for mips-arc.
400b9371 14150
c8ecc840
VS
141512011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14152
14153 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
14154 blocks.
14155
153a4b55
VS
141562011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14157
14158 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
14159 after enabling port.
14160
ff44d107
VS
141612011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 Skip incorrect USB devices.
14164
14165 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
14166 configcnt == 0.
14167 * include/grub/usb.h (grub_usb_err_t): New enum value
14168 GRUB_USB_ERR_BADDEVICE.
14169
638dbe4f
VS
141702011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14171
14172 Fuloong video init support.
14173
14174 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
14175 well.
14176 (grub_vga_read_arx): New function.
14177 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
14178 definition.
14179 (framebuffer): New members io, mmioptr and mmiobase.
14180 (read_sis_cmd): New function.
14181 (write_sis_cmd): Likewise.
14182 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
14183 rather than 640x400.
14184 * grub-core/video/sis315_init.c: New file.
14185
c3fc520c
VS
141862011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
14189 non-loongson.
14190 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
14191 to grub_dl_register_symbol.
14192
67b1e5c9
VS
141932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14194
14195 Fix compilation errors.
14196
14197 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
14198 potentially unused.
14199 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
14200 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
14201 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
14202 to loongson machines.
14203
b756f75f
VS
142042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 Several FS mtime support.
14207
14208 * grub-core/fs/affs.c (grub_affs_time): New struct.
14209 (grub_affs_file): New field mtime.
14210 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
14211 type. Removed 'size'. New field 'di'. All users updated.
14212 (grub_affs_mount): Simplify checsum checking.
14213 (grub_affs_iterate_dir): New helper grub_affs_create_node.
14214 (grub_affs_dir): Handle mtime.
14215 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
14216 (grub_cpio_dir): Likewise.
14217 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
14218 (grub_hfs_filerec): New field mtime.
14219 (grub_hfs_dir): Handle mtime.
14220 (grub_hfs_mtime): New function.
14221 (grub_hfs_fs): Register grub_hfs_mtime.
14222 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
14223 (grub_iso9660_dir): New field mtime.
14224 (grub_fshelp_node): New field dirent.
14225 (iso9660_to_unixtime): New function.
14226 (iso9660_to_unixtime2): Likewise.
14227 (grub_iso9660_read_symlink): Use node->dirent.
14228 (grub_iso9660_iterate_dir): Likewise.
14229 (grub_iso9660_dir): Set mtime.
14230 (grub_iso9660_mtime): New function.
14231 (grub_iso9660_fs): Register grub_iso9660_mtime.
14232 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
14233 (grub_jfs_inode): New fields atime, ctime and mtime.
14234 (grub_jfs_dir): Set mtime.
14235 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14236 * grub-core/fs/ntfs.c (list_file): Set mtime.
14237 (grub_ntfs_dir): Likewise.
14238 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
14239 (grub_reiserfs_iterate_dir): Set mtime.
14240 (grub_reiserfs_dir): Likewise.
14241 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
14242 (grub_fshelp_node): Likewise.
14243 (grub_sfs_iterate_dir): Set mtime.
14244 (grub_sfs_dir): Likewise.
14245 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
14246 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
14247 (grub_xfs_inode): New fields atime, mtime, ctime.
14248 (grub_xfs_dir): Set mtime.
14249 * include/grub/datetime.h (grub_datetime2unixtime): New function.
14250 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
14251 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
14252
14253 Support UDF symlinks.
14254
14255 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
14256 (grub_ufs_read_symlink): New function. All users updated.
14257
14258 Check amiga partmap checksum.
14259
14260 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
14261 (grub_amiga_partition): Likewise.
14262 (amiga_partition_map_checksum): New function.
14263 (amiga_partition_map_iterate): Check checksum.
14264
5470225d
VS
142652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 ROMFS support.
14268
14269 * Makefile.util.def (libgrubmods.a): Add romfs.
14270 * grub-core/Makefile.core.def (romfs): New module.
14271 * grub-core/fs/romfs.c: New file.
14272
d4680a35
VS
142732011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 Squashfs v4 support.
14276
14277 * Makefile.util.def (libgrubmods.a): Add squash4.
14278 * grub-core/Makefile.core.def (squash4): New module.
14279 * grub-core/fs/squash4.c: New file.
14280 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
14281 disk_input_start, disk_input.
14282 (get_byte): Handle disk_input.
14283 (grub_zlib_disk_read): New function.
14284 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
14285
bcb18e74
FZ
142862011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
142872011-05-15 Feiran Zheng <famcool@gmail.com>
14288
14289 * Makefile.util.def (libgrubmods.a): Add minix3.
14290 * grub-core/Makefile.core.def (minix3): New module.
14291 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
14292 (GRUB_MINIX_BSIZE): Removed.
14293 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
14294 (grub_minix_ino_t): New type.
14295 (grub_minix_le_to_cpu_ino): New macro.
14296 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
14297 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
14298 (grub_minix_data): New field block_size.
14299 (grub_minix_read_file): Handle 64-bit correctly.
14300 * grub-core/fs/minix3.c: New file.
14301
32297d5f
TG
143022011-05-15 Tristan Gingold <gingold@free.fr>
143032011-05-15 Robert Millan <rmh.grub@aybabtu.com>
143042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14305
14306 IA64 support.
14307
14308 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
14309 * configure.ac: Add ia64-efi target.
14310 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
14311 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
14312 * gentpl.py: Add ia64_efi platform.
14313 Rename x86_efi to efi and Add ia64-efi. All users updated.
14314 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
14315 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
14316 Remove kern/generic/rtc_get_time_ms.c on EFI.
14317 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
14318 kern/ia64/dl_helper.c on ia64-efi.
14319 Add kern/emu/cache.c on emu.
14320 (linux): Use on loader/ia64/efi/linux.c on ia64.
14321 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
14322 whether symbol is a function.
14323 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
14324 (grub_symbol): New field 'isfunc'.
14325 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
14326 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
14327 (grub_dl_load_segments): Place all sections into the same region.
14328 [__ia64__]: Create trampolines and got.
14329 [GRUB_MACHINE_EMU]: Call mprotect.
14330 (grub_dl_resolve_symbols): Resolve symbol type as well.
14331 [__ia64__]: Create function descriptors.
14332 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
14333 (grub_rtc_get_time_ms): ... this. Expressions simplified.
14334 (grub_get_rtc): New function.
14335 * grub-core/kern/emu/cache.c [__ia64__]: New file.
14336 * grub-core/kern/emu/cache.S: Renamed to ...
14337 * grub-core/kern/emu/cache_s.S: ... this.
14338 [__ia64__]: Add a nop.
14339 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
14340 [__ia64__]: New function.
14341 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
14342 * grub-core/kern/ia64/dl.c: New file.
14343 * grub-core/kern/ia64/dl_helper.c: Likewise.
14344 * grub-core/kern/ia64/efi/init.c: New file.
14345 * grub-core/kern/ia64/efi/startup.S: Likewise.
14346 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
14347 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
14348 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
14349 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
14350 * grub-core/loader/ia64/efi/linux.c: New file.
14351 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
14352 (GRUB_MOD_DEP): Likewise.
14353 (grub_dl) [__ia64__]: New fields got and tramp.
14354 (grub_dl): New field 'base'.
14355 (grub_dl_register_symbol): New argument isfunc. All users updated.
14356 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
14357 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
14358 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
14359 (grub_ia64_dl_get_tramp_got_size): New proto.
14360 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
14361 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
14362 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
14363 * include/grub/efi/api.h: Skip call wrappers on ia64.
14364 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
14365 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
14366 * include/grub/elf.h (ELF_ST_INFO): New definition.
14367 * include/grub/ia64/efi/kernel.h: New file.
14368 * include/grub/ia64/efi/memory.h: Likewise.
14369 * include/grub/ia64/efi/time.h: Likewise.
14370 * include/grub/ia64/kernel.h: Likewise.
14371 * include/grub/ia64/setjmp.h: Likewise (from glibc).
14372 * include/grub/ia64/time.h: New file.
14373 * include/grub/ia64/types.h: Likewise.
14374 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
14375 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
14376 New protos.
14377 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
14378 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14379 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
14380 * util/grub-mkimage.c (image_target_desc): New field pe_target.
14381 All users updated.
14382 (EFI64_HEADER_SIZE): New definition. All users updated.
14383 (image_targets): Add ia64-efi.
14384 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
14385 jumpers_addr. All users updated.
14386 Create function descriptors.
14387 (count_funcs): New function.
14388 (unaligned_uint32): New struct.
14389 (MASK20): New definition.
14390 (MASK19): Likewise.
14391 (MASKF21): Likewise.
14392 (add_value_to_slot_20b): New function.
14393 (add_value_to_slot_21_real): Likewise.
14394 (add_value_to_slot_21): Likewise.
14395 (ia64_kernel_trampoline): New struct.
14396 (nopm): New variable.
14397 (jump): Likewise.
14398 (make_trampoline): New function.
14399 (relocate_addresses): Handle ia64.
14400 (make_reloc_section): Likewise.
14401 (load_image): Likewise.
14402
983b414d
VS
144032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14404
14405 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
14406 warning. Move variables before code while on it.
14407
5d063cdc
VS
144082011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14409
14410 Fuloong support.
14411
14412 * configure.ac: Rename yeeloong platform to loongson. All users updated.
14413 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
14414 * grub-core/boot/mips/loongson/fuloong.S: New file.
14415 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
14416 Explicitly init CS5536.
14417 [FULOONG]: Don't use serial until CS5536 is available.
14418 Set GPIO based on dumps.
14419 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
14420 [FULOONG]: Handle GPIO and memory controller differences.
14421 Parse machine type in $a2.
14422 * grub-core/boot/mips/startup_raw.S: Determine and save the
14423 architecture.
14424 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
14425 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
14426 init on architecture type.
14427 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14428 SIS315E. Don't init at_keyboard on fuloong.
14429 (grub_halt): Support Fuloong.
14430 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
14431 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
14432 (loongson_machtypes): New array.
14433 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
14434 type.
14435 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
14436 config. All users updated. Handle CS5536 serial.
14437 * grub-core/term/serial.c (grub_serial_register): Conditionalise
14438 default port on machine type. Register serial as inactive.
14439 * grub-core/video/sis315pro.c: New file.
14440 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
14441 definition.
14442 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
14443 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
14444 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
14445 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
14446 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
14447 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
14448 to ...
14449 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
14450 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
14451 definition.
14452 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
14453 (grub_arch_machine): New extern var.
14454 * include/grub/mips/loongson/serial.h
14455 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
14456 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
14457 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
14458 (GRUB_MACHINE_SERIAL_PORT0): ... this.
14459 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
14460 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
14461 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
14462 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
14463 * include/grub/term.h (grub_term_register_input_inactive): New inline
14464 function.
14465 (grub_term_register_output_inactive): Likewise.
14466 * include/grub/video.h (grub_video_driver_id): New value
14467 GRUB_VIDEO_DRIVER_SIS315PRO.
14468 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
14469 New field "names". All users updated.
14470 New field value IMAGE_FULOONG_FLASH.
14471 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
14472
6ada82d1
JU
144732011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
14474
14475 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
14476 and add some clarification.
14477
90c571a4
VS
144782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14479
14480 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
14481 platforms if kernel is compressed.
14482
de04eecf
VS
144832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14484
14485 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
14486 unused modules since currently referrence counter isn't reliable and
14487 there isn't much memory to recover there anyway.
14488
57688121
VS
144892011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14490
14491 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
14492 rather than resetting it to allow modules to reference themselves
14493 in init.
14494
3d2c7e35
VS
144952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14496
14497 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
14498 counter on dependencies since grub_dl_unref already handles this.
14499
b25db218
VS
145002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14501
14502 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
14503 on error if not already done.
14504
25a45338
VS
145052011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 Fix few potential memory misusage.
14508
14509 * grub-core/font/font.c (load_font_index): Don't free char_index to
14510 avoid double free.
b25db218
VS
14511 (grub_font_load): Zero-fill font at alloc for safety.
14512 Close file on error.
14513 (free_font): Free bmp_idx.
25a45338 14514
0cac83df
VS
145152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14516
14517 * docs/grub.texi (Installation): Fix several outdated claims.
14518
2217a143
VS
145192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14520
14521 Handle module_license on windows.
14522
14523 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
14524 sections shifted.
14525 (insert_string): Make argument const char * instead of char *.
14526 (write_section_data): Handle long section names.
14527 Handle module_license.
14528
d4de6b01
VS
145292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14530
14531 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
14532 handle class-free menuentries.
14533 (grub_normal_add_menu_entry): Add a check to be sure.
14534
4c2a3b43
VS
145352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14536
14537 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
14538 PgUp and PgDown.
14539
85c6210f
VS
145402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14541
14542 * configure.ac: Bump version to 1.99.
14543
36084912
VS
145442011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14545
14546 Give ATA device a bit more time on first try in order to allow disks
14547 to spin up.
14548
14549 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
14550 if dev->present is 1. Reset dev->present on failure.
14551 (grub_ata_device_initialize): Set dev->present to 1.
14552 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
14553 (grub_ata_device): New member 'present'.
14554
bda0e219
VS
145552011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14556
14557 * util/grub-mkimage.c (generate_image): Update hash.
14558
19e1c41b
VS
145592011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14560
14561 Flush caches on DMA memory.
14562
14563 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
14564 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
14565 (grub_dma_free): Likewise.
14566 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
14567
91bbcc0c
VS
145682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14569
14570 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
14571 to avoid asm treating ld and sd as macros.
14572
60ddfad3
VS
145732011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14574
14575 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
14576 decompressor.
14577
a298aa04
VS
145782011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14579
14580 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
14581 grub_decompress_core since later would fail if grub_decompress_core
14582 is too far.
14583
9b44feca
VS
145842011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
14587 R_MIPS_JALR since it's used by newer compiler.
14588
56dbe7b4
VS
145892011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
14590
14591 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
14592
52856af2
VS
145932011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
14596 file_path to 0 for surety.
14597 (grub_chainloader_boot): Set exit_data to NULL.
14598 Unset the loader once done.
14599 (grub_cmd_chainloader): Fix confusing error message if file is empty.
14600
9c9bfc6d
VS
146012011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14602
14603 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
14604 unknown key into a dprintf.
14605
dd94a3df
VS
146062011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
14609 on first non-existant partition.
14610
fa68d99c
VS
146112011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14612
14613 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
14614 openning fails.
14615 Reported by: Mark Korenberg.
14616
157effb7
VS
146172011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14618
14619 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
14620 overflow.
14621
ea75312f
VS
146222011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14623
14624 * util/grub-mkimage.c (main): Explicitely flush and sync the output
14625 before closing to ensure that it will be readable by grub-setup.
14626
072b5d31
VS
146272011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14628
14629 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
14630 (devpath_1): Use MAKE_PIWG_PATH.
14631 (devpath_2): Likewise.
14632 (devpath_3): Likewise.
14633 (devpath_4): Likewise.
14634 (devpath_5): Likewise.
14635 (devpath_6): Likewise.
14636
14637 The appleldr.mod was checked that to be binary identical to previous
14638 version.
14639
7fae0051
Z
146402011-05-05 Zach <mikezackles>
14641
14642 Support 2010 Macbooks.
14643
14644 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
14645 (devs): Add devpath_6.
14646
7c515bee
VS
146472011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14648
14649 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
14650 /dev/random. /dev/urandom is good enough for our purposes (salting).
14651
ed660bd8
VS
146522011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14653
14654 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
14655
ee5614b7
VS
146562011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
14659 hexadecimal.
14660
664889a6
VS
146612011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14662
14663 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
14664 and not 0 on failure.
14665
bd405bbc
CW
146662011-05-03 Colin Watson <cjwatson@ubuntu.com>
14667
14668 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
14669 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
14670 disk; otherwise grub_fs_probe will not fall back to the next
14671 filesystem.
14672 (grub_pxefs_open): Likewise, for consistency.
14673 Reported and tested by: Ezekiel Grave.
14674
4ebff753
CW
146752011-05-03 Colin Watson <cjwatson@ubuntu.com>
14676
14677 * tests/partmap_test.in: Don't hardcode path to parted.
14678 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
14679
8f942553
CW
146802011-05-01 Colin Watson <cjwatson@ubuntu.com>
14681
14682 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
14683 of `ls' to find out which devices are available.
14684
3c62402d
VS
146852011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
14688 than source address for efi mmap buffer.
14689
723f63f2
VS
146902011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14691
14692 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
14693 wrong action on non-detecting the magic.
14694
68797f92
VS
146952011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14696
14697 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
14698 already supplied by another part of the module (fixes compilation on
14699 FreeBSD).
14700
6be8715d
VS
147012011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
14704 match the one used by mdadm.
14705
e91dba5b
CW
147062011-04-21 Colin Watson <cjwatson@ubuntu.com>
14707
14708 * po/README: Add instructions for creating po/LINGUAS.
14709
c85140b3
CW
147102011-04-21 Colin Watson <cjwatson@ubuntu.com>
14711
14712 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
14713 #551428.
14714
14715 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
14716 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
14717 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
14718 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
14719 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
14720 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
14721 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
14722 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
14723 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
14724 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
14725 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
14726 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
14727 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
14728 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
14729 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
14730 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
14731 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
14732 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
14733 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
14734 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
14735 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
14736 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
14737
92051871
CW
147382011-04-21 Colin Watson <cjwatson@ubuntu.com>
14739
14740 * grub-core/kern/emu/getroot.c
14741 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
14742 test that was incorrectly reintroduced in r3214.
14743 Reported by: Ian Dall. Fixes Savannah bug #33133.
14744
b13f79a4
CW
147452011-04-21 Colin Watson <cjwatson@ubuntu.com>
14746
14747 Fix stack pointer handling in 16-bit relocator.
14748
14749 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
14750 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
14751 Fixes Ubuntu bug #683904.
14752
9b710a88
VS
147532011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14754
14755 * configure.ac: Bump version to 1.99~rc2.
14756
d97e7b59
VS
147572011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14758
14759 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
14760 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
14761 * grub-core/lib/x86_64/setjmp.S: Likewise.
14762 * grub-core/lib/mips/setjmp.S: Likewise.
14763 * grub-core/lib/powerpc/setjmp.S: Likewise.
14764 * grub-core/lib/sparc64/setjmp.S: Likewise.
14765
0624551c
VS
147662011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14767
14768 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
14769 * grub-core/lib/efi/datetime.c: Likewise.
14770
e8f28d4c
VS
147712011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14772
14773 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
14774 New function.
14775 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
14776 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
14777 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
14778
bba79a15
VS
147792011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14780
14781 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
14782 bitmap.
14783 (grub_gfxterm_term_init): Likewise.
14784
abc474ef
VS
147852011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14786
14787 Take into account the decorations the computing menu entry width.
14788
14789 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
14790 (grub_gfxmenu_create_box): Register get_border_width.
14791 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
14792 if available.
14793 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
14794 get_border_width.
14795
e74b3947
EP
147962011-04-18 Endres Puschner <code@e7p.de>
14797
14798 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
14799 Don't skip first class.
14800
34faa595
VS
148012011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
14804 chunks.
14805 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
14806
93a777e3
VS
148072011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14808
14809 Complete 64-bit division support.
14810
14811 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
14812 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
14813 * include/grub/misc.h (grub_divmod64): Rename to ...
14814 (grub_divmod64_full): ... this.
14815 (grub_divmod64): New inline function.
14816
a5102d94
VS
148172011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * util/grub-mkimage.c (generate_image): Add forgotten comma.
14820
f3fb7b36
VS
148212011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14822
14823 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
14824 performing the necessary test.
14825
9ac718b0
VS
148262011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
14829 (kfreebsd.elf): Likewise.
14830 (pc-chainloader.elf): Likewise.
14831 (ntldr.elf): Likewise.
14832
50d2cc5a
VS
148332011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14834
14835 Identify RAID by its UUID rather than (guessed) name.
14836
14837 * grub-core/disk/raid.c (ascii2hex): New function.
14838 (grub_raid_open): Accept mduuid/%s specification.
14839 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
14840 (get_mdadm_uuid): ... this.
14841 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
14842
e03f7bea
VS
148432011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
14844
14845 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
14846 to negative size.
14847
e74c3112
CW
148482011-04-13 Colin Watson <cjwatson@ubuntu.com>
14849
14850 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
14851 btrfs subvolume.
14852 * util/grub.d/20_linux_xen.in: Likewise.
14853
78fa584f
CW
148542011-04-13 Colin Watson <cjwatson@ubuntu.com>
14855
14856 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
14857 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
14858
14859 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
14860 Build a list of relevant visible mounts using the mnt_id and
14861 parent_mnt_id fields, and then scan that list at the end.
14862
9d5f8162
CW
148632011-04-12 Colin Watson <cjwatson@ubuntu.com>
14864
14865 * docs/grub.texi (normal): New section.
14866 (normal_exit): New section.
14867 (Embedded configuration): Add reference to normal.
14868 (GRUB only offers a rescue shell): Likewise.
14869 * docs/grub-dev.texi (Error Handling): Fix typo.
14870
09a9d66f
CW
148712011-04-12 Colin Watson <cjwatson@ubuntu.com>
14872
14873 * NEWS: Drop obsolete entry about probe-only btrfs support.
14874
0c676933
CW
148752011-04-12 Colin Watson <cjwatson@ubuntu.com>
14876
14877 * util/import_gcry.py: Fix typo.
14878
ec9f5e0d
VS
148792011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14880
14881 * NEWS: Add btrfs support.
14882
fe6b2cba
VS
148832011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
148842011-04-11 Colin Watson <cjwatson@ubuntu.com>
14885
14886 BtrFS support. Written by me (Vladimir) with important bugfixes and
14887 even more important testing by Colin.
14888
14889 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
14890 * grub-core/Makefile.core.def (btrfs): Add crc.c.
14891 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
14892 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
14893 mem_input_off and mem_input. All users updated to accept in-RAM input.
14894 (gzio_seek): New function.
14895 (test_zlib_header): Likewise.
14896 (grub_gzio_read): Likewise.
14897 (grub_zlib_decompress): Likewise.
14898 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
14899 Accept partial and non-virtual mounts.
14900 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
14901 avoid receiving /dev/dm-X as device.
14902 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
14903 Handle bind and partial mounts.
14904 * grub-core/lib/crc.c: New file.
14905 * include/grub/deflate.h: Likewise.
14906 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
14907 proto.
14908 * include/grub/lib/crc.h: New file.
14909
e745cf0c
VS
149102011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14911
14912 Implement automatic module license checking according to new GNU
14913 guidelines.
14914
14915 * grub-core/kern/dl.c (grub_dl_check_license): New function.
14916 (grub_dl_load_core): Use grub_dl_check_license.
14917 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
14918 (GRUB_MOD_LICENSE): Likewise.
14919 (GRUB_MOD_DUAL_LICENSE): Likewise.
14920 All modules updated.
14921
2a9bc016
CW
149222011-04-11 Colin Watson <cjwatson@ubuntu.com>
14923
14924 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
14925 reserved_first_sector to 1. btrfs reserves plenty of space for boot
14926 loaders.
14927 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
14928
8a3bc88e
VS
149292011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14930
14931 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
14932
af869a4a
VS
149332011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 * util/grub-fstest.c (read_file): Report GRUB error if file opening
14936 failed.
14937
9ee8d94f
VS
149382011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 * grub-core/kern/file.c (grub_file_open): Don't take into account the
14941 parenthesis in the middle of the filename.
14942
b01abe3e
VS
149432011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14944
14945 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
14946 rather than trying to put initrd way too high.
14947 Reported by: Ryan Lortie <desrt@desrt.ca>
14948
335bda1e
VS
149492011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14950
14951 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
14952 improperly removed string.
14953
5ca1a64d
VS
149542011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14955
14956 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
14957 is_disk.
14958 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
14959 (open_device) Likewise.
14960 (grub_util_biosdisk_close): Likewise.
d8ce9995 14961 Reported by: Mark Korenberg.
5ca1a64d 14962
cbac5b1e
AK
149632011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
14964
14965 * util/grub-mkconfig_lib.in: Add missing quotes.
14966
088cdb65
CW
149672011-04-10 Colin Watson <cjwatson@ubuntu.com>
14968
14969 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
14970 is NULL.
14971
8b8a81fa
VS
149722011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 Dynamically count the number of lines for the lower banner.
14975
14976 * grub-core/normal/menu_entry.c (per_term_screen): New member
14977 num_entries.
14978 (print_down): Use num_entries.
14979 (update_screen): Likewise.
14980 (grub_menu_entry_run): Set num_entries.
14981 * grub-core/normal/menu_text.c (menu_viewer_data): New member
14982 num_entries.
14983 (grub_print_message_indented): Move real part to ...
14984 (grub_print_message_indented_real): ... here. Additional argument
14985 dry_run.
14986 (draw_border): Additional argument num_entries.
14987 (print_message): Additional argument dry_run.
14988 (print_entries): Receive menu viewer data.
14989 (grub_menu_init_page): New argment num_entries.
14990 (menu_text_set_chosen_entry): Use num_entries.
14991 (grub_menu_try_text): Likewise.
14992 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
14993 All users updated.
14994 (grub_ucs4_count_lines): New function.
14995 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
14996 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
14997 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
14998 (grub_term_border_height): Likewise.
14999 (grub_term_num_entries): Likewise.
15000
277f955b
VS
150012011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15002
15003 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
15004 Remove now unused string.
15005
536ce85a
CW
150062011-04-09 Colin Watson <cjwatson@ubuntu.com>
15007
15008 * docs/grub-dev.texi (Finding your way around): Update for 1.99
15009 build system.
15010 (Getting started): GRUB is developed in Bazaar now, not Subversion.
15011
15012 (Comment): Fix typo.
15013 (Getting started): General copy-editing.
15014 (Typical Development Experience): Likewise.
15015 (Error Handling): Likewise.
15016 (Video API): Likewise.
15017
2cf09e32
CW
150182011-04-09 Colin Watson <cjwatson@ubuntu.com>
15019
15020 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
15021 throughout.
15022
1ec652f4
VS
150232011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 * util/grub-mkimage.c (main): Handle special naming of yeeloong
15026 directory.
15027
2c583728
CW
150282011-04-08 Colin Watson <cjwatson@ubuntu.com>
15029
15030 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
15031 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
15032 "development".
15033
d7a565e9
VS
150342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15035
15036 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
15037 grub_strcpy since the lines aren't necessarily 0-terminated.
15038
7c2e4909
VS
150392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15040
15041 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
15042 root on legacy.
15043
34c09785
VS
150442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15045
15046 * grub-core/commands/probe.c (options): Argument to set isn't optional.
15047 (GRUB_MOD_INIT): DEVICE isn't optional.
15048
6a6f8058
VS
150492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
15052 word on new line if it's too long anyway. Fixes a hang.
15053
2e335e90
VS
150542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15055
15056 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
15057 const.
15058 * util/grub-setup.c (main): Reuse md device name if available.
15059 * util/raid.c (grub_util_raid_getmembers): Receive device name and
15060 not GRUB name as argument.
15061 Based on patch by: Florian Wagner <fwagner>.
15062
10a7a867
VS
150632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15066 Place mbi on low memory for better compatibility.
15067
7a3d6cd9
VS
150682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15069
15070 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
15071
18dd6b47
VS
150722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
150732011-04-08 Colin Watson <cjwatson@ubuntu.com>
15074
15075 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 15076 * conf/Makefile.common: Likewise.
18dd6b47 15077
3c0e3f14
VS
150782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15079
f7148863
VS
15080 * grub-core/normal/menu.c: Add missing include.
15081
150822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 15085
6d1fa41f
MZ
150862011-04-08 Martin Zuther <mzuther@mzuther.de>
15087
15088 * util/grub-mkconfig.in: Ignore emacsen backup.
15089
478182a8
VS
150902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15091
15092 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
15093 on open.
15094 (grub_util_biosdisk_close): Likewise.
15095
72a89a54
VS
150962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15097
15098 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
15099 const attribute and use grub_isdigit.
15100
b5ebecfa
A
151012011-04-06 Andrey <dev_null@ukr.net>
15102
15103 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
15104 gcc warning.
15105
7755f66e
VS
151062011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15107
15108 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
15109 useful grub_dprintf's.
15110
461121ff
VS
151112011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15112
15113 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
15114
2a961775
VS
151152011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15116
15117 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
15118
adf594cc
VS
151192011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15120
15121 Output errors if theme loading failed.
15122
15123 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
15124 grub_gfxterm_fullscreen on error paths to ...
15125 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
15126 theme loading error.
15127
665900a3
VS
151282011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15129
15130 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
15131 space for older compilers.
15132 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15133
a562b479
VS
151342011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
15137 and report them as not RAID members since they are useless for GRUB.
15138 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15139
850e9373
VS
151402011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15141
15142 Increase LVM implementation robustness in order not to crash on
15143 configurations like pvmove. Previously code assumed that in some places
15144 only lvs or only pvs are used whereas it seems that they are used
15145 interchangeably.
15146
15147 * grub-core/disk/lvm.c (read_node): New function.
15148 (read_lv): Use read_node.
15149 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
15150 Match volumes only at the end when all lvs are found. Take both
15151 pvs (first) and lvs (second) into account.
15152 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
15153 mirror_* into node_*. All users updated.
15154 (grub_lvm_stripe): Merge this ...
15155 (grub_lvm_mirror): ... and this ...
15156 (grub_lvm_node): ... into this. All users updated.
15157
6f332153
VS
151582011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15159
15160 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
15161 of function to allow further scanning for LVMs.
15162
829ea451
VS
151632011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15164
15165 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
15166 on failed seek as it breaks open fd reusage.
15167
09ceb9a5
VS
151682011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15169
15170 * util/grub-install.in: Add a recommendation to use --recheck before
15171 reporting bugs.
15172
67e11623
VS
151732011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
15176 are obtained.
15177
caee5efd
VS
151782011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15179
15180 GRUB developper manual based on existing Internals section and
15181 contributions by the various authors with active copyright assignment.
15182
15183 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
15184 * docs/font_char_metrics.png: New file.
15185 * docs/font_char_metrics.txt: Likewise.
15186 * docs/grub-dev.texi: Likewise.
15187 * docs/grub.texi (Internals): Move from here ...
15188 * docs/grub-dev.texi: ... here.
15189
2cccc747
CW
151902011-04-01 Colin Watson <cjwatson@ubuntu.com>
15191
15192 Store the loopback device as data on loopback grub_disk structures,
15193 rather than the file it points to. This fixes use of freed memory
15194 if an existing loopback device is replaced.
15195
15196 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
15197 disk->data, not dev->file.
15198 (grub_loopback_read): Adjust file assignment to match.
15199 Fixes Ubuntu bug #742967.
15200
186ae367
CW
152012011-04-01 Colin Watson <cjwatson@ubuntu.com>
15202
15203 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
15204 when replacing an existing device.
15205
cfed2ad0
VS
152062011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
15207
15208 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
15209 memory corruptions.
15210
15211 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
15212 unsigned.
15213 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
15214 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
15215 (grub_jfs_read_inode): Likewise.
15216 (grub_jfs_opendir): Likewise. Remove now useless casts.
15217 (grub_jfs_getent): Likewise.
15218 Make ino a grub_uint32_t rather than int.
15219 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
15220 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
15221 division and module with bit operations.
15222 (grub_jfs_find_file): Make ino a grub_uint32_t.
15223 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
15224
05d2ed32
CW
152252011-04-01 Colin Watson <cjwatson@ubuntu.com>
15226
15227 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
15228 warning. (This was in fact always initialised before use, but GCC
15229 wasn't smart enough to prove that.)
15230 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
15231
91dc6073
VS
152322011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15233
15234 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
15235 stack alignment.
15236 (efi_wrap_1): Likewise.
15237 (efi_wrap_2): Likewise.
15238 (efi_wrap_3): Likewise.
15239 (efi_wrap_4): Likewise.
15240 (efi_wrap_5): Likewise.
15241 (efi_wrap_6): Likewise.
15242 (efi_wrap_10): Likewise.
15243 Based on information by: Red Hat/Peter Jones.
15244
a8afc1d1
CW
152452011-03-31 Colin Watson <cjwatson@ubuntu.com>
15246
15247 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
15248 set-but-not-used variable.
15249
a826cc7d
CW
152502011-03-31 Colin Watson <cjwatson@ubuntu.com>
15251
15252 * docs/grub.texi (Simple configuration): Be more explicit about
15253 GRUB_DEFAULT, and add an example.
15254 Reported by: Leslie Rhorer.
15255
875b67ba
CW
152562011-03-30 Colin Watson <cjwatson@ubuntu.com>
15257
15258 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
15259 shell".
15260
fd7cd914
AS
152612011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15262
15263 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
15264 * util/grub.d/20_linux_xen.in: Likewise.
15265
090b1b6a
VS
152662011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 * util/grub.d/10_linux.in: Try alternative config filenames where
15269 we parse config file.
15270 * util/grub.d/20_linux_xen.in: Likewise.
15271
baad885c
AS
152722011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15273
15274 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
15275 * util/grub.d/20_linux_xen.in: Likewise.
15276
241e41f5
VS
152772011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15278
15279 * grub-core/disk/raid.c (insert_array): Add few potentially
15280 useful grub_util_info.
15281 (grub_raid_register): Likewise.
15282
56445fb2
VS
152832011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
15286 Preserve partition number in mdadm code path.
15287
c871b1c6
VS
152882011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15289
15290 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
15291 few potentially useful grub_util_info.
15292
5e631b4f
CW
152932011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
15296
2d5d0333
CW
152972011-03-30 Colin Watson <cjwatson@ubuntu.com>
15298
15299 * docs/grub.texi (default): Use @example rather than nested
15300 itemized lists to avoid breaking gendocs.
15301
3d7ed04e
CW
153022011-03-30 Colin Watson <cjwatson@ubuntu.com>
15303
15304 * docs/grub.texi (Future): Update.
15305
abf04200 153062011-03-30 Colin Watson <cjwatson@ubuntu.com>
15307
15308 * docs/grub.texi (Environment): New chapter.
15309 (Changes from GRUB Legacy): Link to "Environment block" section for
15310 details of limitations.
15311 (Simple configuration): Likewise. Link to documentation of gfxmode
15312 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
15313 respectively.
15314 (Shell-like scripting): Note that normal variables are stored in the
15315 environment.
15316 (gettext): Link to documentation of lang and locale_dir.
15317 (list_env): New section.
15318 (load_env): New section.
15319 (save_env): New section.
15320
15321 (Reporting bugs): Fix typo.
15322
e1ad0edd
VS
153232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15324
15325 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
15326 the example.
15327
5d803174
VS
153282011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15329
15330 * grub-core/term/at_keyboard.c (set_scancodes)
15331 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
15332
2a2da1d0
CW
153332011-03-30 Colin Watson <cjwatson@ubuntu.com>
15334
15335 * docs/grub.texi (Menu-specific commands): Remove some semantics
15336 that were true in GRUB Legacy but not in GRUB 2.
15337 (submenu): New section.
15338 (false): New section.
15339 (read): New section.
15340 (true): New section.
15341
a7527639
CW
153422011-03-30 Colin Watson <cjwatson@ubuntu.com>
15343
15344 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
15345
153462011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
15347
15348 * docs/grub.texi (Simple configuration): Explain some of the
15349 current limitations of grub-mkconfig.
8a748df2 15350 Reported by: Leslie Rhorer.
e30af029 15351
fc858482
VS
153522011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15353
15354 Old macs search for boot.efi rather than for bootia32.efi.
15355
15356 * util/grub-install.in: Copy bootia32.efi to boot.efi.
15357 * util/grub-mkrescue.in: Likewise.
15358 Suggested by: Peter Jones.
15359
e1eb511d
VS
153602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
15363
70e75364
VS
153642011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15365
15366 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
15367 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
15368 (grub_lvm_mirror): New struct.
15369 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
15370 (grub_lvm_iterate): Iterate only visible volumes.
15371 (grub_lvm_read): Factor out to ..
15372 (read_lv): ... this. Support mirrors.
15373 (grub_lvm_read): New wrapper function.
15374 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
15375 stripped or mirrored.
15376
fc18f6a3
VS
153772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15378
15379 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
15380
5c650f4c
CW
153812011-03-29 Colin Watson <cjwatson@ubuntu.com>
15382
15383 * docs/grub.texi (loopback): New section.
15384
61d7156b
CW
153852011-03-29 Colin Watson <cjwatson@ubuntu.com>
15386
15387 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
15388 removed -p option.
15389
994b8264
CW
153902011-03-29 Colin Watson <cjwatson@ubuntu.com>
15391
15392 * docs/grub.texi (BIOS installation): New section, partly based on
15393 previous text in other sections.
15394 (Installing GRUB using grub-install): Replace BIOS discussion with a
15395 cross-reference.
15396 (Images): Likewise.
15397
9e4d19e0
VS
153982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15399
15400 * grub-core/kern/emu/hostdisk.c (find_partition_start)
15401 [HAVE_DIOCGDINFO]: Add safety checks.
15402
a307c0b2
VS
154032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15404
15405 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
15406 per default compiled in kernel and prior to 8.0 isn't shipped at all.
15407
b4db4f39
CW
154082011-03-29 Colin Watson <cjwatson@ubuntu.com>
15409
15410 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
15411 real_sb->size is zero (e.g. RAID-0), get the disk size from
15412 real_sb->data_size instead.
15413 Fixes Ubuntu bug #743136.
15414
35e5f84c
VS
154152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15416
15417 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
15418 printf clauses for printing size and start.
15419
d2e29d81
VS
154202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
15423 Reported and tested by: Timothy Nikkel.
15424
ed5587af
VS
154252011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15426
15427 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
15428 (dirty_region_add_real): ... this.
15429 (dirty_region_add): Don't discard margin refresh when performing
15430 scheduled repaint.
15431
a1dc717c
VS
154322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15433
15434 * grub-core/lib/relocator.c (allocate_regstart)
15435 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
15436 terminals are capabple of malloc-free operation.
15437 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15438 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15439
9f3677d3
VS
154402011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
15441
15442 * util/grub-setup.c: Copy the partition table zone if floppy support
15443 is disabled, even if no partition table is found.
15444
15445 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
15446 during POST if an invalid partition table is contained in the PBR
15447 of the active partition when GRUB is installed to a partition.
15448
24148725
CW
154492011-03-28 Colin Watson <cjwatson@debian.org>
15450
15451 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
15452 comment.
15453
f329eda7
CW
154542011-03-28 Colin Watson <cjwatson@debian.org>
15455
15456 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
15457 to be specific about what kind of RAID device we're scanning for.
15458
c482ad98
SG
154592011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
15460
15461 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
15462 return freed string.
15463
5ee04984
VS
154642011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15465
15466 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
15467
f4727da9
VS
154682011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 Use libgeom on FreeBSD to detect partitions.
15471
15472 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
15473 (grub-mkrelpath): Likewise.
15474 (grub-script-check): Likewise.
15475 (grub-editenv): Likewise.
15476 (grub-mkpasswd-pbkdf2): Likewise.
15477 (grub-fstest): Likewise.
15478 (grub-mkfont): Likewise.
15479 (grub-mkdevicemap): Likewise.
15480 (grub-probe): Likewise.
15481 (grub-setup): Likewise.
15482 (grub-ofpathname): Likewise.
15483 (grub-mklayout): Likewise.
15484 (example_unit_test): Likewise.
15485 (grub-menulst2cfg): Likewise.
15486 * grub-core/Makefile.core.def (grub-emu): Likewise.
15487 (grub-emu-lite): Likewise.
15488 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
15489 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
15490 define HAVE_DIOCGDINFO.
15491 (follow_geom_up) [FreeBSD]: New function.
15492 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
15493 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
15494 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
15495 unconditionally of HAVE_DIOCGDINFO.
15496
82fe6c75
VS
154972011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15498
15499 Fix FreeBSD compilation problem.
15500
15501 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
15502 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
15503
4c6c9431
CW
155042011-03-24 Colin Watson <cjwatson@ubuntu.com>
15505
15506 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
15507 Switch back to page zero before loading a kernel, since some kernel
15508 drivers expect that.
15509 Thanks to: Felix Kuehling.
15510
c7064d94
VS
155112011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
15514 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
15515 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
15516
3f71cded
VS
155172011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15518
15519 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
15520 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
15521
ef6de21a
VS
155222011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15523
15524 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
15525 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
15526 malloc is disabled.
15527
8bc66a2c
VS
155282011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15529
15530 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
15531 for modules headers when counting the needed allocation size.
15532
5657722c
VS
155332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
15536 if no ASCII character is found to prevent crash.
15537
41a85f55
AK
155382011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
15539
15540 * grub-core/video/bitmap.c (match_extension): Ignore case.
15541
59e1e5f1
VS
155422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
15545
bd4d051a
VS
155462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15547
15548 * grub-core/script/parser.y: Declare "time" as valid argument.
15549
bae7fcc1
PJ
155502011-03-23 Peter Jones <pjones@redhat.com>
15551
15552 Fix incorrect assert failure reporting.
15553
15554 * grub-core/tests/example_functional_test.c (example_test): Add
15555 a failure comment.
15556 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
15557 (failure_start): ...this. Check that malloc succeeded.
15558 Don't call xvasprintf. Return failure struct.
15559 (failure_append_vtext): New function.
15560 (failure_append_text): Likewise.
15561 (add_failure): Likewise.
15562 (grub_test_assert_helper): Likewise.
15563 * include/grub/test.h (grub_test_assert_helper): New declaration.
15564 (grub_test_assert): Macro rewritten.
15565
537dc9be
VS
155662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15567
15568 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
15569
fa3e01bf
VS
155702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15571
15572 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
15573
b1d28404
VS
155742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15575
15576 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
15577 into GRUB-style one.
15578
2e3e2e09
VS
155792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15580
15581 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
15582 error and not grub_errno.
15583 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
15584
ed57e557
VS
155852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
15588 GRUB_USB_SPEED_NONE in case of failure and not the error code.
15589
d1611f01
VS
155902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15591
15592 * grub-core/efiemu/i386/pc/cfgtables.c
15593 (grub_machine_efiemu_init_tables): Make declaration a prototype.
15594 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
15595 (grub_xnu_unlock): Likewise.
15596 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
15597
7d4e39d6
VS
155982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15599
15600 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
15601 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
15602 * grub-core/commands/hashsum.c (aliases): Likewise.
15603 * grub-core/commands/setpci.c (pci_registers): Likewise.
15604 * grub-core/disk/usbms.c (attach_hook): Likewise.
15605 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
15606 (zio_checksum_table): Likewise.
15607 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
15608 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
15609 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
15610 * grub-core/lib/relocator.c (leftovers): Likewise.
15611 (extra_blocks): Likewise.
15612 * grub-core/loader/i386/bsd.c (relocator): Likewise.
15613 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
15614 (modules_last): Likewise.
15615 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
15616 (devices): Likewise.
15617 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
15618 (modules_last): Likewise.
15619 * grub-core/normal/auth.c (users): Likewise.
15620 * grub-core/normal/context.c (initial_menu): Likewise.
15621 (current_menu): Likewise.
15622 * grub-core/normal/crypto.c (crypto_specs): Likewise.
15623 * grub-core/term/serial.c (grub_serial_ports): Likewise.
15624 (grub_serial_terminfo_input_template): Likewise.
15625 (grub_serial_terminfo_output_template): Likewise.
15626 (grub_serial_terminfo_input): Likewise.
15627 (grub_serial_terminfo_output): Likewise.
15628 (registered): Likewise.
15629 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
15630
40fc4659
VS
156312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15632
15633 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
15634 grub_video_mode_type_t.
15635 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
15636 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
15637 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
15638
2da48d28
VS
156392011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15640
15641 * util/grub-install.in: Correct the x86-64 name as x86_64.
15642
9b43bf39
CW
156432011-03-11 Colin Watson <cjwatson@ubuntu.com>
15644
15645 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
15646 initial chunk read from the kernel always includes GRUB's multiboot
15647 header, which is now outside the first sector.
15648
be1a7ce0
CW
156492011-03-09 Colin Watson <cjwatson@ubuntu.com>
15650
15651 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
15652 cached mmap_size, so that this works correctly when called multiple
15653 times.
15654 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
15655
83a3c48d
CW
156562011-03-09 Colin Watson <cjwatson@ubuntu.com>
15657
15658 * docs/grub.texi (Simple configuration): Tidy up formatting.
15659
57d75699
SJ
156602011-03-07 Szymon Janc <szymon@janc.net.pl>
15661
15662 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
15663 Set-but-not-used variable removed.
15664
028501a0
VS
156652011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15666
15667 Workaround yet another IEEE1275 bug.
15668
15669 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
15670 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
15671 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
15672 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
15673 is set.
15674 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15675 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
15676
d998657d
VS
156772011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15678
15679 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
15680 error.
15681
fee7cdd4
CW
156822011-02-11 Colin Watson <cjwatson@ubuntu.com>
15683
15684 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
15685 empty, since in that case we can only generate either nothing or a
15686 syntactically invalid configuration file.
15687 Reported by: Michal Suchanek. Fixes Debian bug #612898.
15688
97286eb5
CW
156892011-02-09 Colin Watson <cjwatson@ubuntu.com>
15690
15691 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
15692 (Making a GRUB bootable CD-ROM): Likewise.
15693 (Invoking grub-mkrescue): New section.
15694 Reported by: Yann Dirson. Fixes Debian bug #612585.
15695
22b28eb3
CW
156962011-02-09 Colin Watson <cjwatson@ubuntu.com>
15697
15698 * util/grub-install.in: Remove unnecessary brackets from tr
15699 arguments.
15700 * util/grub.d/10_hurd.in: Likewise.
15701 * util/grub.d/10_kfreebsd.in: Likewise.
15702 * util/grub.d/10_linux.in: Likewise.
15703 * util/grub.d/20_linux_xen.in: Likewise.
15704 Reported by: Jamie Heilman. Fixes Debian bug #612564.
15705
7e735e43
CW
157062011-02-08 Colin Watson <cjwatson@ubuntu.com>
15707
15708 * include/grub/file.h (not_easly_seekable): Rename to ...
15709 (not_easily_seekable): ... this. Update all users.
15710
800f1881
CW
157112011-01-28 Colin Watson <cjwatson@ubuntu.com>
15712
15713 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
15714 grub-mkrescue.
15715
3281d3d6
VS
157162011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * util/grub-mkimage.c (generate_image): Refuse to create the images
15719 bigger than the actual flash (512K) in Loongson machines. 512K is also
15720 the biggest chip supported by them.
15721
3533413c
VS
157222011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
15725
73ae4f4f
VS
157262011-01-22 Anthony DeRobertis <anthony@derobert.net>
15727
15728 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
15729 super_offset field.
15730
37f4f608
VS
157312011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15732
15733 * util/grub-install.in: Ignore install device on platforms
15734 where it doesn't make sense. Always use UUIDs except on pc, efi and
15735 sparc64.
15736 Reported by: Daniel Kahn Gillmor.
15737
03a4ccb5
VS
157382011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15739
15740 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
15741
ffc8f4d8
VS
157422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15743
15744 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
15745 (iterate_real): Don't rely on partition being non-NULL.
15746
80f23be7
VS
157472011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
15750 supported platforms. Put a compile time assert for this rather than
15751 generate a warning with 32-bit shift.
15752
5d4f4dd5
VS
157532011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15754
15755 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
15756 logical expression more readable.
15757
e489601a
VS
157582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
15761 even if some elements have a name.
15762 Reported by: Alexander GQ Gerasiov.
15763
96e0a6ea
CW
157642011-01-22 Colin Watson <cjwatson@ubuntu.com>
15765
15766 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
15767 path unreadable if `grub-probe -t abstraction' fails, for example if
15768 memberlist fails on an LVM volume group.
15769 Reported by: Darius Jahandarie.
15770
81431e2b
CW
157712011-01-22 Colin Watson <cjwatson@ubuntu.com>
15772
15773 * docs/grub.texi (Simple configuration): Document
15774 GRUB_PRELOAD_MODULES.
15775
5e79d66a
CW
157762011-01-17 Colin Watson <cjwatson@ubuntu.com>
15777
15778 * .bzrignore: Remove nonexistent grub-pbkdf2.
15779
646ada34
VS
157802011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
15781
15782 * configure.ac: Bump version to 1.99~rc1.
15783
04360337
VS
157842011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15785
15786 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
15787 for safety.
15788
46c9db88
VS
157892011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
15792 module.
15793
157942011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
15795
15796 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
15797
4fbf1852
VS
157982011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
15801 diskdevid.
15802
f1632d4d
VS
158032011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 Fix compilation on cygwin.
15806
15807 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
15808 -R .drectve on cygwin.
15809 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
15810 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
15811 (COND_CYGWIN): New condition.
15812 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
15813 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
15814 not @TARGET_OBJ2ELF@.
15815 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
15816 type to determine whether aux is to be used.
15817
0b5e127b
VS
158182011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15819
15820 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
15821 realpath'ed device string.
15822 Handle floppy (somewhat).
15823 Issue error in unknown case rather than garbage.
15824 Reported by: Axel Beckert.
15825
173b71e9
VS
158262011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15827
15828 * util/grub.d/00_header.in (load_video): Handle the case when no video
15829 drivers available.
15830 Thanks to: Axel Beckert.
15831
f8f479db
VS
158322011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15833
15834 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
15835 variable. Fixes problem on big endian platforms.
15836
8fc0a245
VS
158372011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15838
15839 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
15840 It doesn't work well there.
15841
b8494fbe
VS
158422011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15843
15844 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
15845 warning.
15846 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
15847 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
15848 counter.
15849
b44a558c
VS
158502011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15851
15852 Use alias->path rather than buggy "canon".
15853
15854 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
15855 (ofdisk_hash_add): New argument curcan. All users updated.
15856
51fa856c
CW
158572011-01-11 Colin Watson <cjwatson@ubuntu.com>
15858
15859 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
15860
9da068a5
VS
158612011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15862
15863 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
15864 loadmask before doing any calculations. Use correct type for offset.
15865 (grub_linux_load64): Likewise.
15866
86205c94
CW
158672011-01-11 Colin Watson <cjwatson@ubuntu.com>
15868
15869 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
15870 with NULL.
15871 (console_grub_equivalences_unshift): Likewise.
15872 Reported by: Daniel Dehennin.
15873
4531a206
VS
158742011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15875
15876 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
15877 (set_env_limn_ro): Likewise.
15878 (GRUB_MOD_INIT): Likewise.
15879 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
15880 ARRAY_SIZE while on it.
15881 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
15882 * grub-core/normal/context.c (grub_env_export): Move from here ...
15883 * grub-core/kern/env.c (grub_env_export): ... here.
15884 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
15885 prefix.
15886 * grub-core/kern/main.c (grub_main): Export root and prefix.
15887 * include/grub/env.h (grub_env_export): Export.
15888 Reported by: Seth Goldberg.
15889
45146057
VS
158902011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15891
15892 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15893 Take into account space used by ELF sections and multiboot palette.
15894 Reported by: Grégoire Sutre.
15895
f093110b
VS
158962011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 * BUGS: New file.
15899
3395fe52
VS
159002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15901
15902 Pass more appropriate video id to Linux.
15903
15904 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
15905 grub_video_get_driver_id and variable gfxpayloadforcelfb to
15906 fill have_vga.
15907 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
15908 shift params->lfb_size.
15909 * include/grub/i386/linux.h: Make an enume out of have_vga values.
15910
c2fa6cbb
VS
159112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 * util/grub-menulst2cfg.c: Add missing include of misc.h.
15914
b3ff6ff0
VS
159152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15916
15917 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
15918 separator and pass bootpath/devid even if only one of them is available.
15919 Reported by: Seth Goldberg.
15920
ae67942e
VS
159212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15922
15923 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
15924 implementations bug on them.
15925
15926 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
15927 memory.
15928 (filter_memory_map): Likewise.
15929
d570097a
VS
159302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15931
15932 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
15933 Reported by: nebuchadnezzar.
15934
a508e776
VS
159352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
15938 Reported by: nebuchadnezzar.
15939
dcb883b1
VS
159402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15941
15942 Submenu default support.
15943
15944 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
15945 auto_boot. All users updated.
15946 Declared static.
15947 Handle chosen and default with submenus.
15948 (grub_menu_execute_with_fallback): Declared static.
15949 Don't notify failure if autobooted. Upper level does it.
15950 (menuentry_eq): New function.
15951 (get_entry_number): Use menuentry_eq.
15952 (show_menu): New parameter "autobooted". All users updated.
15953 (grub_show_menu): Likewise.
15954 * include/grub/normal.h (grub_show_menu): Likewise.
15955 * include/grub/menu.h (grub_menu_execute_entry): Removed.
15956 (grub_menu_execute_with_fallback): Likewise.
15957
6fef99b4
VS
159582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15959
15960 * util/grub-mklayout.c (usage): Update help text.
15961
47a77af5
VS
159622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15963
15964 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
15965
ce6bb3ee
VS
159662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15967
15968 * util/grub-menulst2cfg.c (main): Trim the line.
15969
db87be2a
VS
159702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15971
15972 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
15973 (grub_machine_init): Don't check amount of low memory as reportedly
15974 INT 12h can be broken and if low memory is too low we wouldn't have
15975 gotten into grub_machine_init anyway.
15976
c49849cc
VS
159772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
15980 (grub_machine_mmap_iterate): Take low memory into account
15981
b1969b30
VS
159822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15983
15984 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
15985 badfs.
15986 Reported by: TiCPU.
15987
cf0eaf13
VS
159882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
15991 members errors.
15992
1f060f39
GS
159932011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
15994
15995 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
15996 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
15997
a21e5672
GS
159982011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
15999
16000 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
16001 openbsd and netbsd types being in part_bsd module.
16002
c88172fa
VS
160032011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16004
16005 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
16006 (_FILE_OFFSET_BITS): Likewise.
16007 Reported by: Seth Goldberg.
16008
53798c4b
GS
160092011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16010
16011 * configure.ac: Check for libdevmapper header.
16012
e7121b69
VS
160132011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16014
16015 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
16016 avoid aliasing.
16017 (fzap_lookup): Likewise.
16018 (dnode_get): Likewise.
16019 (make_mdn): Likewise.
16020 (zfs_mount): Likewise.
16021 (fzap_iterate): Use temporary pointer to avoid aliasing.
16022 (grub_zfs_read): Likewise.
16023 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
16024 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
16025 pointers to avoid aliasing.
16026 (grub_cmd_xnu_kernel64): Likewise.
16027 (grub_xnu_load_driver): Likewise.
16028
fc836af9
VS
160292011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16030
16031 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
16032 aliasing warning.
16033 (grub_cmd_terminal_output): Likewise.
16034 Reported and tested by: Grégoire Sutre.
16035
f9f37648
VS
160362011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
16039 warning.
16040 Reported and tested by: Grégoire Sutre.
16041
ec1dfd63
VS
160422011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16043
16044 * configure.ac: Do CPU substitution even if it's specified explicitly.
16045 Reported and tested by: Alain Greppin.
16046
9462775a
VS
160472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
16050 Reported and tested by: Alain Greppin.
16051
0fd48e35
VS
160522011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 Satisfy some bison versions need for inttypes.h.
16055
16056 * grub-core/lib/posix_wrap/inttypes.h: New file.
16057 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
16058 (int16_t): Likewise.
16059 (int32_t): Likewise.
16060 (int64_t): Likewise.
16061 Reported and tested by: Alain Greppin.
16062
43f1bc83
VS
160632011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16064
16065 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
16066 Silence spurious warning.
16067 Reported and tested by: Alain Greppin.
16068
64d1f041
SJ
160692011-01-07 Szymon Janc <szymon@janc.net.pl>
16070
16071 * docs/grub.texi (Support automatic decompression): Update with xz
16072 decompression support.
16073
25953e10
SJ
160742011-01-07 Szymon Janc <szymon@janc.net.pl>
16075
16076 Improve loaders' kernel command line handling.
16077
16078 * grub-core/lib/cmdline.c: New file.
16079 * include/grub/lib/cmdline.h: Likewise.
16080 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
16081 grub_create_loader_cmdline to create kernel command line.
16082 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16083 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
16084 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
16085 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
16086 (linux): Add lib/cmdline.c on common.
16087
e72d259f
VS
160882011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16089
16090 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
16091 inopos might be unaligned.
16092
c0cf26da
VS
160932011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
16096 endian transformations.
16097 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16098 Based on report by: Doug Nazar.
16099
0ca09e6c
DN
161002011-01-07 Doug Nazar <nazard.michi@gmail.com>
16101
16102 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
16103 array->members[i].start_sector.
16104 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
16105
014b6806
VS
161062011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16107
16108 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
16109 Reported and tested by: Grégoire Sutre.
16110
415502c2
CW
161112011-01-06 Colin Watson <cjwatson@ubuntu.com>
16112
16113 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
16114 avoid causing test failures by clearing the screen.
16115
71b6a2b7
CW
161162011-01-06 Colin Watson <cjwatson@ubuntu.com>
16117
16118 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16119 Fix prefix check to handle the case where dir ends with a slash
16120 (most significantly, "/" itself).
16121 Reported by: Michael Vogt.
16122
b3f8d28a
VS
161232011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16124
16125 Run terminfo_cls on initing terminfo output to clear the screen and
16126 move the cursor to (0,0).
16127
16128 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
16129 Call grub_terminfo_output_init.
16130 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
16131 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
16132 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
16133
4c3e4f37
VS
161342011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
16137 only when needed.
16138
488f71f1
VS
161392011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16140
16141 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
16142 CTRL.
16143
18a38098
VS
161442011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16145
16146 The E820 type 5 is BADRAM, not EXEC_CODE.
16147
16148 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16149 (GRUB_E820_BADRAM): New define.
16150 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
16151 into reserved. Propagate BADRAM.
16152 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16153 (GRUB_E820_BADRAM): New define.
16154
9eae2084
VS
161552011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16156
16157 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
16158 Ignore the memory post-4G.
16159 (grub_relocator_firmware_alloc_region): Additional debug statement.
16160
ebc71d28
VS
161612011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16162
16163 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
16164 names.
16165 Reported by: David Pravec.
16166
446fa400
VS
161672011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16168
16169 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
16170 BIOSes.
16171
a0159f37
VS
161722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16173
16174 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
16175 Prevent overflow.
16176 (grub_reed_solomon_recover): Likewise.
16177
e5146ca1
VS
161782011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
16181
161822011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
16183
16184 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
16185 variable.
16186
5b1bdf12
CW
161872011-01-04 Colin Watson <cjwatson@ubuntu.com>
16188
16189 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
16190 descriptions of extract_legacy_entries_source and
16191 extract_legacy_entries_configfile.
16192 Reported by: Seung Soo, Ha.
16193
99d925aa
CW
161942011-01-03 Colin Watson <cjwatson@ubuntu.com>
16195
16196 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
16197 on devices that do not implement function 0.
16198
4af0504b
DV
161992011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
16200
16201 * grub-core/fs/hfsplus.c: Make parent unsigned.
16202 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
16203 overflows.
16204 (grub_hfsplus_cmp_extkey): Likewise
16205
469ee10a
VS
162062011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 * util/grub-install.in: Correctly use bootloader_id and not
16209 GRUB_DISTRIBUTOR on efibootmgr line.
16210
323a8e9c
VS
162112011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16212
16213 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
16214
1b394975
IC
162152010-12-31 Ian Campbell <ijc@hellion.org.uk>
16216
16217 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
16218 Xen and reorder menu item wording to make it clearer that this entry
16219 will launch Xen. Print separate messages when loading Xen and
16220 Linux.
16221
275bff5f
VS
162222010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16223
16224 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
16225 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
16226 loop in case of incorrect amiga partmap.
16227
307806cb
VS
162282010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16229
16230 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
16231 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
16232 Reported by:EHeM.
16233
b12b923e
VS
162342010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16235
16236 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
16237 spurious warning.
16238 Reported by: crocket
16239
14b48a19
VS
162402010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16241
16242 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
16243 Preload EFIemu.
16244 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
16245
693db2df
VS
162462010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16247
16248 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
16249 is loaded
16250 (grub_cmd_xnu_kextdir): Likewise.
16251 (grub_cmd_xnu_splash): Likewise.
16252
c7638645
VS
162532010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 Avoid using Reed-Solomon with 0 redundancy.
16256
16257 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
16258 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
16259 or 0 redundancy.
16260 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
16261 (grub_reed_solomon_recover): Likewise.
16262
25dd4780
VS
162632010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16264
16265 Don't use disk subsystem in freebsd_boot.
16266
16267 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
16268 (freebsd_biosdev): Likewise.
16269 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
16270 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
16271
0b2db943
VS
162722010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
16273
16274 Handling of files of unknown size is currently limited. They can't be
16275 used e.g. for initrd or modules. Moreover gzip handling of not
16276 easily seekable files is buggy. Disable unknown file size for now. May
16277 be inefficient but works.
16278
16279 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
16280 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
16281
5c408d0f
MP
162822010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
16283
16284 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
16285 floppy probe.
16286
190a011a
JD
162872010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
16288
16289 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
16290
022d01b8
SL
162912010-12-25 Shea Levy <shlevy>
16292
16293 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
16294
c4855fdc
VS
162952010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16296
16297 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
16298 Windows Server 2008.
16299 Reported by: Devin Giddings.
16300
0354b867
VS
163012010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16302
16303 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
16304 writing an error message because of async power management.
16305 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
16306 (grub_reboot): Likewise.
16307
ab66c69f
JU
163082010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
16309
16310 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
16311 keep unit tests from failing when they shouldn't.
16312
1426ef35
CW
163132010-12-21 Colin Watson <cjwatson@ubuntu.com>
16314
16315 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
16316 previous patch increased the size of the RS code by 20 bytes (at
16317 least with gcc-4.4), so increase this by 20 bytes to match.
16318 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16319
20641b6b
CW
163202010-12-21 Colin Watson <cjwatson@ubuntu.com>
16321
16322 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
16323 scratch area. Make sure to initialise chosen in standalone mode as
16324 well as non-standalone.
16325 Reported by: Robert Hooker and Andy Whitcroft.
16326 Tested by: Andy Whitcroft.
16327
d060ad60
CW
163282010-12-21 Colin Watson <cjwatson@ubuntu.com>
16329
16330 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
16331 constructing a new unescaped string and passing it to grub_xputs in
16332 one go, rather than passing characters to grub_printf one at a time.
16333
b889cfad
CW
163342010-12-21 Colin Watson <cjwatson@ubuntu.com>
16335
16336 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
16337 initialising utf16.
16338
4e01b6c8
CW
163392010-12-21 Colin Watson <cjwatson@ubuntu.com>
16340
16341 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
16342 comment. Add an extra layer of quotation, requiring the output of
16343 this function to be used in a printf format string.
16344 (gettext_printf): New function.
16345 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
16346 Extract translatable strings from here-documents and use a temporary
16347 variable instead, so that xgettext can find them.
16348 * util/grub.d/10_kfreebsd.in: Likewise.
16349 * util/grub.d/10_linux.in: Likewise.
16350 * util/grub.d/20_linux_xen.in: Likewise.
16351
16352 * po/grub.d.sed: New file.
16353 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
16354 arguments. Set c-format flags on all strings extracted from
16355 util/grub.d/ (xgettext refuses to include these itself for strings
16356 it extracted from a shell file, but these really are c-format).
16357
5318fe98
VS
163582010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16359
16360 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
16361 Avoid next pointing to nowhere.
16362
6c85b743
VS
163632010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16364
16365 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
16366 rather than assuming than rootblock is exactly in the middle.
16367 (grub_affs_label): Likewise.
16368
a2a08a35
VS
163692010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
16372 reserved_first_sector to 0.
16373 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
16374 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
16375 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
16376
7059d1ec
VS
163772010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16378
16379 Fix handling of UTF-16 UDF labels.
16380
16381 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
16382 (read_string): .. here.
16383 (grub_udf_label): Use read_string.
16384
30aff4cb
BC
163852010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
16386
16387 * grub-core/normal/menu_entry.c (run): Execute commands from menu
16388 editor under argument scope.
16389 Reported by: Jordan Uggla
16390
5cf86f4b
VS
163912010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16392
16393 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
16394
32570200
CW
163952010-12-18 Colin Watson <cjwatson@ubuntu.com>
16396
16397 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
16398 line, and other keys scroll an entire page (previous handling was
16399 for \r and \n to scroll a page and other keys to scroll two lines).
16400
e1dffcf2
VS
164012010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16402
16403 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16404 Set ptrdest to correct get_physical_target_address rather than
16405 incorrect get_virtual_current_address.
16406
b04298cf 164072010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
16408
16409 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
16410 correct cat to grub_uint8_t * rather than grub_uint32_t *.
16411
5367ecd3
CW
164122010-12-10 Colin Watson <cjwatson@ubuntu.com>
16413
16414 * .bzrignore: Ignore grub-core/rs_decoder.S.
16415
1fb430f8
CW
164162010-12-10 Colin Watson <cjwatson@ubuntu.com>
16417
16418 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
16419 .mo/.mo.gz opening sequence to ...
16420 (grub_mofile_open_lang): ... here.
16421 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
16422 * util/grub.d/00_header.in (grub_lang): Include country part of
16423 locale.
16424 Reported by: Mario Limonciello.
16425
a94a6671
RM
164262010-12-09 Robert Millan <rmh@gnu.org>
16427
16428 * NEWS: Document addition of ZFS support.
16429
24b7938b
CW
164302010-12-04 Colin Watson <cjwatson@ubuntu.com>
16431
16432 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
16433 rather than `/ 2', as the latter requires -Wa,--divide which would
16434 require bumping our minimum binutils version.
16435
bddc3ef6
BC
164362010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
16437
16438 * util/grub-script-check.c (main): Print script line number on
16439 error.
16440
bf78d5b2
RM
164412010-12-01 Robert Millan <rmh@gnu.org>
16442
16443 * grub-core/fs/zfs/zfs.c: New file.
16444 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
16445 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
16446 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
16447 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16448
16449 * include/grub/zfs/dmu.h: Likewise.
16450 * include/grub/zfs/dmu_objset.h: Likewise.
16451 * include/grub/zfs/dnode.h: Likewise.
16452 * include/grub/zfs/dsl_dataset.h: Likewise.
16453 * include/grub/zfs/dsl_dir.h: Likewise.
16454 * include/grub/zfs/sa_impl.h: Likewise.
16455 * include/grub/zfs/spa.h: Likewise.
16456 * include/grub/zfs/uberblock_impl.h: Likewise.
16457 * include/grub/zfs/vdev_impl.h: Likewise.
16458 * include/grub/zfs/zap_impl.h: Likewise.
16459 * include/grub/zfs/zap_leaf.h: Likewise.
16460 * include/grub/zfs/zfs.h: Likewise.
16461 * include/grub/zfs/zfs_acl.h: Likewise.
16462 * include/grub/zfs/zfs_znode.h: Likewise.
16463 * include/grub/zfs/zil.h: Likewise.
16464 * include/grub/zfs/zio.h: Likewise.
16465 * include/grub/zfs/zio_checksum.h: Likewise.
16466
16467 * Makefile.util.def: Build ZFS into libgrubmods.
16468 * grub-core/Makefile.core.def: Build zfs.mod.
16469
3f0f3831
SJ
164702010-11-30 Szymon Janc <szymon@janc.net.pl>
16471
16472 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
16473 variable.
16474 * grub-core/commands/wildcard.c (match_files): Likewise.
16475
3a4253b2
RM
164762010-11-30 Robert Millan <rmh@gnu.org>
16477
16478 * grub-core/loader/i386/bsd.c
16479 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
16480 whether kernel is loaded using grub_loader_is_loaded(), rather
16481 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
16482 certain error conditions.
16483
8c317b27
RM
164842010-11-30 Robert Millan <rmh@gnu.org>
16485
c5c9cd3e
RM
16486 * grub-core/commands/echo.c: Include `<grub/term.h>'.
16487 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 16488
49d3ab46
VS
164892010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 Avoid using tricks for initialising endian variables.
16492
16493 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
16494 Make const.
16495 (GRUB_MOD_INIT): Don't byte-swap.
16496 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16497 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
16498 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
16499 (grub_swap_bytes32_compile_time): Likewise.
16500 (grub_cpu_to_le32_compile_time): Likewise.
16501 (grub_cpu_to_le16_compile_time): Likewise.
16502
f420a804
VS
165032010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 * util/grub-setup.c (setup): Stop recommending --force. People who
16506 understand the dangers of blocklists are able to find this option
16507 anyway and the ones who don't shouldn't use it anyway.
16508
4e7db17b
RM
165092010-11-26 Robert Millan <rmh@gnu.org>
16510
16511 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
16512 Update all users.
16513
9be57a0d
CW
165142010-11-26 Colin Watson <cjwatson@ubuntu.com>
16515
16516 Fix LVM-on-RAID probing.
16517
16518 * util/grub-probe.c (probe): Remember which disk was detected as
16519 RAID (perhaps an LVM physical volume). Use that disk's raidname
16520 rather than that of the top-level disk.
16521
2c7859b3 165222010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 16523
d7647bb6
BC
16524 Fix cmdline argument quotes for setparams command of menuentry
16525 definitions.
7e623b0d
BC
16526
16527 * grub-core/commands/menuentry.c (setparams_prefix): Use single
16528 quotes for arguments.
f866fe80 16529 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 16530 grub_strchrsub function instead.
f866fe80 16531
7955bea0 16532 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 16533
74f72a64
CW
165342010-11-24 Colin Watson <cjwatson@ubuntu.com>
16535
16536 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
16537 effort by skipping "." and ".." entries up-front.
16538 Suggested by: Michael Lazarev.
16539
5a407278
CW
165402010-11-24 Colin Watson <cjwatson@ubuntu.com>
16541
16542 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
16543 ldflags to ldadd, to fix link line ordering.
16544 (none_decompress): Likewise.
16545
3030d8ec
CW
165462010-11-24 Colin Watson <cjwatson@ubuntu.com>
16547
16548 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
16549 platforms.
16550 (grub-emu-lite): Remove kern/emu/cache.S.
16551
b7fbac12
CW
165522010-11-23 Colin Watson <cjwatson@ubuntu.com>
16553
16554 * util/deviceiter.c (compare_devices): If the by-id link for a
16555 device couldn't be resolved, fall back to sorting by the by-id link
16556 rather than segfaulting.
16557 Reported and tested by: Daniel Mierswa.
16558
5225f328
CW
165592010-11-23 Colin Watson <cjwatson@ubuntu.com>
16560
16561 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
16562 ldflags, to fix link line ordering.
16563
038b3ce8
CW
165642010-11-23 Colin Watson <cjwatson@ubuntu.com>
16565
16566 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
16567 linkers are picky about this.
16568
bf16e98e
CW
165692010-11-23 Colin Watson <cjwatson@ubuntu.com>
16570
16571 * grub-core/Makefile.am (command.lst): Adjust sed expression
16572 ordering so that extended and priority commands aren't treated as
16573 ordinary commands.
16574
7242bab6
CW
165752010-11-23 Colin Watson <cjwatson@ubuntu.com>
16576
16577 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16578 Remove byte-swapping function calls, which are not valid in
16579 structure initialisers.
16580 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
16581 non-const.
16582 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
16583 grub_gpt_partition_type_bios_boot.
16584
14e8b279
CW
165852010-11-22 Colin Watson <cjwatson@ubuntu.com>
16586
16587 Fix test program build on GNU/kFreeBSD.
16588
16589 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
16590 $(LIBNVPAIR)' library dependencies.
16591
e6f63338 165922010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
16593
16594 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
16595
cf8ffc38
CW
165962010-11-22 Colin Watson <cjwatson@ubuntu.com>
16597
16598 * util/grub-install.in: Remove excessive quoting that broke
16599 installations to RAID devices.
16600
7f8b0fd7
VS
166012010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16602
16603 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
16604 bootloader version instead of 0.
16605
dfd240b1
VS
166062010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16607
16608 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
16609 warning.
16610
7b61e609
VS
166112010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16612
16613 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
16614 retrieve the metadat sector if size isn't known.
16615 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16616
9dfe92d0
RM
166172010-11-18 Robert Millan <rmh@gnu.org>
16618
16619 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
16620 with grub_memcmp().
16621
41cc919e
VS
166222010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
16623
16624 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
16625 arrow.
16626 Reported by: Jordan Uggla.
16627
1afcc914
VS
166282010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16629
16630 Make better UTF compliant.
16631
16632 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
16633 sequences as incorrect.
16634 (grub_is_valid_utf8): Likewise.
16635 (grub_utf8_to_ucs4): Likewise.
16636 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
16637 (grub_ucs4_to_utf8_alloc): Likewise.
16638 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
16639
f1808884
VS
166402010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16641
16642 Make legacy_source behave like source.
16643
16644 * grub-core/commands/legacycfg.c (legacy_file): Don't call
16645 grub_show_menu.
16646 (grub_cmd_legacy_source): Call grub_show_menu if needed.
16647
24ec575b
CW
166482010-11-16 Colin Watson <cjwatson@debian.org>
16649
16650 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
16651 (-Wunused implies -Wunused-parameter, but not vice versa).
16652
72b7c7aa
CW
166532010-11-16 Colin Watson <cjwatson@ubuntu.com>
16654
16655 * configure.ac: Make error messages less confusing by testing for
16656 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
16657 accepted, but produces a diagnostic if something else is wrong).
16658
e98937aa
VS
166592010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16660
16661 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
16662 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
16663 (now unused).
16664 (grub_keyboard_controller_init)
16665 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
16666 read the initial state since controller isn't inited yet.
16667
f6bbabc3
VS
166682010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16669
16670 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
16671 allocate_regbeg may need to create new chunk header.
16672
22e7dbb2
VS
166732010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16674
16675 Fix quoting in legacy parser.
16676
16677 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
16678 single quotes.
16679 (grub_legacy_parse): Likewise.
16680 Reported by: Jordan Uggla.
16681 Tested by: Jordan Uggla.
16682
03f80960
VS
166832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16684
16685 Don't add -lgcc on i386 and x86_64.
16686
16687 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
16688 * conf/Makefile.common (LDADD_KERNEL): Likewise.
16689 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
16690
779dc15b
VS
166912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16692
16693 * configure.ac: Add -Wno-trampolines when supported.
16694
d20a3b37
MV
166952010-11-14 Modestas Vainius <modax@debian.org>
16696
16697 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
16698 fakeraid.
16699
e5360933
GC
167002010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16701
16702 Add generic logical block size support for UDF.
16703
16704 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
16705 (GRUB_UDF_BLKSZ): Removed.
16706 (struct grub_udf_data): New field "lbshift" to hold the logical block
16707 size of the file system in log2 format. All users updated.
16708 (sblocklist): Change type to unsigned.
16709 (grub_udf_mount): Change type of "sblklist" to unsigned.
16710 Move AVDP search before VRS recognition, because the latter requires
16711 knowledge of the logical block size, which is detected during the
16712 former.
16713 Detect and validate logical block size during AVDP search, adding
16714 support for block sizes 512, 1024 and 4096.
16715 Make VRS recognition independent of block size.
16716
cb0229c5
GC
167172010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16718
16719 Properly handle deleted files on UDF.
16720
16721 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
16722 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
16723 set.
16724
406858a8
GC
167252010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16726
16727 Support reading files larger than 2 GiB.
16728
16729 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
16730 "offset" to grub_off_t.
16731 (grub_udf_read_file): Likewise for parameter "pos".
16732
130da6a7
VS
167332010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16734
16735 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
16736 unavailable.
16737 (Simple configuration): Refer to Changes from GRUB Legacy about
16738 save_env availability.
16739
65e93f6b
VS
167402010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16741
16742 * util/grub-install.in: Ignore empty partition table detection
16743 instead of trying to include part_ module.
16744
1fd08bf1
VS
167452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16746
16747 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
16748 LVM on RAID support.
16749
de1a024f
VS
167502010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16751
16752 Properly define WORDS_BIGENDIAN in wrapped environments.
16753
16754 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
16755 definition.
16756 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
16757
16758 Reported by: Manoel Rebelo Abranches.
16759 Tested by: Manoel Rebelo Abranches.
16760
bc5dd0b9
VS
167612010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 * util/grub-mkconfig.in: Fix quoting.
16764
58c184be
VS
167652010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16766
16767 Support big ext2 files.
16768
16769 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
16770 (grub_ext2_read_block): Support triple indirect blocks.
16771 (grub_ext2_read_file): Use 64-bit types and read size_high.
16772 (grub_ext2_open): Read size_high.
16773 Reported by: Ximin Luo.
16774 Tested by: Manoel Rebelo Abranches.
16775
5f0c02b3
VS
167762010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16777
16778 * util/grub-install.in: Handle filenames containing spaces.
16779 Reported by: Jordan Uggla.
16780 Tested by: Jordan Uggla.
16781
4417aae6
VS
167822010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 * util/grub-mkconfig.in (grub_script_check): New variable.
16785 Use grub_script_check instead of grub-script-check.
16786 Reported by: Barry Jackson.
16787
7625a68e
VS
167882010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16789
16790 * docs/grub.texi (menu): Correct the order.
16791 Reported by: D. Hugh Redelmeier.
16792
10001ac5
VS
167932010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
16796 jump.
16797
9c4cf53b
MRA
167982010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
16799
10001ac5
VS
16800 * include/grub/elfload.h (grub_elf32_size): New parameter.
16801 All users updated.
9c4cf53b
MRA
16802 Return maximum segments alignment.
16803 (grub_elf64_size): Likewise.
16804 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
16805 Return maximum segments alignment.
16806 (grub_elf64_size): Likewise.
16807 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
16808 (grub_linux_claimmap_iterate): New function. Uses the
16809 "available" property in the "memory" node for memory allocation
16810 for kernel in the PowerPC loader.
9c4cf53b
MRA
16811 (grub_linux_load32): Correctly find linux entry point offset.
16812 (grub_linux_load64): Likewise.
16813
d2bf06bf
RM
168142010-11-07 Robert Millan <rmh@gnu.org>
16815
16816 On mips-yeeloong, build with -march=loongson2f when this flag is
16817 available (GCC >= 4.4).
16818 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
16819 `-march=mips3'.
16820 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
16821 or otherwise add -march=mips3.
16822
898c99a2
BC
168232010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
16824
87220a68
BC
16825 Suppress shell expansion on echo '*' and echo "*" like cases.
16826 Reported by: Jordan Uggla.
898c99a2
BC
16827
16828 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
16829 string arguments before shell expansion.
16830 * tests/grub_cmd_echo.in: New testcases.
16831
4f9b406a
RM
168322010-11-07 Robert Millan <rmh@gnu.org>
16833
16834 * conf/mips-qemu-mips.rmk: Remove stale file from previous
16835 transition.
16836
80c6d25e
VS
168372010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
16838
16839 * grub-core/kern/emu/hostdisk.c
16840 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
16841
4a1a0153
VS
168422010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16843
16844 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
16845 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
16846 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
16847
34706ddc
VS
168482010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16849
16850 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
16851
6972dea9
VS
168522010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16853
16854 * util/grub-install.in: Replace useless recomendation to pass
16855 --modules with a recomendation to report a bug.
16856
9c693bd6
VS
168572010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16858
16859 Properly register serial terminfo.
16860 Reported by: Jordan Uggla
16861
16862 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
16863 const.
16864 (grub_serial_terminfo_output_template): Likewise.
16865 (grub_cmd_serial): Register "serial" with terminfo.
16866 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
16867 grub_serial_terminfo_output.
16868
6c9e4c0c
RM
168692010-11-05 Robert Millan <rmh@gnu.org>
16870
16871 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
16872 needed).
16873
b9b3839f
RM
168742010-11-05 Robert Millan <rmh@gnu.org>
16875
16876 On Yeeloong, pass machine type information to Linux.
16877
16878 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
16879 (LOONGSON_MACHTYPE): New macro, set to
16880 "machtype=lemote-yeeloong-2f-8.9inches".
16881 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
16882 additional argument to Linux.
16883
1a3aaff4
RM
168842010-11-04 Robert Millan <rmh@gnu.org>
16885
16886 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
16887 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
16888 (its SATA disks are detected as slaveless IDE master drives on
16889 kFreeBSD).
16890 Reported by Carsten Aulbert.
16891
a75f4f62
CW
168922010-11-02 Colin Watson <cjwatson@ubuntu.com>
16893
16894 * util/bin2h.c (main): Fix spelling error in generated output.
16895
33b4b0c6
GS
168962010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
16897
16898 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
16899
2b36fbf4
VS
169002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16901
16902 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
16903 vga= option is supplied.
16904
74aaf558
VS
169052010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16906
16907 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
16908 * util/grub.d/10_kfreebsd.in: Likewise.
16909 * util/grub.d/10_linux.in: Likewise.
16910 * util/grub.d/20_linux_xen.in: Likewise.
16911
6428dec3
VS
169122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16913
16914 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
16915 argument as an argument to no-argument option.
16916
f8729d98
VS
169172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16918
16919 * util/grub.d/10_linux.in: Add missing load_video with explicit
16920 GRUB_GFXPAYLOAD_LINUX.
16921
89d68fa6
VS
169222010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16923
16924 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
16925
3a1197cd
VS
169262010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16927
16928 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
16929 elements with invlid index.
16930 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16931 * grub-core/disk/raid.c (insert_array): Automatically reallocate
16932 members.
16933 * include/grub/raid.h (grub_raid_member): New struct.
16934 (grub_raid_array): Transform devices and start_sector into usage of
16935 grub_raid_member. All users updated
16936 (allocated_devs): New member.
16937
71574288
VS
169382010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16939
16940 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
16941 is modified
16942
8d40ec65
BC
169432010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
16944
16945 NetBSD build fix for getline function conflict from gnulib.
16946
16947 * Makefile.util.def (libgrubkern.a): New library for grub kernel
16948 components that depend on gnulib headers.
16949 (libgrubmods.a): Renamed from earlier libgrub.a.
16950 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
16951
95b9257e
VS
169522010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
16955 install rather than creating a broken install.
16956
26c53dc6
VS
169572010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16958
16959 * util/grub-setup.c (argp): Remove misleading example of installing to
16960 a partition.
16961
4171b3c5
VS
169622010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16963
16964 * util/grub-setup.c (setup): Clarify the error message.
16965
18568d18
VS
169662010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16967
16968 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
16969
4f6a2e21
VS
169702010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16971
16972 * grub-core/kern/emu/misc.c
16973 (grub_make_system_path_relative_to_its_root)
16974 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
16975
169762010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
16977
16978 * grub-core/kern/emu/misc.c
16979 (grub_make_system_path_relative_to_its_root): Revert r2882.
16980
e138c458
VS
169812010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
16982
16983 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
16984 useless field head. All users updated.
16985 (free_subchunk): Correct handling of IN_REGION subchunk.
16986
0cbcdf0e
CW
169872010-10-22 Colin Watson <cjwatson@ubuntu.com>
16988
16989 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
16990 (Supported kernels): Likewise.
16991
b65ea155
GS
169922010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16993
16994 Make mktemp invocations portable.
16995
16996 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
16997 exit if mktemp fails.
16998 * tests/grub_script_blockarg.in: Likewise.
16999 * tests/partmap_test.in: Likewise.
17000 * tests/util/grub-shell-tester.in: Likewise.
17001 * tests/util/grub-shell.in: Likewise.
17002 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17003 * Makefile.am: Likewise, and chain shell commands with `&&'
17004 instead of ';'.
17005 * util/grub-mkrescue.in: Use the same explicit template as above, and
17006 exit if mktemp fails.
17007
05f43cdd
BC
170082010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
17009
17010 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
17011 Linux kernel, reported by Dennis Schridde.
17012
800e6a9b
SJ
170132010-10-17 Szymon Janc <szymon@janc.net.pl>
17014
17015 * grub-core/normal/auth.c (grub_auth_check_authentication):
17016 Set-but-not-used variable removed.
17017
d82df574
VS
170182010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17019
17020 * docs/grub.texi (GNU/Linux): Document APM unavailability with
17021 32-bit linux protocol.
17022
7bced458
VS
170232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17024
17025 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
17026 cursor shape for sanity.
17027
5b027690
VS
170282010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17029
17030 * docs/grub.texi (Installation): Document buggy BIOS install.
17031
ba5f65cf
VS
170322010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17033
17034 * docs/grub.texi (Installation): Indent.
17035
fdf2ec9c
VS
170362010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17037
17038 * util/grub-setup.c (setup): New parameter allow_floppy.
17039 (arguments): New member allow_floppy.
17040 (argp_parser): Handle --allow-floppy.
17041 (main): Pass allow_floppy.
17042 * util/grub-install.in: New option --allow-floppy passed though to
17043 grub-setup.
17044
861dfd4c
VS
170452010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17046
17047 * util/grub-install.in: Handle partitionless disks.
17048
f77a8c24
VS
170492010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17050
17051 * util/grub-setup.c (setup): Don't clean blocklists before readability
17052 verfification.
17053
27d9ee32
VS
170542010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17055
17056 * docs/grub.texi (Installation): Document embedding zone. Remove
17057 obsolete grub-install example.
17058
6bdda8f8
SJ
170592010-10-16 Szymon Janc <szymon@janc.net.pl>
17060
17061 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
17062 Set-but-not-used variable ifdef'ed.
17063 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
17064 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
17065 variable removed.
17066 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
17067 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
17068 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17069 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
17070 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
17071 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17072 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
17073 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
17074 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
17075 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
17076 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
17077 Likewise.
17078
e19b016b
VS
170792010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17080
17081 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
17082 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
17083 enum value.
17084
6c8d3002
VS
170852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
17088 synonym to _S5_. Needed for some DSDTs.
17089
c32b51c9
VS
170902010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17091
17092 Userspace ACPI parser debugging.
17093
17094 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
17095 headers and add relevant defines. Don't include standard headers.
17096 (main) [GRUB_DSDT_TEST]: New function.
17097 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
17098 Don't declare functions.
17099
fbfbeb39
VS
171002010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17101
17102 Remove dead grub_efi_mm_fini.
17103
17104 * grub-core/kern/efi/mm.c (allocated_page): Removed.
17105 (ALLOCATED_PAGES_SIZE): Likewise.
17106 (MAX_ALLOCATED_PAGES): Likewise.
17107 (allocated_pages): Likewise.
17108 (grub_efi_allocate_pages): Don't record allocated pages.
17109 (grub_efi_free_pages): Likewise.
17110 (grub_efi_mm_init): Likewise.
17111 (grub_efi_mm_fini): Removed.
17112
65f7ed7c
VS
171132010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17114
17115 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
17116 (grub_efi_mm_init): Take into account the memory map size increase.
17117
24977b44
VS
171182010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17119
17120 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
17121 (serial_hw_put): Wait based on real time rather than port reads. Don't
17122 roken ports.
17123 * include/grub/serial.h (grub_serial_port): New field broken.
17124
1eb01cd2
RM
171252010-10-16 Robert Millan <rmh@gnu.org>
17126
17127 * grub-core/kern/emu/misc.c
17128 (grub_make_system_path_relative_to_its_root): Fix premature return
17129 when processing non-root ZFS filesystems.
5f8b440b 17130 Reported by Sergio Talens-Oliag.
1eb01cd2 17131
2d5fed60
RM
171322010-10-15 Robert Millan <rmh@gnu.org>
17133
17134 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
17135 guarantee compressed ones are processed first.
17136
d0f4c1ea
VS
171372010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17138
17139 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
17140 grub_efiemu_autocore.
17141
d87c681f
VS
171422010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
17145 rather than 0x1b.
17146 (grub_console_getkey): Use correct jae opcode rather than ja.
17147
219b3564
RM
171482010-10-12 Robert Millan <rmh@gnu.org>
17149
17150 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
17151 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
17152 variable. All references updated.
17153
17154 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
17155
20c6bb7e
VS
171562010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 Correctly distinguish mdraid flavours.
17159
17160 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
17161 (insert_array): New argument raid.
17162 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
17163 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
17164 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
17165
74baff84
VS
171662010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
17169 handling of special keys.
17170
3ef068df 171712010-10-02 Aleš Nesrsta <starous@volny.cz>
17172
c7980ad9
VS
17173 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
17174 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 17175
a9455194 171762010-10-02 Aleš Nesrsta <starous@volny.cz>
17177
c7980ad9
VS
17178 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
17179 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
17180 users updated.
a9455194 17181 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 17182 Use right endpoint when querying descriptor.
a9455194 17183
441cfe65
VS
171842010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17185
17186 Clear out 0x80 color bit on EFI.
17187 Tested by: decoder
17188 Reported by: decoder and meta tech.
17189
17190 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
17191 (grub_console_setcolorstate): Clear out 0x80 bit.
17192 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
17193 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
17194 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
17195
bf26bcc4
VS
171962010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17197
17198 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
17199 Set to "auto".
17200
6e3c515d
VS
172012010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17202
17203 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
17204 mo_file after freeing.
17205
e6d983ba
VS
172062010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17207
17208 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
17209
74ccb5b5
VS
172102010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17211
17212 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
17213 flags.
17214
17821956
VS
172152010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
17218 usage.
17219
ee74fa48
VS
172202010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17221
17222 Put terminfo into core on ieee1275 and yeeloong (needed for console).
17223
17224 * gentpl.py: New groups terminfoinkernel and terminfomodule.
17225 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
17226 and terminfo.h when needed.
17227 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
17228 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
17229 (terminfo): Enable only on terminfokernel.
17230 (extcmd): Likewise.
17231 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
17232 * include/grub/lib/arg.h: Likewise.
17233 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
17234 incorrect usage of ->.
17235
aa438e68
VS
172362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17237
17238 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
17239 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
17240
57994012
VS
172412010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17242
17243 Fix coreboot compilation.
17244
17245 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17246 Take VBE info into account even if only text is supported.
17247 (fill_vbe_info): Take into account the case when only VGA text
17248 is supported.
17249 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
17250 on coreboot, multiboot and qemu.
17251
2a406611
VS
172522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17253
17254 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
17255 debug messages.
17256 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
17257
d33613fc
VS
172582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17259
17260 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
17261 parameters.
17262
44a1b432
VS
172632010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17264
17265 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
17266 if they were BSD-style.
17267
edde54e6
VS
172682010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17269
17270 * grub-core/boot/i386/pc/lnxboot.S: Replace
17271 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
17272 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
17273
b65830fa
VS
172742010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17275
17276 Write embedding zone using Reed-Solomon.
17277
17278 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
17279 * grub-core/Makefile.am (rs_decoder.S): New target.
17280 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
17281 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
17282 (multiboot): Move to RS part.
17283 (post_reed_solomon): New label.
17284 (grub_boot_drive): Move to non-RS part since it's modified in memory
17285 on boot.
17286 Include rs_decoder.S.
17287 * grub-core/lib/reed_solomon.c: New file.
17288 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
17289 New definition.
17290 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
17291 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
17292 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
17293 * include/grub/partition.h (grub_partition_map): Change prototype of
17294 embed to allow returning additional sectors.
17295 * include/grub/reed_solomon.h: New file.
17296 * util/grub-setup.c (setup): Handle Reed-Solomon.
17297
0b4b227f
CW
172982010-09-28 Colin Watson <cjwatson@ubuntu.com>
17299
17300 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17301 i386 and x86-64 definedness tests.
17302
f772623b
YB
173032010-09-27 Yves Blusseau <blusseau@zetam.org>
17304
17305 Fix generation of kernel_syms.lst
17306
17307 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
17308 ASM_PREFIX
17309
8e57a6ca
RM
173102010-09-26 Robert Millan <rmh@gnu.org>
17311
17312 Support degraded ZFS arrays in "grub-probe -t device" resolution.
17313
17314 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
17315 the pool is an array of devices, iterate through it and return the
17316 first device that passes a stat() test (instead of blindly returning
17317 the first one).
17318
f9130836
RM
173192010-09-26 Robert Millan <rmh@gnu.org>
17320
17321 Build fixes for GNU/kFreeBSD.
17322
17323 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
17324 to programs that require ZFS conversion.
17325 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
17326 kernels that don't have FLOPPY_MAJOR.
17327
96510faf
BC
173282010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17329
17330 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
17331
449333eb
BC
173322010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17333
17334 Fix grub-emu build.
17335
17336 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
17337 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
17338 mdraid09 and mdraid1x.
17339
e1fd1939
CW
173402010-09-24 Colin Watson <cjwatson@ubuntu.com>
17341
17342 Re-enable grub-extras.
17343
17344 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
17345 avoid confusing Automake. Run autogen only twice, once for the top
17346 level and once for grub-core. Add Makefile.util.def and
17347 Makefile.core.def from extra modules to the appropriate autogen
17348 invocations. If Makefile.common exists in an extra module, include
17349 it in both Makefile.util.am and grub-core/Makefile.core.am;
17350 similarly, include any Makefile.util.common file in Makefile.util.am
17351 and any Makefile.core.common file in grub-core/Makefile.core.am.
17352 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
17353 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
17354 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
17355 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
17356
17357 * gentpl.py (gvar_add): Turn GVARS into a set.
17358 (global_variable_initializers): Sort global variables on output.
17359 (vars_init): New function.
17360 (first_time): Likewise.
17361 (library): Ensure that non-global variable initialisations are
17362 emitted before the first time we emit code for a library block.
17363 Append to variables rather than setting them. Only emit
17364 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
17365 each conditional path.
17366 (program): installdir() emits an Autogen macro, so must be passed to
17367 var_add rather than gvar_add.
17368 (data): Likewise.
17369 (script): Likewise.
17370 (rules): New function, centralising handling for different target
17371 types. Set up Guile association lists for first_time and vars_init,
17372 and send most output to a diversion so that variable initialisations
17373 can be emitted first.
17374 (module_rules): Use new rules function.
17375 (kernel_rules): Likewise.
17376 (image_rules): Likewise.
17377 (library_rules): Likewise.
17378 (program_rules): Likewise.
17379 (script_rules): Likewise.
17380 (data_rules): Likewise.
17381
17382 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
17383
17384 * .bzrignore: Add contrib and grub-core/contrib. Remove
17385 grub-core/Makefile.gcry.am.
17386
1d12cf29
YB
173872010-09-24 Yves Blusseau <blusseau@zetam.org>
17388
17389 * grub-core/lib/LzFind.c: Add missing include.
17390 * grub-core/lib/LzmaEnc.c: Likewise.
17391 * grub-core/script/lexer.c: Likewise.
17392 * grub-core/script/yylex.l: Likewise.
17393 * util/grub-macho2img.c: Likewise.
17394 * util/grub-menulst2cfg.c: Likewise.
17395 * util/grub-mklayout.c: Likewise.
17396 * util/grub-mkpasswd-pbkdf2.c
17397 * util/grub-mkrelpath.c: Likewise.
17398 * util/resolve.c: Likewise.
17399
dd363028
BC
174002010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
17401
17402 * Makefile.util.def (example_unit_test): Add
17403 grub-core/gnulib/libgnu.a.
17404
f5a109e2
GS
174052010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
17406
17407 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
17408
6d0fa83c
VS
174092010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17410
17411 Support xz compression on yeeloong.
17412
17413 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
17414 * configure.ac: Check for LZMA.
17415 * grub-core/Makefile.core.def (xz_decompress): New target.
17416 (none_decompress): Likewise.
17417 * grub-core/boot/decompressor/minilib.c: New file.
17418 * grub-core/boot/decompressor/none.c: Likewise.
17419 * grub-core/boot/decompressor/xz.c: Likewise.
17420 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
17421 * grub-core/kern/mips/cache_flush.S: Likewise.
17422 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
17423 * grub-core/kern/mips/startup.S: Move first stage to ...
17424 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
17425 nomacro.
17426 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
17427 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
17428 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
17429 Allocate statically.
17430 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
17431 Allocate statically or use scratch. Don't check CRC32.
17432 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
17433 Allocate statically. Don't check CRC32.
17434 * include/grub/decompressor.h: New file.
17435 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
17436 Removed.
17437 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
17438 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
17439 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
17440 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
17441 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
17442 * util/grub-mkimage.c (grub_compression_t): New type.
17443 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
17444 (image_target_desc): New field default_compression.
17445 (image_targets): Adjust yeeloong targets.
17446 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
17447 (compress_kernel): New parameter comp.
17448 (generate_image): Likewise. Handle new compression case.
17449 (options): New option --compression
17450 (help): Likewise.
17451 (main): Handle new option.
17452
1b655af6
GS
174532010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
17454
17455 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
17456
8f03f0b5
CW
174572010-09-22 Colin Watson <cjwatson@ubuntu.com>
17458
17459 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17460 typo in __i386__ conditional.
17461
7835dfd3
VS
174622010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17463
17464 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
17465 include.
17466
e255597e
VS
174672010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17468
6d0fa83c 17469 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
17470
17471 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
17472 new tags as supported.
17473 (acpiv2_size): New function.
17474 (grub_multiboot_get_mbi_size): Take new tags into account.
17475 (grub_multiboot_make_mbi): Add new tags.
17476 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 17477
6cc14051 174782010-09-21 Aleš Nesrsta <starous@volny.cz>
17479
17480 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
17481 Added missing configuration of USB device.
17482
df7769d8
CW
174832010-09-21 Colin Watson <cjwatson@ubuntu.com>
17484
17485 * grub-core/normal/menu_entry.c (run): Make sure we always return
17486 a value.
17487
b031012d
CW
174882010-09-21 Colin Watson <cjwatson@ubuntu.com>
17489
17490 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
17491 NumberOfPages is UINT64 according to the UEFI specification, not
17492 UINTN. Fix printf format.
17493
174de8f3
CW
174942010-09-21 Colin Watson <cjwatson@ubuntu.com>
17495
17496 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
17497 `err' to grub_usb_err_t.
17498 Reported and tested by: KESHAV P.R.
17499
d7dbe923
CW
175002010-09-21 Colin Watson <cjwatson@ubuntu.com>
17501
17502 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
17503 tpart non-const, so that we can assign to it. (Since this is a
17504 typedef, the constness refers to the pointer rather than what it
17505 points to.)
17506
8d5e2af3
CW
175072010-09-21 Colin Watson <cjwatson@ubuntu.com>
17508
17509 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
17510 $(top_srcdir)/grub-core/gnulib as well as
17511 $(top_builddir)/grub-core/gnulib.
17512 Reported by: KESHAV P.R.
17513
5c527783
CW
175142010-09-21 Colin Watson <cjwatson@ubuntu.com>
17515
17516 * util/grub-install.in: Fix the bootloader ID option to be
17517 consistently --bootloader-id, not --bootloader_id.
17518 Reported by: KESHAV P.R.
17519
d309a16e
CW
175202010-09-21 Colin Watson <cjwatson@ubuntu.com>
17521
17522 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
17523 check hash checksum." consistently translatable.
17524
b830cd16
YB
175252010-09-21 Yves Blusseau <blusseau@zetam.org>
17526
17527 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
17528 $(top_builddir).
17529
c4fe27a8
CW
175302010-09-21 Colin Watson <cjwatson@ubuntu.com>
17531
17532 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
17533 (GRUB_MOD_INIT): Register sha1sum command.
17534 (GRUB_MOD_FINI): Unregister sha1sum command.
17535
a4c1d277
YB
175362010-09-21 Yves Blusseau <blusseau@zetam.org>
17537
17538 Keep boot and grub directory names in sync with utils scripts
17539
17540 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
17541 * config.h.in: Add previous macros.
17542 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
17543 * util/grub-install.in: Use $bootdir and $grubdir variables.
17544
4eff79d2
CW
175452010-09-21 Colin Watson <cjwatson@ubuntu.com>
17546
17547 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
17548 convert partition names to disk names if the new `convert' parameter
17549 is set.
17550 (grub_util_biosdisk_get_grub_dev): If opening the disk device
17551 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
17552 disk in its own right. This can happen with Xen disk images.
17553
934d7e44
YB
175542010-09-21 Yves Blusseau <blusseau@zetam.org>
17555
17556 * util/grub-editenv.c: Update strings to avoid warnings when generating
17557 grub.pot file.
17558 * util/grub-setup.c: Likewise.
934d7e44 17559
df3367cc
VS
175602010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17561
17562 * configure.ac: Change version to 1.99~beta0.
17563
77a94e98
VS
175642010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17565
17566 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17567 Add BADRAM.
17568 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
17569 Likewise.
17570 * include/multiboot.h: Resynced with specification.
17571 * include/multiboot2.h: Likewise.
17572
269004c1
CW
175732010-09-21 Colin Watson <cjwatson@ubuntu.com>
17574
17575 Fix po directory handling.
17576
17577 * configure.ac: Create po/Makefile.in rather than po/Makefile.
17578 * grub-core/gnulib/Makefile.am: Import gettext module.
17579 * m4/gnulib-cache.m4: Likewise.
17580 * m4/gnulib-comp.m4: Likewise.
17581 * m4/gettext.m4: New file, from gnulib.
17582 * m4/glibc2.m4: Likewise.
17583 * m4/iconv.m4: Likewise.
17584 * m4/intdiv0.m4: Likewise.
17585 * m4/intl.m4: Likewise.
17586 * m4/intldir.m4: Likewise.
17587 * m4/intlmacosx.m4: Likewise.
17588 * m4/intmax.m4: Likewise.
17589 * m4/inttypes-pri.m4: Likewise.
17590 * m4/lcmessage.m4: Likewise.
17591 * m4/lib-ld.m4: Likewise.
17592 * m4/lib-link.m4: Likewise.
17593 * m4/lib-prefix.m4: Likewise.
17594 * m4/lock.m4: Likewise.
17595 * m4/nls.m4: Likewise.
17596 * m4/po.m4: Likewise.
17597 * m4/printf-posix.m4: Likewise.
17598 * m4/progtest.m4: Likewise.
17599 * m4/threadlib.m4: Likewise.
17600 * m4/uintmax_t.m4: Likewise.
17601 * m4/visibility.m4: Likewise.
17602 * po/Makefile.am: Remove.
17603 * po/Makefile.in.in: New file, from gettext.
17604 ($(DOMAIN).pot-update): Support POTFILES-shell.
17605 * po/Makevars: New file.
17606 * po/POTFILES-shell: Rename to ...
17607 * po/POTFILES-shell.in: ... this. Update.
17608 * po/POTFILES: Rename to ...
17609 * po/POTFILES.in: ... this. Update.
17610 * po/Rules-quot: New file, from gettext.
17611 * po/boldquot.sed: Likewise.
17612 * po/en@boldquot.header: Likewise.
17613 * po/en@quot.header: Likewise.
17614 * po/insert-header.sin: Likewise.
17615 * po/quot.sed: Likewise.
17616 * po/remove-potcdate.sin: Likewise.
17617
3e0fa5d0
VS
176182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17619
17620 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
17621
ade9bd66
VS
176222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17623
17624 * util/grub.d/20_linux_xen.in: Use submenus.
17625
fc55cc4c
VS
176262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17627
17628 Support submenus.
17629
17630 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
17631 parameter submenu. All users updated.
17632 * grub-core/normal/main.c (free_menu): Rename to ...
17633 (grub_normal_free_menu): ... this. Made global.
17634 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
17635 if requested.
17636 * grub-core/normal/menu_entry.c (screen): New field submenu.
17637 (make_screen): Set submenu.
17638 (run): Open new context if requested.
17639 * include/grub/menu.h (grub_menu_entry): New field submenu.
17640 * include/grub/normal.h (grub_normal_free_menu): New proto.
17641
600cedf7
VS
176422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17643
17644 Menu entries extractor.
17645
17646 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
17647 variants.
17648 (GRUB_MOD_INIT): Register new variants.
17649 (GRUB_MOD_FINI): Unregister new variants.
17650 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
17651 into grub_cmd_legacy_source.
17652 (grub_cmd_legacy_source): Implement extractor variants.
17653 (GRUB_MOD_INIT): Register new variants.
17654 (GRUB_MOD_FINI): Unregister new variants.
17655 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
17656 as an extractor.
17657 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
17658 search as an extractor.
17659 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
17660 test as an extractor.
17661 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
17662 as an extractor.
17663 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
17664 (grub_env_new_context): New function.
17665 (grub_env_context_open): Likewise.
17666 (grub_env_extractor_open): Likewise.
17667 (grub_env_extractor_close): Likewise.
17668 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17669 grub_extractor_level.
17670 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
17671 * include/grub/env.h (grub_env_extractor_open): New proto.
17672 (grub_env_extractor_close): Likewise.
17673 * include/grub/normal.h (grub_extractor_level): New external variable.
17674
7bda3a87
VS
176752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17676
17677 Make cutmem accept a region specification.
17678 Suggested by: Samuel Thibault
17679
17680 * grub-core/mmap/mmap.c (parsemem): New function.
17681 (grub_cmd_cutmem): Handle new arguments.
17682
2ea57f88
VS
176832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17684
17685 New command cutmem.
17686
17687 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
17688 (GRUB_MOD_INIT): Register new command.
17689 (GRUB_MOD_FINI): Unregister new command.
17690
74342e31
VS
176912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17692
17693 Support some annoying BSD and Minix subpartitions.
17694
17695 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
17696 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
17697 Properly handle concatenation.
17698 * grub-core/kern/device.c (grub_device_iterate): Likewise.
17699 * grub-core/normal/completion.c (iterate_partition): Likewise.
17700 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
17701 contain partition. All users updated.
17702 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
17703 struct.
17704 (grub_openbsdlabel_partition_map): Likewise.
17705 (bsdlabel_partition_map_iterate): Rename to ..
17706 (iterate_real): ... this. New arguments sector, freebsd and pmap.
17707 (bsdlabel_partition_map_iterate): New function.
17708 (netopenbsdlabel_partition_map_iterate): Likewise.
17709 (netbsdlabel_partition_map_iterate): Likewise.
17710 (openbsdlabel_partition_map_iterate): Likewise.
17711 (GRUB_MOD_INIT): Register new partmaps.
17712 (GRUB_MOD_FINI): Unregister new partmaps.
17713 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
17714 (grub_partition_msdos_iterate): ... this. All users updated.
17715 Don't support embedding other than in a minix partition.
17716 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
17717 proto.
17718 * include/grub/partition.h (grub_partition): New field msdostype.
17719 * util/grub-install.in: Handle openbsd and netbsd types being in
17720 part_bsd module.
17721
1e8d555b
VS
177222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17723
17724 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
17725
17726 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
17727 * grub-core/Makefile.core.def (mdraid): Renamed to ...
17728 (mdraid09): ... this.
17729 (mdraid1x): New module.
17730 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
17731 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
17732
899d8af4
VS
177332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17734
17735 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
17736 vsprintf.
17737
40901acd
CW
177382010-09-20 Colin Watson <cjwatson@ubuntu.com>
17739
17740 * grub-core/commands/efi/lsefimmap.c: Correct header.
17741 * NEWS: Update.
17742
dfe3b247
CW
177432010-09-20 Colin Watson <cjwatson@ubuntu.com>
17744
17745 * util/grub-editenv.c (argp_parser): Don't pass translated strings
17746 as printf format strings; the translations might contain '%' which
17747 could cause a crash.
17748 (main): Likewise.
17749 * util/grub-fstest.c (argp_parser): Likewise.
17750 * util/grub-setup.c (argp_parser): Likewise.
17751 (main): Likewise.
17752
3286a4b4
VS
177532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17754
17755 Use argp in grub-fstest.
17756
17757 * util/grub-fstest.c: Don't include getopt.h.
17758 Include argp.h.
17759 (root): New variable.
17760 (args_count): Likewise.
17761 (nparm): Likewise.
17762 (num_disks): Likewise.
17763 (images): Likewise.
17764 (cmd): Likewise.
17765 (debug_str): Likewise.
17766 (args): Likewise.
17767 (options): Transformed to argp.
17768 (usage): Removed.
17769 (main): Split argument parsing into ...
17770 (argp_parser): ... this. Changed to argp format.
17771 (argp): New variable.
17772 (main): Use argp_parse.
17773
3dccbe4b
TG
177742010-09-20 Tristan Gingold <gingold@free.fr>
177752010-09-20 Robert Millan <rmh.grub@aybabtu.com>
177762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17777
17778 * grub-core/commands/efi/lsefimmap.c: New file.
17779 * grub-core/Makefile.core.def (lsefimmap): New module.
17780 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
17781
38c259a7
VS
177822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17783
17784 Pause the execution (10s max) if any errors are displayed so the user
17785 has a chance to see them.
17786
17787 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
17788 (grub_print_error): Increment grub_err_printed_errors.
17789 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
17790 execution if any errors were displayed.
17791 (show_menu): Remove old code for pause.
17792 * grub-core/normal/menu_entry.c (run): Likewise.
17793 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
17794 users updated.
17795 (grub_normal_get_char_counter): Likewise.
17796 * include/grub/err.h (grub_err_printed_errors): New external variable.
17797 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
17798
f218b09c
VS
177992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17800
17801 Support multiboot VBE info.
17802
17803 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17804 Take VBE info into account.
17805 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
17806 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
17807 Call fill_vbe_info when appropriate.
17808 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
17809 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
17810 as supported.
17811 (grub_multiboot_get_mbi_size): Take new tags into account.
17812 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
17813 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
17814 Call fill_vbe_tag when appropriate.
17815 (grub_multiboot_make_mbi): Properly align tags.
17816 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
17817 function.
17818 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
17819 proto.
17820 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
17821
a9cc5438
VS
178222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17823
17824 Suport manual terminal geometry specification.
17825
17826 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
17827 Save state in grub_ofconsole_terminfo_output.
17828 (grub_ofconsole_term): Use grub_terminfo_getwh.
17829 (grub_ofconsole_getwh): Removed.
17830 * grub-core/term/serial.c (grub_serial_getwh): Removed.
17831 (grub_serial_term): Use grub_terminfo_getwh.
17832 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
17833 (options): New struct.
17834 (OPTION_*): New enum.
17835 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
17836 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
17837 width and height.
17838 (grub_terminfo_getwh): New proto.
17839 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
17840
1a8fed20
VS
178412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17842
17843 Handle legacy "terminal" command.
17844
17845 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
17846 and FLAG_TERMINAL.
17847 (legacy_commands): Add terminal and title.
17848 (grub_legacy_parse): Handle terminal. Simplify title handling.
17849
41e9c57d
VS
178502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17851
17852 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
17853 parameters overflow.
17854
61c874c5
CW
178552010-09-20 Colin Watson <cjwatson@ubuntu.com>
17856
17857 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
17858 widthspec.h.
17859
17860 * docs/grub.texi (Shell-like scripting): Document `!'.
17861 (Network): Simplify using new i386-pc-pxe format. Mention
17862 grub-mknetdir.
17863
17864 * NEWS: Update.
17865
943682b4
CW
178662010-09-20 Colin Watson <cjwatson@ubuntu.com>
17867
17868 * Makefile.am (SUBDIRS): Restore "."; it's important to force
17869 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
17870 when needed.
17871
6d3d698d
CW
178722010-09-20 Colin Watson <cjwatson@ubuntu.com>
17873
17874 * grub-core/commands/efi/lsefisystab.c: Correct header.
17875 * grub-core/commands/efi/lssal.c: Likewise.
17876 * grub-core/commands/testload.c: Likewise.
17877
c982589f
CW
178782010-09-20 Colin Watson <cjwatson@ubuntu.com>
17879
17880 * util/grub-mkrescue.in: Add explicit root argument to --set to
17881 prevent the UUID being interpreted as an argument to --set (matches
17882 previous change to prepare_grub_to_access_device).
17883
a63c31b6
CW
178842010-09-20 Colin Watson <cjwatson@ubuntu.com>
17885
17886 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
17887 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
17888 the verbosity of later #ifs.
17889 (find_partition_start): Define this function on FreeBSD too.
17890 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
17891 function.
17892 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
17893 on FreeBSD.
17894
6439b8ee
YB
178952010-09-20 Yves Blusseau <blusseau@zetam.org>
17896
17897 * util/grub-editenv.c: Use argp instead of getopt.
17898
c5930ec8
YB
178992010-09-20 Yves Blusseau <blusseau@zetam.org>
17900
17901 * util/grub-setup.c: Use argp instead of getopt.
17902
15c69261
YB
179032010-09-20 Yves Blusseau <blusseau@zetam.org>
17904
17905 Use gnulib-tool to create gnulib source files.
17906
17907 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
17908 grub-core/gnulib directories
17909 * .bzignore: Add **/.deps and autogenerated gnulib files
17910 * configure.ac: Assign auxiliary directory to build-aux, add invocation
17911 of gnulib macros, add grub-core/gnulib/Makefile
17912 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
17913 include m4 directory to aclocal.
17914 * Makefile.util.def: Remove direct compilation of gnulib source files
17915 and use the new grub-core/gnulib/libgnu.a.
17916 * build-aux/config.rpath: move config.rpath from top directory to
17917 build-aux
17918 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
17919 in gnulib headers
17920 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
17921 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
17922 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
17923 header.
17924 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
17925 string.
17926
e511c9f5
YB
179272010-09-20 Yves Blusseau <blusseau@zetam.org>
17928
17929 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
17930 grub-core/genmod.sh and grub-core/gensyminfo.sh
17931
c2dede05
BC
179322010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
17933
17934 Add a test for echo command options.
17935
17936 * tests/grub_cmd_echo.in: New test.
17937 * Makefile.util.def: Rules for new test.
17938
c55f5018
SJ
179392010-09-20 Szymon Janc <szymon@janc.net.pl>
17940
17941 Remove crc.mod and move crc command to hashsum.mod.
17942 Remove lib/crc.c - users updated to use gcrypt implementation.
17943
17944 * grub-core/commands/crc.c: Removed.
17945 * grub-core/Makefile.core.def (crc): Module removed.
17946 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
17947 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
17948 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
17949 * grub-core/lib/crc.c: Removed.
17950 * include/grub/lib/crc.h: Removed.
17951 * Makefile.util.def (crc): Remove lib/crc.c
17952 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
17953 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
17954 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
17955 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
17956 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
17957 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
17958
e0337366
VS
179592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17960
17961 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
17962
742f9232
VS
179632010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17964
17965 Split config.h for util and core.
17966
17967 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
17968 (ADDR32): Likewise.
17969 (DATA32): Likewise.
17970 (BSS_START_SYMBOL): Likewise.
17971 (END_SYMBOL): Likewise.
17972 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
17973 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
17974 * config.h.in: New file.
17975 * configure.ac: Use config-util.h as config define file.
17976 Rename MACHINE into GRUB_MACHINE. All users updated.
17977 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
17978 updated.
17979 (NESTED_FUNC_ATTR): Likewise.
17980 Substitue new variables.
17981 (COND_HAVE_ASM_USCORE): New conditional.
17982 * grub-core/Makefile.am (ASM_PREFIX): New variable.
17983 (kernel_syms.lst): Use ASM_PREFIX.
17984 * grub-core/kern/emu/console.c: Include config-util.h.
17985 * grub-core/kern/emu/misc.c: Likewise.
17986 * grub-core/kern/emu/mm.c: Likewise.
17987 * include/grub/emu/misc.h: Likewise.
17988 * include/grub/libgcc.h: Likewise.
17989
39feb0e8
VS
179902010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17991
17992 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
17993 constants usage.
17994 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
17995 Fix GRUB_TERM_KEY_* constants usage.
17996 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
17997
9af6dac3
VS
179982010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17999
18000 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
18001 print pointer.
18002 * grub-core/bus/usb/uhci.c: Remove empty define.
18003 (grub_uhci_check_transfer): Add missing cast.
18004 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
18005 print pointer.
18006 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
18007 PRIuGRUB_SIZE.
18008 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
18009
d6d94820
VS
180102010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18011
18012 * grub-core/Makefile.core.def (legacycfg): Add
18013 lib/i386/pc/vesa_modes_table.c on emu.
18014
3572f2b6
BC
180152010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18016
18017 Reduce number of temporary files generated by build system.
18018
18019 * grub-core/gencmdlist.sh: Removed.
18020 * grub-core/genfslist.sh: Removed.
18021 * grub-core/genhandlerlist.sh: Removed.
18022 * grub-core/genmodsrc.sh: Removed.
18023 * grub-core/genpartmaplist.sh: Removed.
18024 * grub-core/genparttoollist.sh: Removed.
18025 * grub-core/gentermiinallist.sh: Removed.
18026 * grub-core/genvideolist.sh: Removed.
18027
18028 * grub-core/genmod.sh.in: New file.
18029 * grub-core/gensyminfo.sh.in: New file.
18030
18031 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
18032 * conf/Makefile.extra-dist: Update with new files.
18033 * gentpl.py: Remove rules related to unnecessary temporary files.
18034 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
18035 and und-* files.
18036 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
18037 genmod.sh scripts.
18038 * grub-core/bus/usb/uhci.c: Remove empty #define.
18039 * grub-core/genmoddep.awk: Updated with new syminfo format.
18040 * util/bash-completion.d/Makefile.am: Add config.log to
18041 CLEANFILES.
18042
c836b030
YB
180432010-09-19 Yves Blusseau <blusseau@zetam.org>
18044
18045 * Makefile.util.def: Add forgotten $(LIBINTL) library.
18046
2f4e8053
BC
180472010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18048
18049 * util/grub-mkconfig.in: Check the config script for syntax errors
18050 before saving.
18051
75831c34
CW
180522010-09-19 Colin Watson <cjwatson@ubuntu.com>
180532010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18054
18055 * Makefile.util.def (grub-install): Use util/grub-install.in on all
18056 platforms.
18057 * util/grub-install.in: Add EFI and IEEE1275 support.
18058 * util/i386/efi/grub-install.in: Removed.
18059 * util/ieee1275/grub-install.in: Likewise.
18060
eaf41b25
VS
180612010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18062
18063 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
18064 (grub_cmd_cmosclean): Likewise.
18065 (GRUB_MOD_INIT): Register command cmosclean.
18066 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
18067 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
18068
1a9130dd
CPE
180692010-09-18 Carles Pina i Estany <carles@pina.cat>
180702010-09-18 Aleš Nesrsta <starous@volny.cz>
180712010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18072
18073 Add keyboard layouts support.
18074
18075 * Makefile.util.def (grub-mklayout): New file.
18076 (grub-kbdcomp): New script.
18077 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
18078 Add keyboard_layouts.h.
18079 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
18080 commands/boot.c on yeeloong.
18081 (keylayouts): New module.
18082 * grub-core/bus/usb/ohci.c
18083 * grub-core/bus/usb/uhci.c
18084 * grub-core/bus/usb/usbhub.c (rescan): New variable.
18085 (grub_usb_add_hub): Poll interrupt pipe for device handling.
18086 (attach_root_port): Likewise.
18087 (poll_nonroot_hub): Likewise.
18088 (grub_usb_poll_devices): Likewise.
18089 (detach_device): Close transfer.
18090 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
18091 function.
18092 (grub_usb_bulk_setup_readwrite): Likewise.
18093 (grub_usb_bulk_finish_readwrite): Likewise.
18094 * grub-core/commands/keylayouts.c: New file.
18095 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
18096 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
18097 aliases.
18098 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
18099 support scancode 2.
18100 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
18101 * include/grub/keyboard_layouts.h: New file.
18102 * util/grub-mklayout.c: New file.
18103 * util/grub-kbdcomp.in: Likewise.
18104
a1d84a5e
VS
181052010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18106
18107 Unify memory types.
18108
18109 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
18110 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
18111 types.
18112 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
18113 (grub_upper_mem): Likewise.
18114 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
18115 * include/grub/memory.h (grub_memory_type_t): New enum.
18116 All users updated.
18117
9696382e
VS
181182010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18119
18120 * grub-core/Makefile.core.def (lsapm): New module.
18121 * grub-core/commands/i386/pc/lsapm.c: New file.
18122 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
18123 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
18124 Likewise.
18125 * include/grub/i386/pc/apm.h: New file.
18126 * include/multiboot.h (multiboot_apm_info): New struct.
18127
181282010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18129
18130 GRUB-legacy configuration file support.
18131
18132 * Makefile.util.def (grub-menulst2cfg): New util.
18133 * docs/man/grub-menulst2cfg.h2m: New file.
18134 * grub-core/Makefile.core.def (legacycfg): New module.
18135 * grub-core/commands/legacycfg.c: New file.
18136 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
18137 (grub_normal_add_menu_entry): ... this.
18138 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
18139 (grub_normal_set_password): ...this.
18140 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
18141 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
18142 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
18143 * grub-core/lib/legacy_parse.c: New file.
18144 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
18145 * include/grub/i386/pc/vesa_modes_table.h: New file.
18146 * include/grub/legacy_parse.h: Likewise.
18147 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
18148 * util/grub-menulst2cfg.c: New file.
18149
bf8d1338
CW
181502010-09-17 Colin Watson <cjwatson@ubuntu.com>
18151
18152 * grub-core/kern/emu/hostdisk.c
18153 (convert_system_partition_to_system_disk): Initialise node.
18154
9c0bad2e
CW
181552010-09-17 Colin Watson <cjwatson@ubuntu.com>
18156
18157 * grub-core/kern/emu/hostdisk.c
18158 (convert_system_partition_to_system_disk): Fix devmapper memory pool
18159 leak.
18160 Reported and based on patch by: Modestas Vainius.
18161
a939d135
CW
181622010-09-17 Colin Watson <cjwatson@ubuntu.com>
18163
18164 Fix DM-RAID probing with recent versions of device-mapper udev
18165 rules.
18166
18167 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
18168 canonicalise device paths under /dev/mapper/.
18169 (convert_system_partition_to_system_disk): Compare the
18170 uncanonicalised path to /dev/mapper/ rather than the canonicalised
18171 path, since device nodes under /dev/mapper/ are often symlinks.
18172
0f7ee3c9
YB
181732010-09-17 Yves Blusseau <blusseau@zetam.org>
18174
18175 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
18176
10854d0d
YB
181772010-09-16 Yves Blusseau <blusseau@zetam.org>
18178
18179 * configure.ac: Avoid some annoying error messages if freetype-config
18180 program is not found.
18181
108538d8
CW
181822010-09-16 Colin Watson <cjwatson@ubuntu.com>
18183
18184 Support RAID on virtio devices, and others.
18185
18186 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
18187 Rename to ...
18188 [__MINGW32__] (grub_find_device): ... this.
18189 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
18190 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
18191 reasonable default if dir is NULL.
18192 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
18193 ...
18194 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
18195 (grub_guess_root_device): Update callers.
18196 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
18197
18198 * util/raid.c (grub_util_getdiskname): Remove.
18199 (grub_util_raid_getmembers): Use grub_find_device rather than
18200 grub_util_getdiskname.
18201
e5bfc130
CW
182022010-09-16 Colin Watson <cjwatson@ubuntu.com>
18203
18204 * docs/grub.texi (serial): Remove obsolete comment about GRUB
18205 needing to be compiled with serial support.
18206 (ls): Indicate that multiple files are accepted.
18207 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
18208 indicate that multiple files are accepted.
18209
be458ae2
CW
182102010-09-16 Colin Watson <cjwatson@ubuntu.com>
18211
18212 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
18213 libgrub_a_init.c, and util/bash-completion.d/grub.
18214
cb731b5e
VS
182152010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18216
18217 * util/grub-setup.c (setup): Fix incorrect container semantics.
18218
35139e8a
VS
182192010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18220
18221 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
18222 misusage.
18223 Reported by: J. Nick Terry
18224
e50fca4a
VS
182252010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18226
18227 Move embedding routines to partmap sources files.
18228
18229 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
18230 [GRUB_UTIL]: New variable.
18231 (gpt_partition_map_iterate): Set part.parent.
18232 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
18233 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
18234 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
18235 New function.
18236 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
18237 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
18238 (grub_partition_map) [GRUB_UTIL]: New field embed.
18239 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
18240 (setup): Use ->embed.
18241
f00478b7
VS
182422010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18243
18244 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
18245 function.
18246 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
18247 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
18248
2b94e3ff
YB
182492010-09-15 Yves Blusseau <blusseau@zetam.org>
18250
18251 Add function to get completions from usage.
18252
18253 * util/bash-completion.d/grub-completion.bash.in: Add function to get
18254 completions from usage. Use LC_ALL=C to get options properly.
18255
2e04a006
VS
182562010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18257
18258 * grub-core/gnulib/basename-lgpl.c: Imported.
18259 * grub-core/gnulib/basename.c: Likewise.
18260 * grub-core/gnulib/dirname-lgpl.c: Likewise.
18261 * grub-core/gnulib/dirname.c: Likewise.
18262 * grub-core/gnulib/dirname.h: Likewise.
18263 * grub-core/gnulib/stripslash.c: Likewise.
18264
5dcdf93a
VS
182652010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18266
18267 * grub-core/gnulib/error.c: Resynced.
18268 * grub-core/gnulib/getopt.c: Likewise.
18269 * grub-core/gnulib/getopt_int.h: Likewise.
18270 * grub-core/gnulib/regex.h: Likewise.
18271 * grub-core/gnulib/regex_internal.c: Likewise.
18272 * grub-core/gnulib/regex_internal.h: Likewise.
18273
014f47b7
SJ
182742010-09-15 Szymon Janc <szymon@janc.net.pl>
18275
18276 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
18277 CRC calculations and validity checks.
18278 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
18279 calculations.
18280
dd521a4a
SJ
182812010-09-15 Szymon Janc <szymon@janc.net.pl>
18282
18283 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
18284
79c4eeb9
VS
182852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18286
18287 Fix incorrect echo options handling.
18288 Reported by: Yves Blusseau.
18289
18290 * include/grub/command.h (grub_command_flags_t): New flags
18291 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
18292 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
18293 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
18294
ed80f7d5
VS
182952010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18296
18297 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
18298 users updated.
18299 (GRUB_COMMAND_FLAG_MENU): Likewise.
18300 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18301 (GRUB_COMMAND_FLAG_TITLE): Removed.
18302 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18303 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
18304 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
18305 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
18306 (grub_command_flags_t): New enum. All users updated.
18307
5fe7620a
SG
183082010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
18309
18310 Fix solaris compilation.
18311
18312 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
18313 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
18314 (grub-emu-list): Likewise.
18315
545b752f
VS
183162010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18317
18318 Remove deprecated root command.
18319
18320 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
18321 updated.
18322
6c1a338c
VS
183232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18324
18325 * util/i386/pc/grub-setup.c: Merge this ...
18326 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
18327 * util/grub-setup.c: ... into this.
18328 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
18329 New struct.
18330
183312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18332
18333 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
18334 possible.
18335
d2ea4551
VS
183362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
18339 allocate p.
18340
3c3b5040
VS
183412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18342
18343 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
18344 explicit root argument to set to prevent UUID to be interpreted as
18345 argument to set.
18346
b71c3fae
VS
183472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18348
18349 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
18350
275433e6
VS
183512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18352
18353 Don't export grub_gate_a20.
18354
18355 * grub-core/kern/i386/pc/init.c: Remove leftovers.
18356 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
18357 to ...
18358 (grub_gate_a20): ... this. All users updated.
18359 * include/grub/i386/pc/init.h: Removed. All users updated.
18360
a5dbb1f1
VS
183612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18362
18363 Create euro.pf2 which supports most European languages.
18364
18365 * Makefile.am (grubdata_DATA): Add euro.pf2.
18366 (euro.pf2): New target.
18367 (CLEANFILES): Add euro.pf2.
18368
62a747cb
VS
183692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18370
18371 * configure.ac: Disable emu-usb by default to prevent inadvertent
18372 device takeover.
18373
608e43b1
VS
183742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18375
18376 Disable usbserial on grub-emu since our libusb code isn't good enough
18377 yet.
18378
18379 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
18380 (usbserial_pl2303): Likewise.
18381 (usbserial_ftdi): Likewise.
18382
94564f81
VS
183832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18384
18385 * include/grub/disk.h (grub_disk): Remove has_partitions.
18386 All users updated.
18387 * disk/loopback.c (grub_loopback): Remove has_partitions.
18388 All users updated.
18389 (options): Remove partitions. All users updated.
18390 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
18391 * util/i386/pc/grub-setup.c (setup): copy partition table only when
18392 actual partition table is found.
18393
3352800b
VS
183942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18395
18396 Remove readability checks (too many false negatives).
18397
18398 * util/grub-install.in: Remove readability checks.
18399 * util/grub-mkconfig.in: Likewise.
18400 * util/grub.d/10_hurd.in: Likewise.
18401 * util/grub.d/10_kfreebsd.in: Likewise.
18402 * util/grub.d/10_linux.in: Likewise.
18403 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
18404 way.
18405
2419f17a
VS
184062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18407
18408 Enable acpi shutdown on all ACPI platforms.
18409
18410 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
18411 on coreboo, multiboot and EFI.
18412 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
18413 (grub_acpi_halt): Likewise.
18414 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
18415 (grub_cmd_halt): Don't call grub_acpi_halt directly.
18416 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
18417 * grub-core/lib/i386/halt.c (grub_halt)
18418 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
18419
0575c7c3
VS
184202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18421
18422 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
18423 context.
18424
54ac3cd1
VS
184252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18426
18427 * grub-core/video/efi_gop.c: Fix over-80-chars line.
18428 * grub-core/video/efi_uga.c: Likewise.
18429
b2a30ac5
VS
184302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18431
18432 Filter devaliases and never open same device twice.
18433
18434 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
18435 (last_ihandle): Likewise.
18436 (ofdisk_hash_ent): New member shortest.
18437 (ofdisk_hash_add): Add canonical path too.
18438 (scan): New function.
18439 (grub_ofdisk_iterate): Iterate over hashed entries.
18440 (compute_dev_path): Don't add :0.
18441 (grub_ofdisk_open): Don't really open the disk.
18442 (grub_ofdisk_close): Avoid closing unrelated disk.
18443 (grub_ofdisk_read): Implement reopen logic.
18444 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
18445 New function.
18446 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
18447 New proto.
18448
fb53b340
VS
184492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18450
18451 Fix sparc64.
18452
18453 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
18454 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
18455 right address. Add sparc64_ieee1275_ldflags.
18456 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
18457 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
18458 to grub_host_to_target_addr
18459 (load_image): Likewise.
18460
f452b040
VS
184612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18462
18463 * grub-core/normal/completion.c (complete_file): Handle device
18464 containing slash.
18465 Fix based on patch by Doug Nazar.
18466
9b5b2541
VS
184672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18468
18469 grub-mknetdir script.
18470
18471 * Makefile.util.def (grub-mknetdir): New module.
18472 * tests/util/grub-shell.in: Support boot=net
18473 * util/grub-mknetdir.in: New file.
18474
9d2be652
VS
184752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18476
18477 videoinfo on non-vbe.
18478
18479 * grub-core/Makefile.core.def (vbeinfo): Removed.
18480 (vbetest): Removed.
18481 (videoinfo): New module.
18482 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
18483 * grub-core/commands/i386/pc/vbetest.c: Removed.
18484 * grub-core/commands/videoinfo.c: New file.
18485 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
18486 specification.
18487 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
18488 as vbetest.
18489 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
18490 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
18491 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
18492 mode_number. New parameter mode. All users updated.
18493 (grub_video_gop_iterate): New function.
18494 (grub_video_efi_gop): New member iterate.
18495 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
18496 (grub_vbe_set_video_mode): Remove setting useless fields.
18497 (vbe2videoinfo): New function.
18498 (grub_video_vbe_iterate): Likewise.
18499 (grub_video_vbe_setup): Use vbe2videoinfo.
18500 (grub_video_vbe_print_adapter_specific_info): New function.
18501 (grub_video_vbe_adapter): New fields iterate and
18502 print_adapter_specific_info.
18503 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
18504 All users updated.
18505 (grub_video_mode_info): New field mode_number.
18506 (grub_video_adapter): New fields iterate and
18507 print_adapter_specific_info.
18508
179503f5
TG
185092010-09-13 Tristan Gingold <gingold@free.fr>
185102010-09-13 Robert Millan <rmh.grub@aybabtu.com>
185112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18512
18513 * grub-core/commands/efi/lsefisystab.c: New file.
18514 * grub-core/commands/efi/lssal.c: Likewise.
18515 * grub-core/Makefile.core.def (lsacpi): New module.
18516 (lsefisystab): Likewise.
18517 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
18518 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
18519 (grub_efi_sal_system_table): New struct.
18520 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
18521 (grub_efi_sal_system_table_memory_descriptor): Likewise.
18522 (grub_efi_sal_system_table_platform_features): Likewise.
18523 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
18524 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
18525 (grub_efi_sal_system_table_ap_wakeup): Likewise.
18526 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
18527
cf9827de
VS
185282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18529
18530 Support explicit user claim that a device is BIOS-visible.
18531
18532 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
18533 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
18534 * grub-core/kern/emu/hostdisk.c
18535 (convert_system_partition_to_system_disk): Support mdX.
18536 (find_system_device): New parameter add. All users updated.
18537 (grub_util_biosdisk_is_present): New function.
18538 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
18539 proto.
18540
53f0eb1f
VS
185412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18542
18543 Search hints support.
18544
18545 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
18546 All users updated.
18547
b23ffd70
YB
185482010-09-13 Yves Blusseau <blusseau@zetam.org>
18549
18550 Bash completion script for util commands
18551
18552 * Makefile.am: Add util/bash-completion.d directory
18553 * configure.ac: Likewise.
18554 * util/bash-completion.d/Makefile.am: New file.
18555 * util/bash-completion.d/grub-completion.bash.in: Likewise.
18556
d547dc28
VS
185572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18558
18559 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
18560 (print_backlog): set backlog_ucs4 and backlog_glyphs.
18561 Reported by: Yves Blusseau.
18562
2fc8ccb9
VS
185632010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18564
18565 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
18566 partition size and offset.
18567
d8a84076
VS
185682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18569
18570 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
18571
84fb3b3d
VS
185722010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18573
18574 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
18575
768ec2e2
VS
185762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18577
18578 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
18579 (grub_xvasprintf): Likewise.
18580
4870900f
VS
185812010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18582
18583 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
18584
faca6bec
VS
185852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18586
18587 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
18588 args ending with NULL.
18589
185902010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
18591
18592 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
18593 pointer.
18594
3c70f225
SJ
185952010-09-11 Szymon Janc <szymon@janc.net.pl>
18596
18597 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
18598
4df7996d
VS
185992010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18600
18601 Shutdown using ACPI.
18602
18603 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
18604 * grub-core/commands/acpihalt.c: New file.
18605 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
18606 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
18607 (grub_acpi_halt): New proto.
18608 (GRUB_ACPI_SLP_EN): New const.
18609 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
18610 (GRUB_ACPI_OPCODE_*): New enum.
18611 (GRUB_ACPI_EXTOPCODE_*): Likewise.
18612
126b4c32
TG
186132010-09-11 Tristan Gingold <gingold@free.fr>
186142010-09-11 Robert Millan <rmh.grub@aybabtu.com>
186152010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18616
18617 * commands/lsacpi.c: New file.
18618 * grub-core/Makefile.core.def (lsacpi): New module.
18619 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
18620 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
18621 (grub_acpi_madt_entry_header): New struct.
18622 (grub_acpi_madt): Likewise.
18623 (grub_acpi_madt_entry_interrupt_override): Likewise.
18624 (grub_acpi_madt_entry_sapic): Likewise.
18625 (grub_acpi_madt_entry_lsapic): Likewise.
18626 (grub_acpi_madt_entry_platform_int_source): Likewise.
18627 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
18628 (PRIuGRUB_UINT32_T): Likewise.
18629 (PRIxGRUB_UINT64_T): Likewise.
18630
1aa4fe88
VS
186312010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18632
18633 Implement loading palette on ieee1275_fb.
18634
18635 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
18636 (have_setcolors): Likewise.
18637 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
18638 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
18639 (grub_video_ieee1275_set_palette): Implement.
18640
25761e13
VS
186412010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
186422010-09-11 Colin Watson <cjwatson@ubuntu.com>
18643
18644 * util/grub-install.in (grub_partition): New variable.
18645 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
18646 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
18647 Fixes a bug reported by Yves Blusseau.
18648
050abaea
VS
186492010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18650
18651 Fix emu on mipsel.
18652
18653 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
18654 =grub_cpu_flush_cache on all mips and not only yeeloong.
18655 * configure.ac (COND_mips): New conditional.
18656 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
18657 platforms.
18658 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
18659 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
18660 [GRUB_LINKER_HAVE_INIT]: New function.
18661 (grub_emu_post_init): Likewise.
18662 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
18663 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
18664 * include/grub/cache.h (_mips): Include mips/cache.h.
18665 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
18666 LVM and RAID prototypes.
18667 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
18668 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
18669 function.
18670
5ed7d816
CW
186712010-09-10 Colin Watson <cjwatson@ubuntu.com>
18672
18673 * util/grub-install.in: Don't try to verify core.img until after
18674 running grub-mkimage to create it.
18675
90367e04
RM
186762010-09-10 Robert Millan <rmh@gnu.org>
18677
18678 * util/grub.d/10_hurd.in: Add misc readability checks.
18679 * util/grub.d/10_kfreebsd.in: Likewise.
18680 * util/grub.d/10_linux.in: Likewise.
18681
c452fa66
CW
186822010-09-10 Colin Watson <cjwatson@ubuntu.com>
18683
18684 * util/grub-install.in: ${imgext} won't be defined here until the
18685 install branch is merged. For the meantime, only verify core.img on
18686 i386-pc and sparc64-ieee1275 platforms.
18687
c38fe9f4
RM
186882010-09-10 Robert Millan <rmh@gnu.org>
18689
18690 Solaris support in grub_find_zpool_from_dir(). Thanks
18691 Seth Goldberg for referring to getextmntent() facility.
18692
18693 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
18694 `sys/mkdev.h'.
18695 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
18696 `<sys/mnttab.h>'.
18697 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
18698 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
18699 method for finding zpool name.
18700
905f7773
CW
187012010-09-10 Colin Watson <cjwatson@ubuntu.com>
18702
18703 grub-fstest needs the host and hostfs modules while other utilities
18704 actively require those modules to be absent, so grub-fstest needs
18705 its own initialisation and finalisation code.
18706
18707 * Makefile.am (grub_fstest.pp): New target.
18708 (grub_fstest_init.lst): Likewise.
18709 (grub_fstest_init.c): Likewise.
18710 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
18711
fb90b546
RM
187122010-09-10 Robert Millan <rmh@gnu.org>
18713
18714 * configure.ac: Check for `struct statfs.f_fstypename' and
18715 `struct statfs.f_mntfromname'.
18716
18717 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
18718 kFreeBSD-specific code.
18719
66d4bea5
RM
187202010-09-10 Robert Millan <rmh@gnu.org>
18721
18722 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
18723 on ZFS. Now non-main filesystems are supported as / too.
18724
b6a690ee
CW
187252010-09-09 Colin Watson <cjwatson@ubuntu.com>
18726
18727 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
18728 and grub-core/disk/host.c to ...
18729 (grub-fstest): ... here. Having the host disk implementation
18730 present confuses grub-probe and other utility programs.
18731
18732 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
18733 when writing to a file, not when writing to stdout.
18734
8901b00c 187352010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
18736
18737 * tests/partmap_test.in: New test for partitions.
18738 * Makefile.util.def: Rules for new test.
18739
7bf45fdd
RM
187402010-09-09 Robert Millan <rmh@gnu.org>
18741
18742 * util/grub-probe.c (probe): Fix a pair of unhandled error
18743 conditions.
18744
4dfbc574
RM
187452010-09-09 Robert Millan <rmh@gnu.org>
18746
18747 Basic Btrfs support (detection and UUID).
18748
18749 * grub-core/fs/btrfs.c: New file.
18750 * Makefile.util.def (library): Register btrfs.c.
18751 * grub-core/Makefile.core.def: Likewise.
18752
6b8e78ae
RM
187532010-09-08 Robert Millan <rmh@gnu.org>
18754
18755 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
18756 with (optional) parameters to specify device and relative path.
18757 * util/grub-install.in: Use is_path_readable_by_grub() to
18758 verify readability of a few critical files.
18759 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
18760 verify readability of grub.cfg.new.
18761
27f21a8b
VS
187622010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
18763
18764 Split minix.mod into minix.mod and minix2.mod.
18765
18766 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
18767 * grub-core/Makefile.core.def (minix2): New module.
18768 * grub-core/fs/minix.c: Use definitions instead of runtime version
18769 checking.
18770 * grub-core/fs/minix2.c: New file.
18771
c0e53ea5
YB
187722010-09-08 Yves Blusseau <blusseau@zetam.org>
18773
18774 Add new --boot-directory option to replace --root-directory
18775
18776 * util/grub-install.in: Add new --boot-directory option
18777 * util/grub-reboot.in: Likewise.
18778 * util/grub-set-default.in: Likewise.
18779
b9fe6ea2
YB
187802010-09-08 Yves Blusseau <blusseau@zetam.org>
18781
18782 * util/grub-mkconfig.in: Use new variable.
18783
d87aedff
YB
187842010-09-08 Yves Blusseau <blusseau@zetam.org>
18785
18786 * configure.ac: Define some useful variables.
18787
e55e8495
VS
187882010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
18789
18790 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18791 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
18792 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
18793 Use terminfo and don't use cursor-on/cursor-off unless it's known
18794 to work.
18795 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
18796 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
18797
6fa6d675
CW
187982010-09-08 Colin Watson <cjwatson@ubuntu.com>
18799
18800 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
18801 starts with "(,", fill the drive containing the loaded image in
18802 between those two characters, but expect that a full partition
18803 specification including partition map names will follow.
18804
92f2aef0
RM
188052010-09-08 Robert Millan <rmh@gnu.org>
18806
18807 * configure.ac: Remove `--enable-grub-fstest' option.
18808 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
18809
18810 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
18811 `grub-fstest' instead of `grub-probe' for readability verification.
18812 * util/grub-probe.c (probe): Remove readability verification kludge.
18813
99fd620d
RM
188142010-09-08 Robert Millan <rmh@gnu.org>
18815
18816 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
18817 initializing `GRUB_FS'.
18818
058e30ac 188192010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
18820
18821 Not command (!) support to GRUB script.
18822
18823 * tests/grub_script_not.in: New test.
18824 * Makefile.util.def: Rules for new test.
18825
18826 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18827 ! command as a special case.
18828 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
18829
b61d05ed 188302010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18831
058e30ac 18832 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
18833 grub_free.
b61d05ed 18834
4d69c786 188352010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18836
18837 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
18838
aa3119c4 188392010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18840
18841 * docs/grub.texi (Shell-like scripting): Documentation for break,
18842 continue, shift and return commands.
18843
db0f7e3d
VS
188442010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 Rename CD-ROM to cd on BIOS.
18847
18848 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
18849 "cd".
18850 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
18851
88b87c93
VS
188522010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18853
18854 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
18855 * util/grub-probe.c (main): Likewise.
18856 * util/i386/pc/grub-setup.c (main): Likewise.
18857 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18858 Reported and debugged by: alexxy
18859
294f324d
VS
188602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18861
18862 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
18863 diagnostic info.
18864
d7ee3441
JS
188652010-09-05 Jo Shields <directhex@apebox.org>
18866
18867 * util/grub.d/30_os-prober.in: Add missing classes.
18868
d7e06c1f
VS
188692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18870
18871 * docs/grub.texi (Theme file format): Document new position format.
18872
fc157e53
VS
188732010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18874
18875 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
18876 a table. Use @code instead of @verbatim.
18877
506e9a1c
CB
188782010-09-05 Colin D Bennett <colin@gibibit.com>
18879
18880 Gfxmenu documentation.
18881
18882 * docs/grub.texi (Theme file format): New chapter.
18883
f0aff67c
SJ
188842010-09-05 Szymon Janc <szymon@janc.net.pl>
18885
18886 * grub-core/Makefile.core.def (xzio): New module.
18887 * grub-core/io/xzio.c: New file.
18888 * grub-core/lib/xzembed/xz.h: New file (from xembed).
18889 * grub-core/lib/xzembed/xz_config.h: Likewise.
18890 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
18891 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
18892 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
18893 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
18894 * grub-core/lib/xzembed/xz_private.h: Likewise.
18895 * grub-core/lib/xzembed/xz_stream.h: Likewise.
18896 * include/grub/file.h (grub_file_filter_id): New compression filter
18897 GRUB_FILE_FILTER_XZIO.
18898
82a85062
VS
188992010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
18902 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
18903 size.
18904
3579415d
VS
189052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18906
18907 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
18908 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
18909
5124ae6d
VS
189102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18911
18912 Uncompressed checksum support.
18913
18914 * grub-core/commands/hashsum.c (options): Add option --uncompress.
18915 (check_list): New parameter uncompress.
18916 (grub_cmd_hashsum): Handle --uncompress.
18917
9aadb3d1
VS
189182010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18919
18920 Reintroduce testload.
18921
18922 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
18923 from here ...
18924 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
18925 (GRUB_MOD_INIT): New function.
18926 (GRUB_MOD_FINI): Likewise.
18927 * grub-core/Makefile.core.def (testload): New module.
18928
a17792c3
SJ
189292010-09-05 Szymon Janc <szymon@janc.net.pl>
18930
18931 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
18932 (uint8_t): New type.
18933 (uint16_t): Likewise.
18934 (uint32_t): Likewise.
18935 (uint64_t): Likewise.
18936
b81e40a3
SJ
189372010-09-05 Szymon Janc <szymon@janc.net.pl>
18938
18939 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
18940
fc2ef117
VS
189412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18942
18943 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
18944 Made static.
18945 (grub_gzfile_open): Removed. All users updated.
18946 (GRUB_MOD_INIT): New function.
18947 (GRUB_MOD_FINI): Likewise.
18948 * grub-core/kern/file.c (grub_file_filters_all): New variable.
18949 (grub_file_filters_enabled): Likewise.
18950 (grub_file_open): Handle filters.
18951 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
18952 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
18953 * include/grub/file.h (grub_file_filter_id_t): New type.
18954 (grub_file_filter_t): Likewise.
18955 (grub_file_filters_all): New extern variable.
18956 (grub_file_filters_enabled): Likewise.
18957 (grub_file_filter_register): New inline function.
18958 (grub_file_filter_unregister): Likewise.
18959 (grub_file_filter_disable): Likewise.
18960 (grub_file_filter_disable_compression): Likewise.
18961 * include/grub/gzio.h: Removed.
18962
35ee15e0
BC
189632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18964
18965 Filename expansion support for wildcards in GRUB script.
18966
18967 * tests/grub_script_expansion.in: New test.
18968 * Makefile.util.def: Rule for new test.
18969
18970 * grub-core/commands/wildcard.c: New file, implements filename
18971 expansion support for GRUB script.
18972 * grub-core/Makefile.core.def: Rule update for regexp.mod.
18973 * grub-core/script/argv.c: Cosmetic changes.
18974 * grub-core/script/execute.c (grub_script_arglist_to_argv):
18975 Refactored to perform wildcard expansion on arguments.
18976 * include/grub/script_sh.h (grub_script_wildcard_translator): New
18977 struct.
18978
18979 * tests/util/grub-shell.in: Fix quoting for read input.
18980
5f0c4aca
BC
189812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18982
18983 Support for updating environment variables with matched substrings
18984 of regexp.
18985
18986 * tests/grub_cmd_regexp.in: New test.
18987 * Makefile.util.def: Rule for new test.
18988
18989 * grub-core/commands/regexp.c: New option -s to update environment
18990 variables with regexp matches.
18991
3759a35f
SJ
189922010-09-04 Szymon Janc <szymon@janc.net.pl>
18993
18994 * include/grub/file.h (grub_file): New member not_easly_seekable.
18995 (grub_file_seekable): New inline function.
18996 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
18997 easily seekable.
18998 (grub_gzio_open): Set not_easly_seekable.
18999 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
19000 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
19001
ed8c6dec
BC
190022010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19003
19004 Support for options to appear multiple times on cmdline.
19005
19006 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
19007 * grub-core/commands/extcmd.c: Support for repeatable option.
19008 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
19009 repeatable option support.
19010
19011 Refactor menuentry into a regular command.
19012
19013 * grub-core/commands/menuentry.c: New file, menuentry command
19014 implementation.
19015 * grub-core/Makefile.core.def: Rule update for normal.mod.
19016 * grub-core/normal/main.c: Moved menuentry creation to
19017 grub-core/commands/menuentry.c.
19018 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
19019 (grub_menu_execute_entry_real): Removed.
19020 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
19021 function.
19022 (grub_script_execute_menuentry): Removed.
19023 * grub-core/script/parser.y (menuentry): Removed.
19024 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
19025 * grub-core/script/yylex.l (menuentry): Removed.
19026 * include/grub/menu.h (grub_menu_init): New prototype.
19027 (grub_menu_fini): New prototype.
19028 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
19029 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
19030 (grub_script_execute_sourcecode): New prototype.
19031
dacd0cf0
BC
190322010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19033
19034 "return" command for GRUB script functions.
19035
19036 * tests/grub_script_return.in: New test.
19037 * Makefile.util.def: Rules for new test.
19038
19039 * grub-core/script/execute.c (grub_script_return): New function.
19040 * grub-core/script/main.c: Register/unregister return commaond.
19041 * include/grub/script_sh.h (grub_script_return): New prototype.
19042
52e72f9d
BC
190432010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19044
19045 "setparams" command to update positional parameters.
19046
19047 * tests/grub_script_setparams.in: New test.
19048 * Makefile.util.def: Rules for new test.
19049
19050 * grub-core/script/argv.c (grub_script_argv_make): New function.
19051 * grub-core/script/execute.c (replace_scope): New function.
19052 (grub_script_setparams): New function.
19053 * grub-core/script/lexer.c: Remove unused variables.
19054 * grub-core/script/main.c: Register/unregister setparams command.
19055 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
19056 (grub_script_setparams): New prototype.
19057
25b60c91
BC
190582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19059
19060 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
19061 grub_free order.
19062
37e7bf68
BC
190632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19064
19065 Support for passing block of commands as an argument to extcmds.
19066
19067 * Makefile.util.def: Rules for new test.
19068 * tests/grub_script_blockarg.in: New test.
19069 * grub-core/tests/test_blockarg.c: New file, block argument
19070 command used in the test.
19071
19072 * include/grub/extcmd.h (grub_extcmd_context): New struct.
19073 (grub_register_extcmd_prio): New function prototype.
19074 (grub_extcmd_dispatcher): New function prototype.
19075 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
19076 type.
19077 * include/grub/script_sh.h (struct grub_script): New members
19078 `children', `next_siblings' and `refcnt' for block arguments and
19079 reference counting.
19080 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
19081 (grub_script_arg): New member `script' for block argument.
19082 (grub_script_argv): New member `script' for block argument.
19083 (grub_parser_param): New member `scripts' for block argument.
19084 (grub_script_mem_free): New extern function prototype.
19085 (grub_script_ref): New function prototype.
19086 (grub_script_unref): New function prototype.
19087
19088 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
19089 extcmd form to support block arguments.
19090 * grub-core/script/argv.c: Block arguments support.
19091 * grub-core/script/execute.c: Likewise.
19092 * grub-core/script/lexer.c: Likewise.
19093 * grub-core/script/main.c: Likewise.
19094 * grub-core/script/script.c: Likewise.
19095 * grub-core/script/parser.y: Likewise. New `block' and `block0'
19096 non-terminals.
19097
19098 * grub-core/commands/acpi.c: Update extcmd implementations with
19099 grub_extcmd_context_t.
19100 * grub-core/commands/cat.c: Likewise.
19101 * grub-core/commands/echo.c: Likewise.
19102 * grub-core/commands/extcmd.c: Likewise.
19103 * grub-core/commands/hashsum.c: Likewise.
19104 * grub-core/commands/hdparm.c: Likewise.
19105 * grub-core/commands/help.c: Likewise.
19106 * grub-core/commands/hexdump.c: Likewise.
19107 * grub-core/commands/i386/cpuid.c: Likewise.
19108 * grub-core/commands/i386/pc/drivemap.c: Likewise.
19109 * grub-core/commands/i386/pc/halt.c: Likewise.
19110 * grub-core/commands/i386/pc/sendkey.c: Likewise.
19111 * grub-core/commands/iorw.c: Likewise.
19112 * grub-core/commands/keystatus.c: Likewise.
19113 * grub-core/commands/loadenv.c: Likewise.
19114 * grub-core/commands/ls.c: Likewise.
19115 * grub-core/commands/lspci.c: Likewise.
19116 * grub-core/commands/memrw.c: Likewise.
19117 * grub-core/commands/probe.c: Likewise.
19118 * grub-core/commands/search_wrap.c: Likewise.
19119 * grub-core/commands/setpci.c: Likewise.
19120 * grub-core/commands/sleep.c: Likewise.
19121 * grub-core/disk/loopback.c: Likewise.
19122 * grub-core/hello/hello.c: Likewise.
19123 * grub-core/loader/i386/bsd.c: Likewise.
19124 * grub-core/loader/xnu.c: Likewise.
19125 * grub-core/term/gfxterm.c: Likewise.
19126 * grub-core/term/serial.c: Likewise.
19127 * grub-core/tests/lib/functional_test.c: Likewise.
19128
888d1500
BC
191292010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19130
19131 Multi-line quoted strings support.
19132
19133 * grub-core/script/lexer.c (append_newline): Removed.
19134 (grub_script_lexer_yywrap): Refactored.
19135 (grub_script_lexer_init): Refactored.
19136 * grub-core/script/yylex.l (yywrap): New function.
19137 (grub_lexer_resplit): New function.
19138 (grub_lexer_unput): New function.
19139 * include/grub/script_sh.h (grub_lexer_param): New members, unput
19140 and resplit.
19141 * tests/grub_script_echo1.in: Added few more testcases.
19142
dda060dd
VS
191432010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19144
19145 * grub-core/kern/misc.c: Don't add abort alias in utils.
19146 Reported by: echoline.
19147
6556eba9
BC
191482010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
19149
19150 Add missing files into "make dist" tarball for other platforms.
19151
19152 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
19153 * conf/Makefile.common (dist_noinst_DATA): New variable.
19154 * conf/Makefile.extra-dist: Added missing make dist files.
19155 * grub-core/Makefile.core.def: Likewise.
19156
c8e7bf5f
VS
191572010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19158
19159 Compress grub_prefix.
19160
19161 * grub-core/boot/i386/pc/lnxboot.S: Use
19162 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
19163 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
19164 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
19165 GRUB_MACHINE_PREFIX_END. All users updated.
19166 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
19167 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
19168 + 0x40.
19169 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
19170 * util/grub-mkimage.c (image_target_desc): Change data_end to
19171 prefix_end. All users updated.
19172
a7c00cdb
VS
191732010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19174
19175 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
19176 value.
19177 (grub_openbsd_boot): Likewise.
19178 (grub_netbsd_boot): Likewise.
19179 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
19180 (grub_xnu_boot): Likewise.
19181
9f915872
VS
191822010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19183
19184 * configure.ac: Clean LIBS variable after tests.
19185
efa1bee7
CW
191862010-09-02 Colin Watson <cjwatson@ubuntu.com>
19187
19188 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
19189
61d720e5
VS
191902010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19191
19192 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
19193 echo if libdevmapper will be used.
19194
ef8e0ec8
IT
191952010-09-02 Ian Turner <Ian.Turner@deshaw.com>
19196
19197 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
19198 constant for the same file.
19199
03e261d8
VS
192002010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19201
19202 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
19203
c2a4eba6
CW
192042010-09-02 Colin Watson <cjwatson@ubuntu.com>
19205
19206 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
19207 grub-core/*.pp.
19208
9056cbf3
CW
192092010-09-02 Colin Watson <cjwatson@ubuntu.com>
19210
19211 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
19212 required by the boot protocol.
19213
19214 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
19215 ebp and edi members.
19216 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
19217 state.ebp and state.edi.
19218 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
19219 %ebp and %edi according to grub_relocator32_ebp and
19220 grub_relocator32_edi respectively.
19221 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
19222 and state.edi.
19223
529cc99a
VS
192242010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19225
19226 Add i386-pc-pxe image target.
19227
19228 * util/grub-mkimage.c (image_target_desc): New enum value
19229 IMAGE_I386_PC_PXE.
19230 (image_targets): New target i386-pc-pxe.
19231 (generate_image): Handle i386-pc-pxe image.
19232
9a093920
VS
192332010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19234
19235 Fix grub_pxe_scan.
19236
19237 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
19238 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
19239 All users updated.
19240 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
19241 (grub_pxe_pxenv): Correct type.
19242
f9cefc4e
CW
192432010-09-01 Colin Watson <cjwatson@ubuntu.com>
19244
19245 * NEWS: Document most of the important changes since 1.98.
19246
4066f57f
CW
192472010-09-01 Colin Watson <cjwatson@ubuntu.com>
19248
19249 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
19250 generated manual page) a little.
19251
da2891f9
CW
192522010-09-01 Colin Watson <cjwatson@ubuntu.com>
19253
19254 * docs/grub.texi: Add myself as an author.
19255
ad717fae
VS
192562010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19257
19258 * Makefile.util.def (libgrub.a): Add missing sunpc.
19259 Reported by: Seth Goldberg.
19260
eefe8abd
VS
192612010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19262
19263 Interrupt wrapping and code simplifications.
19264
9494ef9a
VS
19265 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
19266 x86_noieee1275 which are functionaly equivalent in this case.
19267 (grub-install): Make source on each platform explicit. Enable on
19268 all noemu.
19269 * gentpl.py (x86_efi_pc): Removed group.
19270 (x86_noefi): Likewise.
19271 (i386_noefi): Likewise.
19272 (x86_noieee1275): Likewise.
19273 (i386_noieee1275): Likewise.
19274 (i386_noefi_noieee1275): Likewise.
19275 (i386_pc_qemu_coreboot): Likewise.
19276 (i386_coreboot_multiboot): Likewise.
19277 (i386_pc_coreboot_multiboot_qemu): Likewise.
19278 (x86_noefi_mips): Likewise.
19279 (noieee1275): Likewise.
19280 (ieee1275_mips): Likewise.
19281 (noemu_noieee1275): Likewise.
19282 (cmos): New group.
19283 (usb): Likewise.
19284 (videoinkernel): Likewise.
19285 (videomodules): Likewise.
eefe8abd 19286 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
19287 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
19288 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
19289 include/grub/loader.h, include/grub/msdos_partition.h,
19290 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
19291 include/grub/machine/console.h, include/grub/machine/vga.h,
19292 include/grub/machine/vbe.h, include/grub/machine/init.h,
19293 include/grub/machine/kernel.h, include/grub/cpu/time.h,
19294 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 19295 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
19296 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
19297 * grub-core/Makefile.core.def (kernel): Explicit the source for
19298 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
19299 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
19300 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
19301 Use videoinkernel tag.
19302 (usb): Enable on all usb.
19303 (usbserial_common): Likewise.
19304 (usbserial_pl2303): Likewise.
19305 (usbserial_ftdi): Likewise.
19306 (uhci): Enable on all x86.
19307 (ohci): Enable on all pci.
19308 (cmostest): Enable on all CMOS.
19309 (acpi): Include commands/acpi.c on all platforms.
19310 (halt): Add relevant lib/*/halt.c.
19311 (hdparm): Enable on all pci.
19312 (lspci): Likewise.
19313 (usbtest): Enable on all usb.
19314 (ata): Enable on all pci.
19315 (ata_pthru): Likewise.
19316 (usbms): Enable on all usb.
19317 (usb_keyboard): Likewise.
19318 (font): Use tag videomodules.
19319 (bufio): Likewise.
19320 (datetime): Use tag cmos. Enable on all noemu.
19321 (mmap): Use tags common and x86.
19322 (gfxterm): Use tag videomodules.
19323 (bitmap): Likewise.
19324 (bitmap_scale): Likewise.
19325 (video_fb): Likewise.
19326 (video): Likewise.
19327 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
19328 adjust padding accordingly. All users updated.
19329 (grub_ohci_transaction): Fix bad format specification.
19330 (GRUB_MOD_INIT): Add asserts for struct size.
19331 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
19332 (grub_alloc_td): Likewise.
19333 (grub_free_queue): Likewise.
19334 (grub_uhci_transfer): Likewise.
19335 (grub_uhci_transaction): Fix bad format specification.
19336 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19337 (grub_usb_bulk_readwrite): Likewise.
19338 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
19339 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
19340 Made static.
19341 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
19342 Made static.
19343 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
19344 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
19345 Transformed into C.
19346 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
19347 Moved from here ...
19348 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
19349 ... here. Transformed into C. Made static.
19350 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
19351 Moved from here ...
19352 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
19353 ... here. Transformed into C. Made static.
19354 * grub-core/kern/i386/pc/startup.S
19355 (grub_biosdisk_check_int13_extensions): Moved from here ...
19356 * grub-core/disk/i386/pc/biosdisk.c
19357 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
19358 Made static.
19359 * grub-core/kern/i386/pc/startup.S
19360 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
19361 * grub-core/disk/i386/pc/biosdisk.c
19362 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
19363 Transformed into C. Made static.
19364 * grub-core/kern/i386/pc/startup.S
19365 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
19366 * grub-core/disk/i386/pc/biosdisk.c
19367 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
19368 Transformed into C. Made static.
19369 * grub-core/kern/i386/pc/startup.S
19370 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
19371 * grub-core/disk/i386/pc/biosdisk.c
19372 (grub_biosdisk_get_diskinfo_standard): ... here.
19373 Transformed into C. Made static.
19374 * grub-core/kern/i386/pc/startup.S
19375 (grub_biosdisk_get_num_floppies): Moved from here ...
19376 * grub-core/disk/i386/pc/biosdisk.c
19377 (grub_biosdisk_get_num_floppies): ... here.
19378 Transformed into C. Made static.
19379 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
19380 New function.
19381 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
19382 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
19383 Transformed into C. Made static.
19384 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
19385 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
19386 Transformed into C. Made static.
19387 * grub-core/kern/i386/ieee1275/init.c: Removed.
19388 * grub-core/kern/i386/misc.S: Likewise.
19389 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
19390 Splitted from here ...
19391 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
19392 Transformed into C. Made static. All users updated.
19393 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
19394 Transformed into C. Made static. All users updated.
19395 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
19396 Moved from here...
19397 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
19398 Transformed into C. Made static. All users updated.
19399 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
19400 Moved from here...
19401 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
19402 Transformed into C. Made static. All users updated.
19403 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
19404 Removed (replaced by C version).
19405 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
19406 Moved from here...
19407 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
19408 Transformed into C. Made static.
19409 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
19410 Moved from here...
19411 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
19412 ... here. Transformed into C.
19413 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
19414 Moved from here...
19415 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
19416 ... here. Transformed into C.
19417 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
19418 Moved from here...
19419 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
19420 ... here. Transformed into C. Made static.
19421 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
19422 Moved from here...
19423 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
19424 ... here. Transformed into C.
21ed554b
VS
19425 * grub-core/kern/i386/pc/startup.S
19426 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
19427 * grub-core/video/i386/pc/vbe.c
19428 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
19429 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
19430 Moved from here...
19431 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
19432 ... here. Transformed into C.
19433 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
19434 Moved from here...
19435 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
19436 ... here. Transformed into C.
19437 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
19438 Moved from here...
19439 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
19440 ... here. Transformed into C.
19441 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
19442 Moved from here...
19443 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
19444 ... here. Transformed into C.
19445 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
19446 Moved from here...
19447 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
19448 ... here. Transformed into C. Made static.
19449 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
19450 Moved from here...
19451 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
19452 ... here. Transformed into C. Made static.
19453 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
19454 Moved from here...
19455 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
19456 ... here. Transformed into C. Made static.
19457 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
19458 pxe_rm_entry as third argument.
19459 (grub_bios_interrupt): New function.
19460 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
19461 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
19462 of calling grub_stop.
19463 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
19464 * grub-core/lib/efi/halt.c (grub_halt): ...here.
19465 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
19466 * grub-core/lib/emu/halt.c (grub_halt): ... here.
19467 * grub-core/lib/i386/halt.c: Moved from here ...
19468 * grub-core/lib/i386/halt.c: ... here.
19469 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
19470 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
19471 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
19472 grub_stop_floppy.
19473 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
19474 * include/grub/i386/coreboot/init.h: Removed.
19475 * include/grub/i386/multiboot/init.h: Likewise.
19476 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
19477 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
19478 * include/grub/i386/pc/int.h: New file.
19479 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
19480 (grub_pxe_scan): Removed.
19481 (grub_pxe_call): Update prototype.
19482 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
19483 prototypes.
19484 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
19485 * include/grub/i386/qemu/init.h: Removed.
19486 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
19487 noreturn.
19488 (grub_halt): Likewise.
19489 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
19490 (grub_reboot): Likewise.
19491 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
19492 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
19493 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
19494
215dd471
RM
194952010-08-30 Robert Millan <rmh@gnu.org>
19496
19497 * NEWS: Document addition of ZFS support in `grub-install' and
19498 `grub-mkconfig'.
19499
ebd65b82
BC
195002010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
19501
19502 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
19503 dprintf output.
19504
11721d19
VS
195052010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19506
19507 Remove leftover embedding of font objects.
19508
19509 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19510 * util/grub-install.in (font): Removed.
19511 * util/grub-mkimage.c (generate_image): Remove font support. All users
19512 updated.
19513
37837d4e
VS
195142010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19515
19516 Remove leftover embedding of font objects.
19517
19518 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19519 * util/grub-install.in (font): Removed.
19520 * util/grub-mkimage.c (generate_image): Remove font support. All users
19521 updated.
19522
b4c1aae0
VS
195232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19524
19525 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 19526 Reported by: Ian Turner
b4c1aae0 19527
8920a08d
VS
195282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
19531 timeout to avoid indefinite boot stalling.
19532
f21db033
VS
195332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19534
19535 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
19536 (grub_env_write_color_highlight): Likewise.
19537
9a9de209
VS
195382010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19539
19540 * grub-core/normal/term.c (print_more): Return to normal and not
19541 to standard state after printing "---MORE---".
19542
3dca01d7
VS
195432010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19544
19545 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
19546 Mask out the bit 0x80 since it has other meaning that specifiing color.
19547
0b986c40
VS
195482010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19549
19550 New relocator. Allows for more kernel support and more straightforward
19551 loader writing.
19552
19553 * Makefile.am (BOOTTARGET): New variable.
19554 (QEMU32): Likewise.
19555 (linux.init.x86_64): New target.
19556 (linux.init.i386): Likewise.
19557 (multiboot.elf): Likewise.
19558 (kfreebsd.elf): Likewise.
19559 (kfreebsd.aout): Likewise.
19560 (pc-chainloader.elf): Likewise.
19561 (pc-chainloader.bin): Likewise.
19562 (ntldr.elf): Likewise.
19563 (ntldr.bin): Likewise.
19564 (multiboot2.elf): Likewise.
19565 (kfreebsd.init.x86_64): Likewise.
19566 (kfreebsd.init.i386): Likewise.
19567 (knetbsd.init.i386): Likewise.
19568 (kopenbsd.init.i386): Likewise.
19569 (knetbsd.init.x86_64): Likewise.
19570 (kopenbsd.init.x86_64): Likewise.
19571 (linux-initramfs.i386): Likewise.
19572 (linux-initramfs.x86_64): Likewise.
19573 (kfreebsd-mfsroot.i386.img): Likewise.
19574 (knetbsd.image.i386): Likewise.
19575 (kopenbsd.image.i386): Likewise.
19576 (kopenbsd.image.x86_64): Likewise.
19577 (knetbsd.miniroot-image.i386.img): Likewise.
19578 (kfreebsd-mfsroot.x86_64.img): Likewise.
19579 (knetbsd.image.x86_64): Likewise.
19580 (knetbsd.miniroot-image.x86_64.img): Likewise.
19581 (kfreebsd-mfsroot.i386.gz): Likewise.
19582 (bootcheck-kfreebsd-i386): Likewise.
19583 (kfreebsd-mfsroot.x86_64.gz): Likewise.
19584 (bootcheck-kfreebsd-x86_64): Likewise.
19585 (knetbsd.miniroot-image.i386.gz): Likewise.
19586 (bootcheck-knetbsd-i386): Likewise.
19587 (bootcheck-kopenbsd-i386): Likewise.
19588 (bootcheck-kopenbsd-x86_64): Likewise.
19589 (knetbsd.miniroot-image.x86_64.gz): Likewise.
19590 (bootcheck-knetbsd-x86_64): Likewise.
19591 (bootcheck-linux-i386): Likewise.
19592 (bootcheck-linux-x86_64): Likewise.
19593 (bootcheck-linux16-i386): Likewise.
19594 (bootcheck-linux16-x86_64): Likewise.
19595 (bootcheck-multiboot): Likewise.
19596 (bootcheck-multiboot2): Likewise.
19597 (bootcheck-kfreebsd-aout): Likewise.
19598 (bootcheck-pc-chainloader): Likewise.
19599 (bootcheck-ntldr): Likewise.
19600 (CLEANFILES): Add new targets.
19601 (BOOTCHECKS): New variable.
19602 (.PHONY): Add bootchecks.
19603 (SUCCESSFUL_BOOT_STRING): New variable.
19604 (BOOTCHECK_TIMEOUT): Likewise.
19605 (bootcheck): New target
19606 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
19607 * configure.ac: Correct efiemu excuse.
19608 * docs/grub.texi (Supported kernels): New chapter.
19609 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
19610 include/grub/mm_private.h. Simplify inclusion of
19611 include/grub/boot.h, include/grub/loader.h
19612 and include/grub/msdos_partition.h
19613 (KERNEL_HEADER_FILES) [i386_coreboot]:
19614 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
19615 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
19616 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
19617 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
19618 include/grub/machine/loader.h.
19619 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
19620 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
19621 extra_dist.
19622 (pci.mod): Enable on i386-multiboot.
19623 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
19624 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
19625 i386-qemu.
19626 (relocator.mod): Rewritten.
19627 (aout.mod): Enable on all x86.
19628 (bsd.mod): Likewise.
19629 (ntldr.mod): New module.
19630 (linux.mod): Use loader/i386/linux.c on all x86.
19631 (xnu.mod): Enable on all x86.
19632 (vga_text.mod): disable on EFI and QEMU.
19633 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
19634 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
19635 * grub-core/efiemu/loadcore.c: Likewise.
19636 * grub-core/efiemu/main.c: Likewise.
19637 (grub_efiemu_exit_boot_services): Removed.
19638 (grub_efiemu_finish_boot_services): Likewise.
19639 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
19640 function.
19641 * grub-core/efiemu/i386/nocfgtables.c: New file.
19642 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
19643 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
19644 (grub_efi_finish_boot_services): Moved from here ...
19645 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
19646 Fille finish memory map and related data.
19647 (finish_mmap_buf): New variable.
19648 (grub_efi_uintn_t finish_mmap_size): Likewise.
19649 (grub_efi_uintn_t finish_key): Likewise.
19650 (grub_efi_uintn_t finish_desc_size): Likewise.
19651 (grub_efi_uint32_t finish_desc_version): Likewise.
19652 (grub_efi_is_finished): Likewise.
19653 (grub_efi_get_memory_map): Use saved memory map if EFI is already
19654 finished.
19655 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
19656 (grub_elf64_phdr_iterate): Likewise.
19657 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
19658 (grub_os_area_size): Likewise.
19659 (grub_machine_init): Don't reserve os area.
19660 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
19661 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
19662 * grub-core/kern/i386/loader.S: Removed.
19663 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
19664 (grub_os_area_size): Likewise.
19665 (grub_machine_init): Don't reserve os area.
19666 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
19667 Don't call grub_dl_unload_all.
19668 Don't include loader.S.
19669 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
19670 Declare the memory after _end as available.
19671 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 19672 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 19673 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
19674 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
19675 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
19676 * include/grub/mm_private.h (grub_mm_header): ... here.
19677 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
19678 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
19679 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
19680 (grub_mm_region): ..here. Removed addr. Added pre_size.
19681 All users updated.
19682 * grub-core/kern/mm.c (base): Renamed to ...
19683 (grub_mm_base): ... this. Made global.
19684 (grub_real_malloc): Alloc from end of region.
19685 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
19686 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
19687 * grub-core/kern/powerpc/cache_flush.S: ... here.
19688 * grub-core/lib/efi/relocator.c: New file.
19689 * grub-core/lib/i386/relocator.c: Rewritten.
19690 * grub-core/lib/i386/relocator16.S: New file.
19691 * grub-core/lib/i386/relocator32.S: Likewise.
19692 * grub-core/lib/i386/relocator64.S: Likewise.
19693 * grub-core/lib/i386/relocator_asm.S: Rewritten.
19694 * grub-core/lib/i386/relocator_common.S: New file.
19695 * grub-core/lib/ieee1275/relocator.c: Likewise.
19696 * grub-core/lib/mips/relocator.c: Rewritten.
19697 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
19698 stylistic adjustments.
19699 * grub-core/lib/powerpc/relocator.c: New file.
19700 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
19701 * grub-core/lib/relocator.c: Rewritten.
19702 * grub-core/lib/x86_64/relocator_asm.S: New file.
19703 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
19704 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
19705 (bsd_tag): New struct.
19706 (tags): New variable.
19707 (tags_last): Likewise.
19708 (netbsd_module): New struct.
19709 (netbsd_mods): New variable.
19710 (netbsd_mods_last): Likewise.
19711 (openbsd_opts): New parameter "serial".
19712 (OPENBSD_SERIAL_ARG): New definition.
19713 (netbsd_opts): New parameter "serial".
19714 (NETBSD_SERIAL_ARG): New definition.
19715 (grub_freebsd_add_meta): Reorganised into ...
19716 (grub_bsd_add_meta): ...this. All users updated.
19717 (grub_freebsd_add_mmap): Reorganised into ...
19718 (generate_e820_mmap): ...this...
19719 (grub_bsd_add_mmap): ...and this. All users updated.
19720 (grub_freebsd_list_modules): Use tags.
19721 (grub_netbsd_add_meta_module): New function.
19722 (grub_netbsd_list_modules): Likewise.
19723 (grub_freebsd_boot): Use relocator and finish EFI.
19724 (grub_openbsd_boot): Likewise.
19725 (grub_netbsd_setup_video): New function.
19726 (grub_netbsd_add_modules): Likewise.
19727 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
19728 and finish EFI.
19729 (grub_bsd_unload): Unload tags.
19730 (grub_bsd_load_aout): Use relocator.
19731 (grub_bsd_elf32_size_hook): New function.
19732 (grub_bsd_elf32_hook): Use relocator.
19733 (grub_bsd_elf64_size_hook): New function.
19734 (grub_bsd_elf64_hook): Use relocator.
19735 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
19736 (grub_bsd_load): Zero-out openbsd_ramdisk.
19737 (grub_bsd_load): Use relocator.
19738 (grub_cmd_openbsd): Support serial.
19739 (grub_cmd_netbsd): Support modules.
19740 (grub_cmd_freebsd_module): Use relocator.
19741 (grub_netbsd_module_load): New function.
19742 (grub_cmd_netbsd_module): Likewise.
19743 (grub_cmd_openbsd_ramdisk): Likewise.
19744 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
19745 kopenbsd_ramdisk.
19746 (GRUB_MOD_FINI): Unregister new commands.
19747 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
19748 (grub_freebsd_load_elfmodule_obj): Use relocator.
19749 (grub_freebsd_load_elfmodule): Likewise.
19750 (grub_freebsd_load_elf_meta): Likewise.
19751 (grub_netbsd_load_elf_meta): New function.
19752 (grub_openbsd_find_ramdisk): Likewise.
19753 * grub-core/loader/i386/bsd_helper.S: Removed.
19754 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
19755 * grub-core/loader/i386/bsd_trampoline.S: Removed.
19756 * grub-core/loader/i386/efi/linux.c: Likewise.
19757 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
19758 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
19759 (DEFAULT_VIDEO_MODE): Likewise.
19760 (real_mode_target): New variable.
19761 (prot_mode_target): Likewise.
19762 (initrd_mem_target): Likewise.
19763 (relocator): Likewise.
19764 (efi_mmap_buf): Likewise.
19765 (efi_mmap_size): Likewise.
19766 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
19767 (free_pages): Use relocator.
19768 (allocate_pages): Account for efi_mmap and use relocator. Return error.
19769 (grub_linux_setup_video): Return error.
19770 (grub_linux_trampoline_start): Removed.
19771 (grub_linux_trampoline_end): Likewise.
19772 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
19773 andd video parameters depending on firmware.
19774 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
19775 [GRUB_MACHINE_EFI]: Pass EFI parameters.
19776 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
19777 (grub_cmd_initrd): Use relocator.
19778 * grub-core/loader/i386/linux_trampoline.S: Removed.
19779 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
19780 (elf_sec_entsize): Likewise.
19781 (elf_sec_shstrndx): Likewise.
19782 (elf_sections): Likewise.
19783 (grub_multiboot_load): Use relocator.
19784 (grub_multiboot_get_mbi_size): Account for sections.
19785 (grub_multiboot_make_mbi): Use relocator and support sections.
19786 (grub_multiboot_add_elfsyms): New function.
19787 (grub_multiboot_free_mbi): Free sections.
19788 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
19789 (grub_linux_real_target): Likewise.
19790 (grub_linux_real_chunk): Likewise.
19791 (grub_linux16_prot_size): Likewise.
19792 (grub_linux16_boot): Use relocator.
19793 (grub_linux_unload): Unload relocator.
19794 (grub_cmd_linux): Use relocator.
19795 (grub_cmd_initrd): Likewise.
19796 * grub-core/loader/i386/pc/ntldr.c: New file.
19797 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
19798 Don't try to guess CPU frequency.
19799 (grub_xnu_set_video): Stretch bitmap.
19800 (grub_xnu_boot): Use relocator.
19801 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
19802 (grub_linux_unload): Free relocator.
19803 (grub_linux_load32): Use relocator.
19804 (grub_linux_load64): Likewise.
19805 (grub_cmd_initrd): Likewise.
19806 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
19807 (grub_multiboot_unload): Unload relocator.
19808 (grub_cmd_multiboot): Use relocator.
19809 (grub_cmd_module): Likewise.
19810 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
19811 Use relocator and support sections.
19812 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
19813 (elf_sec_entsize): Likewise.
19814 (elf_sec_shstrndx): Likewise.
19815 (elf_sections): Likewise.
19816 (grub_multiboot_load): Use relocator.
19817 (grub_multiboot_get_mbi_size): Account for sections.
19818 (grub_multiboot_make_mbi): Use relocator and support sections.
19819 (grub_multiboot_add_elfsyms): New function.
19820 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
19821 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
19822 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
19823 Prototype changed. All users updated.
19824 (grub_xnu_align_heap): Simplified.
19825 (grub_xnu_writetree_toheap): Likewise.
19826 (grub_xnu_unload): Unload relocator.
19827 (grub_cmd_xnu_kernel): Use relocator.
19828 (grub_cmd_xnu_kernel64): Likewise.
19829 (grub_xnu_register_memory): Simplified.
19830 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
19831 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
19832 EFI is finished.
19833 (grub_console_checkkey): Likewise.
19834 (grub_console_getkey): Likewise.
19835 (grub_console_getwh): Likewise.
19836 (grub_console_getxy): Likewise.
19837 (grub_console_gotoxy): Likewise.
19838 (grub_console_cls): Likewise.
19839 (grub_console_setcolorstate): Likewise.
19840 (grub_console_setcursor): Likewise.
19841 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
19842 * grub-core/tests/boot/kbsd.init-i386.S: New file.
19843 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
19844 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
19845 * grub-core/tests/boot/kernel-8086.S: Likewise.
19846 * grub-core/tests/boot/kernel-i386.S: Likewise.
19847 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
19848 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
19849 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
19850 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
19851 * grub-core/tests/boot/knetbsd.cfg: Likewise.
19852 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
19853 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
19854 * grub-core/tests/boot/linux.cfg: Likewise.
19855 * grub-core/tests/boot/linux.init-i386.S: Likewise.
19856 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
19857 * grub-core/tests/boot/linux16.cfg: Likewise.
19858 * grub-core/tests/boot/multiboot.cfg: Likewise.
19859 * grub-core/tests/boot/multiboot2.cfg: Likewise.
19860 * grub-core/tests/boot/ntldr.cfg: Likewise.
19861 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
19862 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
19863 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
19864 New definition.
19865 * include/grub/dl.h (grub_dl_unload_all): Removed.
19866 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
19867 (grub_efi_finish_boot_services): Change prototype.
19868 (grub_efi_is_finished): New variable.
19869 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
19870 Changed prototype.
19871 (grub_efiemu_finish_boot_services): Removed.
19872 (grub_machine_efiemu_init_tables): New prototype.
19873 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
19874 (grub_elf64_phdr_iterate): Likewise.
19875 * include/grub/i386/bsd.h: Include relocator.h.
19876 (freebsd_tag_header): New struct.
19877 (grub_openbsd_bios_mmap): Removed.
19878 (grub_unix_real_boot): Removed.
19879 (grub_freebsd_load_elfmodule32): Changed prototype.
19880 (grub_freebsd_load_elfmodule_obj64): Likewise.
19881 (grub_freebsd_load_elf_meta32): Likewise.
19882 (grub_freebsd_load_elf_meta64): Likewise.
19883 (grub_freebsd_add_meta): Removed.
19884 (grub_netbsd_load_elf_meta32): New prototype.
19885 (grub_netbsd_load_elf_meta64): Likewise.
19886 (grub_bsd_add_meta): Likewise.
19887 (grub_openbsd_ramdisk_descriptor): New struct.
19888 (grub_openbsd_find_ramdisk32): New prototype.
19889 (grub_openbsd_find_ramdisk64): Likewise.
19890 * include/grub/i386/coreboot/loader.h: Removed.
19891 * include/grub/i386/efi/loader.h: Likewise.
19892 * include/grub/i386/ieee1275/loader.h: Likewise.
19893 * include/grub/i386/linux.h (linux_kernel_header): Change void *
19894 to grub_uint32_t.
19895 * include/grub/i386/loader.h: Removed.
19896 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
19897 value.
19898 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
19899 (grub_phys_addr_t): New type.
19900 (grub_vtop): New inline function.
19901 (grub_map_memory): Likewise.
19902 (grub_unmap_memory): Likewise.
19903 * include/grub/i386/multiboot/loader.h: Removed.
19904 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
19905 (NETBSD_BTINFO_CONSOLE): New definition.
19906 (NETBSD_BTINFO_SYMTAB): Likewise.
19907 (NETBSD_BTINFO_MODULES): Likewise.
19908 (NETBSD_BTINFO_FRAMEBUF): Likewise.
19909 (grub_netbsd_bootinfo): New struct.
19910 (grub_netbsd_btinfo_common): Use explicit bitsize.
19911 (grub_netbsd_btinfo_mmap_entry): Removed.
19912 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
19913 (grub_netbsd_btinfo_bootdisk): New struct.
19914 (grub_netbsd_btinfo_symtab): Likewise.
19915 (grub_netbsd_btinfo_serial): Likewise.
19916 (grub_netbsd_btinfo_modules): Likewise.
19917 (grub_netbsd_btinfo_framebuf): Likewise.
19918 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
19919 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
19920 Likewise.
19921 (grub_openbsd_bootargs): Use explicit bitsize.
19922 (grub_openbsd_bootarg_console): New struct.
19923 (GRUB_OPENBSD_COM_MAJOR): New definition.
19924 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
19925 * include/grub/i386/pc/efiemu.h: Removed.
19926 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
19927 * include/grub/i386/qemu/loader.h: Removed.
19928 * include/grub/i386/relocator.h: Rewritten.
19929 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
19930 * include/grub/mips/memory.h: New file.
19931 * include/grub/mips/multiboot.h: Rewritten.
19932 * include/grub/mips/relocator.h: Rewritten.
19933 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
19934 (grub_vtop): New function.
19935 (grub_map_memory): Likewise.
19936 (grub_unmap_memory): Likewise.
19937 * include/grub/misc.h (ALIGN_DOWN): New definition.
19938 * include/grub/mm.h (grub_mm_check_real): New proto.
19939 (GRUB_MM_CHECK): New definition.
19940 * include/grub/mm_private.h: New file.
19941 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
19942 (grub_multiboot_get_mbi_size): Removed.
19943 (grub_multiboot_make_mbi): Change prottype.
19944 (grub_multiboot_set_accepts_video): New proto.
19945 (grub_multiboot_add_elfsyms): Likewise.
19946 (grub_multiboot_payload_eip): New variable.
19947 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
19948 New prototype.
19949 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
19950 New definition.
19951 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
19952 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
19953 * include/grub/powerpc/ieee1275/loader.h: Removed.
19954 * include/grub/powerpc/memory.h: New file.
19955 * include/grub/powerpc/relocator.h: Likewise.
19956 * include/grub/relocator.h: Likewise.
19957 * include/grub/relocator_private.h: Likewise.
19958 * include/grub/sparc64/ieee1275/loader.h: Removed.
19959 * include/grub/x86_64/memory.h: New file.
19960 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
19961 (grub_xnu_heap_malloc): Likewise.
19962 (grub_xnu_heap_real_start): Removed.
19963 (grub_xnu_heap_start): Likewise.
19964 (grub_xnu_relocator): New variable.
19965 (grub_xnu_heap_target_start): Likewise.
19966 * tests/util/grub-shell.in: Support non-pc.
19967 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 19968
5303b85d
VS
199692010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19970
19971 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
19972 on malloc error.
19973 (grub_bidi_logical_to_visual): Check that malloc succeded.
19974 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
19975 puts.
19976 (grub_xputs_normal): Likewise.
19977
d768d159
VS
199782010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19979
19980 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
19981 extra_dist.
19982
199832010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19984
19985 * grub-core/efiemu/runtime/efiemu.sh: Removed.
19986
5bf84df4
VS
199872010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19988
19989 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
19990
3626810e
VS
199912010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19992
19993 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
19994 dprintf.
19995
a7363f53
BC
199962010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
19997
19998 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
19999
902f75f6
VS
200002010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20001
20002 * grub-core/normal/term.c (print_more): Fix a memory leak.
20003 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
20004 (grub_xputs_normal): Likewise.
20005
3c707967
VS
200062010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20007
20008 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
20009 the begining of the string
20010
2053cc07
VS
200112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20012
20013 * grub-core/script/script.c (grub_script_parse): Free parsed on
20014 failure.
20015
46422ebf
VS
200162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20017
20018 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
20019 on failure.
20020
9e0fa3f6
VS
200212010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20022
20023 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
20024 return.
20025
3393cf16
VS
200262010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20027
20028 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
20029 (scroll_up): Fix a memory leak.
20030
b17540cb
VS
200312010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20032
20033 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
20034 errors.
20035
67140446
VS
200362010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
20037
20038 Handle USB pendrives exposed as floppies.
20039
20040 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
20041 floppy.
20042 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20043 Check for partitions on all devices.
20044
e35e46fc
VS
200452010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20046
20047 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
20048 (readkey): Likewise.
20049
d24c6190
BC
200502010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
20051
20052 Multiple variable names support to "export" command.
20053
20054 * normal/context.c (grub_cmd_export): "export" command supports
20055 multiple variable names.
20056
04ddcc6a
ST
200572010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
20058
20059 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
20060 --target=drive output to Mach device name.
20061
0c8b61d8
BC
200622010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20063
20064 New Automake based build system for GRUB.
20065
20066 * ABOUT-NLS: New file.
20067 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
20068 in Makefile.util.def file.
20069 * Makefile.util.def: New file. Autogen build definitions file for
20070 GRUB host utils.
20071 * conf/Makefile.common: New file. Common variables for GRUB host
20072 utils and target modules.
20073 * conf/Makefile.extra-dist: New file. Extra files for make dist.
20074 * docs/Makefile.am: New file. Automake file for docs.
20075 * gentpl.py: New file. Python script to generate Autogen
20076 template.
20077 * grub-core/Makefile.am: New file. GRUB target modules' rules
20078 that doesn't fit in Makefile.core.def file.
20079 * grub-core/Makefile.core.def: New file. Autogen build
20080 definitions file for GRUB target modules.
20081 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
20082 specific setjmp.S file.
20083 * po/Makefile.am: New file.
20084
20085 * .bzrignore: New ignores.
20086 * INSTALL: New requirements, without Ruby.
20087 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
20088 * autogen.sh: Updated to invoke autogen as necessary.
20089 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
20090 and defines for Automake conditionals.
20091 * geninit.sh: Refactoring.
20092
20093 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
20094 necessary.
20095 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
20096 New prototype.
20097
20098 * include/grub/test.h: Fix functional test modules' naming.
20099 * grub-core/tests/example_functional_test.c: Fix test module name.
20100
20101 * util/misc.c: Hosted versions' of grub functions for libgrub.a
20102 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
20103 * util/grub-editenv.c: Likewise.
20104 * util/grub-fstest.c: Likewise.
20105 * util/grub-mkdevicemap.c: Likewise.
20106 * util/grub-mkfont.c: Likewise.
20107 * util/grub-mkimage.c: Likewise.
20108 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20109 * util/grub-probe.c: Likewise.
20110 * util/grub-script-check.c: Likewise.
20111 * util/i386/pc/grub-setup.c: Likewise.
20112 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20113
20114 * tests/util/grub-shell.in: Fix override directory path.
20115 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
20116 * util/import_gcry.py: Create Makefile.gcry.def file instead.
20117
20118 * util/lvm.c: Update #includes.
20119 * util/raid.c: Likewise.
20120 * util/resolve.c: Likewise.
20121 * grub-core/bus/emu/pci.c: Likewise.
20122 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
20123 * grub-core/lib/posix_wrap/string.h: Likewise.
20124 * grub-core/kern/emu/main.c: Likewise.
20125
20126 * grub-core/gensymlist.sh: New file. Script for generating kernel
20127 symbols file.
20128 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
20129
20130 * grub-core/gentrigtables.c: Fix unused variable warnings.
20131
20132 * Makefile.in: Removed.
20133 * conf/any-emu.rmk: Removed.
20134 * conf/common.rmk: Removed.
20135 * conf/i386-coreboot.rmk: Removed.
20136 * conf/i386-efi.rmk: Removed.
20137 * conf/i386-ieee1275.rmk: Removed.
20138 * conf/i386-multiboot.rmk: Removed.
20139 * conf/i386-pc.rmk: Removed.
20140 * conf/i386-qemu.rmk: Removed.
20141 * conf/i386.rmk: Removed.
20142 * conf/mips-yeeloong.rmk: Removed.
20143 * conf/mips.rmk: Removed.
20144 * conf/powerpc-ieee1275.rmk: Removed.
20145 * conf/sparc64-ieee1275.rmk: Removed.
20146 * conf/tests.rmk: Removed.
20147 * conf/x86-efi.rmk: Removed.
20148 * conf/x86_64-efi.rmk: Removed.
20149 * gendistlist.sh: Removed.
20150 * geninitheader.sh: Removed.
20151 * genkernsyms.sh.in: Removed.
20152 * genmk.rb: Removed.
20153 * gensymlist.sh.in: Removed.
20154 * mkinstalldirs: Removed.
20155 * boot: Moved ...
20156 * grub-core/boot: ... to here.
20157 * bus: Moved ...
20158 * grub-core/bus: ... to here.
20159 * commands: Moved ...
20160 * grub-core/commands: ... to here.
20161 * disk: Moved ...
20162 * grub-core/disk: ... to here.
20163 * efiemu: Moved ...
20164 * grub-core/efiemu: ... to here.
20165 * font: Moved ...
20166 * grub-core/font: ... to here.
20167 * fs: Moved ...
20168 * grub-core/fs: ... to here.
20169 * gencmdlist.sh: Moved ...
20170 * grub-core/gencmdlist.sh: ... to here.
20171 * genemuinit.sh: Moved ...
20172 * grub-core/genemuinit.sh: ... to here.
20173 * genemuinitheader.sh: Moved ...
20174 * grub-core/genemuinitheader.sh: ... to here.
20175 * genfslist.sh: Moved ...
20176 * grub-core/genfslist.sh: ... to here.
20177 * genhandlerlist.sh: Moved ...
20178 * grub-core/genhandlerlist.sh: ... to here.
20179 * genmoddep.awk: Moved ...
20180 * grub-core/genmoddep.awk: ... to here.
20181 * genmodsrc.sh: Moved ...
20182 * grub-core/genmodsrc.sh: ... to here.
20183 * genpartmaplist.sh: Moved ...
20184 * grub-core/genpartmaplist.sh: ... to here.
20185 * genparttoollist.sh: Moved ...
20186 * grub-core/genparttoollist.sh: ... to here.
20187 * genterminallist.sh: Moved ...
20188 * grub-core/genterminallist.sh: ... to here.
20189 * gentrigtables.c: Moved ...
20190 * grub-core/gentrigtables.c: ... to here.
20191 * genvideolist.sh: Moved ...
20192 * grub-core/genvideolist.sh: ... to here.
20193 * gettext: Moved ...
20194 * grub-core/gettext: ... to here.
20195 * gfxmenu: Moved ...
20196 * grub-core/gfxmenu: ... to here.
20197 * gnulib: Moved ...
20198 * grub-core/gnulib: ... to here.
20199 * hello: Moved ...
20200 * grub-core/hello: ... to here.
20201 * hook: Moved ...
20202 * grub-core/hook: ... to here.
20203 * io: Moved ...
20204 * grub-core/io: ... to here.
20205 * kern: Moved ...
20206 * grub-core/kern: ... to here.
20207 * lib: Moved ...
20208 * grub-core/lib: ... to here.
20209 * loader: Moved ...
20210 * grub-core/loader: ... to here.
20211 * mmap: Moved ...
20212 * grub-core/mmap: ... to here.
20213 * normal: Moved ...
20214 * grub-core/normal: ... to here.
20215 * partmap: Moved ...
20216 * grub-core/partmap: ... to here.
20217 * parttool: Moved ...
20218 * grub-core/parttool: ... to here.
20219 * script: Moved ...
20220 * grub-core/script: ... to here.
20221 * term: Moved ...
20222 * grub-core/term: ... to here
20223 * tests/example_functional_test.c: Moved ...
20224 * grub-core/tests/example_functional_test.c: ... to here.
20225 * tests/lib/functional_test.c: Moved ...
20226 * grub-core/tests/lib/functional_test.c: ... to here.
20227 * tests/lib/test.c: Moved ...
20228 * grub-core/tests/lib/test.c: ... to here.
20229 * video: Moved ...
20230 * grub-core/video: ... to here.
20231
645586e6
BC
202322010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20233
20234 Replace --enable-grub-emu-modules with grub-emu-lite.
20235
20236 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
20237 cache.S.
20238
20239 * include/grub/emu/misc.h (grub_emu_init): New prototype.
20240 * kern/emu/full.c: New file. For grub-emu specific initialization.
20241 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
20242 * kern/emu/main.c: Call initialization function grub_emu_init.
20243
20244 * Makefile.in: Include grub-emu-lite in install.
20245 * commands/parttool.c: Use grub_no_autoload to differentiate
20246 between grub-emu and grub-emu-lite.
20247 * include/grub/misc.h: New variable grub_no_autoload.
20248
20249 * conf/any-emu.rmk: New rules for grub-emu-lite.
20250 * configure.ac: Remove --enable-grub-emu-modules.
20251 * genmk.rb: Cleanup unnecessary rules.
20252 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
20253
20254 * normal/main.c: Don't load list files on grub-emu-lite.
20255 * util/misc.c (grub_arch_sync_caches): Removed.
20256
f86a4030
CW
202572010-08-23 Colin Watson <cjwatson@ubuntu.com>
20258
20259 * kern/mips/startup.S (grub_prefix): Update comment to refer to
20260 grub-mkimage rather than grub-mkelfimage.
20261 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
20262
06776944
VS
202632010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
20264
20265 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
20266 a key after CapsLock or NumLock. It's just a qemu bug.
20267
df262419
VS
202682010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20269
20270 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
20271 needed by libusb wrapper.
20272
b40ea81b
ST
202732010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20274
20275 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
20276
dee50575
VS
202772010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20278
20279 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
20280 --nounzip is passed.
20281
fb1d7b79
VS
202822010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
20283
20284 USB hotunplugging and USB serial support.
20285
20286 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
20287 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
20288 (grub_uhci_transfer): Respect timeout and set *actual.
20289 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
20290 non-standard length.
20291 (grub_usb_device_attach): Autoload modules.
20292 (GRUB_MOD_INIT): Set grub_term_poll_usb.
20293 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
20294 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
20295 users updated.
20296 (grub_usb_add_hub): Fill nports and children.
20297 (attach_root_port): Receive hub instead of controller.
20298 All users updated. Fill hub->devices.
20299 (grub_usb_root_hub): Allocate hub->devices.
20300 (detach_device): New function.
20301 (poll_nonroot_hub): Fill children and detach devices.
20302 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
20303 actual arguments. All users updated.
20304 (grub_usb_bulk_read_extended): New function.
20305 * bus/usb/serial/common.c: New file.
20306 * bus/usb/serial/ftdi.c: Likewise.
20307 * bus/usb/serial/pl2303.c: Likewise.
20308 * commands/terminal.c (handle_command): Support wildcard.
20309 * commands/usbtest.c: Output "Unknown" instead of empty string.
20310 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
20311 (usbserial_common_mod_SOURCES): New variable.
20312 (usbserial_common_mod_CFLAGS): Likewise.
20313 (usbserial_common_mod_LDFLAGS): Likewise.
20314 (pkglib_MODULES): Add usbserial_pl2303.mod.
20315 (usbserial_pl2303_mod_SOURCES): New variable.
20316 (usbserial_pl2303_mod_CFLAGS): Likewise.
20317 (usbserial_pl2303_mod_LDFLAGS): Likewise.
20318 (pkglib_MODULES): Add usbserial_ftdi.mod.
20319 (usbserial_ftdi_mod_SOURCES): New variable.
20320 (usbserial_ftdi_mod_CFLAGS): Likewise.
20321 (usbserial_ftdi_mod_LDFLAGS): Likewise.
20322 (pkglib_MODULES): Add serial.mod.
20323 (serial_mod_SOURCES): New variable.
20324 (serial_mod_CFLAGS): Likewise.
20325 (serial_mod_LDFLAGS): Likewise.
20326 * conf/i386-pc.rmk: Likewise.
20327 * conf/mips-yeeloong.rmk: Likewise.
20328 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
20329 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
20330 * disk/usbms.c (first_available_slot): New variable.
20331 (grub_usbms_attach): Don't reuse free slots due to potential cache
20332 problems.
20333 * include/grub/serial.h: Moved to ..
20334 * include/grub/ns8250.h: ...this.
20335 * include/grub/serial.h: New file.
20336 * include/grub/term.h (grub_term_poll_usb): New variable.
20337 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
20338 readkey. All users updated.
20339 (grub_terminfo_output_state): Pass term to put.
20340 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
20341 (grub_usb_controller_dev): Add timeout and actual arguments to
20342 transfer. All users updated.
20343 (grub_usb_interface): New field detach_data.
20344 (grub_usb_device): New fields children and nports.
20345 (grub_usb_ep_type_t): New type.
20346 (grub_usb_get_ep_type): New function.
20347 (grub_usb_bulk_read_extended): Likewise.
20348 * include/grub/usbdesc.h (grub_usb_desc): New type.
20349 * include/grub/usbserial.h: New file.
20350 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
20351 * kern/term.c (grub_term_poll_usb): New variable.
20352 (grub_getkey): Call grub_term_poll_usb if set.
20353 (grub_checkkey): Likewise.
20354 (grub_getkeystatus): Likewise.
20355 * term/serial.c: Moved controller-specific parts to ...
20356 * term/ns8250.c: ... here.
20357 * term/serial.c: Mostly rewritten.
20358 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
20359 according to spec.
20360
21a313de
RM
203612010-08-20 Robert Millan <rmh@gnu.org>
20362
20363 Make kFreeBSD code more generic to support ext2fs as root, ufs as
20364 a separate module and maybe other interesting combinations.
20365
20366 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
20367 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
20368 (kfreebsd_entry): Add generic filesystem module load routine.
20369 Map GRUB `ext2' to kFreeBSD `ext2fs'.
20370
63c734a6
CW
203712010-08-20 Colin Watson <cjwatson@ubuntu.com>
20372
20373 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
20374 "numcenter" (I misunderstood the purpose of this entry).
20375 * docs/grub.texi (sendkey): Likewise.
20376
c4d16542
CW
203772010-08-20 Colin Watson <cjwatson@ubuntu.com>
20378
20379 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
20380 status flag options; simply omitting the option is equivalent and
20381 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
20382 (keysym_table): Rename "num5numlock" to "numlock".
20383 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
20384 can uniformly say that only the last of multiple `sendkey'
20385 invocations has any effect.
20386 * docs/grub.texi (sendkey): New section.
20387
93541d66
CW
203882010-08-19 Colin Watson <cjwatson@ubuntu.com>
20389
20390 * commands/i386/pc/sendkey.c (options): Fix three typos.
20391
b4ece5e1
VS
203922010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
20393
20394 Implement sendkey support.
20395
20396 * commands/i386/pc/sendkey.c: New file.
20397 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
20398 (sendkey_mod_SOURCES): New variable.
20399 (sendkey_mod_CFLAGS): Likewise.
20400 (sendkey_mod_LDFLAGS): Likewise.
20401
51f1f5af
CW
204022010-08-18 Colin Watson <cjwatson@ubuntu.com>
20403
20404 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
20405 fix warnings from Autoconf.
20406
9da94e05
CW
204072010-08-18 Colin Watson <cjwatson@ubuntu.com>
20408
20409 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
20410 to avoid false positives with some assemblers that output things
20411 like "someprefix_func" as part of their output.
20412
729a0f2e
RM
204132010-08-15 Robert Millan <rmh@gnu.org>
20414
20415 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
20416 errors.
20417 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
20418 grub_get_libzfs_handle() errors.
20419
f3710e08
RM
204202010-08-14 Robert Millan <rmh@gnu.org>
20421
20422 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
20423 filesystem is not ZFS.
20424
7a3c13de
BC
204252010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20426
20427 Fix for misspelled color names defaulting to black/black (bug
20428 reported by Doug Nazar)
20429
20430 * include/grub/normal.h (grub_parse_color_name_pair): Add return
20431 status to prototype.
20432 * normal/color.c (grub_parse_color_name_pair): Return failure
20433 status.
20434 (grub_env_write_color_normal): Ignore bad color names.
20435 (grub_env_write_color_highlight): Likewise.
20436 * normal/main.c (GRUB_MOD_INIT): Set default color names.
20437
ab8ba50d
BC
204382010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20439
20440 "shift" command support to GRUB script.
20441
20442 * include/grub/script_sh.h (grub_script_shift): New prototype.
20443 * script/execute.c (grub_script_shift): New function.
20444 * script/main.c (grub_script_init): Register shift command.
20445 (grub_script_fini): Unregister shift command.
20446 * util/grub-script-check.c (grub_script_cmd_shift): New function.
20447
20448 * tests/grub_script_shift.in: New testcase.
20449 * conf/tests.rmk: Rules for new testcase.
20450
4d61999e
BC
204512010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20452
20453 "continue" command support to GRUB script.
20454
20455 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
20456 (grub_script_break): Continue support.
20457 * script/main.c (grub_script_init): Register continue command.
20458 (grub_script_fini): Unregister continue command.
20459
20460 * tests/grub_script_continue.in: New testcase.
20461 * conf/tests.rmk: Rules for new testcase.
20462
4df51e00
BC
204632010-08-12 BVK Chaitanya <bvk@dbook>
20464
20465 "break" command support to GRUB script.
20466
20467 * conf/common.rmk: Rule updates to grub-script-check.
20468 * include/grub/misc.h (grub_min): New function.
20469 * include/grub/script_sh.h (grub_script_init): New prototype.
20470 (grub_script_fini): New prototype.
20471 (grub_script_break): New prototype.
20472 * script/main.c (grub_script_init): New function.
20473 (grub_script_fini): New function.
20474 * script/execute.c (grub_script_break): New function.
20475 * normal/main.c: Calls to grub_script_{init,fini}.
20476 * util/grub-script-check.c (grub_script_break): New function.
20477
20478 * tests/grub_script_break.in: New testcase.
20479 * conf/tests.rmk: Rules for new test case.
20480
f12c8420
BC
204812010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20482
20483 Function parameters support to GRUB script.
20484
20485 * script/yylex.l (VARIABLE): Regular expression update.
20486 * script/function.c (grub_script_function_call): Moved ...
20487 * script/execute.c (grub_script_function_call): ... to here.
20488 (grub_script_execute_arglist_to_argv): Removed.
20489 (grub_script_arglist_to_argv): New function.
20490 * script/argv.c: New file.
20491 (grub_script_argv_free): New function.
20492 (grub_script_argv_next): Likewise.
20493 (grub_script_argv_append): Likewise.
20494 (grub_script_argv_split_append): Likewise.
20495 * include/grub/script_sh.h (grub_script_argv): New struct.
20496 (grub_script_argv_free): New function.
20497 (grub_script_argv_next): Likewise.
20498 (grub_script_argv_append): Likewise.
20499 (grub_script_argv_split_append): Likewise.
20500
20501 * conf/common.rmk (normal.mod): New source script/argv.c.
20502
20503 * tests/grub_script_echo1.in: More tests.
20504 * tests/grub_script_vars1.in: Likewise.
20505 * tests/grub_script_functions.in: New test case.
20506 * conf/tests.rmk: Rules for new testcase.
20507
8022b748
BC
205082010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20509
20510 Remove grub_script_cmdblock struct.
20511
20512 * include/grub/script_sh.h: Remove grub_script_cmdblock.
20513 * script/parser.y: Likewise.
20514 * script/execute.c: Rename cmdblock suffix to cmdlist.
20515 * script/script.c: Likewise.
20516 * util/grub-script-check.c: Likewise.
20517
79a6ba61
YB
205182010-08-11 Yves Blusseau <blusseau@zetam.org>
20519
20520 * .bzrignore: add grub-macho2img
20521
d04b9414
VS
205222010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20523
20524 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
20525
f947ab49
VS
205262010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20527
20528 Remove the dump of sm712 initialisation sequence.
20529
20530 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
20531 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
20532 (GRUB_VGA_IO_MISC_WRITE): Likewise.
20533 (GRUB_VGA_CR_*): Added many registers.
20534 (GRUB_VGA_SR_*): Likewise.
20535 (GRUB_VGA_GR_*): Likewise.
20536 (grub_vga_write_arx): New function.
20537 (grub_video_hw_config): New struct.
20538 (grub_vga_set_geometry): New function.
20539 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
20540 GRUB_PCI_CLASS_SUBCLASS_VGA.
20541 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
20542 * video/sm712.c (grub_sm712_write_reg): New function
20543 (grub_sm712_read_reg): Likewise.
20544 (grub_sm712_sr_write): Likewise.
20545 (grub_sm712_gr_write): Likewise.
20546 (grub_sm712_cr_write): Likewise.
20547 (grub_sm712_write_arx): Likewise.
20548 (grub_sm712_cr_shadow_write): Likewise.
20549 (grub_sm712_write_dda_lookup): Likewise.
20550 (grub_video_sm712_setup): Initialise the video rather then
20551 blindly replay the dump.
20552 (main) [TEST]: Add a routine to be able to compile as standalone for
20553 tests.
20554 * video/sm712_init.c (sm712_init): Removed.
20555 (sm712_sr_seq1): New array.
20556 (sm712_sr_seq2): Likewise.
20557
f0206638
VS
205582010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20559
20560 * include/grub/vga.h: Add missing grub/pci.h include.
20561
2764da3b
YB
205622010-08-10 Yves Blusseau <blusseau@zetam.org>
20563
20564 * util/grub-macho2img.c (main): fix typo
20565
cf0c775e
VS
205662010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20567
20568 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
20569 (grub_vga_gr_read): Likewise.
20570 (grub_vga_cr_write): Likewise.
20571 (grub_vga_cr_read): Likewise.
20572 (grub_vga_sr_write): Likewise.
20573 (grub_vga_sr_read): Likewise.
20574 (grub_vga_palette_read): Likewise.
20575 (grub_vga_palette_write): Likewise.
20576 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
20577 (grub_sm712_sr_read): New function.
20578 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
20579 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
20580
07f360e9
RM
205812010-08-09 Robert Millan <rmh@gnu.org>
20582
20583 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
20584 out unused variables on non-ZFS build.
20585
346c2072
RM
205862010-08-08 Robert Millan <rmh@gnu.org>
20587
20588 Fix path generation for sub-filesystems in ZFS.
20589
20590 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
20591 missing slash.
20592
71175420
RM
205932010-08-08 Robert Millan <rmh@gnu.org>
20594
20595 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
20596
0d8286f3
RM
205972010-08-08 Robert Millan <rmh@gnu.org>
20598
20599 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
20600 exist, issue a proper error message (rely on `ls' for translated
20601 strings).
20602
55dd2924
RM
206032010-08-08 Robert Millan <rmh@gnu.org>
20604
20605 Fix grub-probe invocation.
20606
20607 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
20608
d3dd9e80
RM
206092010-08-04 Robert Millan <rmh@gnu.org>
20610
20611 * configure.ac: Remove checks for getfsstat() and getmntany().
20612 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
20613 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
20614 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
20615 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
20616 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
20617 function.
20618 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
20619 via find_mount_point_from_dir() and getfsstat() / getmntany().
20620
0de22aa9
RM
206212010-08-04 Robert Millan <rmh@gnu.org>
20622
20623 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20624 (grub_find_zpool_from_mount_point): Merge into ...
20625 (grub_find_zpool_from_dir): ... this.
20626 * kern/emu/misc.c: Likewise.
20627
20628 * kern/emu/misc.c
20629 (grub_make_system_path_relative_to_its_root): Replace
20630 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
20631 with grub_find_zpool_from_dir().
20632 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
20633
62858144
RM
206342010-08-04 Robert Millan <rmh@gnu.org>
20635
20636 Support OpenSolaris in ZFS device resolution.
20637
20638 * configure.ac: Check for getmntany().
20639 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
20640 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
20641 support.
20642
9dd6fd50
RM
206432010-08-03 Robert Millan <rmh@gnu.org>
20644
20645 Fix grub-emu build.
20646
20647 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
20648 * include/grub/emu/misc.h: ... here.
20649
20650 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
20651 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
20652
20653 * util/misc.c: Remove `<grub/util/libzfs.h>'.
20654 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
20655 (grub_get_libzfs_handle): Move to ...
20656 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
20657 (grub_get_libzfs_handle): ... here.
20658
c9f7ff97
BC
206592010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
20660
20661 * script/execute.c (grub_script_execute_cmdline): Check for NULL
20662 as command name case.
20663
a870a783
CW
206642010-08-02 Colin Watson <cjwatson@ubuntu.com>
20665
20666 * disk/raid.c (insert_array): Select unique numbers for named arrays
20667 as well, for use as keys in the disk cache.
20668
c7db243b
RM
206692010-08-01 Robert Millan <rmh@gnu.org>
20670
20671 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
20672 kFreeBSD device name, except on ZFS where the filesystem label is
20673 used.
20674 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
20675 `/boot/zfs/zpool.cache'.
20676 Set mountfrom kernel variable using ${kfreebsd_device}.
20677
f7abdefb
RM
206782010-08-01 Robert Millan <rmh@gnu.org>
20679
20680 Make it even harder to use uninitialized `libzfs_handle' (and
20681 make the interface a bit simpler).
20682
20683 * include/grub/util/misc.h (grub_util_init_libzfs)
20684 (libzfs_handle): Remove.
20685 (grub_get_libzfs_handle): New prototype.
20686
20687 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
20688 attribute.
20689 (grub_util_init_libzfs): Remove.
20690 (grub_get_libzfs_handle): New function.
20691
20692 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
20693 grub_get_libzfs_handle() to obtain a libzfs handle instead of
20694 accessing `libzfs_handle' directly.
20695
c882acc0
RM
206962010-08-01 Robert Millan <rmh@gnu.org>
20697
20698 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20699 (grub_find_zpool_from_mount_point): New function prototypes.
20700
20701 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
20702 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
20703
20704 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
20705 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
20706 `static' attribute.
20707
20708 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
20709 finding zpool from mount point into ...
20710 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
20711
20712 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
20713 requested path is part of a ZFS pool, use
20714 grub_find_zpool_from_mount_point() to detect its filesystem name,
20715 and generate a path with `/fsname@path' syntax.
20716
8bfe31d8
CW
207172010-08-01 Colin Watson <cjwatson@ubuntu.com>
20718
20719 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
20720 (void) rather than () so that this is a proper prototype.
20721
553df63d
VS
207222010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20723
20724 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
20725
8687cf07
VS
207262010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20727
20728 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
20729 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
20730
ea9be8ea
CW
207312010-08-01 Colin Watson <cjwatson@ubuntu.com>
20732
20733 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
20734
6eea041a
CW
207352010-08-01 Colin Watson <cjwatson@ubuntu.com>
20736
20737 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
20738
2cfb45df
CW
207392010-08-01 Colin Watson <cjwatson@ubuntu.com>
20740
20741 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
20742 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
20743 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
20744 disable gfxpayload.
20745 (Shell-like scripting): Add real content.
20746 (Serial terminal): Suggest `terminal_input serial; terminal_output
20747 serial' rather than putting the two commands on separate lines,
20748 since console input will be inoperative after the first command.
20749 (menuentry): Document --class, --users, and --hotkey options.
20750 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
20751 Vladimir Serbinenko).
20752
7decd202
VS
207532010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
207542010-08-01 Colin Watson <cjwatson@ubuntu.com>
20755
20756 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
20757
c882acc0
RM
207582010-08-01 Robert Millan <rmh@gnu.org>
20759
20760 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20761 (grub_find_zpool_from_mount_point): New function prototypes.
20762
20763 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
20764 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
20765
20766 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
20767 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
20768 `static' attribute.
20769
20770 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
20771 finding zpool from mount point into ...
20772 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
20773
20774 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
20775 requested path is part of a ZFS pool, use
20776 grub_find_zpool_from_mount_point() to detect its filesystem name,
20777 and generate a path with `/fsname@path' syntax.
20778
deb0caa3
RM
207792010-08-01 Robert Millan <rmh@gnu.org>
20780
20781 Prevent accidental use of uninitialized libzfs_handle.
20782
20783 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
20784 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
20785 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
20786
ce04ef47
CW
207872010-08-01 Colin Watson <cjwatson@ubuntu.com>
20788
20789 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
20790 util/grub.d/10_linux.in). Fixes Debian bug #591093.
20791
ebf53056
RM
207922010-08-01 Robert Millan <rmh@gnu.org>
20793
20794 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 20795
3710bb6b
RM
207962010-07-31 Robert Millan <rmh@gnu.org>
20797
20798 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
20799
8072efeb
RM
208002010-07-31 Robert Millan <rmh@gnu.org>
20801
20802 * kern/emu/misc.c: Add missing license header.
20803
3169f4c7
RM
208042010-07-31 Robert Millan <rmh@gnu.org>
20805
20806 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
20807
20808 * include/grub/util/libnvpair.h: Include `<config.h>'.
20809 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
20810 declaring libnvpair prototypes ourselves.
20811 * include/grub/util/libzfs.h: Include `<config.h>'.
20812 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
20813 declaring libzfs prototypes ourselves.
20814
20815 (libzfs_handle): Moved to ...
20816 * include/grub/util/misc.h (libzfs_handle): ... here.
20817 Include `<grub/util/libzfs.h>'.
20818
c9a00aee
RM
208192010-07-30 Robert Millan <rmh@gnu.org>
20820
20821 * include/grub/emu/misc.h: Add missing license header.
20822
a184f9c8
RM
208232010-07-30 Robert Millan <rmh@gnu.org>
20824
20825 Enable `grub-probe -t device' resolution on ZFS.
20826
20827 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
20828 * include/grub/util/libnvpair.h: New file.
20829 * include/grub/util/libzfs.h: New file.
20830
20831 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
20832 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
20833 `<grub/util/libnvpair.h>'.
20834 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
20835
20836 (find_mount_point_from_dir): New static function.
20837 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
20838 function.
20839 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
20840 find_root_device_from_libzfs() before ressorting to find_root_device().
20841
20842 * include/grub/util/misc.h (grub_util_init_libzfs): New function
20843 prototype.
20844 * util/misc.c: Include `<grub/util/libzfs.h>'.
20845 (grub_util_init_libzfs): New function.
20846 [HAVE_LIBZFS] (libzfs_handle): New global variable.
20847 [HAVE_LIBZFS] (fini_libzfs): New static function.
20848 (grub_util_init_libzfs): New function.
20849 * util/grub-probe.c (main): Call grub_util_init_libzfs().
20850
f7790cdd
RM
208512010-07-30 Robert Millan <rmh@gnu.org>
20852
20853 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
20854 (xmalloc, xrealloc, xstrdup, xasprintf): Add
20855 `warn_unused_result' attribute.
20856 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
20857 (grub_xasprintf, grub_xvasprintf): Likewise.
20858 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
20859
0806b63c
RM
208602010-07-29 Robert Millan <rmh@gnu.org>
20861
20862 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
20863 (probe): Handle `PRINT_FS_LABEL'.
20864 (main): Handle `-t fs_label'.
20865
9f841f5c
RM
208662010-07-29 Robert Millan <rmh@gnu.org>
20867
20868 * configure.ac: Remove grub-mkisofs checks.
20869
46371121
VS
208702010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
20871
20872 * util/ieee1275/grub-install.in: Don't use empty grub_device.
20873 Reported by: Lennart Sorensen.
20874
208752010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20876
20877 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
20878 prior to terminal_input/terminal_output separation. It's been over 1.5
20879 years and those versions weren't widely deployed.
20880
a9600892
CW
208812010-07-22 Colin Watson <cjwatson@ubuntu.com>
20882
20883 * disk/raid.c (insert_array): Don't count named arrays when looking
20884 for unused array numbers.
697e053c 20885 Reported and tested by: Michael Guntsche.
a9600892 20886
c03507df
CW
208872010-07-20 Colin Watson <cjwatson@ubuntu.com>
20888
20889 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
20890 implementation of this so that grub-emu links again, with a note
20891 that this should support hotplugging in the future.
20892
b26f1c11
CW
208932010-07-20 Colin Watson <cjwatson@ubuntu.com>
20894
20895 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
20896
efc9d7f1
CW
208972010-07-20 Colin Watson <cjwatson@ubuntu.com>
20898
20899 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
20900 handle on failure.
20901 (grub_loopback_close): Remove empty function.
20902 (grub_loopback_dev): Remove close method.
20903
dd8ff5c9
CW
209042010-07-20 Colin Watson <cjwatson@ubuntu.com>
20905
20906 Disable EFI cursor when the EFI console becomes inactive.
20907
20908 * term/efi/console.c (grub_efi_console_init): New function.
20909 (grub_efi_console_fini): New function.
20910 (grub_console_term_output): Register init and fini methods.
20911
5e3bec67
VS
209122010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20913
20914 * tests/util/grub-shell-tester.in: Remove bashism and declare as
20915 sh script.
20916
afaec079
VS
209172010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20918
20919 * disk/loopback.c (grub_loopback): Replace filename with file.
20920 (delete_loopback): Handle new semantics.
20921 (grub_cmd_loopback): Likewise.
20922 (grub_loopback_iterate): Likewise.
20923 (grub_loopback_close): Likewise.
20924
a6a11f3c
VS
209252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20926
20927 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
20928 with -p "".
20929 Reported by: Tito Keitel.
20930
64a638b0
VS
209312010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20932
20933 * docs/grub.texi (Naming convention): Document new naming convention.
20934
ab8ba957
VS
209352010-07-20 Vadim Solomin <vadic052@gmail.com>
209362010-07-20 Colin Watson <cjwatson@ubuntu.com>
20937
20938 Generate device.map in something closer to the old ordering.
20939
20940 * util/deviceiter.c (struct device): New declaration.
20941 (compare_file_names): Rename to ...
20942 (compare_devices): ... this. Sort by kernel name in preference to
20943 the stable by-id name, but keep the latter as a fallback comparison.
20944 Update header comment.
20945 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
20946 of `struct device' rather than of plain file names.
20947
a29d6a4b
TF
209482010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
20949
20950 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
20951 on i386.
20952
39d824e8
VS
209532010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20954
20955 * commands/acpi.c (setup_common_tables): Use sizeof instead of
20956 hardcoding size.
20957 (setv1table): Likewise.
20958
f058276b
FZ
209592010-07-20 Colin Watson <cjwatson@ubuntu.com>
20960
20961 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
20962 removing the homehost if present.
20963 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
20964 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
20965 removing the homehost if present.
20966 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
20967 if possible.
20968 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
20969
20970 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
20971 parameter. Set its pointer target to 0.
20972 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
20973 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
20974 `data_offset' value from the superblock for 1.x metadata.
20975 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
20976 data on the device.
20977 (insert_array): Record the start sector of data on the device.
20978 (grub_raid_register): Pass start_sector parameters to
20979 grub_raid_list->detect and insert_array.
20980 * include/grub/raid.h (struct grub_raid_array): Add start_sector
20981 member.
20982 (struct grub_raid): Add start_sector parameter to `detect'.
20983
20984 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
20985 __attribute__ ((packed)), leaving a comment.
20986 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
20987 (grub_mdraid_detect_09): ... here and ...
20988 (grub_mdraid_detect_1x): ... here.
20989
209902010-07-20 Peter Henn <peter.henn@web.de>
20991
20992 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
20993 chunk size and disk size, which are already given as sector counts
20994 as distinct from the 0.90 units. Fetch the correct device number
20995 from the role table instead of using the table index.
20996
209972010-07-20 Felix Zielcke <fzielcke@z-51.de>
20998
20999 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
21000 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
21001 (WriteMostly1): New macro.
21002 Set array->name to NULL for metadata format 0.90. Add support for
21003 metadata 1.x. Fix some comments.
21004 * disk/raid.c (): Add support for name based RAID arrays. Fix a
21005 few comments.
21006 * util/getroot.c (grub_util_get_grub_dev): Add support for
21007 /dev/md/name style devices.
21008
4b761da9
CW
210092010-07-20 Colin Watson <cjwatson@ubuntu.com>
21010
21011 * .bzrignore: Ignore 20_linux_xen.
21012
5771289a
CW
210132010-07-17 Colin Watson <cjwatson@ubuntu.com>
21014
21015 * util/import_unicode.py: Remove unnecessary imports.
21016
5dab68df
AN
210172010-07-17 Aleš Nesrsta <starous@volny.cz>
21018
21019 Hotplugging and USB hub support.
21020
21021 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
21022 (grub_ohci): Likewise.
21023 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
21024 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
21025 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
21026 (GRUB_OHCI_CTRL_EDS): Likewise.
21027 (GRUB_OHCI_BULK_EDS): Likewise.
21028 (GRUB_OHCI_TDS): Likewise.
21029 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
21030 (grub_ohci_ed_phys2virt): New function.
21031 (grub_ohci_virt_to_phys): Likewise.
21032 (grub_ohci_td_phys2virt): Likewise.
21033 (grub_ohci_td_virt2phys): Likewise.
21034 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
21035 attachment.
21036 (grub_ohci_find_ed): New function.
21037 (grub_ohci_alloc_td): Likewise.
21038 (grub_ohci_free_td): Likewise.
21039 (grub_ohci_free_tds): Likewise.
21040 (grub_ohci_transfer): Use previously allocated memory.
21041 (grub_ohci_portstatus): Reset status changed bit.
21042 (grub_ohci_detect_dev): Supply status changed.
21043 (grub_ohci_fini_hw): Free memory.
21044 (grub_ohci_restore_hw): Reallocate memory.
21045 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
21046 Reset status change.
21047 (grub_uhci_detect_dev): Supply status_change.
21048 * bus/usb/usb.c (attach_hooks): New var.
21049 (grub_usb_device_attach): New function.
21050 (grub_usb_register_attach_hook_class): Likewise.
21051 (grub_usb_unregister_attach_hook_class): Likewise.
21052 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
21053 (grub_usb_add_hub): Reset connection changed bit.
21054 (attach_root_port): New function.
21055 (grub_usb_root_hub): Likewise.
21056 (poll_nonroot_hub): Likewise.
21057 (grub_usb_poll_devices): Likewise.
21058 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
21059 * disk/usbms.c (grub_usbms_open): Use device hooks.
21060 (grub_usbms_iterate) :Poll devices.
21061 (grub_usbms_finddevs): Split into ...
21062 (grub_usbms_attach): ... this ...
21063 (grub_usbms_attach): ... and this.
21064 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
21065 in detect_dev.
21066 (grub_usb_interface): New fields attached and detach_hook.
21067 (grub_usb_attach_hook_class): New type.
21068 (grub_usb_attach_desc): New struct.
21069 (grub_usb_register_attach_hook_class): New function.
21070 (grub_usb_unregister_attach_hook_class): Likewise.
21071 (grub_usb_poll_devices): Likewise.
21072 (grub_usb_device_attach): Likewise.
21073 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
21074 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
21075
3222efaf
VS
210762010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21077
21078 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
21079 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
21080 delta determination style. Works with most NetBSD partitions too.
21081
139b714a
VS
210822010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21083
21084 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
21085 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
21086
986aad56
VS
210872010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21088
21089 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
21090
99be513c
AB
210912010-07-14 Anton Blanchard <anton@samba.org>
21092
21093 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
21094 ET_DYN files.
21095
18075f62
GS
210962010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21097
21098 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
21099
8d9a5b15
GS
211002010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21101
21102 * kern/partition.c (grub_partition_check_containment): New function to
21103 check that a partition is physically contained in a parent. Since
21104 offsets are relative (and non-negative), this reduces to checking that
21105 the partition ends before its parent.
21106 (grub_partition_map_probe): Discard out-of-range sub-partitions.
21107 (grub_partition_iterate): Likewise.
21108 * include/grub/partition.h (grub_partition_map): Slightly more detailed
21109 comments.
21110 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
21111 partitions that start before their parent, and add debug printfs.
21112
19563c25
CW
211132010-07-13 Colin Watson <cjwatson@ubuntu.com>
21114
21115 * Makefile.in (.SUFFIX): Spell correctly, as ...
21116 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
21117 bare module name without `.mod', e.g. `test') tried to invoke a
21118 Modula-2 compiler.
21119
1a1f1e67
CW
211202010-07-13 Colin Watson <cjwatson@ubuntu.com>
21121
21122 * README: Point to the Info manual.
21123
811b0dca
JS
211242010-07-13 Jiro SEKIBA <jir@unicus.jp>
21125
21126 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
21127 2nd superblock position from partition size.
21128
e4f4eafc
CW
211292010-07-10 Colin Watson <cjwatson@ubuntu.com>
21130
21131 * Makefile.in (MAINTAINER_CLEANFILES): Remove
21132 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
21133 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
21134 outputs.
21135
4274c30f
VS
211362010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21137
21138 Restructure SCSI .id handling.
21139 Reported and tested by: Aleš Nesrsta.
21140
21141 * disk/ata.c (grub_atapi_close): Removed. All users updated.
21142 (grub_atapi_dev): Changed .name to "ata". New field .id.
21143 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
21144 (grub_usbms_dev): New field .id.
21145 * disk/scsi.c (grub_scsi_iterate): Generate name.
21146 (grub_scsi_open): Parse name.
21147 * include/grub/scsi.h (grub_make_scsi_id): New function.
21148 (grub_scsi_dev): Change iterate and open to number instead of naming
21149 busses. All users updated.
21150 (grub_scsi): Remove name. Add .bus.
21151
5bc24388
VS
211522010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21153
21154 * commands/help.c (grub_cmd_help): Fix a typo.
21155
249975ba
VS
211562010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21157
21158 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
21159 Reported and tested by: Colin Watson.
21160
3eaac1a1
VS
211612010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21162
21163 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
21164 in this context.
21165
becce1b1
VS
211662010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
21167
21168 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
21169
f7bf0918
CW
211702010-07-07 Colin Watson <cjwatson@ubuntu.com>
21171
21172 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
21173 indentation.
21174
0b0f9620
CW
211752010-07-06 Colin Watson <cjwatson@ubuntu.com>
21176
21177 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
21178 and disk/raid6_recover.c.
21179 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21180 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21181
1e545469
CW
211822010-07-06 Colin Watson <cjwatson@ubuntu.com>
21183
21184 * term/gfxterm.c (repaint_schedulded): Rename to ...
21185 (repaint_scheduled): ... this. Update all callers.
21186 (repaint_was_schedulded): Rename to ...
21187 (repaint_was_scheduled): ... this. Update all callers.
21188
5357687a
CW
211892010-07-06 Colin Watson <cjwatson@ubuntu.com>
21190
21191 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
21192 which we expect to be handled by upper layers.
21193
29d7e783
BC
211942010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
21195
21196 * bus/usb/usbhub.c: #include time.h header.
21197
37582066
CW
211982010-07-06 Colin Watson <cjwatson@ubuntu.com>
21199
21200 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
21201 entry_name also for entries without stat blocks (e.g. ".."); fixes
21202 corruption of the first entry in a directory.
21203
c8c06953
CW
212042010-07-06 Colin Watson <cjwatson@ubuntu.com>
21205
21206 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
21207 after setting gfxterm as the active terminal. GRUB_BACKGROUND
21208 doesn't work otherwise.
21209
e75056f1
CW
212102010-07-05 Colin Watson <cjwatson@ubuntu.com>
21211
21212 * docs/grub.texi (Features): Update list of supported file systems.
21213 (GNU/Linux): Update for GRUB 2.
21214 (Serial terminal): Remove mention of --disable-serial, which was a
21215 GRUB Legacy configure option. Update instructions to use
21216 `terminal_input' and `terminal_output' rather than `terminal'.
21217 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
21218 configuration' and `Installing GRUB using grub-install'.
21219 (Menu entry editor): Update for GRUB 2.
21220 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
21221 Document new -a, -u, and -v options.
21222 (initrd): New section.
21223 (initrd16): New section.
21224 (linux): New section.
21225 (linux16): New section.
21226 (search): The `var' argument to `--set' is optional.
21227 (GRUB only offers a rescue shell): Go into a little more detail on
21228 drive ordering.
21229
5cf69151
CW
212302010-07-05 Colin Watson <cjwatson@ubuntu.com>
21231
21232 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
21233
e3f90044
CW
212342010-07-05 Colin Watson <cjwatson@ubuntu.com>
21235
21236 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
21237 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
21238
38d8f4f3
CW
212392010-07-05 Colin Watson <cjwatson@ubuntu.com>
21240
21241 * util/i386/pc/grub-setup.c (setup): Rename prefix to
21242 install_prefix, in line with install_dos_part and install_bsd_part.
21243 Add new prefix variable, which is copied to install_prefix after
21244 comparing core.img in memory with the one read from disk in the
21245 no-embedding case, and use that rather than overwriting
21246 install_prefix immediately when installing to a partition.
21247 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
21248 Bicakci.
21249
57ebd41e
GS
212502010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21251
21252 * configure.ac: Avoid == in test command, it's not portable.
21253 * util/grub.d/30_os-prober.in: Likewise.
21254
cb7f64b2
CW
212552010-07-04 Colin Watson <cjwatson@ubuntu.com>
21256
21257 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
21258
6b654bb0
GS
212592010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21260
21261 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
21262 multiple (top-level) partmaps.
21263
72a2026d
VS
212642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21265
21266 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 21267 Reported by: Tino Keitel.
72a2026d 21268
df3eb88f
VS
212692010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21270
21271 Bidi and diacritics support.
21272
21273 * Makefile.in (widthspec.bin): New target.
21274 (widthspec.h): Likewise.
21275 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
21276 * autogen.sh: Generate unidata.c.
21277 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
21278 * commands/ls.c (grub_ls_list_devices): Likewise.
21279 (grub_ls_list_files): Likewise.
21280 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
21281 (grub_mini_cmd_lsmod): Likewise.
21282 * commands/read.c: Likewise.
21283 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
21284 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
21285 * lib/arg.c (grub_arg_show_help): Likewise.
21286 * lib/crypto.c (grub_password_get): Likewise.
21287 * normal/auth.c (grub_username_get): Likewise.
21288 * normal/misc.c (grub_normal_print_device_info): Likewise.
21289 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
21290 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
21291 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
21292 (normal/charset.c_DEPENDENCIES): New variable.
21293 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
21294 (pkglib_MODULES): Remove charset.mod.
21295 (charset_mod_SOURCES): Removed.
21296 (charset_mod_CFLAGS): Likewise.
21297 (charset_mod_LDFLAGS): Likewise.
21298 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
21299 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
21300 and term/tparm.c.
21301 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21302 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21303 (kernel_img_HEADERS): Add terminfo.h.
21304 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
21305 Fill ->font. Reverse ascii bitmaps.
21306 (grub_font_get_xheight): New function.
21307 * font/font.c (grub_font_get_string_width): Moved from here ...
21308 * gfxmenu/font.c (grub_font_get_string_width): ... here.
21309 * font/font.c (grub_font_draw_string): Moved from here ...
21310 * gfxmenu/font.c (grub_font_draw_string): ... here.
21311 * font/font.c (grub_font_dup_glyph): New function.
21312 (grub_font_blit_glyph): Likewise.
21313 (grub_font_blit_glyph_mirror): Likewise.
21314 (blit_comb): Likewise.
21315 (grub_font_construct_dry_run): Likewise.
21316 (grub_font_get_constructed_device_width): Likewise.
21317 (grub_font_construct_glyph): Likewise.
21318 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
21319 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
21320 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
21321 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
21322 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
21323 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
21324 (grub_font_get_xheight): New proto.
21325 (grub_font_get_constructed_device_width): Likewise.
21326 (grub_font_construct_glyph): Likewise.
21327 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
21328 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
21329 * include/grub/font.h (grub_font_draw_string): Moved from here ...
21330 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
21331 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
21332 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
21333 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
21334 (grub_console_getcharwidth): Likewise.
21335 * include/grub/misc.h (grub_xputs): New proto.
21336 (grub_puts): Inlined.
21337 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
21338 (grub_normal_get_line_counter): Removed.
21339 (grub_install_newline_hook): Likewise.
21340 (grub_normal_get_char_counter): New proto.
21341 (grub_normal_reset_more): Likewise.
21342 (grub_xputs_normal): Likewise.
21343 * include/grub/powerpc/ieee1275/console.h: Removed.
21344 * include/grub/sparc64/ieee1275/console.h: Likewise.
21345 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
21346 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
21347 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
21348 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
21349 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
21350 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
21351 (grub_term_input): Pass reference to self. All users updated.
21352 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
21353 Pass reference to self. New fields normal_color, highlight_color and
21354 data. All users updated.
21355 (grub_putchar): Removed.
21356 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
21357 (grub_unicode_estimate_width): New function.
21358 (grub_term_getcharwidth): Add defaults.
21359 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
21360 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
21361 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
21362 (grub_cls): Remove EXPORT_FUNC.
21363 (grub_setcolorstate): Inline.
21364 (grub_newline_hook): Removed.
21365 * include/grub/terminfo.h: Rewritten. All users updated.
21366 * include/grub/unicode.h: New file.
21367 * include/grub/video.h (grub_video_signed_rect): New type.
21368 * kern/emu/console.c (grub_console_highlight_color): Removed.
21369 (grub_console_normal_color): Likewise.
21370 (grub_console_standard_color): Made static.
21371 (grub_ncurses_putchar): Remove mapping.
21372 (grub_ncurses_getcharwidth): Removed.
21373 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21374 (grub_ncurses_setcolor): Removed.
21375 (grub_ncurses_getcolor): Likewise.
21376 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
21377 (grub_console_putchar): ... this.
21378 (grub_console_putchar): Handle argument difference.
21379 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
21380 console_init_early and console_init_lately.
21381 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
21382 * kern/misc.c (grub_puts): Removed.
21383 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
21384 (grub_vsnprintf_real): Remove str = NULL support.
21385 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
21386 * normal/charset.c (grub_utf8_to_ucs4): ... here.
21387 * kern/term.c (grub_putcode): Renamed to ...
21388 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
21389 (grub_putchar): Removed.
21390 (grub_xputs_dumb): New function.
21391 (grub_xputs): New variable.
21392 * lib/charset.c: Move from here ...
21393 * normal/charset.c: ... to here.
21394 (grub_ucs4_to_utf8): New function.
21395 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
21396 (join_types): New variable.
21397 (unpack_join): New function.
21398 (bidi_types): New variable.
21399 (unpack_bidi): New function.
21400 (get_bidi_type): Likewise.
21401 (get_join_type): Likewise.
21402 (is_mirrored): Likewise.
21403 (grub_unicode_get_comb_type): Likewise.
21404 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
21405 (is_type_after): Likewise.
21406 (grub_unicode_aglomerate_comb): Likewise.
21407 (bidi_line_wrap): Likewise.
21408 (grub_bidi_line_logical_to_visual): Likewise.
21409 (grub_bidi_logical_to_visual): Likewise.
21410 (grub_unicode_mirror_code): Likewise.
21411 (grub_unicode_shape_code): Likewise.
21412 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
21413 Don't use grub_putchar.
21414 * normal/main.c (grub_normal_init_page): Use grub_putcode.
21415 (grub_normal_reader_init): Likewise.
21416 (grub_xputs_saved): New variable.
21417 (GRUB_MOD_INIT): Set grub_xputs.
21418 (GRUB_MOD_FINI): Restore grub_xputs.
21419 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
21420 (menu_init): Avoid printing gfxmenu error.
21421 (show_menu): Use grub_normal_get_char_counter.
21422 * normal/menu_entry.c (update_screen): Fix out-of-array.
21423 (complete): Avoid NULL dereferencing.
21424 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
21425 * normal/menu_text.c (print_spaces): Removed.
21426 (grub_print_ucs4): Likewise.
21427 (grub_print_message_indented): Use grub_print_ucs4.
21428 (print_message): Use grub_putcode.
21429 (print_entry): Hanlde diacritics.
21430 * normal/term.c (term_state): New type.
21431 (grub_more_lines): Removed.
21432 (term_states): New variable.
21433 (grub_normal_line_counter): Renamed to ..
21434 (grub_normal_char_counter): ...this. All users updated.
21435 (grub_normal_get_line_counter): Renamed to ...
21436 (grub_normal_get_char_counter): ... this.
21437 (grub_normal_reset_more): New function.
21438 (process_newline): Removed.
21439 (print_more): New function.
21440 (grub_install_newline_hook): Removed.
21441 (map_code): New function.
21442 (grub_puts_terminal): Use grub_print_ucs4.
21443 (putglyph): New function.
21444 (putcode_real): Likewise.
21445 (grub_putcode): Use putcode_real.
21446 (get_maxwidth): New function.
21447 (get_startwidth): Likewise.
21448 (print_ucs4_terminal): Likewise.
21449 (find_term_state): Likewise.
21450 (put_glyphs_terminal): Likewise.
21451 (print_backlog): Likewise.
21452 (print_ucs4_real): Likewise.
21453 (grub_print_ucs4): Likewise.
21454 (grub_xputs_normal): Likewise.
21455 * term/efi/console.c (grub_console_putchar): Output diacritics.
21456 (grub_console_getcharwidth): Removed.
21457 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21458 * term/gfxterm.c (clear_char): Free chars.
21459 (scroll_up): Avoid leaking memory.
21460 (grub_gfxterm_putchar): Support diacritics.
21461 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21462 * term/i386/pc/console.c (grub_console_term_output): Declare as
21463 GRUB_TERM_CODE_TYPE_VGA.
21464 * term/i386/pc/vga.c (grub_vga_term): Declare as
21465 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
21466 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
21467 GRUB_TERM_CODE_TYPE_VGA.
21468 * term/i386/vga_common.c (map_char): Removed.
21469 (grub_console_putchar): Likewise.
21470 (grub_console_getcharwidth): Likewise.
21471 * term/ieee1275/ofconsole.c: Simplify using terminfo.
21472 (colors): Reordered to match terminfo.
21473 (grub_ofconsole_normal_color): Removed.
21474 (grub_ofconsole_writeesc): Likewise.
21475 (grub_ofconsole_highlight_color): Likewise.
21476 (grub_ofconsole_getcharwidth): Likewise.
21477 (grub_ofconsole_setcolorstate): Likewise.
21478 (grub_ofconsole_setcolor): Likewise.
21479 (grub_ofconsole_getcolor): Likewise.
21480 (grub_ofconsole_readkey): Renamed to ...
21481 (readkey): ... this. Remove escape sequence handling. Return -1 on no
21482 key.
21483 (grub_ofconsole_checkkey): Removed.
21484 (grub_ofconsole_getkey): Likewise.
21485 (grub_ofconsole_getxy): Likewise.
21486 (grub_ofconsole_gotoxy): Likewise.
21487 (grub_ofconsole_cls): Likewise.
21488 (grub_ofconsole_refresh): Likewise.
21489 (grub_ofconsole_terminfo_input): New struct.
21490 (grub_ofconsole_terminfo_output): Likewise.
21491 (grub_ofconsole_term_input): Use terminfo.
21492 (grub_ofconsole_term_output): Likewise.
21493 (grub_console_init): Split into ...
21494 (grub_console_init_early): ...this and ...
21495 (grub_console_init_lately): ...this. Use terminfo.
21496 (grub_ofconsole_putchar): Renamed to ...
21497 (put): ... this. Remove mapping.
21498 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21499 * term/serial.c: Simplify using terminfo.
21500 (xpos): Removed.
21501 (ypos): Likewise.
21502 (keep_track): Likewise.
21503 (registered): Likewise.
21504 (input_buf): Likewise.
21505 (npending): Likewise.
21506 (serial_translate_key_sequence): Likewise.
21507 (fill_input_buf): Likewise.
21508 (grub_serial_checkkey): Likewise.
21509 (grub_serial_getkey): Likewise.
21510 (grub_serial_getxy): Likewise.
21511 (grub_serial_gotoxy): Likewise.
21512 (grub_serial_putchar): Likewise.
21513 (grub_serial_cls): Likewise.
21514 (grub_serial_setcolorstate): Likewise.
21515 (grub_serial_setcursor): Likewise.
21516 (serial_hw_init): Use serial_hw_fetch.
21517 (grub_serial_terminfo_input): New variable.
21518 (grub_serial_terminfo_output): Likewise.
21519 (grub_serial_term_input): Use terminfo.
21520 (grub_serial_term_output): Likewise.
21521 * term/terminfo.c (putstr): Use put.
21522 (grub_terminfo_all_free): New function
21523 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
21524 (grub_terminfo_output_register): New function.
21525 (grub_terminfo_output_unregister): Likewise.
21526 (grub_terminfo_getxy): Likewise.
21527 (grub_terminfo_readkey): Likewise.
21528 (grub_terminfo_checkkey): Likewise.
21529 (grub_terminfo_getkey): Likewise.
21530 (grub_terminfo_input_init): Likewise.
21531 (print_terminfo): Likewise.
21532 (grub_cmd_terminfo): Handle encoding.
21533 (grub_terminfo_gotoxy): Track position.
21534 (grub_terminfo_cls): Likewise.
21535 (grub_terminfo_putchar): Likewise.
21536 (grub_terminfo_setcolorstate): Handle colors
21537 (grub_terminfo_cursor_on): This ...
21538 (grub_terminfo_cursor_off): ... and this merged into ...
21539 (grub_terminfo_setcursor): ... this.
21540 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
21541 * unicode/ArabicShaping.txt: New file (imported from Unicode).
21542 * unicode/BidiMirroring.txt: Likewise.
21543 * unicode/UnicodeData.txt: Likewise.
21544 * unicode/COPYING: Likewise.
21545 * util/grub-editenv.c (grub_putchar): Removed.
21546 (grub_xputs_real): New function.
21547 (grub_xputs): New variable.
21548 * util/grub-fstest.c (grub_putchar): Removed.
21549 (grub_xputs_real): New function.
21550 (grub_xputs): New variable.
21551 * util/grub-mkdevicemap.c (grub_putchar): Removed.
21552 (grub_xputs_real): New function.
21553 (grub_xputs): New variable.
21554 * util/grub-probe.c (grub_putchar): Removed.
21555 (grub_xputs_real): New function.
21556 (grub_xputs): New variable.
21557 * util/grub-script-check.c (grub_putchar): Removed.
21558 (grub_xputs_real): New function.
21559 (grub_xputs): New variable.
21560 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
21561 (grub_xputs_real): New function.
21562 (grub_xputs): New variable.
21563 * util/import_unicode.py: New file.
21564 * util/grub-mkfont.c (ft_errmsgs): New array.
21565 (grub_glyph_info): Make bitmap a pointer.
21566 (file_formats): New type WIDTH_SPEC.
21567 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
21568 (options): Add width-spec.
21569 (help): Likewise.
21570 (add_char): Renamed to ...
21571 (add_glyph): ... this.
21572 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
21573 (glyph_replace): New type.
21574 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
21575 (add_char): New function.
21576 (add_subst): Likewise.
21577 (process_cursive): Likewise.
21578 (add_font): Handle GSUB.
21579 (write_font_width_spec): New function.
21580 (main): Sort glyphs.
21581 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
21582 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
21583 * kern/term.c (grub_cls): Moved from here...
21584 * normal/term.c (grub_cls): ... here.
21585
50f0bcda
CW
215862010-07-02 Colin Watson <cjwatson@ubuntu.com>
21587
21588 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
21589 suitable for using within the format argument of printf when
21590 converting grub_size_t.
21591 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
21592 "x" to convert grub_size_t arguments.
21593
40372103
VS
215942010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21595
21596 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
21597 too long captions.
21598 (list_get_minimal_size): Take selection box into account.
21599
942a10c7
VS
216002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21601
21602 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
21603 NULL font.
21604
2bdb2892
CW
216052010-07-02 Colin Watson <cjwatson@ubuntu.com>
21606
21607 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
21608 devices when iterating over /dev/disk/by-id; they will be handled
21609 later if appropriate, which they aren't always (e.g. LVM).
21610
e03ed6c1
CW
216112010-07-02 Colin Watson <cjwatson@ubuntu.com>
21612
21613 * include/grub/misc.h (grub_reboot): Declare as noreturn.
21614 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
21615 fails.
21616 (grub_halt): Likewise.
21617 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
21618 reset-all fails.
21619 (grub_halt): Don't return, even if all of shut-down, power-off, and
21620 poweroff fail.
21621
47695765
CW
216222010-07-02 Colin Watson <cjwatson@ubuntu.com>
21623
21624 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
21625 arguments, not three.
21626
507736c8
CW
216272010-07-02 Colin Watson <cjwatson@ubuntu.com>
21628
21629 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
21630 * util/grub.d/10_linux.in: Use it to check for LVM, so that
21631 LVM-on-RAID is handled correctly.
21632
e3c8cd37
CW
216332010-07-02 Colin Watson <cjwatson@ubuntu.com>
21634
21635 * docs/grub.texi (Changes from GRUB Legacy): New section.
21636 (Future): Fix typo.
21637
8d4a2fec
CW
216382010-07-02 Colin Watson <cjwatson@ubuntu.com>
21639
21640 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
21641 grub.d/README accidentally ends up executable for one reason or
21642 another. Ignore it.
21643
1c4827be
VS
216442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21645
21646 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
21647 (gpt_partition_map_iterate): Support non-512B sectors.
21648
d9a0c941
VS
216492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21650
21651 * kern/efi/init.c (grub_efi_init): Disable watchdog.
21652 Tested by: Seth Goldberg.
21653
48f27e87
VS
216542010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21655
21656 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
21657 Properly align mbi.
21658 Reported by: Seth Goldberg.
21659
b0c4f956
VS
216602010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21661
21662 * util/grub-mkrescue.in: Avoid module duplication.
21663
105a2e8c
SF
216642010-07-01 Sean Finney <seanius@seanius.net>
21665
21666 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
21667
5944958c
SF
216682010-07-01 Sean Finney <seanius@seanius.net>
21669
21670 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
21671
216722010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21673
21674 * disk/lvm.c (grub_lvm_checkvalue): New function.
21675 (grub_lvm_check_flag): Likewise.
21676
b79889ba
RM
216772010-07-01 Robert Millan <rmh@gnu.org>
21678
21679 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
21680 Support 'p' as partition separator on kernel of FreeBSD (used
21681 with GPT labels).
21682 (grub_util_biosdisk_get_grub_dev): Likewise.
21683
ec1d04f1
VS
216842010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21685
21686 Yeeloong firmware port.
21687
21688 * boot/mips/yeeloong/fwstart.S: New file.
21689 * bus/cs5536.c (gpiodump): New const.
21690 (set_io_space): New function.
21691 (set_iod): Likewise.
21692 (set_p2d): Likewise.
21693 (grub_cs5536_init_geode): Likewise.
21694 * commands/mips/yeeloong/lsspd.c: New file.
21695 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
21696 (serial_mod_SOURCES): New variable.
21697 (serial_mod_CFLAGS): Likewise.
21698 (serial_mod_LDFLAGS): Likewise.
21699 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
21700 term/terminfo.c and term/tparm.c.
21701 (pkglib_IMAGES): Add fwstart.img.
21702 (fwstart_img_SOURCES): New variable.
21703 (fwstart_img_CFLAGS): Likewise.
21704 (fwstart_img_ASFLAGS): Likewise.
21705 (fwstart_img_LDFLAGS): Likewise.
21706 (fwstart_img_FORMAT): Likewise.
21707 (pkglib_MODULES): Add lsspd.mod.
21708 (lsspd_mod_SOURCES): New variable.
21709 (lsspd_mod_CFLAGS): Likewise.
21710 (lsspd_mod_LDFLAGS): Likewise.
21711 (pkglib_MODULES): Add halt.mod.
21712 (halt_mod_SOURCES): New variable.
21713 (halt_mod_CFLAGS): Likewise.
21714 (halt_mod_LDFLAGS): Likewise.
21715 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
21716 (serial_mod_SOURCES): Removed.
21717 (serial_mod_CFLAGS): Likewise.
21718 (serial_mod_LDFLAGS): Likewise.
21719 * disk/ata.c (check_device): New function.
21720 (grub_ata_device_initialize): Use check_device.
21721 (grub_ata_iterate): Recheck devices.
21722 (grub_ata_open): Likewise.
21723 (grub_atapi_iterate): Likewise.
21724 (grub_atapi_open): Likewise.
21725 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
21726 (GRUB_ATA_CH1_PORT1): Likewise.
21727 (GRUB_ATA_CH0_PORT2): Likewise.
21728 (GRUB_ATA_CH1_PORT2): Likewise.
21729 * include/grub/mips/loongson.h: New file.
21730 * include/grub/mips/yeeloong/ec.h: Likewise.
21731 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
21732 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
21733 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
21734 * include/grub/misc.h (grub_halt): Declare as noreturn.
21735 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
21736 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
21737 (UART_ENABLE_FIFO_TRIGGER1): New definition.
21738 (UART_ENABLE_DTRRTS): Likewise.
21739 (UART_ENABLE_MODEM): Removed.
21740 (UART_ENABLE_OUT2): New const.
21741 * include/grub/term.h (grub_term_register_input_active): New function.
21742 (grub_term_register_output_active): Likewise.
21743 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
21744 argument.
21745 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
21746 (init_pci): New function.
21747 (grub_machine_init): Execute platform init when firmware. Init serial.
21748 (grub_halt): Implement.
21749 (grub_exit): Likewise.
21750 (grub_reboot): Likewise.
21751 * term/serial.c (serial_hw_init): Update macros.
21752 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
21753 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
21754 (image_targets): New target mipsel-yeeloong-flash.
21755 (generate_image): Support IMAGE_YEELOONG_FLASH.
21756 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
21757 (grub_video_sm712_setup): Init card.
21758 (grub_video_sm712_set_palette): Removed.
21759 * video/sm712_init.c: New file.
21760
ff4a70d2
CW
217612010-06-30 Colin Watson <cjwatson@ubuntu.com>
21762
21763 * Makefile.in (install-local): Temporarily prepend $(builddir) to
21764 PATH when running help2man and then run it on the unadorned
21765 executable names, rather than passing $(builddir)/* paths to
21766 help2man. This avoids the build directory ending up in generated
21767 manual pages.
21768
1246efeb
CW
217692010-06-29 Colin Watson <cjwatson@ubuntu.com>
21770
21771 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
21772 to avoid accidents when debugging with 'sh -x'.
21773 * util/grub-mkrescue.in: Likewise.
21774 * util/grub.d/00_header.in: Likewise.
21775 * util/grub.d/10_hurd.in: Likewise.
21776 * util/grub.d/10_kfreebsd.in: Likewise.
21777 * util/grub.d/10_linux.in: Likewise.
21778 * util/grub.d/10_netbsd.in: Likewise.
21779 * util/grub.d/10_windows.in: Likewise.
21780 * util/grub.d/20_linux_xen.in: Likewise.
21781 * util/grub.d/30_os-prober.in: Likewise.
21782 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21783
1ba9b889
CW
217842010-06-29 Colin Watson <cjwatson@ubuntu.com>
21785
21786 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
21787 last character in the buffer.
21788 Reported by: Vladimir Serbinenko.
21789
dccaf99d
RM
217902010-06-29 Robert Millan <rmh@gnu.org>
21791
21792 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
21793 (Command-line and menu entry commands): Document `badram' command.
21794
d500ed12
RM
217952010-06-28 Robert Millan <rmh@gnu.org>
21796
21797 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
21798 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
21799 command using ${GRUB_BADRAM} as parameter.
21800
20bc84a6
CW
218012010-06-28 Colin Watson <cjwatson@ubuntu.com>
21802
21803 * docs/grub.texi (Device map): New section.
21804 (Themes): New section (stub).
21805 * Makefile.in (docs/grub.info): The info documentation now builds
21806 without errors. Make sure it stays that way.
21807
4045dee1
VS
218082010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21809
21810 Use normal parser for menu entries.
21811 Reported by: Thomas Frauendorfer
21812
21813 * include/grub/parser.h (grub_parser_execute): Don't export.
21814 * normal/menu.c (grub_menu_execute_entry_real): New function.
21815 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
21816
bca58c7b
CW
218172010-06-28 Colin Watson <cjwatson@ubuntu.com>
21818
21819 * docs/grub.texi (Embedded configuration): New section (replacing
21820 old "Preset Menu" stub).
21821 (Images): New section.
21822 (configfile): Note that any menu entries defined in `file' are shown
21823 immediately.
21824
dec53e63
JT
218252010-06-28 Josh Triplett <josh@joshtriplett.org>
21826
21827 * mmap/i386/pc/mmap_helper.S: Set CF on return.
21828
c06e40f7
CW
218292010-06-28 Colin Watson <cjwatson@ubuntu.com>
21830
21831 * util/grub-install.in: Add --debug-image= option.
21832
cb88052b
CW
218332010-06-28 Colin Watson <cjwatson@ubuntu.com>
21834
21835 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
21836 possible on Linux.
21837
21838 * util/deviceiter.c (check_device): Rename to ...
21839 (check_device_readable_unique): ... this. Update all callers.
21840 Maintain and check a list of which devices (by canonicalized name)
21841 have already been seen.
21842 (clear_seen_devices): New function.
21843 (compare_file_names) [__linux__]: New function.
21844 (grub_util_iterate_devices): Clear the list of seen devices on exit
21845 and (just in case) on entry.
21846 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
21847 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
21848 seen-devices list, superseded by general code in check_device.
21849
bbe34652
CW
218502010-06-28 Colin Watson <cjwatson@ubuntu.com>
21851
21852 * commands/cat.c (options): New variable.
21853 (grub_cmd_cat): Parse options. If the --dos option is given, print
21854 DOS-style "\r\n" line endings as simple newlines (Debian bug
21855 #586358).
21856 (GRUB_MOD_INIT): Use extcmd.
21857 (GRUB_MOD_FINI): Likewise.
21858 * docs/grub.texi (cat): Document --dos.
21859
412e09f3
VS
218602010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21861
21862 XEN with Linux grub-mkconfig support.
21863
21864 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
21865 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
21866 GRUB_CMDLINE_XEN_DEFAULT.
21867 * util/grub.d/20_linux_xen.in: New file.
21868
53f3ef38 218692010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
21870
21871 Initialise VGA video on qemu ourselves.
21872
21873 * boot/i386/qemu/boot.S: Don't call 0xc000.
21874 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
21875 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
21876 (kernel_img_HEADERS): Add pci.h.
21877 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
21878 * configure.ac: Force unifont on qemu and yeeloong.
21879 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
21880 (grub_vga_palette_write): Use correct register.
21881 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
21882 Call grub_qemu_init_cirrus.
21883 * kern/i386/qemu/init.c: New file.
21884 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
21885
21886 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
21887
c75be4fb
PR
218882010-06-26 Pavel Roskin <proski@gnu.org>
21889
21890 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
21891 13.
21892
d8034603
CW
218932010-06-26 Colin Watson <cjwatson@ubuntu.com>
21894
21895 * docs/grub.texi (Simple configuration): Explain that
21896 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
21897 set to `true' to disable their respective recovery entries, not
21898 merely set.
21899
3fa06487
CW
219002010-06-26 Colin Watson <cjwatson@ubuntu.com>
21901
21902 Make the `source' command slightly faster.
21903
21904 * normal/main.c (grub_normal_execute): Don't re-read list files when
21905 nested.
21906
e9b29642
CW
219072010-06-23 Colin Watson <cjwatson@ubuntu.com>
21908
21909 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
21910 field position and mask size to red fields from mode_info, not
21911 green.
21912 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
21913 Remove redundant tag->common.framebuffer_type assignment.
21914 Reported by: Seth Goldberg.
21915
e726542f
CW
219162010-06-23 Colin Watson <cjwatson@ubuntu.com>
21917
21918 Sync up other versions of the Linux loader with Robert Millan's
21919 change of 2010-01-09, "Make loader output a bit more user-friendly".
21920
21921 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
21922 grub_dprintf().
21923 (grub_cmd_linux): Likewise.
21924 (grub_cmd_initrd): Likewise.
21925 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
21926 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21927
d6e98a17
CW
219282010-06-21 Colin Watson <cjwatson@ubuntu.com>
21929
21930 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
21931 larger than MEMORY_MAP_SIZE.
21932
14d3f08e
BC
219332010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
21934
21935 Fix parallel build.
21936
21937 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
21938 dependency.
21939 * script/parser.y: #include grub_script.tab.h header.
21940
4f9613a3
VS
219412010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21942
21943 Support >3GiB and <16MiB RAM in i386-qemu.
21944
21945 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
21946 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
21947 (grub_lower_mem): Removed.
21948 (grub_upper_mem): Likewise.
21949 (mem_size): Made static.
21950 (above_4g): New variable.
21951 (grub_machine_mmap_init): Detect small mem_size and above_4g.
21952 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
21953 support.
21954
05e51879
VS
219552010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21956
21957 Cirrus 5446 and Bochs video cards support.
21958
21959 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
21960 video_bochs.mod
21961 (video_cirrus_mod_SOURCES): New variable.
21962 (video_cirrus_mod_CFLAGS): Likewise.
21963 (video_cirrus_mod_LDFLAGS): Likewise.
21964 (video_bochs_mod_SOURCES): Likewise.
21965 (video_bochs_mod_CFLAGS): Likewise.
21966 (video_bochs_mod_LDFLAGS): Likewise.
21967 * include/grub/vga.h: New file.
21968 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
21969 (grub_video_fb_set_page_t): New type.
21970 (grub_video_fb_setup): New prototype.
21971 (grub_video_fb_swap_buffers): Likewise.
21972 (grub_video_fb_get_info_and_fini): Likewise.
21973 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
21974 (CRTC_DATA_PORT): Likewise.
21975 (CRTC_CURSOR): Likewise.
21976 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21977 (CRTC_CURSOR_ADDR_LOW): Likewise.
21978 (CRTC_CURSOR_DISABLE): Likewise.
21979 (update_cursor): Use grub_vga_cr_write.
21980 (grub_vga_text_setcursor): Likewise.
21981 * video/bochs.c: New file.
21982 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
21983 (palette): Likewise.
21984 (palette_size): Likewise.
21985 (framebuffer): New variable.
21986 (grub_video_fb_init): Use 'framebuffer'.
21987 (grub_video_fb_fini): Likewise.
21988 (grub_video_fb_get_info): Likewise.
21989 (grub_video_fb_get_palette): Likewise.
21990 (grub_video_fb_set_palette): Likewise.
21991 (grub_video_fb_set_viewport): Likewise.
21992 (grub_video_fb_get_viewport): Likewise.
21993 (grub_video_fb_map_color): Likewise.
21994 (grub_video_fb_map_rgb): Likewise.
21995 (grub_video_fb_map_rgba): Likewise.
21996 (grub_video_fb_unmap_color): Likewise.
21997 (grub_video_fb_unmap_color_int): Likewise.
21998 (grub_video_fb_fill_rect): Likewise.
21999 (grub_video_fb_blit_bitmap): Likewise.
22000 (grub_video_fb_blit_render_target): Likewise.
22001 (grub_video_fb_scroll): Likewise.
22002 (grub_video_fb_create_render_target): Likewise.
22003 (grub_video_fb_doublebuf_blit_init): Likewise.
22004 (grub_video_fb_set_active_render_target): Handle doublebuffering.
22005 (doublebuf_pageflipping_update_screen): New function.
22006 (doublebuf_pageflipping_init): Likewise.
22007 (grub_video_fb_setup): Likewise.
22008 (grub_video_fb_swap_buffers): Likewise.
22009 (grub_video_fb_get_info_and_fini): Likewise.
22010 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
22011 All users updated.
22012 (doublebuf_pageflipping_commit): Restructured into ...
22013 (doublebuf_pageflipping_set_page): ... this.
22014 (doublebuf_pageflipping_update_screen): Removed.
22015 (doublebuf_pageflipping_init): Likewise.
22016 (double_buffering_init): Likewise.
22017 (grub_video_vbe_setup): Use grub_video_fb_setup.
22018 (grub_video_vbe_swap_buffers): Removed.
22019 (grub_video_vbe_set_active_render_target): Likewise.
22020 (grub_video_vbe_get_active_render_target): Likewise.
22021 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
22022 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
22023 grub_video_fb_set_active_render_target and
22024 grub_video_fb_get_active_render_target.
22025 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
22026 (SEQUENCER_DATA_PORT): Likewise.
22027 (MAP_MASK_REGISTER): Likewise.
22028 (CRTC_ADDR_PORT): Likewise.
22029 (CRTC_DATA_PORT): Likewise.
22030 (START_ADDR_HIGH_REGISTER): Likewise.
22031 (START_ADDR_LOW_REGISTER): Likewise.
22032 (GRAPHICS_ADDR_PORT): Likewise.
22033 (GRAPHICS_DATA_PORT): Likewise.
22034 (READ_MAP_REGISTER): Likewise.
22035 (INPUT_STATUS1_REGISTER): Likewise.
22036 (INPUT_STATUS1_VERTR_BIT): Likewise.
22037 (get_map_mask): Use grub_vga_sr_read.
22038 (set_map_mask): Use grub_vga_sr_write.
22039 (set_read_map): Use grub_vga_gr_write.
22040 (set_start_address): Use grub_vga_cr_write.
22041 * video/sm712.c (framebuffer): Remove leftover fields.
22042
4321c64a
CW
220432010-06-20 Colin Watson <cjwatson@ubuntu.com>
22044
22045 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
22046 setting GRUB_VIDEO_BACKEND. Make it available as a user override
22047 instead. Replace the gfxterm backend check with a check that
22048 ${GRUB_PREFIX}/video.lst is non-empty.
22049 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
22050 again.
22051 (load_video): New generated function. Call it before loading
22052 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
22053 * util/grub.d/10_linux.in (linux_entry): Call load_video.
22054 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
22055 * docs/grub.texi (Simple configuration): Document
22056 GRUB_VIDEO_BACKEND.
22057
220582010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22059
22060 Use video functions in linux and xnu loaders.
22061
22062 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
22063 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
22064 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
22065 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
22066 loader/i386/pc/linux.c.
22067 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
22068 (find_line_len): Removed.
22069 (find_framebuf): Likewise.
22070 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
22071 * loader/i386/efi/xnu.c: Removed.
22072 * loader/i386/pc/xnu.c: Moved from here...
22073 * loader/i386/xnu.c: ...here.
22074
22075 Enable priorities in video drivers.
22076
22077 * include/grub/video.h (grub_video_adapter_prio_t): New type.
22078 (grub_video_adapter): New field prio.
22079 (grub_video_register): Respect prio when inserting.
22080 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
22081 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
22082 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
22083 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
22084 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
22085 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
22086 * video/sm712.c (grub_video_sm712_adapter): Likewise.
22087
22088 Fix SDL driver ID.
22089
22090 * include/grub/video.h (grub_video_driver_id_t): New value
22091 GRUB_VIDEO_DRIVER_SDL.
22092 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
22093
7d24e434
CW
220942010-06-17 Colin Watson <cjwatson@ubuntu.com>
22095
22096 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
22097 argument to printf.
22098 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22099
c88a83f6
CW
221002010-06-17 Colin Watson <cjwatson@ubuntu.com>
22101
22102 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
22103 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22104
094dfb69
CW
221052010-06-17 Colin Watson <cjwatson@ubuntu.com>
22106
22107 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
22108 directly, and recommend grub-install instead.
22109 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22110
2164da6b
CW
221112010-06-17 Colin Watson <cjwatson@ubuntu.com>
22112
22113 Fix i386-pc prefix handling with nested partitions (Debian bug
22114 #585068). Note that the case where the core image is booted using
22115 multiboot and relocated from its original location still requires
22116 more work.
22117
22118 * kern/i386/pc/init.c (make_install_device): If the prefix starts
22119 with "(,", fill the boot drive in between those two characters, but
22120 expect that a full partition specification including partition map
22121 names will follow.
22122 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
22123 specified, write a prefix without the drive name but including a
22124 full partition specification.
22125
044e2e60
CW
221262010-06-16 Colin Watson <cjwatson@ubuntu.com>
22127
22128 * util/grub-mkconfig.in: Ignore non-option arguments, for
22129 compatibility with older versions (before 2010-06-12) which did the
22130 same. In particular, this makes it easier to ship an update-grub
22131 wrapper which is compatible with that used with GRUB Legacy (Debian
22132 bug #586056).
22133
5591324f
GS
221342010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22135
22136 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
22137 for manual page generation.
22138
662e24d5
GS
221392010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22140
22141 * po/POTFILES: Remove leftover commands/handler.c.
22142
8d70754e
CW
221432010-06-14 Colin Watson <cjwatson@ubuntu.com>
22144
22145 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
22146 left this script non-functional.
22147
41160e2e
CW
221482010-06-14 Colin Watson <cjwatson@ubuntu.com>
22149
22150 * docs/man/grub-emu.h2m: New file.
22151
b5309cc1
CW
221522010-06-13 Colin Watson <cjwatson@ubuntu.com>
22153
22154 * docs/grub.texi (Commands): Document reduced command set in rescue
22155 mode.
22156 (cpuid): New section.
22157
fcb2d090
GS
221582010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
22159
22160 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
22161 new partition naming style.
22162 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
22163
96e5c556
BC
221642010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
22165
22166 Add "-o grub.iso" like cmdline options support.
22167
22168 * util/grub-install.in: Improve cmdline option parsing.
22169 * util/grub-mkconfig.in: Likewise.
22170 * util/grub-mkrescue.in: Likewise.
22171 * util/grub-reboot.in: Likewise.
22172 * util/grub-set-default.in: Likewise.
22173 * util/i386/efi/grub-install.in: Likewise.
22174 * util/ieee1275/grub-install.in: Likewise.
22175 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22176
c16be99b
CW
221772010-06-12 Colin Watson <cjwatson@ubuntu.com>
22178
22179 * .bzrignore: Ignore 41_custom.
22180
ce08a9fb
TS
221812010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22182
22183 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
22184
7beac90c
CW
221852010-06-12 Colin Watson <cjwatson@ubuntu.com>
22186
22187 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
22188 prototype declarations.
22189
22190 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
22191 generating fs, partmap, and video lists.
22192 * include/grub/fs.h (grub_fs_register): Omit prototype if
22193 GRUB_LST_GENERATOR is defined.
22194 * include/grub/partition.h (grub_partition_map_register): Likewise.
22195 * include/grub/video.h (grub_video_register): Likewise.
22196
1c8f0f8d
JM
221972010-06-12 Javier Martín <lordhabbit@gmail.com>
22198
22199 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
22200
a6085973
TS
222012010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22202
22203 * util/grub-mkrescue.in: Support --xorriso argument.
22204
25c56d29
VS
222052010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22206
22207 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
22208 Suggested by: Thomas Schmitt.
22209
e03e4b24
VS
222102010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22211
22212 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
22213 Suggested by: Thomas Schmitt.
22214
57711df6
VS
222152010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22216
22217 custom.cfg support.
22218
22219 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
22220 * util/grub.d/41_custom.in: New file.
22221
ee62c427
CW
222222010-06-12 Colin Watson <cjwatson@ubuntu.com>
22223
22224 * util/grub-mkrescue.in (make_image): Remove sh module, which has
22225 been merged back into normal.
22226
283af07a
CW
222272010-06-11 Colin Watson <cjwatson@ubuntu.com>
22228
22229 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
22230 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
22231
56a0d956
CW
222322010-06-11 Colin Watson <cjwatson@ubuntu.com>
22233
22234 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
22235 when generating manual pages.
22236 * docs/man/grub-bin2h.h2m: New file.
22237 * docs/man/grub-editenv.h2m: New file.
22238 * docs/man/grub-fstest.h2m: New file.
22239 * docs/man/grub-install.h2m: New file.
22240 * docs/man/grub-macho2img.h2m: New file.
22241 * docs/man/grub-mkconfig.h2m: New file.
22242 * docs/man/grub-mkdevicemap.h2m: New file.
22243 * docs/man/grub-mkfont.h2m: New file.
22244 * docs/man/grub-mkimage.h2m: New file.
22245 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
22246 * docs/man/grub-mkrelpath.h2m: New file.
22247 * docs/man/grub-mkrescue.h2m: New file.
22248 * docs/man/grub-ofpathname.h2m: New file.
22249 * docs/man/grub-pe2elf.h2m: New file.
22250 * docs/man/grub-probe.h2m: New file.
22251 * docs/man/grub-reboot.h2m: New file.
22252 * docs/man/grub-script-check.h2m: New file.
22253 * docs/man/grub-set-default.h2m: New file.
22254 * docs/man/grub-setup.h2m: New file.
22255
3a37e322
VS
222562010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
22257
22258 Use FOR_* macros instead of *_iterate whenever possible.
22259
22260 * commands/handler.c: Removed.
22261 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
22262 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
22263 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22264 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
22265 (grub_probe_SOURCES): Remove kern/parser.c.
22266 (util/grub-script-check.c_DEPENDENCIES): Removed.
22267 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
22268 and grub_script_check_init.c.
22269 (grub_script_check_init.lst): Removed.
22270 (grub_script_check_init.h): Likewise.
22271 (grub_script_check_init.c): Likewise.
22272 (pkglib_MODULES): Remove handler.mod and sh.mod.
22273 (handler_mod_SOURCES): Removed.
22274 (handler_mod_CFLAGS): Likewise.
22275 (handler_mod_LDFLAGS): Likewise.
22276 (normal_mod_SOURCES): Remove normal/handler.c.
22277 Add script/main.c, script/script.c, script/execute.c,
22278 script/function.c, script/lexer.c, grub_script.tab.c
22279 and grub_script.yy.c.
22280 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22281 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22282 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
22283 (grub_setup_SOURCES): Remove kern/parser.c.
22284 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22285 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
22286 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22287 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22288 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22289 (grub_setup_SOURCES): Remove kern/parser.c.
22290 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22291 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
22292 * include/grub/command.h (grub_command_iterate): Removed.
22293 (FOR_COMMANDS): New macro.
22294 * include/grub/dl.h (grub_dl): New member next.
22295 (grub_dl_iterate): Removed.
22296 (grub_dl_head): New variable declaration.
22297 (FOR_DL_MODULES): New macro.
22298 * include/grub/fs.h: Include list.h.
22299 (grub_fs): Make next first element.
22300 (grub_fs_list): New variable declaration.
22301 (grub_fs_register): Make inline.
22302 (grub_fs_unregister): Likewise.
22303 (grub_fs_iterate): Removed.
22304 (FOR_FILESYSTEMS): New macro.
22305 * include/grub/handler.h: Removed.
22306 * include/grub/list.h (grub_list_hook_t): Removed.
22307 (grub_list_test_t): Likewise.
22308 (grub_list_pop): Likewise.
22309 (grub_list_iterate): Likewise.
22310 (grub_list_insert): Likewise.
22311 (FOR_LIST_ELEMENTS): New macro.
22312 * include/grub/parser.h (grub_parser_class): Removed.
22313 (grub_parser_register): Likewise.
22314 (grub_parser_unregister): Likewise.
22315 (grub_parser_get_current): Likewise.
22316 (grub_parser_set_current): Likewise.
22317 (grub_register_rescue_parser): Likewise.
22318 (grub_rescue_parse_line): New function.
22319 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
22320 * include/grub/script_sh.h (grub_script_function_list): New variable
22321 declaration.
22322 (FOR_SCRIPT_FUNCTIONS): New macro.
22323 (grub_script_function_iterate): Removed.
22324 (grub_normal_parse_line): New prototype.
22325 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
22326 (FOR_DISABLED_TERM_INPUTS): Likewise.
22327 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22328 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22329 * include/grub/video.h (grub_video_adapter): Move 'next' to first
22330 element.
22331 (grub_video_register): Inline.
22332 (grub_video_unregister): Likewise.
22333 (grub_video_adapter_list): New variable declaration.
22334 (grub_video_iterate): Removed.
22335 (FOR_VIDEO_ADAPTERS): New macro.
22336 * kern/dl.c (grub_dl_list): Removed. All users updated.
22337 (grub_dl_iterate): Removed.
22338 * kern/fs.c (grub_fs_list): Make global.
22339 (grub_fs_register): Removed.
22340 (grub_fs_unregister): Likewise.
22341 (grub_fs_iterate): Likewise.
22342 * kern/handler.c: Removed.
22343 * kern/list.c (grub_list_pop): Removed.
22344 (grub_list_iterate): Likewise.
22345 (grub_list_insert): Likewise.
22346 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
22347 (grub_prio_list_insert): Don't use grub_list_insert.
22348 * kern/main.c (grub_register_rescue_parser): Don't call
22349 grub_register_rescue_parser.
22350 * kern/parser.c (grub_parser_class): Removed.
22351 (grub_parser_execute): Use grub_rescue_parse_line.
22352 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
22353 (grub_rescue_parser): Removed.
22354 (grub_register_rescue_parser): Likewise.
22355 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
22356 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
22357 (grub_auth_check_authentication): Likewise.
22358 * normal/completion.c (iterate_command): Removed.
22359 (grub_normal_do_completion): Use FOR_COMMANDS.
22360 * normal/handler.c: Removed.
22361 * normal/main.c (read_config_file): Remove parser changing.
22362 (grub_normal_execute): Don't call read_handler_list.
22363 (grub_normal_read_line_real): Statically allocate prompt.
22364 (grub_cmdline_run): Use grub_normal_parse_line.
22365 (GRUB_MOD_FINI): Don't call free_handler_list.
22366 * normal/menu_entry.c (run): Likewise.
22367 * script/function.c (grub_script_function_list): Make global.
22368 (grub_script_function_iterate): Removed.
22369 * script/main.c (grub_normal_parse_line): Make global.
22370 (grub_sh_parser): Removed.
22371 (GRUB_MOD_INIT): Likewise.
22372 (GRUB_MOD_FINI): Likewise.
22373 * tests/lib/functional_test.c (grub_functional_test): Use
22374 FOR_LIST_ELEMENTS.
22375 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
22376 (grub_test_run): Use FOR_LIST_ELEMENTS.
22377 * tests/lib/unit_test.c (main): Likewise.
22378 * util/deviceiter.c (grub_util_iterate_devices): Don't use
22379 grub_list_pop.
22380 * util/grub-fstest.c (grub_term_input_class): Removed.
22381 (grub_term_output_class): Likewise.
22382 * util/grub-probe.c: Likewise.
22383 * util/i386/pc/grub-setup.c: Likewise.
22384 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22385 * util/grub-script-check.c (main): Don't call grub_init_all and
22386 grub_fini_all.
22387 * video/video.c (grub_video_adapter_list): Make global.
22388 (grub_video_register): Removed.
22389 (grub_video_unregister): Likewise.
22390 (grub_video_iterate): Likewise.
22391
6289c3a7
VS
223922010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
22393
22394 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
22395 reported by Henrique Ferreiro.
22396
91460247
RM
223972010-06-09 Robert Millan <rmh@gnu.org>
22398
22399 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
22400 ones, when both are available.
22401
0ea7c4f9
GS
224022010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22403
22404 Make --version uniform and avoid hard-coded program name.
22405
22406 * util/grub-mkimage.c (main): Use `program_name' instead of
22407 hard-coded string.
22408 * util/i386/pc/grub-setup.c (main): Likewise.
22409 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
22410 * util/grub-install.in: Save the basename of $0 in $self, and use the
22411 latter in informational messages. Use the same format for --version
22412 as the binary programs.
22413 * util/grub-mkconfig.in: Likewise.
22414 * util/grub-mkrescue.in: Likewise.
22415 * util/grub-reboot.in: Likewise.
22416 * util/grub-set-default.in: Likewise.
22417 * util/i386/efi/grub-install.in: Likewise.
22418 * util/ieee1275/grub-install.in: Likewise.
22419 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22420
e8a6f3b6
GS
224212010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22422
22423 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
22424 embedding area. Use <= instead of == when checking for non-emptiness.
22425
f4d095d7
GS
224262010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22427
22428 * configure.ac: Add `.' to the directories searched for unifont.
22429
50e532ca
CW
224302010-06-08 Colin Watson <cjwatson@ubuntu.com>
22431
22432 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
22433 grub_script.yy.h.
22434
d39f3dec
CW
224352010-06-08 Colin Watson <cjwatson@ubuntu.com>
22436
22437 * docs/grub.texi (History): Expand to cover GRUB 2.
22438 (Serial terminal): Refer to `terminal_input' and `terminal_output'
22439 commands, not `terminal'.
22440 (serial): Likewise.
22441 (terminal_input): New section.
22442 (terminal_output): New section.
22443 (uppermem): New section (stub).
22444 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
22445
6ef0ddb4
CW
224462010-06-08 Colin Watson <cjwatson@ubuntu.com>
22447
22448 * docs/grub.texi (Security): Menu entries are unrestricted by
22449 default, not restricted to superusers as I had previously thought.
22450 Reword to account for this.
22451
e0f4c438
CW
224522010-06-07 Colin Watson <cjwatson@ubuntu.com>
22453
22454 * kern/emu/misc.c (device_mapper_null_log): New function.
22455 (grub_device_mapper_supported): New function.
22456 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
22457 prototype.
22458 * kern/emu/hostdisk.c (find_partition_start): Check whether
22459 device-mapper is supported before trying to use it.
22460 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
22461
da908200
CW
224622010-06-07 Colin Watson <cjwatson@ubuntu.com>
22463
22464 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
22465 (File name syntax): Likewise.
22466 (help): --all is no longer supported in GRUB 2. Be more precise
22467 about pattern matching.
22468
fb55c3ac
CW
224692010-06-07 Colin Watson <cjwatson@ubuntu.com>
22470
22471 * normal/completion.c (grub_normal_do_completion): When completing
22472 arguments to "set" and the current word contains an equals sign,
22473 skip to after the equals sign before starting completion.
22474
258c2573
CW
224752010-06-07 Colin Watson <cjwatson@ubuntu.com>
22476
22477 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
22478
ee75515e
CW
224792010-06-07 Colin Watson <cjwatson@ubuntu.com>
22480
22481 * docs/grub.texi (Network): New section.
22482 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
22483 `(nd)' as in GRUB Legacy.
22484 (pxe_unload): New section.
22485
a6a700aa
CW
224862010-06-07 Colin Watson <cjwatson@ubuntu.com>
22487
22488 * docs/grub.texi (Troubleshooting): `echo' is not usually available
22489 in the rescue shell, so recommend using `set' instead. Thanks,
22490 Jordan Uggla.
22491
4003dd38
CW
224922010-06-07 Colin Watson <cjwatson@ubuntu.com>
22493
22494 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
22495 (password): New section.
22496 (password_pbkdf2): New section.
22497 (search): New section.
22498 (Security): New section.
22499 (Troubleshooting): New section, currently very incomplete.
22500 (Invoking grub-mkpasswd-pbkdf2): New section.
22501 (Internals): New section, currently very incomplete.
22502
e1cbcc40
CW
225032010-06-07 Colin Watson <cjwatson@ubuntu.com>
22504
22505 * util/grub.d/00_header.in: Add some more quoting (of
22506 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
22507 work again.
22508 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
22509
db8fa1ad
CW
225102010-06-07 Colin Watson <cjwatson@ubuntu.com>
22511
22512 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
22513 to `count', fixing variable shadowing that broke the -c option.
22514
225152010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
22516
22517 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
22518 in case they contain spaces.
22519
f28a9212
CW
225202010-06-04 Colin Watson <cjwatson@ubuntu.com>
22521
22522 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
22523 "part_" to partmap module names, in line with grub-install.
22524 Reported by: Jindřich Makovička (Debian bug #584426).
22525
9cdfe32f
CW
225262010-06-04 Colin Watson <cjwatson@ubuntu.com>
22527
22528 * util/grub-mkimage.c: Make target-related error messages slightly
22529 more helpful; -O talks about "format". Explicitly point to the use
22530 of -O if no target is specified.
22531 Reported by: Didier Raboud (Debian bug #584415).
22532
795b593a
CW
225332010-06-03 Colin Watson <cjwatson@ubuntu.com>
22534
22535 * INSTALL: Document several build requirements for optional features
22536 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
22537
9d9b5833
GS
225382010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
22539
22540 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
22541 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
22542 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
22543
0819fec8
CW
225442010-06-02 Colin Watson <cjwatson@ubuntu.com>
22545
22546 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
22547 Thanks to Jordan Uggla for spotting this.
22548
49396b4f
VS
225492010-06-02 Aleš Nesrsta <starous@volny.cz>
22550
22551 Finally make USB usable.
22552
22553 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
22554 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
22555 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
22556 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
22557 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
22558 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
22559 (GRUB_OHCI_FSMPS): Likewise.
22560 (GRUB_OHCI_PERIODIC_START): Likewise.
22561 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
22562 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
22563 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
22564 (GRUB_OHCI_SET_PORT_RESET): Likewise.
22565 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
22566 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
22567 (grub_ohci_transaction): Likewise.
22568 (grub_ohci_transfer): Improve condition detection algorithms.
22569 Handle toggle property. Program the transactions correctly.
22570 Improve error handling. Various important fixups.
22571 (grub_ohci_portstatus): Put register writes in right order.
22572 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
22573 (grub_uhci_transfer): Don't show "failed" message on success.
22574 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
22575 array.
22576 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
22577 determine its size.
22578 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
22579 before initialization is completed. Use IN direction for empty
22580 transfers. Use last_trans and compute toggle.
22581 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
22582 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
22583 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
22584 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
22585 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
22586 (grub_usb_device): Increase toggle to 256.
22587 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
22588 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
22589 GRUB_USBMS_SUBCLASS_SFF8070.
22590 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
22591 (grub_scsi_inquiry): New member page and alloc_length.
22592 (grub_scsi_request_sense): New structure.
22593 (grub_scsi_request_sense_data): Likewise.
22594 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
22595 control.
22596 * disk/scsi.c (grub_scsi_request_sense): New function.
22597 (grub_scsi_test_unit_ready): Likewise.
22598 (grub_scsi_inquiry): Fill new fields.
22599 (grub_scsi_read_capacity): Likewise.
22600 (grub_scsi_read10): Add request sense at the end.
22601 (grub_scsi_read12): Likewise.
22602 (grub_scsi_write10): Likewise.
22603 (grub_scsi_write12): Likewise.
22604 (grub_scsi_open): Add Test Unit Ready.
22605 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
22606 Support additional subclasses. Con't clear halt yet. Activate the
22607 proper config. Calculate LUNs correctly.
22608 (grub_usbms_transfer): Various important fixups.
22609
226102010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22611
22612 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
22613 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
22614 (grub_ohci_fini_hw): New function.
22615 (grub_ohci_restore_hw): Likewise.
22616 (GRUB_MOD_INIT(ohci)): Register preboot hook.
22617 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
22618 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
22619
226202010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22621
22622 Dedicated DMA allocations.
22623
22624 * bus/pci.c (grub_memalign_dma32): New function
22625 (grub_dma_free): Likewise.
22626 (grub_dma_get_virt): Likewise.
22627 (grub_dma_get_phys): Likewise.
22628 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
22629 (grub_ohci_pci_iter): Use dma32_alloc.
22630 (grub_ohci_transfer): Likewise.
22631 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22632 (grub_usb_bulk_readwrite): Likewise.
22633 * include/grub/pci.h: Add declarations.
22634
226352010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22636
22637 CS5536 support.
22638
22639 * bus/cs5536.c: New file.
22640 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
22641 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
22642 (cs5536_mod_SOURCES): New variable.
22643 (cs5536_mod_CFLAGS): Likewise.
22644 (cs5536_mod_LDFLAGS): Likewise.
22645 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
22646 machine/pci.h.
22647 (kernel_img_SOURCES): Add bus/cs5536.c.
22648 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
22649 usb_keyboard.mod.
22650 (usb_mod_SOURCES): New variable.
22651 (usb_mod_CFLAGS): New variable.
22652 (usb_mod_LDFLAGS): New variable.
22653 (usbtest_mod_SOURCES): New variable.
22654 (usbtest_mod_CFLAGS): New variable.
22655 (usbtest_mod_LDFLAGS): New variable.
22656 (ohci_mod_SOURCES): New variable.
22657 (ohci_mod_CFLAGS): New variable.
22658 (ohci_mod_LDFLAGS): New variable.
22659 (usbms_mod_SOURCES): New variable.
22660 (usbms_mod_CFLAGS): New variable.
22661 (usbms_mod_LDFLAGS): New variable.
22662 (usb_keyboard_mod_SOURCES): New variable.
22663 (usb_keyboard_mod_CFLAGS): New variable.
22664 (usb_keyboard_mod_LDFLAGS): New variable.
22665 * include/grub/smbus.h: New file.
22666 * include/grub/cs5536.h: New file.
22667
0b35b2a9
CW
226682010-06-02 Colin Watson <cjwatson@ubuntu.com>
22669
22670 * util/grub.d/00_header.in: Add safety check to make sure that
22671 ${locale_dir} exists before trying to probe it.
22672
ca0afd5b
CW
226732010-06-02 Colin Watson <cjwatson@ubuntu.com>
22674
22675 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
22676 per the GNU Coding Standards; this is now too obscure to be worth
22677 documenting.
22678 (QNX): Likewise.
22679 (chainloader): Remove cross-reference to `SCO UnixWare'.
22680
1c41aa78
CW
226812010-06-02 Colin Watson <cjwatson@ubuntu.com>
22682
22683 * docs/grub.texi (Chain-loading): New section.
22684 (DOS/Windows): New section, borrowed from GRUB Legacy with details
22685 adjusted for GRUB 2.
22686 (SCO UnixWare): Likewise.
22687 (QNX): Likewise.
22688 (chainloader): Add reference to `Block list syntax'.
22689 (drivemap): New section.
22690 (parttool): New section.
22691
bb8ea0f5
CW
226922010-06-02 Colin Watson <cjwatson@ubuntu.com>
22693
22694 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
22695 the grub shell'.
22696 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
22697 (Installing GRUB using grub-install): Remove reference to the grub
22698 shell; mention `grub-mkimage' and `grub-setup' instead.
22699 (Invoking grub-install): Likewise.
22700 (Interface): Add reference to `Menu entry editor'.
22701 (serial): Remove `--device' option.
22702
288dd6ed
CW
227032010-06-02 Colin Watson <cjwatson@ubuntu.com>
22704
22705 * docs/grub.texi (Configuration): New section, documenting
22706 configuration file generation using grub-mkconfig. I've left a slot
22707 for documenting the full shell scripting format but have not yet
22708 started on writing that up.
22709 (Invoking grub-mkconfig): New section.
22710
34c9f0e9
CW
227112010-06-02 Colin Watson <cjwatson@ubuntu.com>
22712
22713 * docs/grub.texi (direntry): Remove grub-terminfo reference.
22714 (GNU GRUB manual): Likewise.
22715 (General commands): Update description of `terminfo' for GRUB 2.
22716
9121567e
CW
227172010-06-02 Colin Watson <cjwatson@ubuntu.com>
22718
22719 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
22720 (GRUB_MOD_INIT): Fix capitalisation.
22721 * docs/grub.texi (Command-line and menu entry commands): Document
22722 gettext and gptsync commands.
22723
ab631611
CW
227242010-06-02 Colin Watson <cjwatson@ubuntu.com>
22725
22726 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
22727 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
22728
bde4a9ac
CW
227292010-06-01 Colin Watson <cjwatson@ubuntu.com>
22730
22731 Add btrfs probing support, currently only in the single-device case.
22732
22733 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
22734 function.
22735 (grub_guess_root_device): Call find_root_device_from_mountinfo
22736 before looking in /dev.
22737
b1d17e10
VS
227382010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22739
22740 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
22741 GRUB_DISK_SIZE_UNKNOWN.
22742 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
22743
dfbfe004
JS
227442010-05-31 Jiro SEKIBA <jir@unicus.jp>
22745
22746 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
22747 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
22748 corrupted or not synced properly.
22749
c2ffc8e9
VS
227502010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22751
22752 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
22753 Reported by: Seth Goldberg.
22754
56293166
VS
227552010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22756
22757 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
22758 addition of dest.
22759 Reported by: Seth Goldberg.
22760
7620e7de
VS
227612010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22762
22763 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
22764 Reported by: Seth Goldberg.
22765
c837af3f
VS
227662010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22767
22768 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
22769 64-bit address as signed on MIPS.
22770
c7c75cf4
CW
227712010-05-28 Colin Watson <cjwatson@ubuntu.com>
22772
22773 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
22774 to the empty string.
22775
fa4b8490
BC
227762010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
22777
22778 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
22779
22780 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
22781 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
22782 * kern/misc.c (__enable_execute_stack): Disable on
22783 GRUB_MACHINE_EMU.
22784
a33075b9
CW
227852010-05-28 Colin Watson <cjwatson@ubuntu.com>
22786
22787 Make grub-probe work with symbolic links under /dev/mapper as well
22788 as with real block devices. The Linux world seems to be (at best)
22789 in transition here, and GRUB shouldn't get caught in the middle.
22790
22791 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
22792 /dev/mapper.
22793
d8708134
CW
227942010-05-27 Colin Watson <cjwatson@ubuntu.com>
22795
22796 * util/grub-script-check.c (main): Ensure defined behaviour on empty
22797 input files (in which case exit zero).
22798
db2102a0
CW
227992010-05-27 Colin Watson <cjwatson@ubuntu.com>
22800
22801 * kern/emu/misc.c (canonicalize_file_name): realpath can still
22802 return NULL for various reasons even if it has a maximum-length
22803 buffer: for example, there might be a symlink loop, or the path
22804 might exceed PATH_MAX. If this happens, return NULL.
22805
5fdba519
RM
228062010-05-27 Robert Millan <rmh@gnu.org>
22807
22808 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
22809 partmap module to handle cross-partmap setups.
22810 Reported by Orestes Mas. Gràcies!
22811
d1d368e4
CW
228122010-05-27 Colin Watson <cjwatson@ubuntu.com>
22813
22814 * util/grub-mkrescue.in: Initialise override_dir rather than
22815 assuming that it's unset or empty in the environment.
22816
95ac3c73
GS
228172010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
22818
22819 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
22820 variable index into p_index to suppress a warning with -Wshadow.
22821
7d8c0213
BC
228222010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
22823
22824 * INSTALL: Added flex >= 2.5.35 requirement.
22825
db4d5813
VS
228262010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22827
22828 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
22829
f24f4300
VS
228302010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22831
22832 cmostest support.
22833
22834 * commands/i386/cmostest.c: New file.
22835 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
22836 (cmostest_mod_SOURCES): New variable.
22837 (cmostest_mod_CFLAGS): Likewise.
22838 (cmostest_mod_LDFLAGS): Likewise.
22839 * conf/i386-pc.rmk: Likewise.
22840 * docs/grub.texi (Vendor power-on keys): New section.
22841 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
22842 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
22843 and GRUB_BUTTON_CMOS_ADDRESS.
22844 * util/grub.d/00_header.in: Handle powering-on by separate button.
22845
ad603f61
VS
228462010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22847
22848 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
22849 Removed drawing_scrollbar argument. All users updated
22850 Fixes #29792.
22851 Reported by Jo Shields
22852
3ecb080a
VS
228532010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22854
22855 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
22856 buffer since gfxterm handles double repaint.
22857
5f2316c1
VS
228582010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22859
22860 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
22861 * term/gfxterm.c (real_scroll): Likewise.
22862
9a25f885
VS
228632010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22864
22865 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
22866 before calling BIOS.
22867
39fbb79a
VS
228682010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22869
22870 * include/grub/i18n.h: Always enable grub_gettext.
22871
228cfa97
VS
228722010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22873
22874 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
22875 partition naming style.
22876
21717c8f
CW
228772010-05-21 Colin Watson <cjwatson@ubuntu.com>
22878
22879 * util/grub-mkconfig.in: Fix handling of -o so that it works when
22880 not the first option.
22881
c0f48e65
CW
228822010-05-20 Colin Watson <cjwatson@ubuntu.com>
22883
22884 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
22885
96779aec
CW
228862010-05-20 Colin Watson <cjwatson@ubuntu.com>
22887
22888 * util/misc.c: Move inclusion of <limits.h> to ...
22889 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
22890
fa9d256e
GS
228912010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
22892
22893 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
22894 Fix merge error in NetBSD code.
22895 (find_partition_start) [__NetBSD__]: Likewise.
22896
123b7a85
BC
228972010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
22898
22899 Fix grub-mkrescue usage unit testing.
22900
22901 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
22902
74276c0d
CF
229032010-05-18 Christian Franke <franke@computer.org>
22904
22905 * util/grub.d/10_windows.in: Use path names instead of
22906 drive letters to prevent warning from Cygwin 1.7.
22907 Add drivemap command to menuentry if needed.
22908
c4f7b523
ST
229092010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
22910
22911 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
22912 gnumach and gnumach.gz.
22913
95b97950
VS
229142010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22915
22916 * include/grub/i18n.h (gettext): Inline instead of using #define.
22917 (grub_gettext): Likewise.
22918 (_): Likewise.
22919
01b8d2d7
VS
229202010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22921
22922 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
22923 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
22924 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
22925 (main): Add a slash after pkglibdirroot.
22926
654e1d1e
VS
229272010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22928
22929 * util/grub-install.in: Add missing "in" keyword.
22930
26966aeb
VS
229312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22932
22933 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
22934 Reported by: Seth Goldberg.
22935
75006747
VS
229362010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22937
22938 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
22939
74cbf5bd
CW
229402010-05-18 Colin Watson <cjwatson@ubuntu.com>
22941
22942 * configure.ac: Check for Linux device-mapper support.
22943
22944 * util/hostdisk.c (device_is_mapped): New function.
22945 (find_partition_start): New function, partly broken out from
22946 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
22947 device-mapper support added.
22948 (linux_find_partition): Use find_partition_start.
22949 (convert_system_partition_to_system_disk): Add `st' argument.
22950 Support Linux /dev/mapper/* devices if device-mapper support is
22951 available; only DM-RAID devices are understood at present.
22952 (find_system_device): Add `st' argument. Pass it to
22953 convert_system_partition_to_system_disk.
22954 (grub_util_biosdisk_get_grub_dev): Pass stat result to
22955 find_system_device and convert_system_partition_to_system_disk. Use
22956 find_partition_start.
22957
22958 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
22959 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
22960 * util/deviceiter.c [__linux__]: Define MINOR.
22961 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
22962 * util/mkdevicemap.c (grub_putchar): New function.
22963 (grub_getkey): New function.
22964 (grub_refresh): New function.
22965 (main): Set debug=all if -v -v is used.
22966
355b51e9
CW
229672010-05-18 Colin Watson <cjwatson@ubuntu.com>
22968
22969 Fix build with non-GNU libcs.
22970
22971 * util/misc.c (canonicalize_file_name): Move to ...
22972 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
22973 grub_make_system_path_relative_to_its_root.
22974
7fb5c25f
CW
229752010-05-18 Colin Watson <cjwatson@ubuntu.com>
22976
22977 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
22978 we handle finding grub-mkimage. Default to finding grub-mkimage in
22979 ${bindir} with program_transform_name applied, and provide a
22980 --grub-mkimage option to override this.
22981
1d3293d6
VS
229822010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22983
22984 Remove grub-mkisofs.
22985
22986 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
22987 (grub_mkisofs_SOURCES): Removed.
22988 (grub_mkisofs_CFLAGS): Removed.
22989 * util/mkisofs/defaults.h: Removed.
22990 * util/mkisofs/eltorito.c: Likewise.
22991 * util/mkisofs/exclude.h: Likewise.
22992 * util/mkisofs/hash.c: Likewise.
22993 * util/mkisofs/include/: Likewise.
22994 * util/mkisofs/include/fctldefs.h: Likewise.
22995 * util/mkisofs/include/mconfig.h: Likewise.
22996 * util/mkisofs/include/prototyp.h: Likewise.
22997 * util/mkisofs/include/statdefs.h: Likewise.
22998 * util/mkisofs/iso9660.h: Likewise.
22999 * util/mkisofs/joliet.c: Likewise.
23000 * util/mkisofs/match.c: Likewise.
23001 * util/mkisofs/match.h: Likewise.
23002 * util/mkisofs/mkisofs.c: Likewise.
23003 * util/mkisofs/mkisofs.h: Likewise.
23004 * util/mkisofs/msdos_partition.h: Likewise.
23005 * util/mkisofs/multi.c: Likewise.
23006 * util/mkisofs/name.c: Likewise.
23007 * util/mkisofs/rock.c: Likewise.
23008 * util/mkisofs/tree.c: Likewise.
23009 * util/mkisofs/write.c: Likewise.
23010
5dde9afe
VS
230112010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23012
23013 Unify grub-mkimage accross platforms.
23014
23015 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
23016 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
23017 (grub_mkelfimage_SOURCES): Removed.
23018 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
23019 (util/grub-mkimage.c_DEPENDENCIES): .. this.
23020 (bin_UTILITIES): Add grub-mkimage.
23021 (grub_mkimage_SOURCES): New variable.
23022 (kernel_img_HEADERS): Remove machine/kernel.h.
23023 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
23024 (pkglib_PROGRAMS): Add kernel.img.
23025 (kernel_img_HEADERS): Add machine/kernel.h.
23026 (kernel_img_FORMAT): Removed.
23027 (bin_UTILITIES): Remove grub-mkimage.
23028 (grub_mkimage_SOURCES): Removed.
23029 (grub_mkimage_CFLAGS): Likewise.
23030 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23031 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
23032 (pkglib_PROGRAMS): Add kernel.img.
23033 (bin_UTILITIES): Remove grub-mkimage.
23034 (grub_mkimage_SOURCES): Removed.
23035 (grub_mkimage_CFLAGS): Likewise.
23036 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23037 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
23038 (pkglib_PROGRAMS): Add kernel.img.
23039 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
23040 (pkglib_PROGRAMS): Add kernel.img.
23041 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
23042 (grub_mkimage_SOURCES): Removed.
23043 (grub_mkimage_CFLAGS): Likewise.
23044 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23045 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
23046 (pkglib_PROGRAMS): Add kernel.img.
23047 (bin_UTILITIES): Remove grub-mkimage.
23048 (grub_mkimage_SOURCES): Removed.
23049 (grub_mkimage_CFLAGS): Likewise.
23050 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23051 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
23052 (grub_mkimage_SOURCES): Removed.
23053 (grub_mkimage_CFLAGS): Likewise.
23054 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23055 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
23056 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
23057 (grub_pe32_optional_header): ... this.
23058 (grub_pe64_optional_header): ... and this. All users updated.
23059 (GRUB_PE32_PE32_MAGIC): Split into ..
23060 (GRUB_PE32_PE32_MAGIC): .. this.
23061 (GRUB_PE32_PE64_MAGIC): .. and this.
23062 (GRUB_PE32_SIGNATURE_SIZE): New definition.
23063 * include/grub/elf.h (PT_GNU_STACK): New definition.
23064 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
23065 * include/grub/i386/efi/kernel.h: Likewise.
23066 * include/grub/i386/kernel.h: Likewise.
23067 * include/grub/i386/pc/kernel.h: Likewise.
23068 * include/grub/i386/qemu/boot.h: Likewise.
23069 * include/grub/mips/kernel.h: Likewise.
23070 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23071 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23072 * include/grub/powerpc/kernel.h: Likewise.
23073 * include/grub/sparc64/ieee1275/boot.h: Likewise.
23074 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23075 * include/grub/sparc64/kernel.h: Likewise.
23076 * include/grub/x86_64/efi/kernel.h: Likewise.
23077 * include/grub/x86_64/kernel.h: Likewise.
23078 * include/grub/offsets.h: New file.
23079 * include/grub/kernel.h (grub_module_info): Split into ...
23080 (grub_module_info32): ... this.
23081 (grub_module_info64): ... and this.
23082 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
23083 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
23084 (grub_boot_blocklist): Moved from here ...
23085 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
23086 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
23087 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
23088 * include/grub/types.h (grub_target_to_host16): Removed.
23089 (grub_target_to_host32): Likewise.
23090 (grub_target_to_host64): Likewise.
23091 (grub_host_to_target16): Likewise.
23092 (grub_host_to_target32): Likewise.
23093 (grub_host_to_target64): Likewise.
23094 (grub_host_to_target_addr): Likewise.
23095
23096 Support grub-mkrescue for efi, coreboot and qemu.
23097
23098 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
23099 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
23100 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
23101 * util/grub-mkrawimage.c: Moved from here ...
23102 * util/grub-mkimage.c: ... here. All users updated.
23103 (ALIGN_ADDR): Use image_target.
23104 (TARGET_NO_FIELD): New const.
23105 (image_target_desc): New type.
23106 (image_targets): New array.
23107 (grub_target_to_host64): Use image_target.
23108 (grub_target_to_host32): Likewise.
23109 (grub_target_to_host16): Likewise.
23110 (grub_host_to_target64): Likewise.
23111 (grub_host_to_target32): Likewise.
23112 (grub_host_to_target16): Likewise.
23113 (grub_host_to_target_addr): Likewise.
23114 (generate_image): Handle multiimage.
23115 (main): Require -O parameter. All users updated.
23116 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
23117 util/efi/grub-mkimage.c
23118 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
23119 New option --rom-directory.
23120 Use xorriso.
23121 * util/i386/efi/grub-mkimage.c: Removed.
23122 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
23123 (grub_target_to_host32): Likewise.
23124 (grub_target_to_host64): Likewise.
23125 (grub_host_to_target16): Likewise.
23126 (grub_host_to_target32): Likewise.
23127 (grub_host_to_target64): Likewise.
23128 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
23129 (grub_target_to_host32): Likewise.
23130 (grub_target_to_host64): Likewise.
23131 (grub_host_to_target16): Likewise.
23132 (grub_host_to_target32): Likewise.
23133 (grub_host_to_target64): Likewise.
23134
f4fc97d0
BC
231352010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
23136
23137 Source tree is reorganized for emu build.
23138
23139 * include/grub/util/console.h: Move from here...
23140 * include/grub/emu/console.h: ...to here.
23141 * include/grub/util/getroot.h: Move from here...
23142 * include/grub/emu/getroot.h: ...to here.
23143 * include/grub/util/hostdisk.h: Move from here...
23144 * include/grub/emu/hostdisk.h: ...to here.
23145 * util/console.c: Move from here...
23146 * kern/emu/console.c: ...to here.
23147 * util/getroot.c: Move from here...
23148 * kern/emu/getroot.c: ...to here.
23149 * util/grub-emu.c: Move from here...
23150 * kern/emu/main.c: ...to here.
23151 * util/hostdisk.c: Move from here...
23152 * kern/emu/hostdisk.c: ...to here.
23153 * util/hostfs.c: Move from here...
23154 * kern/emu/hostfs.c: ...to here.
23155 * util/mm.c: Move from here...
23156 * kern/emu/mm.c: ...to here.
23157 * util/pci.c: Move from here...
23158 * bus/emu/pci.c: ...to here.
23159 * util/sdl.c: Move from here...
23160 * video/emu/sdl.c: ...to here.
23161 * util/time.c: Move from here...
23162 * kern/emu/time.c: ...to here.
23163 * util/usb.c: Move from here...
23164 * bus/usb/emu/usb.c: ...to here.
23165
23166 * include/grub/emu/misc.h: New header for grub-emu functions.
23167 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
23168
23169 * conf/any-emu.rmk: Rule updates for above renames.
23170 * conf/common.rmk: Likewise.
23171 * conf/i386-pc.rmk: Likewise.
23172 * conf/i386-qemu.rmk: Likewise.
23173 * conf/mips.rmk: Likewise.
23174 * conf/sparc64-ieee1275.rmk: Likewise.
23175 * conf/x86-efi.rmk: Likewise.
23176
23177 * disk/lvm.h: #include updates for above renames.
23178 * util/grub-mkrelpath.c: Likewise.
23179 * util/grub-probe.c: Likewise.
23180 * util/i386/pc/grub-setup.c: Likewise.
23181 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23182 * kern/emu/console.c: Likewise.
23183 * kern/emu/getroot.c: Likewise.
23184 * kern/emu/hostdisk.c: Likewise.
23185 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
23186
23187 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
23188 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
23189 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
23190 * util/misc.c: Remove grub-emu functions.
23191
cced9145
VS
231922010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
23193
23194 Fix gfxmenu crash.
23195 Reported by: Thorsten Grützmacher.
23196
23197 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
23198 timeout hook.
23199 (circprog_set_property): Register and unregister timeout hook.
23200 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
23201 (label_destroy): Free template. and unregister hook.
23202 (label_set_state): New function.
23203 (label_set_property): Handle templates and hooks.
23204 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
23205 timeout hook.
23206 (progress_bar_set_property): Register and unregister timeout hook.
23207 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
23208 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
23209 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
23210 (update_timeout_visit): Removed.
23211 (update_timeouts): New function.
23212 (redraw_timeouts): Likewise.
23213 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
23214 (grub_gfxmenu_clear_timeout): Likewise.
23215 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
23216 (grub_gfxmenu_timeout_notify): Likewise.
23217 (grub_gfxmenu_timeout_notifications): New external variable.
23218 (grub_gfxmenu_timeout_register): New function.
23219 (grub_gfxmenu_timeout_unregister): Likewise.
23220
c6e5caab
VS
232212010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23222
23223 Transform (broken) vga terminal into (working) vga video driver.
23224
23225 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
23226 video/i386/pc/vga.c.
23227 * include/grub/video.h (grub_video_driver_id):
23228 Add GRUB_VIDEO_DRIVER_VGA.
23229 * term/i386/pc/vga.c: Renamed to ...
23230 * video/i386/pc/vga.c: ...this
23231 (DEBUG_VGA): Removed.
23232 (CHAR_WIDTH): Likewise.
23233 (CHAR_HEIGHT): Likewise.
23234 (TEXT_WIDTH): Likewise.
23235 (TEXT_HEIGHT): Likewise.
23236 (DEFAULT_FG_COLOR): Likewise.
23237 (DEFAULT_BG_COLOR): Likewise.
23238 (colored_char): Likewise.
23239 (xpos): Likewise.
23240 (ypos): Likewise.
23241 (cursor_state): Likewise.
23242 (fg_color): Likewise.
23243 (bg_color): Likewise.
23244 (text_buf): Likewise.
23245 (page): Likewise.
23246 (font): Likewise.
23247 (framebuffer): New variable.
23248 (set_read_map): Disabled.
23249 (setup): New variable.
23250 (is_target): Likewise.
23251 (grub_vga_mod_init): Likewise.
23252 (grub_vga_mod_fini): Likewise.
23253 (check_vga_mem): Likewise.
23254 (write_char): Likewise.
23255 (write_cursor): Likewise.
23256 (scroll_up): Likewise.
23257 (grub_vga_putchar): Likewise.
23258 (grub_vga_getcharwidth): Likewise.
23259 (grub_vga_getwh): Likewise.
23260 (grub_vga_getxy): Likewise.
23261 (grub_vga_gotoxy): Likewise.
23262 (grub_vga_cls): Likewise.
23263 (grub_vga_setcolorstate): Likewise.
23264 (grub_vga_setcursor): Likewise.
23265 (grub_video_vga_init): New function.
23266 (grub_video_vga_setup): Likewise.
23267 (grub_video_vga_fini): Likewise.
23268 (update_target): Likewise.
23269 (grub_video_vga_blit_bitmap): Likewise.
23270 (grub_video_vga_blit_render_target): Likewise.
23271 (grub_video_vga_set_active_render_target): Likewise.
23272 (grub_video_vga_get_active_render_target): Likewise.
23273 (grub_video_vga_swap_buffers): Likewise.
23274 (grub_video_vga_set_palette): Likewise.
23275 (grub_video_vga_get_info_and_fini): Likewise.
23276 (grub_vga_term): Removed.
23277 (grub_video_vga_adapter): New variable.
23278 (GRUB_MOD_INIT): Register a video driver instead of terminal.
23279 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
23280
2bf61a98
VS
232812010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23282
23283 * video/readers/jpeg.c: Indented.
23284
09ddcd11
VS
232852010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23286
23287 Various jpeg cleanups.
23288
23289 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
23290 (grub_jpeg_decode_quan_table): Use sizeof.
23291 (grub_jpeg_decode_du): Use ARRAY_SIZE.
23292
e5507505
PH
232932010-05-05 Peter Hurley <No e-mail available> (tiny change)
23294
23295 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
23296 tables. Ignore non-last ac bit.
23297 (grub_jpeg_decode_quan_table): Likewise.
23298
7e720a9b
VS
232992010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23300
23301 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
23302 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
23303 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23304 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
23305 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
23306 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
23307
a7fc080b
VS
233082010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23309
23310 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
23311 error.
23312
2bf6012d
VS
233132010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23314
23315 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
23316
265d68cd
VS
233172010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23318
23319 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
23320 condition.
23321
233222010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
23323
23324 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
23325 part.
23326
265d68cd 233272010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
23328
23329 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
23330 pointers.
23331
265d68cd 233322010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
23333
23334 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
23335
d1b61374
CF
233362010-05-01 Christian Franke <franke@computer.org>
23337
23338 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
23339 Remove broken Cygwin path conversion.
23340 * util/misc.c: [__CYGWIN__] Add include and define.
23341 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
23342 for Cygwin 1.7.
23343 (make_system_path_relative_to_its_root): Simplify loop, replace early
23344 return by break.
23345 [__CYGWIN__] Add conversion to win32 path.
23346 Include "/" case in trailing slash removal.
23347
3558c6e9
VS
233482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23349
23350 * kern/main.c (grub_load_config): Fix copy-pasted comment.
23351 Reported by: Seth Goldberg
23352
f5f3ff93
VS
233532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23354
23355 * commands/help.c (grub_cmd_help): Fix a typo.
23356 Reported by: Seth Goldberg
23357
d8b5cd40
VS
233582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23359
23360 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
23361 name and add N_.
23362 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
23363 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
23364 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
23365 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
23366 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
23367 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
23368 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23369 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23370 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23371 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23372 * normal/context.c (GRUB_MOD_INIT): Likewise.
23373 * normal/main.c (GRUB_MOD_INIT): Likewise.
23374 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23375 * term/serial.c (GRUB_MOD_INIT): Likewise.
23376 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23377
88c14915
VS
233782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23379
23380 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
23381 extra == 0.
23382
165134bc
VS
233832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23384
23385 * commands/iorw.c: New file.
23386 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
23387 (iorw_mod_SOURCES): New variable.
23388 (iorw_mod_CFLAGS): Likewise.
23389 (iorw_mod_LDFLAGS): Likewise.
23390
c5ac9b32
VS
233912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23392
23393 Hotkey support
23394
23395 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
23396 * normal/main.c (hotkey_aliases): New variable.
23397 (grub_normal_add_menu_entry): Parse "--hotkey".
23398 * normal/menu_text.c (run_menu): Handle hotkeys.
23399
ce60689c
VS
234002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23401
23402 * kern/i386/coreboot/init.c (grub_machine_init): Call
23403 grub_machine_mmap_init on qemu.
23404
0359d006
VS
234052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23406
23407 * boot/i386/qemu/boot.S: Add a missing .code16.
23408
7819a456
VS
234092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23410
23411 Use LBIO on coreboot.
23412
23413 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
23414 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
23415 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
23416 New declaration.
23417 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
23418 grub_machine_mmap_init on coreboot.
23419 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
23420 GRUB_LINUXBIOS_MEMBER_LINK.
23421 (grub_machine_mmap_iterate): Fix declaration.
23422 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
23423
7210dca9
VS
234242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23425
23426 Split coreboot and multiboot ports.
23427
23428 * conf/i386-multiboot.rmk: New file.
23429 * configure.ac: Add multiboot port.
23430 * include/grub/i386/multiboot/boot.h: New file.
23431 * include/grub/i386/multiboot/console.h: Likewise.
23432 * include/grub/i386/multiboot/init.h: Likewise.
23433 * include/grub/i386/multiboot/kernel.h: Likewise.
23434 * include/grub/i386/multiboot/loader.h: Likewise.
23435 * include/grub/i386/multiboot/memory.h: Likewise.
23436 * include/grub/i386/multiboot/serial.h: Likewise.
23437 * include/grub/i386/multiboot/time.h: Likewise.
23438 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
23439 * loader/multiboot.c: Likewise.
23440 * loader/multiboot_mbi2.c: Likewise.
23441 * util/grub-mkrescue.in: Generate multiboot rescue.
23442
6f8aaf68
VS
234432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23444
3080f7a7
VS
23445 * kern/parser.c (grub_parser_execute): Cope with read-only config.
23446
234472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23448
23449 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
23450
23451 * commands/terminal.c (abstract_terminal): New struct.
23452 (handle_command): New function. Based on grub_cmd_terminal_input.
23453 (grub_cmd_terminal_input): Use handle_command.
23454 (grub_cmd_terminal_output): Use handle_command.
23455
a8ebb841
BC
234562010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
23457
23458 Fix comment handling.
23459
23460 * tests/grub_script_comments.in: New testcase.
23461 * conf/tests.rmk: Rules for new testcase.
23462 * script/yylex.l: Updated flex rules.
23463
bb06ba08
ST
234642010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
23465
23466 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
23467 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
23468 if argc is 1.
bb06ba08 23469
cc9d2425
VS
234702010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23471
23472 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
23473 autogen issues.
23474
460d8402
CF
234752010-04-26 Christian Franke <franke@computer.org>
23476
23477 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
23478 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
23479 (grub_get_prefix): Remove function.
23480 * util/grub-emu.c (main): Replace grub_get_prefix () call by
23481 make_system_path_relative_to_its_root ().
23482 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23483
553c01f9
CF
234842010-04-24 Christian Franke <franke@computer.org>
23485
23486 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
23487 (kernel_img_LDFLAGS): Remove -static-libgcc.
23488
2aec1692
CF
234892010-04-24 Christian Franke <franke@computer.org>
23490
23491 * configure.ac: Do not CHECK_BSS_START_SYMBOL
23492 and CHECK_END_SYMBOL if grub-emu is built.
23493 Unset TARGET_OBJ2ELF if grub-emu is built
23494 without module support.
23495
f67dc308
JS
234962010-04-24 Jiro SEKIBA <jir@unicus.jp>
23497
23498 Nilfs2 support.
23499
23500 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
23501 (grub_fstest_SOURCES): Likewise.
23502 (pkglib_MODULES): Add nilfs2.mod.
23503 (nilfs2_mod_SOURCES): New variable.
23504 (nilfs2_mod_CFLAGS): Likewise.
23505 (nilfs2_mod_LDFLAGS): Likewise.
23506 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23507 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23508 * fs/nilfs2.c: New file.
23509
4ba8d354
VS
235102010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
23511
23512 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
23513 is not supported.
23514
0d2c20c6
GS
235152010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
23516
23517 Add grub-mkconfig support for NetBSD.
23518
23519 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
23520 * util/grub-mkconfig.in: export new NetBSD specific variables.
23521 * po/POTFILES-shell: added 10_netbsd.in.
23522 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
23523
bc4a2d83
BC
235242010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
23525
23526 Fix emu build with grub-emu-pci and grub-emu-modules.
23527
23528 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
23529 functions.
23530 * include/grub/libpciaccess.h: New file.
23531 * conf/any-emu.rmk: Update kernel headers for emu build.
23532
f48c87aa
VS
235332010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23534
23535 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
23536
18959385
VS
235372010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23538
23539 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
23540
0037de3f
VS
235412010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23542
23543 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
23544 Retrieve chosen/bootpath if bootpath isn't hardcoded.
23545 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
23546 util/ieee1275/ofpath.c.
23547 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
23548 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
23549 * include/grub/sparc64/ieee1275/boot.h
23550 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
23551 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
23552 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
23553 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
23554 const char *.
23555 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
23556 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
23557 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
23558 install.
23559
38e55e90
GS
235602010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
23561
23562 * util/grub-mkconfig.in: Corrected two == equality tests.
23563 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
23564 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
23565 expect a number appended to it.
23566 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
23567 expects a number appended to it.
23568
a9e6ff28
VS
235692010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23570
23571 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
23572
0b830b8f
VS
235732010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23574
23575 * util/hostdisk.c (make_device_name): Change to new partition naming.
23576
0973daeb
VS
235772010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
23578
23579 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
23580
460d8402 235812010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
23582
23583 * Makefile.in: Add missing localedir setting.
23584
0b456309
CW
235852010-04-14 Colin Watson <cjwatson@ubuntu.com>
23586
23587 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
23588 mistake in r2156. Noticed by Anthony Fok.
23589
23590 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
23591 @localedir@.
23592 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23593
08f46d62
BC
235942010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
23595
23596 Fix a spurious, uninitialized variable warning.
23597
23598 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
23599 Initialize variable, shdr.
23600 (grub_freebsd_load_elfmodule): Likewise.
23601 (grub_freebsd_load_elf_meta): Likewise.
23602
8c4a72d4
BC
236032010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
23604
23605 Fix for escaped dollar in double quoted strings.
23606
23607 * script/yylex.l: Updated flex rules.
23608 * conf/tests.rmk: Rule for new testcase.
23609 * tests/grub_script_dollar.in: New testcase.
23610
ce44826e
CPE
236112010-04-13 Carles Pina i Estany <carles@pina.cat>
236122010-04-13 Colin Watson <cjwatson@ubuntu.com>
23613
23614 Enclose all translated strings in grub.cfg in single quotes, and
23615 escape them appropriately (Ubuntu bug #552921).
23616
23617 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
23618 * util/grub.d/10_hurd.in: Use it.
23619 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23620 * util/grub.d/10_linux.in (linux_entry): Likewise.
23621
4b0cd8f8
VS
236222010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23623
23624 Fix cygwin compilation.
23625
23626 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
23627 * include/grub/misc.h (__register_frame_info)
23628 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
23629 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23630 * kern/misc.c (__register_frame_info)
23631 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
23632 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23633
01fcf061
VS
236342010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23635
23636 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
23637
5d04b11e
VS
236382010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23639
23640 Unify libgcc processing.
23641
23642 * Makefile.in (kernel_img_LDFLAGS): New variable.
23643 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
23644 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
23645 overwriting.
23646 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
23647 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
23648 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
23649 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
23650 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
23651 overwriting. Remove -lgcc and -static-libgcc
23652 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
23653 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23654 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23655 (kernel_img_LDFLAGS): Append instead of overwriting.
23656 Remove -lgcc and -static-libgcc
23657 * conf/sparc64-ieee1275.rmk: Likewise.
23658 * include/grub/powerpc/libgcc.h: Move to ...
23659 * include/grub/libgcc.h: .. this.
23660 * include/grub/libgcc.h: Don't export most of the function on x86.
23661 (__bswapsi2): New export.
23662 (__bswapdi2): Likewise.
23663 * include/grub/mips/libgcc.h: Removed.
23664 * include/grub/sparc64/libgcc.h: Likewise.
23665
b7f3ac29
VS
236662010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23667
23668 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
23669 disk_info_msg (conflicts with gettexting into languages with cases).
23670
2c7031b1
GS
236712010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
23672
23673 Add grub-probe support for NetBSD.
23674
23675 * util/getroot.c (find_root_device): Convert block device to
23676 character device on NetBSD.
23677 * util/probe.c (probe): Require character device on NetBSD.
23678 * util/hostdisk.c: NetBSD specific headers.
23679 (configure_device_driver): new function to tune device driver
23680 parameters (currently only for NetBSD floppy driver).
23681 (grub_util_biosdisk_open): NetBSD specific code (get disk size
23682 via disklabel ioctl).
23683 (open_device): call configure_device_driver on NetBSD.
23684 (convert_system_partition_to_system_disk): NetBSD specific code.
23685 (device_is_wholedisk): Likewise.
23686 (grub_util_biosdisk_get_grub_dev): Likewise.
23687 (make_device_name): Fixed a typo in bsd_part_str.
23688 * configure.ac: check for opendisk() and getrawpartition() on
23689 NetBSD and set LIBUTIL.
23690 * Makefile.in: add LIBUTIL to LIBS.
23691
f516290c
BC
236922010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
23693
23694 Documentation fix.
23695
23696 * util/grub-script-check.c: Better help message.
23697
d8dcc0df
BC
236982010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
23699
23700 Fix FreeBSD build.
23701
23702 * configure.ac: Flex version check.
23703 * conf/common.rmk: Add -Wno-error to sh.mod.
23704 * script/yylex.l: Remove all #pragma.
23705
6734334a
VS
237062010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23707
23708 * include/grub/util/misc.h (canonicalise_file_name): Add missing
23709 prototype.
23710 Reported by: Seth Goldberg.
23711
daea6abd
VS
237122010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23713
23714 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
23715 Rename "module" to "module2".
23716 Reported by: Seth Goldberg.
23717
f2fd9d2b
VS
237182010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23719
23720 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
23721 EXPORT_FUNC.
23722 Reported by: Seth Goldberg.
23723
be124579
VS
237242010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23725
23726 * lib/posix_wrap/locale.h: Add missing file.
23727 Reported by: Seth Goldberg.
23728
ef5da797
VS
237292010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23730
23731 grub-emu module load support.
23732
23733 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
23734 NO_DYNAMIC_MODULES switched to this.
23735 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
23736 (CFLAGS): Likewise.
23737 * conf/any-emu.rmk: Generate symlist.
23738 (kernel_img_HEADERS): Add util/datetime.h.
23739 (kernel_img_HEADERS) [sdl]: Add sdl.h.
23740 (kernel_img_HEADERS) [libusb]: Add libusb.h.
23741 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
23742 kern/$(target_cpu)/cache.S.
23743 * configure.ac (grub-emu-modules): New option.
23744 * genmk.rb: Handle multiple source lists.
23745 * include/grub/sdl.h: New file.
23746 * include/grub/libusb.h: Likewise.
23747 * util/grub-emu.c (main): Hanle (host) root.
23748 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
23749 GRUB_ERR_UNKNOWN_DEVICE.
23750 * util/misc.c: Move mm functions to ...
23751 * util/mm.c: ... here. All users updated.
23752
47822096
VS
237532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23754
23755 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
23756 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
23757 missing files.
23758 (maintainer-clean): Remove libgcrypt-grub.
23759
5d7e7445
VS
237602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23761
23762 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
23763
25f4e252
EC
237642010-04-09 EFI Coder <eficoder@hotmail.com>
23765
23766 * normal/menu_text.c (print_message): Clean up the message and show
23767 the Fn information when on EFI
23768 * term/efi/console.c (grub_console_checkkey): Add F4 support.
23769
027de555
VS
237702010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23771
23772 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
23773 All users updated.
23774 * normal/crypto.c (read_crypto_list): Likewise.
23775 * normal/dyncmd.c (read_command_list): Likewise.
23776 * normal/term.c (read_terminal_list): Likewise.
23777 * normal/main.c (read_lists): Use explicit prefix.
23778 (read_lists_hook): Use read_lists.
23779 (grub_normal_execute): Likewise.
23780
47779711
VS
237812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
23784 Reported by: Thomas Schmitt.
23785 Add -no-emul-boot to grub-mkisofs parameters.
23786
1118c32e
VS
237872010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23788
23789 * font/font.c: Indented.
23790
7d652447
BC
237912010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
23792
23793 Elif support to GRUB script (by Deepak Vankadaru).
23794
23795 * tests/grub_script_if.in: New testcase.
23796 * conf/tests.rmk: Rule for new testcase.
23797 * script/parser.y: Grammar rules for elif.
23798
34bb22df
BC
237992010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
23800
23801 While and until loops support to GRUB script.
23802
23803 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
23804 (grub_script_create_cmdwhile): New function prototype.
23805 (grub_script_execute_cmdwhile): New function prototype.
23806 * script/execute.c (grub_script_execute_cmdwhile): New function.
23807 * script/parser.y (command): New commands.
23808 (whilecmd): New grammar rule.
23809 (untilcmd): New grammar rule.
23810 * script/script.c (grub_script_create_cmdwhile): New function.
23811 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
23812 function.
23813
23814 * tests/grub_script_while1.in: New testcase.
23815 * conf/tests.rmk: Rule for new testcase.
23816
e215d8e0
VS
238172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23818
23819 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
23820 as *.jpg.
23821
d7c43ba1
MV
238222010-04-09 Mario Vazquez <mariovazq@gmail.com>
23823
23824 GRUB_BACKGROUND support.
23825
23826 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
23827 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
23828
d64795c0
VS
238292010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23830
23831 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 23832 Idea by: Mario Vazquez
d64795c0
VS
23833
23834 * util/grub.d/00_header.in: Load pf2 and image modules.
23835
f267f83a
VS
238362010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23837
23838 grub-mkconfig multiple terminal support.
23839
23840 * util/grub-mkconfig.in: Handle multiple terminals correctly.
23841 * util/grub.d/00_header.in: Likewise.
23842
b7841ceb
VS
238432010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23844
23845 * Makefile.in: Specify files explicitly instead of using $< and $@ since
23846 we use cd $(srcdir).
23847
df60998c
CW
238482010-04-08 Colin Watson <cjwatson@ubuntu.com>
23849
23850 * util/grub.d/10_linux.in: Only use the first word of
23851 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
23852 spaces in GRUB_DISTRIBUTOR.
23853 * util/grub.d/10_kfreebsd.in: Likewise.
23854 * util/grub.d/10_hurd.in: Likewise.
23855
fa09c82e
BC
238562010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
23857
14e18ae3 23858 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
23859
23860 * tests/util/grub-shell.in: Remove -serial stdio option.
23861
daf892b3
BC
238622010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
23863
23864 POSIX header file wrappers.
23865
23866 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
23867 equivalents.
23868 * lib/posix_wrap/ctype.h: Likewise.
23869 * lib/posix_wrap/errno.h: Likewise.
23870 * lib/posix_wrap/langinfo.h: Likewise.
23871 * lib/posix_wrap/limits.h: Likewise.
23872 * lib/posix_wrap/localcharset.h: Likewise.
23873 * lib/posix_wrap/stdint.h: Likewise.
23874 * lib/posix_wrap/stdio.h: Likewise.
23875 * lib/posix_wrap/stdlib.h: Likewise.
23876 * lib/posix_wrap/string.h: Likewise.
23877 * lib/posix_wrap/sys/types.h: Likewise.
23878 * lib/posix_wrap/unistd.h: Likewise.
23879 * lib/posix_wrap/wchar.h: Likewise.
23880 * lib/posix_wrap/wctype.h: Likewise.
23881 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
23882 (grub_script.yy.h): Likewise.
23883 * script/yylex.l: Remove POSIX emulation #defines.
23884 * Makefile.in (POSIX_CFLAGS): New variable.
23885 (GNULIB_UTIL_CFLAGS): Likewise.
23886
23887 Regexp support.
23888
23889 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
23890 (regexp_mod_SOURCES): New variable.
23891 (regexp_mod_CFLAGS): Likewise.
23892 (regexp_mod_LDFLAGS): Likewise.
23893 * commands/regexp.c: New file.
23894 * gnulib/regcomp.c: New file. Imported from gnulib.
23895 * gnulib/regex.c: Likewise.
23896 * gnulib/regex_internal.c: Likewise.
23897 * gnulib/regex_internal.h: Likewise.
23898 * gnulib/regexec.c: Likewise.
23899 * gnulib/regex.h: Likewise.
23900
974ac4f7
VS
239012010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23902
23903 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
23904 unsupported video mode types.
23905
2622c3ff
VS
239062010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23907
23908 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
23909
064cb524
VS
239102010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23911
23912 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
23913 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
23914
a8c3b552
VS
239152010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23916
23917 Remove unused grub_vga_get_font.
23918
23919 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
23920 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
23921
187bbe3d
GS
239222010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23923
23924 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
23925 * include/grub/misc.h: Likewise.
23926
b9396631
GS
239272010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23928
23929 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
23930 for which failure is fatal.
23931
50479feb
GS
239322010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23933
23934 * util/grub-install.in: Use mkdir -p to create grub directory.
23935 * util/i386/efi/grub-install.in: Likewise.
23936 * util/ieee1275/grub-install.in: Likewise.
23937
b1654fdf
GS
239382010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23939
23940 * Makefile.in (LEX): new variable.
23941
bd5a6415
GS
239422010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23943
23944 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
23945 `=' and added double quotes on operands of this equality test.
23946
3db3a82b
VS
239472010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
23948
23949 * Makefile.in (uninstall): Remove a leftover debug echo.
23950 Reported by: Grégoire Sutre
23951
38023412
VS
239522010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
23953
23954 MIPS multiboot2 support.
23955
23956 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
23957 (multiboot2_mod_SOURCES): New variable.
23958 (multiboot2_mod_CFLAGS): Likewise.
23959 (multiboot2_mod_LDFLAGS): Likewise.
23960 (multiboot2_mod_ASFLAGS): Likewise.
23961 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
23962 definition.
23963 (MULTIBOOT_ENTRY_REGISTER): Likewise.
23964 (MULTIBOOT_MBI_REGISTER): Likewise.
23965 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
23966 (MULTIBOOT_ELF32_MACHINE): Likewise.
23967 (MULTIBOOT_ELF64_MACHINE): Likewise.
23968 * include/grub/mips/multiboot.h: New file.
23969 * include/grub/video.h (grub_video_driver_id): New type
23970 GRUB_VIDEO_DRIVER_SM712.
23971 (grub_video_get_info_and_fini): Export.
23972 (grub_video_get_palette): Likewise.
23973 (grub_video_get_driver_id): Likewise.
23974 * include/multiboot2.h: Resynced with spec.
23975 * loader/i386/multiboot.c: Moved from here ...
23976 * loader/multiboot.c: ... here. All users updated.
23977 (grub_multiboot_boot): Use platform-specific macros.
23978 * loader/i386/multiboot_elfxx.c: Moved from here ...
23979 * loader/multiboot_elfxx.c: ... here. All users updated.
23980 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
23981 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
23982 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
23983
47674667
VS
239842010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
23985
23986 Import gnulib argp module.
23987
23988 * gnulib/argp-ba.c: New file.
23989 * gnulib/argp-eexst.c: Likewise.
23990 * gnulib/argp-fmtstream.c: Likewise.
23991 * gnulib/argp-fmtstream.h: Likewise.
23992 * gnulib/argp-fs-xinl.c: Likewise.
23993 * gnulib/argp-help.c: Likewise.
23994 * gnulib/argp-namefrob.h: Likewise.
23995 * gnulib/argp-parse.c: Likewise.
23996 * gnulib/argp-pin.c: Likewise.
23997 * gnulib/argp-pv.c: Likewise.
23998 * gnulib/argp-pvh.c: Likewise.
23999 * gnulib/argp-version-etc.c: Likewise.
24000 * gnulib/argp-version-etc.h: Likewise.
24001 * gnulib/argp-xinl.c: Likewise.
24002 * gnulib/argp.h: Likewise.
24003
495442ed
VS
240042010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24005
24006 * kern/device.c (grub_device_iterate): Clear errors after failed
24007 opening device.
24008
f9fd65df
VS
240092010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24010
24011 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
24012 returned by firmware.
24013
af09641e
VS
240142010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
24015
24016 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
24017 compilation on coreboot and qemu
24018
016883a5
VS
240192010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24020
24021 * include/multiboot2.h: Resync with spec.
24022
f97e1f7d
VS
240232010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24024
24025 Multiboot2 tag support
24026
24027 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
24028 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
24029 Remove loader/multiboot_loader.c.
24030 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
24031 (grub_multiboot2_real_boot): Likewise.
24032 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
24033 (grub_get_multiboot_mmap_count): New proto.
24034 (grub_fill_multiboot_mmap): Likewise.
24035 (grub_multiboot_set_video_mode): Likewise.
24036 (grub_multiboot_set_console): Likewise.
24037 (grub_multiboot_load): Likewise.
24038 (grub_multiboot_load_elf): Likewise.
24039 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
24040 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
24041 * include/multiboot.h: Resynced with specification.
24042 * include/multiboot2.h: Resynced with specification.
24043 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
24044 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
24045 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
24046 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
24047 users updated.
24048 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
24049 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
24050 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
24051 Removed.
24052 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
24053 Moved from here...
24054 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
24055 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
24056 Moved from here...
24057 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
24058 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
24059 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
24060 All users updated.
24061 * loader/i386/multiboot_mbi2.c: New file.
24062
3506b90b
VS
240632010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24064
24065 Resync with gnulib.
24066
24067 * Makefile.in (GNULIB_CFLAGS): New variable.
24068 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
24069 (grub_script_check_CFLAGS): New variable.
24070 * gnulib/alloca.h: Resync with gnulib.
24071 * gnulib/error.c: Likewise.
24072 * gnulib/error.h: Likewise.
24073 * gnulib/fnmatch.c: Likewise.
24074 * gnulib/fnmatch_loop.c: Likewise.
24075 * gnulib/getdelim.c: Likewise.
24076 * gnulib/getline.c: Likewise.
24077 * gnulib/getopt.c: Likewise.
24078 * gnulib/getopt1.c: Likewise.
24079 * gnulib/getopt_int.h: Likewise.
24080 * gnulib/gettext.h: Likewise.
24081 * gnulib/progname.c: Likewise.
24082 * gnulib/progname.h: Likewise.
24083
394a3120
GS
240842010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
24085
24086 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
24087 which is the case with --disabled-nls.
24088
24089 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
24090 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
24091 * util/misc.c: Likewise.
24092 * util/mkisofs/mkisofs.c: Likewise.
24093 * util/mkisofs/mkisofs.h: Likewise.
24094
969d1c78
VS
240952010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24096
24097 Simplify Apple CC support.
24098
24099 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
24100 Add 0 byte at the end not to have a symbol with empty target.
24101 * mmap/i386/pc/mmap_helper.S: Likewise.
24102 * genmk.rb: Ignore errors 2030 and 2050.
24103 * kern/i386/pc/startup.S: Use LOCAL when possible.
24104
8d2977bb
BC
241052010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
24106
24107 Testcase and the fix for final semicolon on cmdline.
24108
24109 * tests/grub_script_final_semicolon.in: New testcase.
24110 * conf/tests.rmk: Rules for the new testcase.
24111 * script/parser.y: Grammar fix.
24112
a7bd6915
BC
241132010-03-26 BVK Chaitanya <bvk@localhost>
24114
24115 Blank lines testcase for GRUB script.
24116
24117 * tests/grub_script_blanklines.in: New testcase.
24118 * conf/tests.rmk: Rules for the new testcase.
24119
e4ff6628
VS
241202010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24121
24122 Don't use __FILE__.
24123
24124 * genmk.rb: Add -DGRUB_FILE to all C targets.
24125 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
24126 * include/grub/list.h: Likewise.
24127 * include/grub/misc.h: Likewise.
24128 * include/grub/mm.h: Likewise.
24129 * include/grub/test.h: Likewise.
24130 * kern/mm.c: Likewise.
24131 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24132
6a5cf6b6
VS
241332010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24134
24135 Sunpc partitions support.
24136
24137 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
24138 (grub_fstest_SOURCES): Likewise.
24139 (pkglib_MODULES): Add part_sunpc.mod.
24140 (part_sunpc_mod_SOURCES): New variable.
24141 (part_sunpc_mod_CFLAGS): Likewise.
24142 (part_sunpc_mod_LDFLAGS): Likewise.
24143 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
24144 * partmap/sunpc.c: New file.
24145
746d9045
BC
241462010-03-26 BVK Chaitanya <bvk@localhost>
24147
24148 For loop support to GRUB script.
24149
24150 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
24151 (grub_script_create_cmdfor): New function prototype.
24152 (grub_script_execute_cmdfor): New function prototype.
24153 * script/execute.c (grub_script_execute_cmdfor): New function.
24154 * script/parser.y (command): New for command.
24155 (forcmd): New grammar rule.
24156 * script/script.c (grub_script_create_cmdfor): New function.
24157 * util/grub-script-check.c (grub_script_execute_cmdfor): New
24158 function.
24159 * tests/grub_script_for1.in: New testcase.
24160 * conf/tests.rmk: Rules for new testcase.
24161
18486b18
VS
241622010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24163
24164 Nested partitions
24165
24166 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
24167 'partition' is NULL, grub_partition_get_start already does that.
24168 * commands/loadenv.c (check_blocklists): Likewise.
24169 (write_blocklists): Likewise.
24170 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
24171 (grub_fstest_SOURCES): Likewise.
24172 (pkglib_MODULES): Add part_bsd.mod.
24173 (part_bsd_mod_SOURCES): New variable.
24174 (part_bsd_mod_CFLAGS): Likewise.
24175 (part_bsd_mod_LDFLAGS): Likewise.
24176 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
24177 (grub_emu_SOURCES): Likewise.
24178 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24179 * include/grub/bsdlabel.h: New file.
24180 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
24181 'get_name'.
24182 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
24183 (grub_partition_map_list): New variable.
24184 (grub_partition_map_register): Inline.
24185 (grub_partition_map_unregister): Likewise.
24186 (FOR_PARTITION_MAPS): New macro.
24187 (grub_partition_map_iterate): Removed.
24188 (grub_partition_get_start): Handle nested partitions.
24189 * include/grub/msdos_partition.h: Remove bsd-related entries.
24190 (grub_pc_partition): Remove.
24191 * kern/disk.c (grub_disk_close): Free partition data.
24192 (grub_disk_adjust_range): Handle nested partitions.
24193 * kern/partition.c (grub_partition_map_probe): New function.
24194 (grub_partition_probe): Parse name to number, handle subpartitions.
24195 (get_partmap): New function.
24196 (grub_partition_iterate): Handle subpartitions.
24197 (grub_partition_get_name): Likewise.
24198 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
24199 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
24200 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
24201 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
24202 Set 'number'.
24203 (acorn_partition_map_probe): Remove.
24204 (acorn_partition_map_get_name): Likewise.
24205 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
24206 Set 'number'.
24207 Set 'index' to 0 since there can be only one partition entry per sector.
24208 (amiga_partition_map_probe): Remove.
24209 (amiga_partition_map_get_name): Likewise.
24210 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
24211 Set 'number'.
24212 Set 'offset' and 'index' to real positions of partitions.
24213 (apple_partition_map_probe): Remove.
24214 (apple_partition_map_get_name): Likewise.
24215 * partmap/bsdlabel.c: New file.
24216 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
24217 Set 'number'.
24218 Allocate 'data' so it can be correctly freed.
24219 Set 'index' to offset inside sector.
24220 (gpt_partition_map_probe): Remove.
24221 (gpt_partition_map_get_name): Likewise.
24222 * partmap/msdos.c (grub_partition_parse): Remove.
24223 (pc_partition_map_iterate): Don't force raw access.
24224 Set 'number'.
24225 Make 'ext_offset' a local variable.
24226 (pc_partition_map_probe): Remove.
24227 (pc_partition_map_get_name): Remove.
24228 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
24229 Set 'number'.
24230 (sun_partition_map_probe): Remove.
24231 (sun_partition_map_get_name): Likewise.
24232 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
24233 (grub_pcpart_type): Likewise.
24234 * util/hostdisk.c (open_device): Handle new numbering scheme.
24235 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
24236 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
24237 * util/grub-probe.c (probe_partmap): Handle nested paritions.
24238 * util/grub-install.in: Insert all subpartition modules.
24239 * util/ieee1275/grub-install.in: Likewise.
24240
a3940f88
AG
242412010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
24242
24243 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
24244 grammar.
24245
21b99926 242462010-03-24 Colin Watson <cjwatson@ubuntu.com>
24247
24248 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
24249
bed1d352
CW
242502010-03-21 Colin Watson <cjwatson@ubuntu.com>
24251
24252 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
24253 match where 'make install' puts them.
24254 * util/i386/efi/grub-install.in: Likewise.
24255
c9f58427
CW
242562010-03-19 Colin Watson <cjwatson@ubuntu.com>
24257
24258 * .bzrignore: Add gentrigtables, grub-script-check,
24259 grub_script_check_init.c, grub_script_check_init.h, and
24260 trigtables.c.
24261
f84afb27
VS
242622010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
24263
24264 * kern/parser.c: Indented.
24265
ed0e3d30
VS
242662010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24267
24268 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
24269
0ea81d98
VS
242702010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24271
24272 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
24273 alpha_mask_size == 0 case.
24274
0cdc2a09
BC
242752010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
24276
24277 GRUB shell lexer and parser improvements.
24278
24279 * conf/any-emu.rmk: Build rule updates.
24280 * conf/common.rmk: Likewise.
24281 * conf/i386-coreboot.rmk: Likewise.
24282 * conf/i386-efi.rmk: Likewise.
24283 * conf/i386-ieee1275.rmk: Likewise.
24284 * conf/i386-pc.rmk: Likewise.
24285 * conf/powerpc-ieee1275.rmk: Likewise.
24286 * conf/x86_64-efi.rmk: Likewise.
24287
24288 * configure.ac: Configure check for flex.
24289
24290 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
24291 types.
24292 (grub_lexer_param): Struct member updates.
24293 (grub_parser_param): Likewise.
24294 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
24295 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
24296 (grub_script_lexer_init): Prototype update.
24297 (grub_script_lexer_record_start): Likewise.
24298 (grub_script_lexer_record_stop): Likewise.
24299 (grub_script_lexer_yywrap): New function prototype.
24300 (grub_script_lexer_fini): Likewise.
24301 (grub_script_execute_argument_to_string): Removed by...
24302 (grub_script_execute_argument_to_argv): ...better version.
24303
24304 * script/execute.c (ROUND_UPTO): New macro.
24305 (grub_script_execute_cmdline): Out of memory fixes.
24306 (grub_script_execute_menuentry): Likewise.
24307 (grub_script_execute_argument_to_string): Removed. Update all
24308 users by...
24309 (grub_script_execute_argument_to_argv): ...better version.
24310 * script/function.c (grub_script_function_create): Use
24311 grub_script_execute_argument_to_argv instead of
24312 grub_script_execute_argument_to_string.
24313
24314 * script/lexer.c (check_varstate): Removed.
24315 (check_textstate): Removed.
24316 (grub_script_lexer_record_start): Likewise.
24317 (grub_script_lexer_record_stop): Likewise.
24318 (recordchar): Replaced with...
24319 (grub_script_lexer_record): ...new function.
24320 (nextchar): Removed.
24321 (grub_script_lexer_init): Rewritten.
24322 (grub_script_yylex): Rewritten.
24323 (append_newline): New function.
24324 (grub_script_lexer_yywrap): New function.
24325 (grub_script_lexer_fini): New function.
24326 (grub_script_yyerror): Sets error flag.
24327
24328 * script/yylex.l: New file.
24329 (grub_lexer_yyfree): Wrapper for flex yyffre.
24330 (grub_lexer_yyalloc): Likewise.
24331 (grub_lexer_yyrealloc): Likewise.
24332 * script/parser.y: Refactored.
24333
24334 * script/script.c (grub_script_arg_add): Out of memory fixes.
24335 (grub_script_add_arglist): Likewise.
24336 (grub_script_create_cmdline): Likewise.
24337 (grub_script_create_cmdmenu): Likewise.
24338 (grub_script_add_cmd): Likewise.
24339 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
24340 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
24341 unnecessary code.
24342
24343 * tests/grub_script_echo1.in: New testcase.
24344 * tests/grub_script_vars1.in: New testcase.
24345 * tests/grub_script_echo_keywords.in: New testcase.
24346
1d63a066
VS
243472010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24348
24349 Remove some redundancy in build system.
24350
24351 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
24352 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
24353 (TARGET_LDFLAGS): Add -nostdlib.
24354 (TARGET_IMG_LDFLAGS): Likewise.
24355 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
24356 anything since mmap isn't available.
24357 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
24358 Add util/time.c.
24359 (pkglib_MODULES): Remove reboot.mod.
24360 (reboot_mod_SOURCES): Removed.
24361 (reboot_mod_CFLAGS): Likewise.
24362 (reboot_mod_LDFLAGS): Likewise.
24363 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
24364 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
24365 (DEFSYMFILES): Add kernel_syms.lst.
24366 (kernel_img_HEADERS): Add common headers.
24367 (symlist.c): New target.
24368 (kernel_syms.lst): Likewise.
24369 (pkglib_MODULES): Add memdisk.mod.
24370 (memdisk_mod_SOURCES): New variable.
24371 (memdisk_mod_CFLAGS): Likewise.
24372 (memdisk_mod_LDFLAGS): Likewise.
24373 (pkglib_MODULES): Add reboot.mod.
24374 (reboot_mod_SOURCES): New variable.
24375 (reboot_mod_CFLAGS): Likewise.
24376 (reboot_mod_LDFLAGS): Likewise.
24377 (pkglib_MODULES): Add date.mod.
24378 (date_mod_SOURCES): New variable.
24379 (date_mod_CFLAGS): Likewise.
24380 (date_mod_LDFLAGS): Likewise.
24381 (pkglib_MODULES): Add datehook.mod.
24382 (datehook_mod_SOURCES): New variable.
24383 (datehook_mod_CFLAGS): Likewise.
24384 (datehook_mod_LDFLAGS): Likewise.
24385 (pkglib_MODULES): Add lsmmap.mod.
24386 (lsmmap_mod_SOURCES): New variable.
24387 (lsmmap_mod_CFLAGS): Likewise.
24388 (lsmmap_mod_LDFLAGS): Likewise.
24389 (pkglib_MODULES): Add boot.mod.
24390 (boot_mod_SOURCES): New variable.
24391 (boot_mod_CFLAGS): Likewise.
24392 (boot_mod_LDFLAGS): Likewise.
24393 * conf/i386-coreboot.rmk: Removed redundant parts.
24394 * conf/i386-ieee1275.rmk: Likewise.
24395 * conf/i386-pc.rmk: Likewise.
24396 * conf/mips-yeeloong.rmk: Likewise.
24397 * conf/mips.rmk: Likewise.
24398 * conf/powerpc-ieee1275.rmk: Likewise.
24399 * conf/sparc64-ieee1275.rmk: Likewise.
24400 * conf/x86_64-efi.rmk: Likewise.
24401 * conf/i386-coreboot.rmk: Moved qemu parts ..
24402 * conf/i386-qemu.rmk: ... here
24403 * conf/i386-efi.rmk: Moved common parts to...
24404 * conf/x86-efi.rmk: ... here.
24405 * conf/i386.rmk: Added modules common to all x86 variants.
24406 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
24407 * disk/memdisk.c: Remove grub/machine/kernel.h.
24408 * gensymlist.sh.in: Include symbol.h.
24409 * hook/datehook.c: Correct module name.
24410 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
24411 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
24412 * include/grub/i386/efi/serial.h: New file.
24413 * include/grub/x86_64/efi/serial.h: Likewise.
24414 * util/time.c: Likewise.
24415 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
24416
463ac55f
CK
244172010-03-14 Colin King <colin.king@ubuntu.com>
244182010-03-14 Colin Watson <cjwatson@ubuntu.com>
24419
24420 Shrink the pre-partition-table part of boot.img by eight bytes.
24421
24422 * boot/i386/pc/boot.S (ERR): New macro.
24423 (chs_mode): Use ERR.
24424 (geometry_error): Likewise.
24425 (hd_probe_error): Remove. This is only used once, so we wrwite
24426 it inline instead.
24427 (read_error): Instead of printing read_error_string, just set up
24428 %si and fall through to ...
24429 (error_message): ... this new function, also used by ERR.
24430
08e46ede
CW
244312010-03-14 Colin Watson <cjwatson@ubuntu.com>
24432
24433 Speed up consecutive hostdisk operations on the same device.
24434
24435 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
24436 (grub_util_biosdisk_open): Initialise disk->data.
24437 (struct linux_partition_cache): New structure.
24438 (linux_find_partition): Cache partition start positions; these are
24439 expensive to compute on every read and write.
24440 (open_device): Cache open file descriptor in disk->data, so that we
24441 don't have to reopen it and flush the buffer cache for consecutive
24442 operations on the same device.
24443 (grub_util_biosdisk_close): New function.
24444 (grub_util_biosdisk_dev): Set `close' member.
24445
24446 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
24447 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
24448 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24449 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24450 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
24451
4a6d2d06
VS
244522010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24453
24454 Compile parts of grub-emu as modules.
24455
24456 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
24457 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
24458 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
24459 (all-local): Add $(GRUB_EMU).
24460 (install-local): Install $(GRUB_EMU).
24461 (uninstall): Uninstall $(GRUB_EMU).
24462 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
24463 * kern/dl.c: Likewise.
24464 * commands/sleep.c: Not include machine/time.h.
24465 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
24466 (COMMON_CFLAGS): Likewise.
24467 (sbin_UTILITIES): Remove grub-emu.
24468 (grub_emu_SOURCES): Removed.
24469 (kernel_img_RELOCATABLE): New variable.
24470 (pkglib_PROGRAMS): Add kernel.img.
24471 (kernel_img_SOURCES): New variable
24472 (kernel_img_CFLAGS): Likewise.
24473 (kernel_img_LDFLAGS): Likewise.
24474 (TARGET_NO_STRIP): Likewise.
24475 (TARGET_NO_DYNAMIC_MODULES): Likewise.
24476 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
24477 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
24478 (grub-emu): New target.
24479 (GRUB_EMU): New variable.
24480 * configure.ac: Whitelist -emu as possible x86_64 architecture.
24481 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
24482 * loader/xnu.c: Likewise.
24483 * include/grub/pci.h: Likewise.
24484 * genemuinit.sh: New file.
24485 * genemuinitheader.sh: Likewise.
24486 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
24487 Support TARGET_NO_DYNAMIC_MODULES.
24488 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
24489 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
24490 * disk/loopback.c: Likewise.
24491 * font/font_cmd.c: Likewise.
24492 * partmap/acorn.c: Likewise.
24493 * partmap/amiga.c: Likewise.
24494 * partmap/apple.c: Likewise.
24495 * partmap/gpt.c: Likewise.
24496 * partmap/msdos.c: Likewise.
24497 * partmap/sun.c: Likewise.
24498 * parttool/msdospart.c: Likewise.
24499 * term/gfxterm.c: Likewise.
24500 * video/bitmap.c: Likewise.
24501 * video/readers/jpeg.c: Likewise.
24502 * video/readers/png.c: Likewise.
24503 * video/readers/tga.c: Likewise.
24504 * video/video.c: Likewise.
24505 * util/grub-emu.c (read_command_list): Removed.
24506 (main): Don't call util_init_nls.
24507 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
24508 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
24509
91fdd2ed
VS
245102010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24511
24512 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
24513 date.mod, datehook.mod.
24514 (datetime_mod_SOURCES): New variable.
24515 (datetime_mod_CFLAGS): Likewise.
24516 (datetime_mod_LDFLAGS): Likewise.
24517 (date_mod_SOURCES): Likewise.
24518 (date_mod_CFLAGS): Likewise.
24519 (date_mod_LDFLAGS): Likewise.
24520 (datehook_mod_SOURCES): Likewise.
24521 (datehook_mod_CFLAGS): Likewise.
24522 (datehook_mod_LDFLAGS): Likewise.
24523 * conf/sparc64-ieee1275.rmk: Likewise.
24524 * lib/ieee1275/datetime.c: New file.
24525
873ccae6
VS
245262010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24527
24528 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
24529 (ieee1275_fb_mod_SOURCES): New variable.
24530 (ieee1275_fb_mod_CFLAGS): Likewise.
24531 (ieee1275_fb_mod_LDFLAGS): Likewise.
24532 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
24533 New proto.
24534 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
24535 (HEAP_MAX_ADDR): Likewise.
24536 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
24537 type.
24538 Correct stop condition.
24539 (grub_ieee1275_devices_iterate): New function.
24540 * video/ieee1275.c: New file.
24541
601c97c0
VS
245422010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24543
24544 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
24545
24546 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
24547 as scratch.
24548 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
24549 SCRATCH_PAD_DISKBOOT as scratch.
24550 (bootit): Pass Openfirmware pointer in %o4.
24551 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
24552 of 0x200000.
24553 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
24554 with util/grub-mkrawimage.c.
24555 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
24556 * include/grub/aout.h (AOUT_MID_SUN): New definition.
24557 (grub_aout_get_type) [GRUB_UTIL]: Removed.
24558 (grub_aout_load) [GRUB_UTIL]: Likewise.
24559 * include/grub/kernel.h (grub_modules_get_end): New proto.
24560 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
24561 (SCRATCH_PAD_BOOT): New definition.
24562 (SCRATCH_PAD_DISKBOOT): Likewise.
24563 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
24564 * include/grub/sparc64/ieee1275/ieee1275.h
24565 (grub_ieee1275_original_stack): New variable
24566 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24567 New definition
24568 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
24569 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
24570 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
24571 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
24572 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
24573 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
24574 (grub_platform_image_format_t): New type.
24575 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
24576 * kern/main.c (grub_modules_get_end)
24577 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
24578 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
24579 (codestart): Switch stacks.
24580 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
24581 variable.
24582 (grub_heap_init): Use grub_modules_get_end.
24583 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
24584 stack.
24585 * util/grub-mkrawimage.c (generate_image): Support sparc64.
24586 (main): Likewise.
24587 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
24588
d68b491e
TG
245892010-03-14 Thorsten Glaser <tg@mirbsd.org>
24590
24591 * util/grub-mkrescue.in: Base ISO UUID on UTC.
24592
4e02ed50
MK
245932010-03-08 Matt Kraai <kraai@ftbfs.org>
24594
24595 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
24596 bug #559005).
24597
1f15fc1e
VS
245982010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
24599
24600 * genmoddep.awk: Output all missing symbols and not only first.
24601
fce5d8ff
VS
246022010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24603
24604 * NEWS: Put the date of 1.98 release.
24605
d1e8a02f
VS
246062010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24607
24608 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
24609 ft2build.h.
24610
696fd607
VS
246112010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24612
24613 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
24614 completition in the middle of string.
24615
33e2e6f3
VS
246162010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24617
24618 * util/grub-mkrescue.in: Use mktemp with explicit template.
24619
b1f6d291
VS
246202010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24621
24622 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
24623
2ac227c7
VS
246242010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24625
24626 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
24627 right pointer.
24628
8f9a632b
VS
246292010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24630
24631 Fix FreeBSD compilation.
24632
24633 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
24634 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
24635
60b03859
VS
246362010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24637
24638 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
24639
48a5a769
VS
246402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24641
24642 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
24643
3ab4bd77
VS
246442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24645
24646 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
24647
d116e0d8
RM
246482010-03-04 Robert Millan <rmh.grub@aybabtu.com>
24649
24650 Support relative image path in theme file.
24651
24652 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
24653 (image_set_property): Handle theme_dir and relative path.
24654
c7ef54aa
VS
246552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24656
24657 * configure.ac: Alias amd64 to x86_64.
24658
fcee14ed
VS
246592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24660
24661 * NEWS: mention multiboot on EFI.
24662
d0780363
VS
246632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24664
24665 * kern/main.c (grub_load_modules): Handle errors from init functions of
24666 embeded modules.
24667
41168ea4
VS
246682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24669
24670 * normal/autofs.c (autoload_fs_module): Handle errors.
24671
b54d93ac
VS
246722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24673
24674 Disable linux.mod on qemu-mips since it's not functional and leads
24675 to compilation failure.
24676
24677 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
24678 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
24679 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
24680 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
24681 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
24682 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
24683 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
24684 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
24685 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
24686 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
24687 Reported by: BVK Chaitanya
24688
fc8345da
JU
246892010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
24690
24691 * INSTALL: Add gettext as a dependency and add qemu to a new section
24692 "Prerequisites for make-check".
24693
4760f979
CF
246942010-03-04 Christian Franke <franke@computer.org>
24695
24696 * util/grub-pe2elf.c: Add missing include "progname.h".
24697
f209b5b2
VS
246982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24699
24700 * normal/crypto.c (read_crypto_list): Fix a typo.
24701 Reported by: Seth Goldberg.
24702
b4b7be98
VS
247032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24704
24705 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 24706 Reported by: Seth Goldberg.
b4b7be98 24707
c0ee0385
VS
247082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24709
24710 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
24711 ascii.bitmaps.
24712
a8efbf64
VS
247132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24714
24715 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 24716 Reported by: Seth Goldberg.
a8efbf64 24717
08dcd913
VS
247182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24719
24720 * util/i386/efi/grub-install.in: Copy gettext files.
24721
c4d0b332
VS
247222010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24723
24724 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
24725
c6f2fe52
VS
247262010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24727
24728 Wait for user entry basing on presence of output rather than on errors.
24729
24730 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
24731 (grub_install_newline_hook): Likewise.
24732 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
24733 * normal/menu.c (show_menu): Check line_counter to determine presence
24734 of output.
24735 * normal/term.c (grub_normal_line_counter): New variable.
24736 (grub_normal_get_line_counter): New function.
24737 (grub_install_newline_hook): Likewise.
24738
5382b1e4
VS
247392010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24740
24741 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
24742
5519963b
VS
247432010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24744
24745 * configure.ac: Update version to 1.98.
24746
72b28631
VS
247472010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
24748
24749 * util/grub.d/10_linux.in (linux_entry): Don't default to
24750 gfxpayload=keep if Linux doesn't support video handover.
24751
c140a180
VS
247522010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
24753
24754 Don't compile video modules on yeeloong since video subsystem is part
24755 of kernel.
24756
24757 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
24758 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
24759 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
24760 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
24761 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
24762 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
24763 * include/grub/bitmap_scale.h: Likewise.
24764 * include/grub/bufio.h: Likewise.
24765 * include/grub/font.h: Likewise.
24766 * include/grub/gfxterm.h: Likewise.
24767 * include/grub/video.h: Likewise.
24768 * include/grub/vbe.h: Don't include video_fb.h.
24769 * video/i386/pc/vbe.c: Include video_fb.h.
24770 * commands/i386/pc/vbetest.c: Include video.h.
24771
a0ca21c2
CW
247722010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
24773
24774 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
24775 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
24776 default entry if GRUB_SAVEDEFAULT=true. This allows using
24777 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
24778 saving a new default on every boot.
24779
4a8a763c
VS
247802010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
24781
24782 * normal/crypto.c (read_crypto_list): Fix a memory leak.
24783 * normal/term.c (read_terminal_list): Likewise.
24784 * normal/main.c (grub_normal_init_page): Likewise.
24785 (grub_normal_read_line_real): Likewise.
24786
607ffde2
VS
247872010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
24788
24789 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
24790 memory leak.
24791 Reported by: Seth Goldberg.
24792
2b8fa975
CW
247932010-02-24 Joey Korkames <joey+lists@kidfixit.com>
24794
24795 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
24796 duplicate declaration of `start'.
24797
618307dd
VS
247982010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
24799
24800 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
24801 filename.
24802 Reported by: Georgy Buranov
24803
7dd05b96 248042010-02-20 Carles Pina i Estany <carles@pina.cat>
24805
24806 * util/grub-mkrawimage.c (usage): Change string formatting to
24807 improve gettext.
24808
d1484a42
MRA
248092010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
24810
24811 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
24812 backspace keys.
24813
42b1d186
VS
248142010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
24815
24816 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
24817 Reported by: Michael Suchanek.
24818
248192010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
24820
24821 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
24822 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
24823
d9f31a41
VS
248242010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
24825
24826 Remove any reference to non-free fonts.
24827
24828 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
24829 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
24830 uses non-free components.
24831 * font/font.c (grub_font_get_name): Remove example name.
24832 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
24833 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
24834 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
24835 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
24836
2793c71e
GB
248372010-02-16 Georgy Buranov <gburanov@gmail.com>
24838
24839 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
24840
402e3779
VS
248412010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
24842
24843 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
24844 Double divisor.
24845 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
24846 features.
24847 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
24848
0dd1e0dd
VS
248492010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
24850
24851 * gensymlist.sh.in: Use TARGET_CC instead of CC.
24852
6fa7cfce
ST
248532010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24854
24855 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
24856 * docs/grub.texi (Command-line and menu entry commands): Document play
24857 command.
24858
37c8483b
ST
248592010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24860
24861 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
24862 parse arguments as inline tempo and notes. Move code for playing notes
24863 to...
24864 (play): ... new function.
24865
14da0fb7
ST
248662010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24867
24868 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
24869 grub_uint16_t instead of short.
24870 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
24871 disk from little endian to cpu endianness.
24872
04459e70
ST
248732010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
24874
24875 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
24876 GRUB_TICKS_PER_SECOND instead of 120.
24877
a0876943
VS
248782010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24879
24880 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
24881 escape sequence after \e.
24882
e29f95dc
VS
248832010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24884
24885 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
24886 non-ASCII characters.
24887
d27859b2
VS
248882010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24889
24890 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
24891 set root in single quotes to prevent \, from being unescaped.
24892
bc028f2f
VS
248932010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24894
24895 Prevent unknown commands from stopping menuentry execution.
24896
24897 * script/execute.c (grub_script_execute_cmdline): Print error after
24898 unknown command.
24899
095f5f82
VS
249002010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24901
24902 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
24903 Reported by: Pavel Pisa.
24904
8c717950
VS
249052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24906
24907 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
24908
904935c3
VS
249092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24910
24911 Merge grub_ieee1275_map_physical into grub_map and rename to
24912 grub_ieee1275_map
24913
24914 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
24915 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
24916 Remove.
24917 * kern/ieee1275/openfw.c (grub_map): Rename to ...
24918 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
24919 necessary.
24920 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
24921
5b59a4e3
VS
249222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24923
24924 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
24925 opening and not after.
24926
69e137e8
VS
249272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24928
24929 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
24930 constants.
24931
2c0fcc36
VS
249322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24933
24934 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
24935 (alloc_phys): Use ALIGN_UP instead of align_addr.
24936
8c6052ce
VS
249372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24938
24939 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
24940
17cec782
VS
249412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24942
24943 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
24944
e0128bbd
VS
249452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24946
24947 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
24948 verbose dprintf.
24949
ca62070b
VS
249502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24951
24952 Fix over-4GiB seek on sparc64.
24953
24954 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
24955 Replace pos_i and pos_lo with pos. All users updated.
24956 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
24957 New constant.
24958 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
24959 Likewise.
24960 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
24961 and pos_lo.
24962
bdca2607
VS
249632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24964
24965 * util/grub-mkrawimage.c (main): Call set_program_name.
24966
da278c4d
VS
249672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24968
24969 Properly align 64-bit targets.
24970
24971 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
24972 (generate_image): Use ALIGN_ADDR.
24973
b274d734
VS
249742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24975
24976 Properly create cross-endian images.
24977
24978 * include/grub/types.h (grub_host_to_target_addr): New macro
24979 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
24980
82da2062
VS
249812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24982
24983 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
24984
7cae4377
VS
249852010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24986
24987 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
24988
24989 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
24990 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
24991 (grub_linux_boot): Divide by 64K when on VESA.
24992
65a533e7
VS
249932010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24994
24995 Support GRUB_GFXPAYLOAD_LINUX.
24996
24997 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
24998 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
24999
dd01d397
VS
250002010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25001
25002 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
25003 to show messages instead of discarding them.
25004 Process errors after executing command and not before. Keep old method
25005 too as precaution.
25006
660960d6
VS
250072010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
25008
25009 * configure.ac: Check for ft2build.h.
25010
62509f04
VS
250112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25012
25013 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
25014
473df63d
VS
250152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25016
25017 * genkernsyms.sh.in: Use TARGET_CC.
25018
c98d2a13
CW
250192010-02-07 Colin Watson <cjwatson@ubuntu.com>
25020
25021 * NEWS: Update.
25022
6e14234c
VS
250232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25024
25025 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
25026 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
25027 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 25028
b255e9cf
YB
250292010-02-07 Yves Blusseau <blusseau@zetam.org>
25030
6e14234c 25031 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 25032
98e6959d
VS
250332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25034
25035 Fix warnings in grub-emu when compiling with maximum warning options.
25036
25037 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
25038 (grub_arch_modules_addr): Return 0 and not NULL.
25039 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 25040 (xstrdup): Use newstr instead of dup.
f88d801b
VS
25041 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
25042 of disk to dsk to avoid shadowing.
74e4934e
VS
25043 (find_free_slot): Fix prototype.
25044 * util/getroot.c (grub_util_is_dmraid): Make static.
25045 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
25046 Add missing prototype.
25047 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 25048
74e31b5c
VS
250492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25050
25051 * loader/i386/linux.c (grub_linux_setup_video): Handle error
25052 appropriately.
25053
6b2ad14b
VS
250542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25055
25056 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
25057 code out.
25058
8f891adc
VS
250592010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25060
25061 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
25062 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
25063 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
25064 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
25065 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
25066 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
25067
74b45184
VS
250682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25069
25070 * include/grub/err.h (grub_err_printf): Don't export.
25071
a4bced77
VS
250722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25073
25074 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
25075
007d0695
VS
250762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25077
25078 * include/grub/i18n.h (grub_gettext_dummy): Removed.
25079 * kern/misc.c (grub_gettext_dummy): Make static.
25080
b6c0d9c2
VS
250812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25082
25083 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
25084 by non-valid ones.
25085 * kern/term.c (grub_putchar): Likewise.
25086
f51a90d0
VS
250872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25088
25089 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
25090 buggy hook call and memory leak.
25091
6846cec5
VS
250922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25093
25094 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
25095
468d69fe
VS
250962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25097
25098 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
25099
51906b8c
VS
251002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25101
25102 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
25103 modevar.
25104 Return grub_errno on allocation error.
25105
09706ce5
VS
251062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25107
25108 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
25109
911df80c
YB
251102010-02-06 Yves Blusseau <blusseau@zetam.org>
25111
25112 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
25113 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
25114
3746a6bc
VS
251152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25116
25117 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
25118 non-pxe disk.
25119 (grub_pxefs_open): Likewise.
25120
09706ce5
VS
251212010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25122
25123 * util/grub.d/10_hurd.in: Add --class information to menuentries.
25124 * util/grub.d/10_kfreebsd.in: Likewise.
25125 * util/grub.d/10_linux.in: Likewise.
25126
7cc192d9
VS
251272010-02-06 Colin D Bennett <colin@gibibit.com>
25128
25129 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
25130 (gfxmenu_mod_SOURCES): New variable.
25131 (gfxmenu_mod_CFLAGS): Likewise.
25132 (gfxmenu_mod_LDFLAGS): Likewise.
25133 * include/grub/term.h (grub_term_set_current_output): Declare
25134 argument as const.
25135 * docs/gfxmenu-theme-example.txt: New file.
25136 * gfxmenu/gfxmenu.c: Likewise.
25137 * gfxmenu/gui_box.c: Likewise.
25138 * gfxmenu/gui_canvas.c: Likewise.
25139 * gfxmenu/gui_circular_progress.c: Likewise.
25140 * gfxmenu/gui_image.c: Likewise.
25141 * gfxmenu/gui_label.c: Likewise.
25142 * gfxmenu/gui_list.c: Likewise.
25143 * gfxmenu/gui_progress_bar.c: Likewise.
25144 * gfxmenu/gui_string_util.c: Likewise.
25145 * gfxmenu/gui_util.c: Likewise.
25146 * gfxmenu/icon_manager.c: Likewise.
25147 * gfxmenu/model.c: Likewise.
25148 * gfxmenu/named_colors.c: Likewise.
25149 * gfxmenu/theme_loader.c: Likewise.
25150 * gfxmenu/view.c: Likewise.
25151 * gfxmenu/widget-box.c: Likewise.
25152 * include/grub/gfxmenu_model.h: Likewise.
25153 * include/grub/gfxmenu_view.h: Likewise.
25154 * include/grub/gfxwidgets.h: Likewise.
25155 * include/grub/gui.h: Likewise.
25156 * include/grub/gui_string_util.h: Likewise.
25157 * include/grub/icon_manager.h: Likewise.
25158
251592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25160
25161 Agglomerate scrolling in gfxterm.
25162
25163 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
25164 (grub_virtual_screen_setup): Initialise 'total_screen'.
25165 (write_char): Split to ...
25166 (paint_char): ... this ...
25167 (write_char): ... and this.
25168 (paint_char): Handle delayed scrolling.
25169 (draw_cursor): Likewise.
25170 (scroll_up): Split to ...
25171 (real_scroll): ... this ...
25172 (scroll_up): ... and this.
25173 (real_scroll): Handle multi-line scroll and draw below-the-bottom
25174 characters.
25175 (grub_gfxterm_refresh): Call real_scroll.
25176
251772010-02-06 Colin D Bennett <colin@gibibit.com>
25178
25179 * include/grub/misc.h (grub_iscntrl): New inline function.
25180 (grub_isalnum): Likewise.
25181 (grub_strtol): Likewise.
25182
251832010-02-06 Colin D Bennett <colin@gibibit.com>
25184
25185 * normal/menu_text.c (get_entry_number): Move from here ...
25186 * normal/menu.c (get_entry_number): ... moved here.
25187 * include/grub/menu.h (grub_menu_get_default_entry_index):
25188 New prototype.
25189 * normal/menu.c (grub_menu_get_default_entry_index): New function.
25190 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
25191 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
25192 (grub_menu_viewer_should_return): Likewise.
25193 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
25194 * normal/menu_text.c (run_menu): Enable menu switching.
25195 * normal/menu_viewer.c (should_return): New variable.
25196 (menu_viewer_changed): Likewise.
25197 (grub_menu_viewer_show_menu): Handle menu viewer changes.
25198 (grub_menu_viewer_should_return): New function.
25199 (menuviewer_write_hook): Likewise.
25200 (grub_menu_viewer_init): Likewise.
25201
252022010-02-06 Colin D Bennet <colin@gibibit.com>
252032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25204
25205 Support for gfxterm in a window.
25206
25207 * include/grub/gfxterm.h: New file.
25208 * include/grub/video.h (struct grub_video_rect): New declaration.
25209 (grub_video_rect_t): Likewise.
25210 * term/gfxterm.c (struct grub_gfxterm_window): New type.
25211 (refcount): New variable.
25212 (render_target): Likewise.
25213 (window): Likewise.
25214 (repaint_callback): Likewise.
25215 (grub_virtual_screen_setup): Use 'render_target'.
25216 (init_window): New function.
25217 (grub_gfxterm_init_window): Likewise.
25218 (grub_gfxterm_init): Check reference counter.
25219 Use init_window.
25220 (destroy_window): New function.
25221 (grub_gfxterm_destroy_window): Likewise.
25222 (grub_gfxterm_fini): Check reference counter.
25223 Use destroy_window.
25224 (redraw_screen_rect): Restore viewport.
25225 Use 'render_target' and 'window'.
25226 Call 'repaint_callback'.
25227 (write_char): Use 'render_target'.
25228 (draw_cursor): Likewise.
25229 (scroll_up): Restore viewport.
25230 Use 'render_target' and 'window'.
25231 Call 'repaint_callback'.
25232 (grub_gfxterm_cls): Likewise.
25233 (grub_gfxterm_refresh): Use 'window'.
25234 (grub_gfxterm_set_repaint_callback): New function.
25235 (grub_gfxterm_background_image_cmd): Use 'window'.
25236 (grub_gfxterm_get_term): New function.
25237 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
25238
252392010-02-06 Colin D Bennett <colin@gibibit.com>
25240
25241 Bitmap scaling support.
25242
25243 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
25244 (bitmap_scale_mod_SOURCES): New variable.
25245 (bitmap_scale_mod_CFLAGS): Likewise.
25246 (bitmap_scale_mod_LDFLAGS): Likewise.
25247 * include/grub/bitmap_scale.h: New file.
25248 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
25249 (background_image_cmd_options): New variable.
25250 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
25251 (cmd): Rename and change type to ...
25252 (background_image_cmd_handle): ... this. All users updated.
25253 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
25254 * video/bitmap_scale.c: New file.
25255
252562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25257
25258 SDL support.
25259
25260 * Makefile.in (LIBSDL): New variable.
25261 (enable_grub_emu_sdl): Likewise.
25262 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
25263 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
25264 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
25265 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
25266 * util/sdl.c: New file.
25267
252682010-02-06 Colin D Bennett <colin@gibibit.com>
252692010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25270
25271 Double buffering support.
25272
25273 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
25274 * include/grub/video.h: Update comment.
25275 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
25276 New type.
25277 (grub_video_fb_doublebuf_blit_init): New prototype.
25278 * term/gfxterm.c (scroll_up): Support double buffering.
25279 (grub_gfxterm_refresh): Likewise.
25280 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
25281 (grub_video_fb_doublebuf_blit_init): Likewise.
25282 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
25283 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
25284 'displayed_page', 'render_page' and 'update_screen'.
25285 (grub_video_vbe_fini): Free offscreen buffer.
25286 (doublebuf_pageflipping_commit): New function.
25287 (doublebuf_pageflipping_update_screen): Likewise.
25288 (doublebuf_pageflipping_init): Likewise.
25289 (double_buffering_init): Likewise.
25290 (grub_video_vbe_setup): Enable doublebuffering.
25291 (grub_video_vbe_swap_buffers): Implement.
25292 (grub_video_vbe_set_active_render_target): Handle double buffering.
25293 (grub_video_vbe_get_active_render_target): Likewise.
25294 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
25295 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
25296 (grub_video_vbe_enable_double_buffering): Likewise.
25297 (grub_video_vbe_swap_buffers): Use update_screen.
25298 (grub_video_set_mode): Use double buffering.
25299
253002010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25301
25302 * maintainance/gentrigtables.py: Remove.
25303 * lib/trig.c: Likewise.
25304
25305 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
25306
25307 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
25308 `trigtables.c'.
25309 (trigtables.c): New rule.
25310 (gentrigtables): Likewise.
25311 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
25312
253132010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25314
25315 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
25316 integer constants.
25317
253182010-02-06 Colin D Bennet <colin@gibibit.com>
25319
25320 Trigonometry support.
25321
25322 * include/grub/trig.h: New file.
25323 * lib/trig.c: Likewise.
25324 * maintainance/gentrigtables.py: Likewise.
25325 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
25326 (trig_mod_SOURCES): New variable.
25327 (trig_mod_CFLAGS): Likewise.
25328 (trig_mod_LDFLAGS): Likewise.
25329
5562834e
VS
253302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25331
25332 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
25333 disk devices.
25334
4f8528fc
VS
253352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25336
25337 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
25338 error.
25339
2b4068e9
VS
253402010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25341
25342 * util/hostdisk.c (open_device): Don't use partition device when reading
25343 before the partition.
25344 (grub_util_biosdisk_read): Don't read from partition and before the
25345 partition in single operation.
25346 (grub_util_biosdisk_write): Don't write to partition and before the
25347 partition in single operation.
25348
399f6e4d
TL
253492010-02-03 Torsten Landschoff <torsten@debian.org>
25350
25351 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25352 last sectors.
25353
996649b0
VS
253542010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25355
25356 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
25357 CDROM reads.
25358 (grub_biosdisk_write): Refuse to write to CDROM.
25359
3b205d4d
VS
253602010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25361
25362 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
25363
61e89d9d
VS
253642010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25365
25366 * font/font.c (find_glyph): Check that bmp_idx is available before
25367 using it.
25368 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
25369 with (font == NULL).
25370
bf7fcba2
CS
253712010-01-28 Christian Schmitt <chris@ilovelinux.de>
25372
25373 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
25374
f45d2663
BC
253752010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
25376
25377 * include/grub/script_sh.h (sourcecode): Add const qualifier.
25378 * util/grub-script-check.c (getline): Fix empty lines case.
25379
ec1444e6
RM
253802010-01-28 Robert Millan <rmh.grub@aybabtu.com>
25381
25382 * Makefile.in (check): Exit with fail status when one of the tests
25383 fails.
25384 * tests/example_functional_test.c (example_test): Fix reversed assert.
25385 * tests/example_unit_test.c (example_test): Likewise.
25386
2e1cb9bb
CW
253872010-01-28 Colin Watson <cjwatson@ubuntu.com>
25388
25389 * util/grub.d/10_linux.in: This script does not use any of the
25390 contents of gettext.sh, only the external command `gettext', so stop
25391 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
25392 the same prefix as GRUB.)
25393 * util/grub.d/10_kfreebsd.in: Likewise.
25394
63533ab0
VS
253952010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25396
25397 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
25398 of the line.
25399
989e1f93
VS
254002010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25401
25402 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25403 last sectors.
25404
e709ebe2
VS
254052010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25406
25407 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
25408 having a 4KiB and not 32KiB buffer size.
25409
27dea7ed
RM
254102010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25411
25412 * util/hostfs.c: Include `<errno.h>'.
25413 (grub_hostfs_read): Handle errors from fseeko() and fread().
25414
67667b9c
RM
254152010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25416
25417 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
25418 loop when using read hooks on files whose size isn't sector-aligned.
25419
c294d9d8
RM
254202010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25421
25422 Remove unused parameter.
25423
25424 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
25425 (grub_iso9660_open): Remove initialization of `data->length'.
25426
af75a9f1
RM
254272010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25428
25429 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
25430 memleak conditions.
25431
254e2ce5 254322010-01-27 Carles Pina i Estany <carles@pina.cat>
25433
25434 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
25435 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
25436
b510928c 254372010-01-26 Carles Pina i Estany <carles@pina.cat>
25438
25439 * util/bin2h.c (usage): Fix warning (space after backslash).
25440
aa2f9dd2 254412010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 25442
25443 * font/font.c: Include `grub/fontformat.h.
25444 Remove font file format constants.
25445 (grub_font_load): Use the new macros.
25446 * include/grub/fontformat.h: New file.
25447 * util/grub-mkfont.c: Include `grub/fontformat.c'.
25448 (write_font_pf2): Use the new macros.
25449
94e7e712
RM
254502010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25451
25452 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
25453 does.
25454
3973a59a
RM
254552010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25456
25457 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
25458
25459 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
25460 (_start): Macroify `0x7F'.
25461
25462 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
25463 (make_install_device): Use "(pxe)" as fallback prefix when booting
25464 via PXE.
25465
42e0cba3
GS
254662010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
25467
25468 * configure.ac: Reset LIBS after check for libgcc symbols.
25469
847effd8
CW
254702010-01-25 Colin Watson <cjwatson@ubuntu.com>
25471
25472 * util/hostdisk.c (open_device): Add trailing newline to debug
25473 message.
25474
ea4a7e35
GS
254752010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
25476
25477 * configure.ac: Check for `limits.h'.
25478 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
25479
67951a53
RM
254802010-01-24 Robert Millan <rmh.grub@aybabtu.com>
25481
25482 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
25483 capitalize error strings.
25484
c273d4ce
ST
254852010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
25486
25487 * util/grub.d/10_hurd.in: Add a recovery mode.
25488
69be5b74
VS
254892010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
25490
25491 * configure.ac: Check for libgcc symbols with -nostdlib.
25492
fc9e5810
BC
254932010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
25494
25495 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
25496
4b358c0a
VS
254972010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25498
25499 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
25500 stack since heap may be unavailable at that point.
25501 (grub_ofconsole_gotoxy): Likewise.
25502
454fcd1c
VS
255032010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25504
25505 * configure.ac: Check for _restgpr_14_x.
25506 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
25507 and _savegpr_* prototypes.
25508
566863ca
RM
255092010-01-22 Robert Millan <rmh.grub@aybabtu.com>
25510
25511 Use generic grub_reboot() for i386-efi.
25512
25513 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
25514 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
25515 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
25516
bf86e59a
VS
255172010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25518
25519 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
25520 presence of "prefix" variable as it breaks when normal.mod is
25521 embedded.
25522
d645e0f8
VS
255232010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25524
25525 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
25526 stack since heap is unavailable at that point.
25527
f9ab2e25
VS
255282010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25529
25530 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
25531 (grub_freebsd_bootinfo): Rewritten.
25532 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
25533
01fc7054
VS
255342010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25535
25536 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
25537
caab4fd6
RM
255382010-01-21 Robert Millan <rmh.grub@aybabtu.com>
25539
25540 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
25541 domain now.
25542
67eb1427
FZ
255432010-01-20 Felix Zielcke <fzielcke@z-51.de>
25544
25545 * util/misc.c (make_system_path_relative_to_its_root): Change the work
25546 around for handling "/" to the correct fix. Fix a memory leak. Use
25547 xstrdup instead of strdup.
25548
a9ed4ff3
VS
255492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25550
25551 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
25552
255532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
25554
25555 Optimise glyph lookup by Basic Multilingual Plane lookup array.
25556
25557 * font/font.c (struct grub_font): New member 'bmp_idx'.
25558 (font_init): Initialise 'bmp_idx'.
25559 (load_font_index): Fill 'bmp_idx'.
25560 (find_glyph): Make inline. Use bmp_idx for BMP characters.
25561
48209f4f
VS
255622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25563
25564 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
25565 unnecessary calls.
25566
9f0a4bb7
VS
255672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25568
25569 Move context handling out of the kernel.
25570
25571 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
25572 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
25573 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
25574 * conf/i386-efi.rmk: Likewise.
25575 * conf/i386-ieee1275.rmk: Likewise.
25576 * conf/i386-pc.rmk: Likewise.
25577 * conf/powerpc-ieee1275.rmk: Likewise.
25578 * conf/sparc64-ieee1275.rmk: Likewise.
25579 * conf/x86_64-efi.rmk: Likewise.
25580 * include/grub/env.h: Include grub/menu.h.
25581 (grub_env_var_type): Removed.
25582 (grub_env_var): Replaced field 'type' with 'global'.
25583 (grub_env_find): New prototype.
25584 (grub_env_context_open): Remove EXPORT_FUNC.
25585 (grub_env_context_close): Likewise.
25586 (grub_env_export): Likewise.
25587 (grub_env_set_data_slot): Removed.
25588 (grub_env_get_data_slot): Likewise.
25589 (grub_env_unset_data_slot): Likewise.
25590 (grub_env_unset_menu): New prototype.
25591 (grub_env_set_menu): Likewise.
25592 (grub_env_get_menu): Likewise.
25593 * include/grub/env_private.h: New file.
25594 * include/grub/normal.h (grub_context_init): New prototype.
25595 (grub_context_fini): Likewise.
25596 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
25597 * normal/context.c (grub_cmd_export): ... to here.
25598 * kern/env.c: Include env_private.h.
25599 (HASHSZ): Moved to include/grub/env_private.h.
25600 (grub_env_context): Likewise.
25601 (grub_env_sorted_var): Likewise.
25602 (current_context): Renamed from this ...
25603 (grub_current_context): ...to this. 'static' removed. All users updated.
25604 (grub_env_find): Removed 'static'.
25605 (grub_env_context_open): Moved to normal/context.c.
25606 (grub_env_context_close): Likewise.
25607 (grub_env_export): Likewise.
25608 (mangle_data_slot_name): Removed.
25609 (grub_env_set_data_slot): Likewise.
25610 (grub_env_get_data_slot): Likewise.
25611 (grub_env_unset_data_slot): Likewise.
25612 * kern/main.c (grub_set_root_dev): Don't export root.
25613 It will be done later.
25614 (grub_main): Don't export prefix.
25615 It will be done later.
25616 * normal/context.c: New file.
25617 * normal/main.c (free_menu): Use grub_env_unset_menu.
25618 (grub_normal_add_menu_entry): Use grub_env_get_menu.
25619 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
25620 (GRUB_MOD_INIT(normal)): Call grub_context_init.
25621 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
25622
8dd35b8c
VS
256232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25624
25625 setpci support.
25626
25627 * commands/setpci.c: New file.
25628 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
25629 (setpci_mod_SOURCES): New variable.
25630 (setpci_mod_CFLAGS): Likewise.
25631 (setpci_mod_LDFLAGS): Likewise.
25632
449193d5
VS
256332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25634
25635 Byte-addressable PCI configuration space.
25636
25637 * bus/pci.c (grub_pci_make_address): Use byte address instead of
25638 dword address.
25639 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
25640 GRUB_PCI_REG_CACHELINE.
25641 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
25642 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
25643 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
25644 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
25645 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
25646 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
25647 grub_pci_make_address.
25648 (lock_rom_area): Likewise.
25649 * commands/lspci.c (grub_lspci_iter): Use macroses
25650 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
25651 of grub_pci_make_address.
25652 * disk/ata.c (grub_ata_pciinit): Likewise.
25653 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
25654 (GRUB_PCI_REG_VENDOR): Likewise.
25655 (GRUB_PCI_REG_DEVICE): Likewise.
25656 (GRUB_PCI_REG_COMMAND): Likewise.
25657 (GRUB_PCI_REG_STATUS): Likewise.
25658 (GRUB_PCI_REG_REVISION): Likewise.
25659 (GRUB_PCI_REG_CLASS): Likewise.
25660 (GRUB_PCI_REG_CACHELINE): Likewise.
25661 (GRUB_PCI_REG_LAT_TIMER): Likewise.
25662 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
25663 (GRUB_PCI_REG_BIST): Likewise.
25664 (GRUB_PCI_REG_ADDRESSES): Likewise.
25665 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25666 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25667 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25668 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25669 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25670 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25671 (GRUB_PCI_REG_CIS_POINTER): Likewise.
25672 (GRUB_PCI_REG_SUBVENDOR): Likewise.
25673 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
25674 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
25675 (GRUB_PCI_REG_CAP_POINTER): Likewise.
25676 (GRUB_PCI_REG_IRQ_LINE): Likewise.
25677 (GRUB_PCI_REG_IRQ_PIN): Likewise.
25678 (GRUB_PCI_REG_MIN_GNT): Likewise.
25679 (GRUB_PCI_REG_MAX_LAT): Likewise.
25680 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
25681 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
25682 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 25683 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
25684 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
25685 space.
25686
96d73208
RM
256872010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25688
25689 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
25690 can be reliably determined to be supported.
25691
d4484482
RM
256922010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25693
25694 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
25695 that VESA is supported.
25696 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
25697 supported.
25698
00308ecf
VS
256992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25700
25701 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
25702
f66924a4
RM
257032010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25704
25705 * util/misc.c (make_system_path_relative_to_its_root): Work around
25706 special-casing of "/", as previous incarnation of this routine did.
25707
cbca0ada
VS
257082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25709
25710 Fix any-emu compilation.
25711
25712 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
25713 * grub_bin2h_SOURCES: New variable.
25714
34a66d99
RM
257152010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25716
25717 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
25718
94fabf58
RM
257192010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25720
25721 * util/grub.d/00_header.in: Fix handling of locale_dir.
25722
02cf98ca
VS
257232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25724
25725 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
25726 as possible unifont location (Gentoo).
25727 Reported by: Alexander Brüning
25728
327dbcd7
VS
257292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25730
25731 Don't try to generate lists for kernel.img.
25732
25733 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
25734 (pkglib_MODULES): Remove kernel.img.
25735 (kernel_img_EXPORTS): Removed.
25736 (kernel_img_RELOCATABLE): New variable.
25737 * conf/x86_64-efi.rmk: Likewise.
25738 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
25739
ca467290
VS
257402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25741
25742 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
25743 grub_xasprintf or grub_snprintf.
25744 (grub_vsprintf): Likewise.
25745 (grub_snprintf): New proto.
25746 (grub_vsnprintf): Likewise.
25747 (grub_xasprintf): Likewise.
25748 (grub_xvasprintf): Likewise.
25749 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
25750 (grub_sprintf): Removed.
25751 (grub_vsnprintf): New function.
25752 (grub_snprintf): Likewise.
25753 (grub_xvasprintf): Likewise.
25754 (grub_xasprintf): Likewise.
25755 (grub_vsprintf): Renamed to ...
25756 (grub_vsnprintf_real): ...this. New argument max_len.
25757
aca655fd
BC
257582010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
25759
25760 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
25761 fix grub-script-check warning.
25762
7ee92c32
VS
257632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25764
25765 * include/grub/font.h (grub_font_load): Fix prototype.
25766
f80927ca
VS
257672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25768
25769 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
25770
119c50ea
VS
257712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25772
25773 * include/grub/x86_64/at_keyboard.h: New file.
25774
47d5f3c1
VS
257752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25776
25777 * loader/mips/linux.c: Include missing grub/i18n.h.
25778
55ff5266
RM
257792009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25780
25781 * normal/menu.c (notify_execution_failure): Clarify error message.
25782
c893cc87
RM
257832009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25784
25785 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
25786 return value (and revert all return statements). Update users.
25787
917dd370
CW
257882010-01-20 Dan Merillat <debian@dan.merillat.org>
25789
25790 * kern/device.c (grub_device_iterate): Allocate new part_ent
25791 structure based on sizeof (*p) rather than sizeof (p->next), to
25792 account for structure padding.
25793
25794 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
25795 disk is NULL, which might happen for LVM physical volumes with no
25796 LVM signature.
25797
d4a4ee57
RM
257982009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25799
25800 * loader/mips/linux.c (grub_cmd_initrd)
25801 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
25802
258032009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25804
25805 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
25806 (grub_video_video_init, grub_video_bitmap_init)
25807 (grub_font_manager_init, grub_term_gfxterm_init)
25808 (grub_at_keyboard_init): New extern declarations.
25809 (grub_machine_init): Initialize gfxterm and at_keyboard.
25810
25811 * kern/main.c (grub_main): Revert grub_printf delay kludge.
25812
25813 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
25814 `gfxterm.mod' into core image.
25815
25816 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25817 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25818 (kernel_img_FORMAT): Copy to ...
25819
25820 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25821 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25822 (kernel_img_FORMAT): ... here, and ...
25823
25824 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25825 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25826 (kernel_img_FORMAT): ... here.
25827
25828 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
25829 and input (at_keyboard) terminals in kernel.
25830 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
25831
25832 (pkglib_MODULES): Remove `pci.mod'.
25833 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
25834 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
25835 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25836 (at_keyboard_mod_LDFLAGS): Remove variables.
25837
258382010-01-11 Felix Zielcke <fzielcke@z-51.de>
25839
25840 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
25841
258422009-12-10 Robert Millan <rmh.grub@aybabtu.com>
25843
25844 * include/grub/mips/libgcc.h: Only export symbols for functions
25845 that libgcc provides.
25846
258472009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
25848
25849 MIPS support.
25850
25851 * bus/bonito.c: New file.
25852 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
25853 GRUB_PCI_NUM_DEVICES.
25854 * term/i386/pc/serial.c: Move to ...
25855 * term/serial.c: ... here. All users updated.
25856 * util/i386/pc/grub-mkimage.c: Move to ...
25857 * util/grub-mkrawimage.c: ... here. All users updated.
25858 * term/i386/pc/at_keyboard.c: Move to ...
25859 * term/at_keyboard.c: ... here. All users updated.
25860 * conf/mips-qemu-mips.rmk: New file.
25861 * conf/mips-yeeloong.rmk: Likewise.
25862 * conf/mips.rmk: Likewise.
25863 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
25864 mipsel-qemu-mips.
25865 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
25866 to port addresses.
25867 (grub_ata_pciinit): Support CS5536.
25868 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
25869 * font/font_cmd.c (loadfont_command): Open file before passing it to
25870 grub_font_load.
25871 (pseudo_file_read): New function.
25872 (pseudo_file_close): Likewise.
25873 (pseudo_fs): New structure.
25874 (load_font_module): New function.
25875 (GRUB_MOD_INIT(font_manager)): Load embedded font.
25876 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
25877 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
25878 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
25879 * include/grub/i386/at_keyboard.h: Split into ...
25880 * include/grub/at_keyboard.h: ... this ...
25881 * include/grub/i386/at_keyboard.h: ... and this.
25882 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
25883 New prototype.
25884 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
25885 updated.
25886 (grub_elf64_size): Likewise.
25887 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
25888 filename.
25889 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
25890 * include/grub/i386/coreboot/serial.h: Rewritten.
25891 * include/grub/i386/ieee1275/serial.h: Include
25892 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
25893 * include/grub/i386/pc/serial.h: Moved from here ...
25894 * include/grub/serial.h: ... to here. All users updated.
25895 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
25896 (GRUB_PCI_NUM_BUS): Likewise.
25897 (GRUB_PCI_NUM_DEVICES): Likewise.
25898 (grub_pci_device_map_range): Add missing volatile keyword.
25899 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
25900 * include/grub/mips/at_keyboard.h: New file.
25901 * include/grub/mips/cache.h: Likewise.
25902 * include/grub/mips/io.h: Likewise.
25903 * include/grub/mips/kernel.h: Likewise.
25904 * include/grub/mips/libgcc.h: Likewise.
25905 * include/grub/mips/pci.h: Likewise.
25906 * include/grub/mips/qemu-mips/boot.h: Likewise.
25907 * include/grub/mips/qemu-mips/kernel.h: Likewise.
25908 * include/grub/mips/qemu-mips/loader.h: Likewise.
25909 * include/grub/mips/qemu-mips/memory.h: Likewise.
25910 * include/grub/mips/qemu-mips/serial.h: Likewise.
25911 * include/grub/mips/qemu-mips/time.h: Likewise.
25912 * include/grub/mips/relocator.h: Likewise.
25913 * include/grub/mips/time.h: Likewise.
25914 * include/grub/mips/types.h: Likewise.
25915 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
25916 * include/grub/mips/yeeloong/boot.h: Likewise.
25917 * include/grub/mips/yeeloong/kernel.h: Likewise.
25918 * include/grub/mips/yeeloong/loader.h: Likewise.
25919 * include/grub/mips/yeeloong/memory.h: Likewise.
25920 * include/grub/mips/yeeloong/pci.h: Likewise.
25921 * include/grub/mips/yeeloong/serial.h: Likewise.
25922 * include/grub/mips/yeeloong/time.h: Likewise.
25923 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
25924 * kern/elf.c (grub_elf32_size): New parameter. All users
25925 updated.
25926 (grub_elf64_size): Likewise.
25927 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
25928 Load modules before saying "Welcome to GRUB!".
25929 Call grub_refresh after saying "Welcome to GRUB!".
25930 * kern/mips/cache.S: New file.
25931 * kern/mips/cache_flush.S: Likewise.
25932 * kern/mips/dl.c: Likewise.
25933 * kern/mips/init.c: Likewise.
25934 * kern/mips/qemu-mips/init.c: Likewise.
25935 * kern/mips/startup.S: Likewise.
25936 * kern/mips/yeeloong/init.c: Likewise.
25937 * kern/term.c (grub_putcode): Handle NULL terminal.
25938 (grub_getcharwidth): Likewise.
25939 (grub_getkey): Likewise.
25940 (grub_checkkey): Likewise.
25941 (grub_getkeystatus): Likewise.
25942 (grub_getxy): Likewise.
25943 (grub_getwh): Likewise.
25944 (grub_gotoxy): Likewise.
25945 (grub_cls): Likewise.
25946 (grub_setcolorstate): Likewise.
25947 (grub_setcolor): Likewise.
25948 (grub_getcolor): Likewise.
25949 (grub_refresh): Likewise.
25950 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
25951 (write_jump): Add hatch nop.
25952 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
25953 * lib/mips/setjmp.S: New file.
25954 * loader/mips/linux.c: Likewise.
25955 * term/i386/pc/at_keyboard.c: Move from here ...
25956 * term/at_keyboard.c: ... to here.
25957 * term/i386/pc/serial.c: Moved from here ...
25958 * term/serial.c: ... to here. All users updated.
25959 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
25960 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
25961 (serial_translate_key_sequence): Avoid deadlock.
25962 (grub_serial_getkey): Handle backspace.
25963 (grub_serial_putchar): Fix newline handling.
25964 * util/i386/pc/grub-mkimage.c: Move from here ...
25965 * util/grub-mkrawimage.c: ... to here. All users updated.
25966 (generate_image): New parameters 'font_path' and 'format'.
25967 Support embedding font.
25968 Use grub_host_to_target* instead of grub_cpu_to_le*.
25969 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
25970 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
25971 (options): New option "--font".
25972 (usage): Likewise.
25973 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
25974 (main): Handle "--font".
25975 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
25976 (grub_virtual_screen_setup): Set bg_color_display.
25977 (redraw_screen_rect): Use bg_color_display instead of incorrect
25978 bg_color.
25979 (grub_gfxterm_cls): Likewise.
25980 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
25981 Support embedding config file.
25982 (add_segments): Likewise.
25983 (options): New option "--config".
25984 (main): Handle "--config".
25985 * video/sm712.c: New file.
25986
25c2b5b3
RM
259872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25988
25989 Fix parallel builds.
25990
25991 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
25992 font.c depend on ascii.h).
25993
259942010-01-12 Carles Pina i Estany <carles@pina.cat>
25995
25996 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
25997
259982010-01-11 Carles Pina i Estany <carles@pina.cat>
25999
26000 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
26001 By default: disabled.
26002 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
26003 parameter.
26004
260052010-01-10 Carles Pina i Estany <carles@pina.cat>
26006
26007 * font/font.c: Update copyright years.
26008 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
26009
260102010-01-10 Carles Pina i Estany <carles@pina.cat>
26011
26012 * font/font.c: Include `ascii.h'.
26013 (ASCII_BITMAP_SIZE): New macro.
26014 (ascii_font_glyph): Define.
26015 (ascii_glyph_lookup): New function.
26016 (grub_font_get_string_width): Change comment. If glyph not found, use
26017 ascii_glyph_lookup.
26018 (grub_font_get_glyph_with_fallback): If glyph not available returns
26019 ascii_glyph_lookup.
26020 * util/grub-mkfont.c (file_formats): New enum.
26021 (options): Add `ascii-bitmaps' new option.
26022 (usage): Add `asii-bitmaps' new option.
26023 (write_font_ascii_bitmap): New function.
26024 (write_font): Rename to ...
26025 (write_font_p2): ... this. Remove print_glyphs call.
26026 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
26027 used. Call print_glyphs.
26028 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
26029
260302010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26031
26032 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
26033 (grub_bin2h_SOURCES): New variable.
26034 * util/bin2h.c: New file.
26035
915fc1b8
VS
260362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26037
26038 * include/multiboot.h: Resynced with spec.
26039 * include/multiboot2.h: Likewise.
26040 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
26041 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
26042
9444b678
RM
260432010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26044
26045 * include/grub/term.h (grub_term_register_input,
26046 grub_term_register_output): Check return of terminal init()
26047 routines, and abort if errors are raised.
26048
26049 * commands/terminal.c: Update copyright year.
26050
cba98e8d
RM
260512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26052
26053 * commands/terminal.c (grub_cmd_terminal_input)
26054 (grub_cmd_terminal_output): Check return of terminal init()
26055 routines, and abort if errors are raised.
26056
6f7db5d6
VS
260572010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26058
26059 * include/grub/i386/bsd.h: Fix include pathes.
26060
262bff8d
VS
260612010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26062
26063 Add missing *BSD copyright headers.
26064
26065 * include/grub/aout.h: Add BSD licence.
26066 * include/grub/i386/bsd.h: Parts under different licences moved to ...
26067 * include/grub/i386/freebsd_linker.h: ... here,
26068 * include/grub/i386/freebsd_reboot.h: ... here,
26069 * include/grub/i386/netbsd_bootinfo.h: ... here,
26070 * include/grub/i386/netbsd_reboot.h: ... here,
26071 * include/grub/i386/openbsd_bootarg.h: ... here,
26072 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
26073 licence to each file.
26074
b2cab848
RM
260752010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26076
26077 * acinclude.m4: Remove `nop' assembly instruction; it's not
26078 implemented by all architectures.
26079
2cb6be4b
RM
260802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26081
26082 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
26083 ELILO. This is no longer necessary.
26084
a2eaee15
BC
260852010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
26086
26087 Added new tool, grub-scrit-check to verify grub.cfg syntax.
26088
26089 * util/grub-script-check.c: grub-script-check tool.
26090 * conf/common.rmk: Make rules for grub-script-check.
26091
88d17012
RM
260922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26093
26094 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
26095 spotting it back in 2008. Shame on me for forgetting he did.
26096
26097 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
26098
8040619d
RM
260992010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26100
26101 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
26102 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
26103 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
26104 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
26105 (GRUB_VIDEO_TYPE_EFI): Rename to ...
26106 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
26107
a0c2a0f6
RM
261082010-01-17 Robert Millan <rmh.grub@aybabtu.com>
26109
26110 * include/grub/test.h: Add license header.
26111 * tests/example_functional_test.c: Likewise.
26112 * tests/example_unit_test.c: Likewise.
26113 * tests/lib/functional_test.c: Likewise.
26114 * tests/lib/test.c: Likewise.
26115 * tests/lib/unit_test.c: Likewise.
26116
b0b13907
VS
261172010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
26118
26119 Use flag-based instead of hook-based video mode selection and "auto"
26120 keyword.
26121
26122 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
26123 (grub_video_set_mode): Changed prototype. All users updated.
26124 (grub_video_check_mode_flag): New inline function.
26125 * video/video.c (parse_modespec): New function.
26126 (grub_video_set_mode): Parse flags and keywords.
26127
ea379330 261282010-01-17 Carles Pina i Estany <carles@pina.cat>
26129
26130 * util/misc.c (grub_util_info): Fix the order of the parameters in a
26131 fprintf call.
26132
e15c215e
FZ
261332010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
26134
26135 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
26136
409ae1c9 261372010-01-16 Carles Pina i Estany <carles@pina.cat>
26138
26139 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
26140 string.
26141 * util/grub-emu.c (usage): Likewise.
26142 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
26143 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26144 * util/i386/pc/grub-mkimage.c (usage): Likewise.
26145 * util/i386/pc/grub-setup.c (usage): Likewise.
26146
70a14d3d 261472010-01-16 Carles Pina i Estany <carles@pina.cat>
26148
26149 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
26150 the message.
26151 (grub_util_info): Likewise.
26152 (grub_util_error): Likewise.
26153 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
26154 and/or new lines in `grub_util_warna', `grub_util_info',
26155 `grub_util_error' calls.
26156 * util/getroot.c: Likewise.
26157 * util/grub-editenv.c: Likewise.
26158 * util/grub-emu.c: Likewise.
26159 * util/grub-fstest.c: Likewise.
26160 * util/grub-mkdevicemap.c: Likewise.
26161 * util/grub-mkfont.c: Likewise.
26162 * util/grub-mkpasswd-pbkdf2.c: Likewise.
26163 * util/grub-mkrelpath.c: Likewise.
26164 * util/grub-pe2elf.c: Likewise.
26165 * util/grub-probe.c: Likewise.
26166 * util/hostdisk.c: Likewise.
26167 * util/i386/efi/grub-mkimage.c: Likewise.
26168 * util/i386/pc/grub-mkimage.c: Likewise.
26169 * util/i386/pc/grub-setup.c: Likewise.
26170 * util/ieee1275/ofpath.c: Likewise.
26171 * util/mkisofs/eltorito.c: Likewise.
26172 * util/mkisofs/rock.c: Likewise.
26173 * util/mkisofs/write.c: Likewise.
26174 * util/raid.c: Likewise.
26175 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26176 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26177
a0b766fc
VS
261782010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26179
26180 Enable multiboot on non-pc.
26181
26182 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
26183 multiboot.mod and multiboot2.mod to ...
26184 * conf/i386.rmk (pkglib_MODULES): ... here.
26185 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
26186 Moved to ...
26187 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
26188 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
26189 Moved to ...
26190 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
26191 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
26192 Moved to ...
26193 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
26194 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
26195 Moved to ...
26196 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
26197 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
26198 relocator.mod.
26199 (ata_mod_SOURCES): Removed.
26200 (ata_mod_CFLAGS): Likewise.
26201 (ata_mod_LDFLAGS): Likewise.
26202 (relocator_mod_SOURCES): Removed.
26203 (relocator_mod_CFLAGS): Likewise.
26204 (relocator_mod_ASFLAGS): Likewise.
26205 (relocator_mod_LDFLAGS): Likewise.
26206 Include i386.mk.
26207 * include/grub/x86_64/multiboot.h: New file.
26208 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
26209 Terminate EFI.
26210
884ade56
VS
262112010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26212
26213 Video multiboot support.
26214
26215 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
26216 New prototype.
26217 * include/multiboot.h: Resynced with multiboot specification.
26218 * include/multiboot2.h: Likewise.
26219 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
26220 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
26221 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
26222 (HAS_VGA_TEXT): Likewise.
26223 (accepts_video): New variable.
26224 (grub_multiboot_set_accepts_video): New function.
26225 (grub_multiboot_get_mbi_size): Account for video structures.
26226 (set_video_mode): New function.
26227 (retrieve_video_parameters): Likewise.
26228 (grub_multiboot_make_mbi): Fill video fields.
26229
0d90e8a6
VS
262302010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26231
26232 Video driver ids.
26233
26234 * include/grub/video.h (grub_video_driver_id): New type.
26235 (grub_video_adapter): New member 'id'. All users updated.
26236 (grub_video_get_driver_id): New proto.
26237 * video/video.c (grub_video_get_driver_id): New function.
26238
5c71db1b 262392010-01-14 Carles Pina i Estany <carles@pina.cat>
26240
26241 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
26242 `var=val'.
26243
cca15b52 262442010-01-14 Carles Pina i Estany <carles@pina.cat>
26245
26246 * normal/cmdline.c (print_completion): Gettextizze.
26247
c586fbb2 262482001-01-14 Carles Pina i Estany <carles@pina.cat>
26249
26250 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
26251
ba2f6848 262522010-01-14 Carles Pina i Estany <carles@pina.cat>
26253
26254 * gettext/gettext.c (grub_gettext_translate): Push and pop
26255 grub_errno.
26256 (grub_gettext_delete_list): Change comment style.
26257 * kern/err.c (grub_error): Gettextizze.
26258 (grub_fatal): Gettextizze.
26259
0a46429a
RM
262602010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26261
26262 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
26263 (grub_linux16_real_boot): ... this.
26264 * kern/i386/loader.S: Likewise.
26265 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
26266 (grub_linux16_boot): New function. Switches to text mode and calls
26267 grub_linux16_real_boot().
26268
26269 * loader/i386/bsd.c: Include `<grub/video.h>'.
26270 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
26271 text mode before calling grub_unix_real_boot().
26272
26273 * loader/i386/multiboot.c: Include `<grub/video.h>'.
26274 (grub_multiboot_boot): Switch to text mode before calling
26275 grub_relocator32_boot().
26276
26277 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
26278 (grub_chainloader_boot): Switch to text mode before calling
26279 grub_chainloader_real_boot().
26280
d6f93a66
RM
262812010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
262822010-01-05 Colin Watson <cjwatson@ubuntu.com>
26283
26284 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
26285 non-empty value.
26286
262872010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
262882010-01-05 Colin Watson <cjwatson@ubuntu.com>
26289
26290 * util/grub.d/00_header.in: Define a "savedefault" function for use
26291 in menu entries.
26292 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
26293
262942010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
262952010-01-05 Colin Watson <cjwatson@ubuntu.com>
26296
26297 * util/grub-mkconfig_lib.in (save_default_entry): Only set
26298 saved_entry if boot_once is unset.
26299 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
26300 previous saved entry (i.e. grub-reboot).
26301
263022009-12-08 Colin Watson <cjwatson@ubuntu.com>
26303
26304 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
26305
263062009-12-08 Colin Watson <cjwatson@ubuntu.com>
26307
26308 * util/grub.d/00_header.in: Use `set var=val' rather than plain
26309 `var=val'.
26310 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
26311
263122009-12-08 Colin Watson <cjwatson@ubuntu.com>
26313
26314 * util/grub-reboot.in: Fix --version output.
26315 * util/grub-set-default.in: Likewise.
26316
263172009-12-08 Colin Watson <cjwatson@ubuntu.com>
26318
26319 * util/grub.d/00_header.in: Silently ignore zero-sized environment
26320 blocks.
26321
263222009-12-08 Colin Watson <cjwatson@ubuntu.com>
26323
26324 * util/grub.d/00_header.in: Quote the value assigned to `default',
26325 in case it contains spaces.
26326
263272009-12-08 Colin Watson <cjwatson@ubuntu.com>
26328
26329 * util/grub.d/30_os-prober.in: Fix merge error that moved a
26330 `save_default_entry' call from the macosx case to the linux case.
26331
263322009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
263332009-10-25 Colin Watson <cjwatson@ubuntu.com>
26334
26335 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
26336 in `chosen' environment variable.
26337 * normal/menu_text.c (get_entry_number): Check if the variable
26338 matches the title of a menu entry.
26339 (run_menu): Pass menu to get_entry_number.
26340
26341 * util/grub-reboot.in: New file.
26342 * util/grub-set-default.in: New file.
26343 * conf/common.rmk (grub-reboot): New utility.
26344 (grub-set-default): New utility.
26345
26346 * util/grub-mkconfig_lib.in (save_default_entry): New function.
26347 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
26348 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
26349 move it to `saved_entry' for the next boot. Load environment on
26350 initialisation.
26351 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
26352 * util/grub.d/10_hurd.in: Likewise.
26353 * util/grub.d/10_linux.in (linux_entry): Likewise.
26354 * util/grub.d/10_windows.in: Likewise.
26355 * util/grub.d/30_os-prober.in: Likewise.
26356
26357 * util/grub-install.in: Create environment block.
26358 * util/i386/efi/grub-install.in: Likewise.
26359 * util/ieee1275/grub-install.in: Likewise.
26360 * util/sparc64/ieee1275/grub-install.in: Likewise.
26361
0934d184
BC
263622010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
26363
26364 Unit testing framework for GRUB.
26365
26366 * Makefile.in: Test framework build rules for 'make check'.
26367 * conf/tests.rmk: Build rules for individual tests and framework.
26368
26369 * include/grub/test.h: Header file for whitebox tests.
26370 * tests/lib/functional_test.c: Framework support for whitebox
26371 functional tests.
26372 * tests/lib/test.c: Common whitebox testing code for unit and
26373 functional tests.
26374 * tests/lib/unit_test.c: Framework support for whitebox unit
26375 tests.
26376
26377 * tests/util/grub-shell-tester.in: Support utility for grub-script
26378 tests.
26379 * tests/util/grub-shell.in: Utility to execute grub-script
26380 commands in a Qemu instance.
26381
26382 * tests/example_functional_test.c: Example whitebox functional
26383 test.
26384 * tests/example_grub_script_test.in: Example grub-script test.
26385 * tests/example_scripted_test.in: Example scripted test.
26386 * tests/example_unit_test.c: Example whitebox unit test.
26387
9c4ffeeb
VS
263882010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
26389
26390 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
26391 Add loader/i386/multiboot_mbi.c.
26392 (multiboot2_mod_SOURCES): Likewise.
26393 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
26394 (multiboot2_mod_SOURCES): Likewise.
26395 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
26396 (grub_multiboot_make_mbi): Likewise.
26397 (grub_multiboot_free_mbi): Likewise.
26398 (grub_multiboot_init_mbi): Likewise.
26399 (grub_multiboot_add_module): Likewise.
26400 (grub_multiboot_set_bootdev): Likewise.
26401 * loader/i386/multiboot.c (mbi): Removed.
26402 (mbi_dest): Likewise.
26403 (alloc_mbi): New variable.
26404 (grub_multiboot_payload_size): Removed. All users updated.
26405 (grub_multiboot_pure_size): New variable.
26406 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
26407 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
26408 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
26409 (grub_fill_multiboot_mmap): Likewise.
26410 (grub_multiboot_get_bootdev): Likewise.
26411 (grub_multiboot): Use multiboot_mbi functions.
26412 * loader/i386/multiboot_mbi.c: New file.
26413
17383dfe
VS
264142010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26415
26416 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
26417 it would result in module crash.
26418
c1f28820
VS
264192010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26420
26421 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
26422 (grub_ofconsole_getwh): Split to ...
26423 (grub_ofconsole_getwh): ... this.
26424 (grub_ofconsole_dimensions): ...and this.
26425 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
26426
58655a16
RM
264272010-01-13 Robert Millan <rmh.grub@aybabtu.com>
26428
26429 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
26430
10891398
VS
264312010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26432
26433 * loader/i386/pc/multiboot2.c: Removed stalled file.
26434
0b8a223c
VS
264352010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26436
26437 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
26438 Reported by: Grégoire Sutre
26439
92ab12b0
RM
264402010-01-11 Robert Millan <rmh.grub@aybabtu.com>
26441
26442 * util/misc.c (canonicalize_file_name): New function.
26443 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
26444 instead of realpath().
26445
a788afb6
CW
264462010-01-11 Colin Watson <cjwatson@ubuntu.com>
26447
26448 * util/grub-install.in (usage): Clarify meaning of --root-directory,
26449 and make it clearer that it's optional. Based on confusion
26450 witnessed on IRC.
26451
ffa8e3d2
VS
264522010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26453
26454 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
26455 in premature implicit newline.
26456
e9060a9d
VS
264572010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26458
26459 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
26460 which resulted in garbled command line at the end of screen.
26461
f0d0c0b7
RM
264622010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26463
26464 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
26465 initialization with similar approach as with other Linux loaders.
26466
0e60bae7
RM
264672010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26468
26469 Fix i386-ieee1275 build.
26470
26471 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
26472 and grub_term_height() for video_{width,height} initialization.
26473
264742010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
26475
26476 Fix grub-emu build.
26477
26478 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
26479
cdb3f378
RM
264802010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
264812010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26482
26483 Support for multiple terminals.
26484
26485 * Makefile.in (pkglib_DATA): terminal.lst.
26486 (terminal.lst): New target.
26487 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
26488 (GRUB_MOD_INIT(handler)): Likewise.
26489 (GRUB_MOD_FINI(handler)): Likewise.
26490 * commands/help.c (grub_cmd_help): Handle multiple terminals.
26491 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
26492 * commands/sleep.c (do_print): Use grub_term_restore_pos.
26493 (grub_cmd_sleep): Use grub_term_save_pos.
26494 * commands/terminal.c: New file.
26495 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
26496 commands/terminal.c and lib/charset.c.
26497 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
26498 (pkglib_MODULES): Add terminal.mod.
26499 (terminal_mod_SOURCES): New variable.
26500 (terminal_mod_CFLAGS): Likewise.
26501 (terminal_mod_LDFLAGS): Likewise.
26502 * genhandlerlist.sh: Don't handle terminals.
26503 * genmk.rb: Generate terminal-*.lst.
26504 * genterminallist.sh: New file.
26505 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
26506 (grub_is_valid_utf8): Likewise.
26507 (grub_utf8_to_ucs4_alloc): Likewise.
26508 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
26509 (grub_menu_register_viewer): Changed argument.
26510 (grub_menu_try_text): New proto.
26511 (grub_gfxmenu_try_hook): New declaration.
26512 * include/grub/normal.h (grub_normal_exit_level): New declaration.
26513 (grub_menu_init_page): Additional argument term.
26514 (grub_normal_init_page): Likewise.
26515 (grub_cmdline_get): Arguments simplified.
26516 (grub_utf8_to_ucs4_alloc): Removed.
26517 (grub_print_ucs4): Additional argument term.
26518 (grub_getstringwidth): Likewise.
26519 (grub_print_message_indented): Likewise.
26520 (grub_menu_text_register_instances): New proto.
26521 (grub_show_menu): Likewise.
26522 (read_terminal_list): Likewise.
26523 (grub_set_more): Likewise.
26524 * include/grub/parser.h: Include handler.h.
26525 * include/grub/reader.h: Rewritten.
26526 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
26527 (GRUB_TERM_WIDTH): Changed to function.
26528 (GRUB_TERM_HEIGHT): Likewise.
26529 (GRUB_TERM_BORDER_WIDTH): Likewise.
26530 (GRUB_TERM_BORDER_HEIGHT): Likewise.
26531 (GRUB_TERM_NUM_ENTRIES): Likewise.
26532 (GRUB_TERM_ENTRY_WIDTH): Likewise.
26533 (GRUB_TERM_CURSOR_X): Likewise.
26534 (grub_term_input_class): Likewise.
26535 (grub_term_output_class): Likewise.
26536 (grub_term_outputs_disabled): New declaration.
26537 (grub_term_inputs_disabled): Likewise.
26538 (grub_term_outputs): Likewise.
26539 (grub_term_inputs): Likewise.
26540 (grub_term_register_input): Rewritten.
26541 (grub_term_register_output): Likewise.
26542 (grub_term_unregister_input): Likewise.
26543 (grub_term_unregister_output): Likewise.
26544 (FOR_ACTIVE_TERM_INPUTS): New macro.
26545 (FOR_DISABLED_TERM_INPUTS): Likewise.
26546 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26547 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26548 * include/grub/terminfo.h: Add oterm argument to all protypes.
26549 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
26550 Use grub_rescue_run.
26551 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
26552 All users updated.
26553 * kern/reader.c: Removed. All users updated.
26554 * kern/rescue_reader.c (grub_rescue_init): Removed.
26555 (grub_rescue_reader): Likewise.
26556 (grub_register_rescue_reader): Likewise.
26557 (grub_rescue_run): New function based on kern/reader.c.
26558 * kern/term.c: Adapted for multiterm.
26559 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
26560 (grub_is_valid_utf8): Likewise.
26561 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
26562 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
26563 right terminal.
26564 * loader/i386/linux.c (grub_linux_boot): Likewise.
26565 * normal/auth.c (grub_username_get): New function.
26566 (grub_auth_check_authentication): Use grub_username_get.
26567 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
26568 * normal/color.c: Adapt for multiterm.
26569 * normal/main.c (read_config_file): Don't use grub_reader_loop.
26570 (grub_normal_init_page): Additional argument term.
26571 (read_lists): Call read_terminal_lists.
26572 (grub_enter_normal_mode): Call grub_cmdline_run.
26573 Handle grub_normal_exit_level.
26574 (grub_cmd_normal): Make reentrant.
26575 (grub_cmd_normal_exit): New function.
26576 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
26577 * normal/menu.c: Adapt for multiterm.
26578 * normal/menu_entry.c: Likewise.
26579 * normal/menu_text.c: Likewise.
26580 * normal/menu_viewer.c: Removed. All users updated.
26581 * normal/term.c: New file.
26582 * util/console.c: Change order of includes to workaround a bug in
26583 ncurses headers.
26584 * term/terminfo.c: New argument oterm on all exported functions.
26585 All users updated.
26586 * util/grub-editenv.c (grub_term_input_class): Removed.
26587 (grub_term_output_class): Likewise.
26588
1a064917
RM
265892010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26590
26591 Make loader output a bit more user-friendly.
26592
26593 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
26594 is being loaded. Likewise for the Hurd.
26595
26596 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
26597 that kernel of FreeBSD ${version} is being loaded.
26598
26599 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
26600 grub_dprintf().
26601 (grub_cmd_initrd): Likewise.
26602 * util/grub.d/10_linux.in (linux_entry): Print message indicating
26603 that Linux ${version} is being loaded. Likewise for initrd.
26604
5ce0a83a 266052010-01-09 Carles Pina i Estany <carles@pina.cat>
26606
26607 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
26608
809bbfeb 266092010-01-08 Carles Pina i Estany <carles@pina.cat>
26610
26611 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
26612 (GRUB_MOD_INIT): Gettextizze.
26613 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
26614 (GRUB_MOD_INIT): Gettextizze.
26615 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
26616 (grub_cmd_linux): Capitalise Linux.
26617 (GRUB_MOD_INIT): Gettextizze.
26618 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
26619 (grub_cmd_linux): Capitalise Linux.
26620 (GRUB_MOD_INIT): Gettextizze.
26621 * loader/i386/linux.c: Include `<grub/i18n.h>'.
26622 (grub_cmd_linux): Capitalise Linux.
26623 (GRUB_MOD_INIT): Gettextizze.
26624 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
26625 (GRUB_MOD_INIT): Gettextizze.
26626 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
26627 (grub_cmd_linux): Capitalise Linux.
26628 (GRUB_MOD_INIT): Gettextizze.
26629 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
26630 (grub_cpu_xnu_init): Gettextizze.
26631 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
26632 (GRUB_MOD_INIT): Gettextizze.
26633 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
26634 (GRUB_MOD_INIT): Gettextizze.
26635 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
26636 (grub_linux_load64): Capitalise Linux.
26637 (GRUB_MOD_INIT): Gettextizze.
26638 * loader/xnu.c: Include `<grub/i18n.h>'.
26639 (GRUB_MOD_INIT): Gettextizze.
26640 * po/POTFILES: Add `loader/efi/appleloader.c',
26641 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
26642 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
26643 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
26644 `loader/i386/xnu.c', `loader/multiboot_loader.c',
26645 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
26646 and `loader/xnu.c'.
26647
b394b2ca
RM
266482010-01-08 Robert Millan <rmh.grub@aybabtu.com>
26649
26650 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
26651
266522010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
26653
26654 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
26655 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
26656 * util/mkisofs/mkisofs.c (main): Readjust --version output.
26657
bc8b32b3
RM
266582010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26659
26660 Reset Multiboot 2 support. New loader implements the draft in
26661 /branches/multiboot2 and shares as much code as possible with the
26662 production Multiboot 1 implementation.
26663
26664 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
26665 * loader/multiboot2.c: Likewise.
26666 * loader/i386/multiboot_helper.S: Likewise.
26667 * include/multiboot2.h: Replace with latest version from the draft
26668 in /branches/multiboot2.
26669
26670 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
26671 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
26672 and `loader/multiboot2.c'.
26673 (pkglib_MODULES): Add `multiboot2.mod'.
26674 (multiboot2_mod_SOURCES): New variable.
26675 (multiboot2_mod_LDFLAGS): Likewise.
26676 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
26677
26678 * conf/i386-pc.rmk: Likewise.
26679
26680 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26681 (multiboot_mod_SOURCES): Remove variable.
26682 (multiboot_mod_LDFLAGS): Likewise.
26683 (multiboot_mod_CFLAGS): Likewise.
26684
26685 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
26686 `<multiboot2.h>' instead of `<multiboot.h>'.
26687 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
26688 (MULTIBOOT_HEADER_MAGIC): New macros.
26689
26690 * loader/multiboot_loader.c (module_version_status): Remove variable.
26691 (find_multi_boot2_header): Remove function.
26692 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
26693 logic. Always check for the Multiboot version we're compiling for.
26694 (grub_cmd_module_loader): Likewise.
26695 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
26696 command instead of `multiboot'.
26697
5d2c52b8
RM
266982010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26699
26700 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
26701 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
26702 all users.
26703
53108d92
RM
267042010-01-07 Robert Millan <rmh.grub@aybabtu.com>
267052010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26706
26707 Fix breakage introduced with previous commit.
26708
26709 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
26710 commands.
26711 * normal/handler.c (read_handler_list): Revert part of previous commit
26712 affecting this file.
26713 * normal/main.c (read_lists): Move read_handler_list() call back to ...
26714 (grub_normal_execute): ... here.
26715
e2e936b2
RM
267162010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26717
26718 Merge prefix-redefinition-fix branch.
26719
26720 * normal/autofs.c (read_fs_list): Make function capable of being
26721 run multiple times, gracefuly replacing the previous data
26722 structures.
26723 * normal/dyncmd.c (read_command_list): Likewise.
26724 * normal/handler.c (read_handler_list): Likewise.
26725 * normal/main.c (read_lists): New function. Calls all the
26726 list reading functions.
26727 (grub_normal_execute): Use read_lists() instead of calling all
26728 list reading functions explicitly. Register read_lists() as a
26729 variable hook attached to ${prefix}.
26730
607a3701
VS
267312010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26732
26733 Merge crypto branch.
26734
26735 * Makefile.in (pkglib_DATA): Add crypto.lst.
26736 (crypto.lst): New target.
26737 * commands/hashsum.c: New file.
26738 * commands/password.c (check_password): Use grub_crypto_memcmp.
26739 * commands/password_pbkdf2.c: New file.
26740 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
26741 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
26742 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
26743 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
26744 -I$(srcdir)/lib/libgcrypt_wrap.
26745 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
26746 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
26747 password_pbkdf2.mod.
26748 (crypto_mod_SOURCES): New variable.
26749 (crypto_mod_CFLAGS): Likewise.
26750 (crypto_mod_LDFLAGS): Likewise.
26751 (hashsum_mod_SOURCES): New variable.
26752 (hashsum_mod_CFLAGS): Likewise.
26753 (hashsum_mod_LDFLAGS): Likewise.
26754 (pbkdf2_mod_SOURCES): New variable.
26755 (pbkdf2_mod_CFLAGS): Likewise.
26756 (pbkdf2_mod_LDFLAGS): Likewise.
26757 (password_pbkdf2_mod_SOURCES): New variable.
26758 (password_pbkdf2_mod_CFLAGS): Likewise.
26759 (password_pbkdf2_mod_LDFLAGS): Likewise.
26760 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
26761 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
26762 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
26763 Include conf/gcry.rmk.
26764 * include/grub/auth.h: Rewritten.
26765 * include/grub/crypto.h: New file.
26766 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
26767 * include/grub/normal.h (read_crypto_list): New prototype.
26768 * lib/crypto.c: New file.
26769 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
26770 * lib/pbkdf2.c: Likewise.
26771 * normal/auth.c (grub_auth_strcmp): Removed.
26772 (grub_iswordseparator): Likewise.
26773 (grub_auth_strword): Likewise.
26774 (is_authenticated): Use grub_strword.
26775 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
26776 and grub_strword. Pass entered password to authentication callback.
26777 * normal/crypto.c: New file.
26778 * normal/main.c: Call read_crypto_list.
26779 * util/grub-mkpasswd-pbkdf2.c: New file.
26780 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
26781
42841caa
VS
267822010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
26783
26784 Fix descent and ascent calculation.
26785
26786 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
26787 (options): New option "asce".
26788 (usage): Likewise.
26789 (add_char): Ignore invalid glyphs for descent calculation.
26790 Calculate ascent from actual content.
26791 (print_glyphs): Use 'asce'.
26792 (write_font): Likewise. Allow ascent override.
26793 (main): Handle "asce" option.
26794
e7730de7 267952010-01-06 Carles Pina i Estany <carles@pina.cat>
26796
26797 * kern/err.c: Include `<grub/i18n.h>'.
26798 (grub_print_error): Add full stop. Gettextizze.
26799 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
26800 (grub_bsd_load_elf): Capitalise ELF.
26801 (grub_cmd_freebsd_loadenv): Add `s' in error string.
26802 (grub_cmd_freebsd_module): Likewise.
26803 (grub_cmd_freebsd_module_elf): Likewise.
26804 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
26805
40e3a41f 268062010-01-06 Carles Pina i Estany <carles@pina.cat>
26807
26808 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
26809 * commands/search_file.c (HELP_MESSAGE): New macro.
26810 * commands/search_label.c (HELP_MESSAGE): Likewise.
26811 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
26812 * po/POTFILES: Add `commands/search_file.c',
26813 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
26814 `commands/search.c'.
26815
83507e68
RM
268162010-01-05 Robert Millan <rmh.grub@aybabtu.com>
26817
26818 * config.rpath: Update from Gnulib.
26819
465c787b
YB
268202010-01-05 Yves Blusseau <blusseau@zetam.org>
26821
26822 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
26823
6581dd3a
YB
268242010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
26825
26826 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
26827
3bff18c5
CW
268282010-01-05 Colin Watson <cjwatson@ubuntu.com>
26829
26830 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
26831 arguments to fread so that we get a return value in bytes, rather
26832 than something that will normally be rounded down to 0.
26833 Adjust error handling to avoid producing garbage when size_t is not
26834 the same size as long long.
26835
a1368118
CW
268362010-01-05 Colin Watson <cjwatson@ubuntu.com>
26837
26838 * util/mkisofs/write.c (padblock_write): Check return value of
26839 fread.
26840
7c302978
RM
268412010-01-05 Robert Millan <rmh.grub@aybabtu.com>
26842
26843 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
26844 floppy images now.
26845
26846 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
26847
e33ace06
RM
268482010-01-04 Robert Millan <rmh.grub@aybabtu.com>
26849
26850 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
26851 instead of manual alignment.
26852 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
26853 verbose). Avoid attempts to read past end of the device
26854 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
26855 but GRUB_DISK_CACHE_SIZE may exceed that).
26856
4b856776
RM
268572010-01-04 Robert Millan <rmh.grub@aybabtu.com>
26858
26859 * commands/crc.c (grub_cmd_crc): Abort on read errors.
26860 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
26861 it to upper layer.
26862
52c2d97f
VS
268632010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26864
26865 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
26866 New constant.
26867 (grub_efi_piwg_device_path): New structure
26868 (grub_efi_piwg_device_path_t): New type.
26869 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
26870 (devpath_1): Transform to a structure. All users updated.
26871 (devpath_2): Likewise.
26872 (devpath_3): Likewise.
26873 (devpath_4): Likewise.
26874 (devpath_5): Likewise.
26875
98ff6a54
VS
268762010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26877
26878 * loader/efi/appleloader.c: Restored. Update all users.
26879
3a73dcb6
RM
268802010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26881
26882 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
26883
26884 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
26885 (struct boot_blocklist): Move from here ...
26886 * include/grub/i386/pc/boot.h [ASM_FILE]
26887 (struct grub_boot_blocklist): ... to here. Update all users.
26888 (setup): Only initialize `start' member of `first_block'
26889 structure. Add assert() calls to verify the other members.
26890
26891 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
26892 (generate_image): Fix broken blocklist length initialization.
26893 Add assert() call to verify blocklist `segment' field.
26894
ab0eeb0c
RM
268952010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26896
26897 * loader/efi/appleloader.c: Remove. Update all users.
26898
58bc8bd5
RM
268992010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26900
26901 * boot/i386/pc/boot.S: Update copyright year.
26902 * boot/i386/pc/cdboot.S: Likewise.
26903 * boot/i386/pc/diskboot.S: Likewise.
26904 * boot/i386/pc/lnxboot.S: Likewise.
26905 * boot/i386/pc/pxeboot.S: Likewise.
26906 * bus/pci.c: Likewise.
26907 * commands/cmp.c: Likewise.
26908 * commands/help.c: Likewise.
26909 * commands/hexdump.c: Likewise.
26910 * commands/i386/pc/halt.c: Likewise.
26911 * commands/i386/pc/play.c: Likewise.
26912 * commands/i386/pc/vbeinfo.c: Likewise.
26913 * commands/ls.c: Likewise.
26914 * commands/test.c: Likewise.
26915 * disk/dmraid_nvidia.c: Likewise.
26916 * disk/i386/pc/biosdisk.c: Likewise.
26917 * disk/ieee1275/nand.c: Likewise.
26918 * disk/ieee1275/ofdisk.c: Likewise.
26919 * disk/lvm.c: Likewise.
26920 * disk/raid.c: Likewise.
26921 * disk/raid6_recover.c: Likewise.
26922 * disk/scsi.c: Likewise.
26923 * fs/affs.c: Likewise.
26924 * fs/cpio.c: Likewise.
26925 * fs/ext2.c: Likewise.
26926 * fs/hfs.c: Likewise.
26927 * fs/iso9660.c: Likewise.
26928 * fs/ntfs.c: Likewise.
26929 * fs/sfs.c: Likewise.
26930 * fs/udf.c: Likewise.
26931 * fs/ufs.c: Likewise.
26932 * fs/xfs.c: Likewise.
26933 * gencmdlist.sh: Likewise.
26934 * genmk.rb: Likewise.
26935 * include/grub/disk.h: Likewise.
26936 * include/grub/efi/api.h: Likewise.
26937 * include/grub/efi/efi.h: Likewise.
26938 * include/grub/efi/pe32.h: Likewise.
26939 * include/grub/elf.h: Likewise.
26940 * include/grub/fs.h: Likewise.
26941 * include/grub/i386/at_keyboard.h: Likewise.
26942 * include/grub/i386/pc/memory.h: Likewise.
26943 * include/grub/i386/pc/vbe.h: Likewise.
26944 * include/grub/i386/pci.h: Likewise.
26945 * include/grub/i386/tsc.h: Likewise.
26946 * include/grub/ieee1275/ieee1275.h: Likewise.
26947 * include/grub/ntfs.h: Likewise.
26948 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26949 * include/grub/sparc64/libgcc.h: Likewise.
26950 * include/grub/symbol.h: Likewise.
26951 * include/grub/types.h: Likewise.
26952 * include/multiboot2.h: Likewise.
26953 * io/gzio.c: Likewise.
26954 * kern/device.c: Likewise.
26955 * kern/disk.c: Likewise.
26956 * kern/efi/efi.c: Likewise.
26957 * kern/efi/mm.c: Likewise.
26958 * kern/elf.c: Likewise.
26959 * kern/file.c: Likewise.
26960 * kern/i386/dl.c: Likewise.
26961 * kern/i386/pc/init.c: Likewise.
26962 * kern/i386/pc/startup.S: Likewise.
26963 * kern/ieee1275/ieee1275.c: Likewise.
26964 * kern/ieee1275/init.c: Likewise.
26965 * kern/main.c: Likewise.
26966 * kern/mm.c: Likewise.
26967 * kern/powerpc/dl.c: Likewise.
26968 * kern/sparc64/dl.c: Likewise.
26969 * kern/x86_64/dl.c: Likewise.
26970 * lib/hexdump.c: Likewise.
26971 * loader/efi/appleloader.c: Likewise.
26972 * loader/i386/ieee1275/linux.c: Likewise.
26973 * loader/i386/pc/chainloader.c: Likewise.
26974 * loader/i386/pc/linux.c: Likewise.
26975 * loader/i386/pc/multiboot2.c: Likewise.
26976 * loader/ieee1275/multiboot2.c: Likewise.
26977 * loader/multiboot2.c: Likewise.
26978 * loader/multiboot_loader.c: Likewise.
26979 * loader/powerpc/ieee1275/linux.c: Likewise.
26980 * normal/completion.c: Likewise.
26981 * normal/menu_entry.c: Likewise.
26982 * partmap/apple.c: Likewise.
26983 * util/grub.d/10_hurd.in: Likewise.
26984 * util/hostfs.c: Likewise.
26985 * video/readers/png.c: Likewise.
26986
e2d70b5c
CW
269872010-01-03 Colin Watson <cjwatson@ubuntu.com>
26988
26989 * include/grub/misc.h (GNUC_PREREQ): New macro.
26990 (ATTRIBUTE_ERROR): New macro.
26991 * include/grub/list.h (grub_bad_type_cast_real): Use
26992 ATTRIBUTE_ERROR.
26993
a173283f 269942010-01-03 Carles Pina i Estany <carles@pina.cat>
26995
26996 * normal/menu_text.c (print_message): Change messages.
26997
7fa7ff74 269982010-01-03 Carles Pina i Estany <carles@pina.cat>
26999
27000 * normal/menu_entry.c (store_completion): Gettextizze.
27001
136d24f6 270022010-01-03 Carles Pina i Estany <carles@pina.cat>
27003
27004 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
27005
f936862e 270062010-01-03 Carles Pina i Estany <carles@pina.cat>
27007
27008 * po/POTFILES: Sort correctly.
27009
29c44ad1 270102010-01-03 Carles Pina i Estany <carles@pina.cat>
27011
27012 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
27013 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
27014 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
27015 full stop.
27016 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
27017 summary. Gettextizze the strings.
27018 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
27019 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
27020 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
27021 full stop.
27022 (GRUB_MOD_INIT): Remove command name from summary.
27023 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
27024 summary.
27025 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
27026 * term/i386/pc/serial.c (options): Add full stops.
27027 (GRUB_MOD_INIT): Remove command name from the summary.
27028
77a79592 270292010-01-03 Carles Pina i Estany <carles@pina.cat>
27030
27031 * commands/acpi.c: Gettextizze help strings and/or options. Include
27032 `grub/i18n.h' if needed.
27033 * commands/blocklist.c: Likewise.
27034 * commands/boot.c: Likewise.
27035 * commands/cat.c: Likewise.
27036 * commands/cmp.c: Likewise.
27037 * commands/configfile.c: Likewise.
27038 * commands/crc.c: Likewise.
27039 * commands/date.c: Likewise.
27040 * commands/echo.c: Likewise.
27041 * commands/efi/fixvideo.c: Likewise.
27042 * commands/efi/loadbios.c: Likewise.
27043 * commands/gptsync.c: Likewise.
27044 * commands/halt.c: Likewise.
27045 * commands/handler.c: Likewise.
27046 * commands/hdparm.c: Likewise.
27047 * commands/hexdump.c: Likewise.
27048 * commands/i386/cpuid.c: Likewise.
27049 * commands/i386/pc/drivemap.c: Likewise.
27050 * commands/i386/pc/halt.c: Likewise.
27051 * commands/i386/pc/pxecmd.c: Likewise.
27052 * commands/i386/pc/vbeinfo.c: Likewise.
27053 * commands/i386/pc/vbetest.c: Likewise.
27054 * commands/ieee1275/suspend.c: Likewise.
27055 * commands/keystatus.c: Likewise.
27056 * commands/loadenv.c: Likewise.
27057 * commands/ls.c: Likewise.
27058 * commands/lsmmap.c: Likewise.
27059 * commands/lspci.c: Likewise.
27060 * commands/memrw.c: Likewise.
27061 * commands/minicmd.c: Likewise.
27062 * commands/parttool.c: Likewise.
27063 * commands/password.c: Likewise.
27064 * commands/probe.c: Likewise.
27065 * commands/read.c: Likewise.
27066 * commands/reboot.c: Likewise.
27067 * commands/search.c: Likewise.
27068 * commands/sleep.c: Likewise.
27069 * commands/test.c: Likewise.
27070 * commands/true.c: Likewise.
27071 * commands/usbtest.c: Likewise.
27072 * commands/videotest.c: Likewise.
27073 * commands/xnu_uuid.c: Likewise.
27074 * disk/loopback.c: Likewise.
27075 * hello/hello.c: Likewise.
27076 * loader/i386/bsd.c: Likewise.
27077 * term/i386/pc/serial.c: Likewise.
27078 * po/POTFILES: Add new files.
27079
da8d5c53
CW
270802010-01-02 Colin Watson <cjwatson@ubuntu.com>
27081
27082 * term/i386/pc/at_keyboard.c
27083 (keyboard_controller_wait_untill_ready): Rename to ...
27084 (keyboard_controller_wait_until_ready): ... this. Update all users.
27085
33937904 270862010-01-01 Carles Pina i Estany <carles@pina.cat>
27087
27088 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
27089 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
27090 string using string width.
27091 * normal/menu_text.c (grub_print_message_indented): Use
27092 grub_print_spaces and not print_spaces.
27093 (print_timeout): Likewise.
27094 (print_spaces): Move to...
27095 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
27096
3fd3b8d8
RM
270972010-01-01 Robert Millan <rmh.grub@aybabtu.com>
27098
27099 Import from Gnulib.
27100
27101 * gnulib/getdelim.c: New file.
27102 * gnulib/getline.c: Likewise.
27103
33433555
VS
271042009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
27105
27106 * include/grub/list.h (grub_assert_fail): Removed.
27107 (grub_bad_type_cast_real): New function.
27108 (grub_bad_type_cast): New macro.
27109 (GRUB_AS_LIST): Use grub_bad_type_cast.
27110 (GRUB_AS_LIST_P): Likewise.
e44721e8 27111 (GRUB_AS_NAMED_LIST): Likewise.
33433555 27112 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 27113 (GRUB_AS_PRIO_LIST): Likewise.
33433555 27114 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 27115 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 27116
f5a51306
VS
271172009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
27118
27119 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
27120 Fix syntax error.
27121
90d1e879
RM
271222009-12-29 Robert Millan <rmh.grub@aybabtu.com>
27123
27124 * configure.ac: Check for TARGET_CFLAGS initialization before we
27125 initialize it ourselves (sigh).
27126 Move a few modifications to TARGET_CFLAGS to be unconditional
27127 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
27128 eh_frame)
27129
27130 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
27131 * term/i386/pc/at_keyboard.c
27132 (keyboard_controller_wait_untill_ready): Likewise.
27133 (keyboard_controller_led): Rename `led_status' paramter to avoid
27134 name conflict.
27135
465b5a81 271362009-12-28 Carles Pina i Estany <carles@pina.cat>
27137
27138 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
27139 quotes.
27140
c181849b
VS
271412009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27142
27143 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
27144
9c8739a4
VS
271452009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27146
27147 * normal/menu_text.c (grub_print_message_indented): Prevent
27148 past-the-end-of-array dereference.
27149
3e74249c
VS
271502009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27151
27152 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
27153 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
27154
64fd18ed 271552009-12-27 Carles Pina i Estany <carles@pina.cat>
27156
27157 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
27158 * normal/main.c (grub_normal_read_line): Remove a space from the
27159 default prompt.
27160
714af9b9 271612009-12-27 Carles Pina i Estany <carles@pina.cat>
27162
27163 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
27164 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27165 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27166 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27167 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27168 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27169 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27170
82f3e412 271712009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 27172
27173 * video/readers/jpeg.c (cmd): Declare.
27174 (grub_cmd_jpegtest): Use `grub_command_t' type.
27175 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27176 Assign to `cmd'.
27177 (GRUB_MOD_FINI): Use `cmd' to unregister.
27178 * video/readers/png.c (cmd): Declare.
27179 (grub_cmd_pngtest): Use `grub_command_t' type.
27180 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27181 Assign to `cmd'.
27182 (GRUB_MOD_FINI): Use `cmd' to unregister.
27183 * video/readers/tga.c (cmd): Declare.
27184 (grub_cmd_tgatest): Use `grub_command_t' type.
27185 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27186 Assign to `cmd'.
27187 (GRUB_MOD_FINI): Use `cmd' to unregister.
27188
82f3e412 271892009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 27190
27191 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
27192 stops.
27193 * kern/corecmd.c (grub_register_core_commands): Likewise.
27194 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
27195 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27196 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
27197 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27198 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27199 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
27200 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27201 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
27202 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27203 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27204 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27205 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27206 * normal/handler.c (insert_handler): Likewise.
27207 * normal/main.c (GRUB_MOD_INIT): Likewise.
27208 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27209
fdcdbb66 272102009-12-26 Carles Pina i Estany <carles@pina.cat>
27211
27212 * commands/help.c (grub_cmd_help): Print the command name before the
27213 summary.
27214 (GRUB_MOD_INIT): Remove command name from the summary.
27215 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 27216 string as summary.
fdcdbb66 27217 * lib/arg.c (find_long): Print the command name before the summary.
27218 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
27219 summary.
27220 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
27221 * commands/cat.c (GRUB_MOD_INIT): Likewise.
27222 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
27223 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
27224 * commands/crc.c (GRUB_MOD_INIT): Likewise.
27225 * commands/date.c (GRUB_MOD_INIT): Likewise.
27226 * commands/echo.c (GRUB_MOD_INIT): Likewise.
27227 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
27228 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27229 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27230 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
27231 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
27232 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
27233 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
27234 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27235 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
27236 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
27237 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
27238 * commands/ls.c (GRUB_MOD_INIT): Likewise.
27239 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27240 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27241 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27242 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
27243 * commands/password.c (GRUB_MOD_INIT): Likewise.
27244 * commands/probe.c (GRUB_MOD_INIT): Likewise.
27245 * commands/read.c (GRUB_MOD_INIT): Likewise.
27246 * commands/search.c (GRUB_MOD_INIT): Likewise.
27247 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
27248 * commands/test.c (GRUB_MOD_INIT): Likewise.
27249 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
27250 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27251 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27252 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
27253 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27254 * lib/arg.c (GRUB_MOD_INIT): Likewise.
27255 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
27256 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27257 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27258 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27259 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27260 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
27261 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
27262 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
27263
9c288be2
VS
272642009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27265
27266 Use search command for preliminar UUID search.
27267
27268 * commands/search.c: Split into ...
27269 * commands/search_wrap.c: ...this
27270 * commands/search.c: ...and this.
27271 * commands/search_file.c: New file.
27272 * commands/search_label.c: New file.
27273 * commands/search_uuid.c: New file.
27274 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
27275 Add commands/search_wrap.c, commands/search_file.c,
27276 commands/search_label.c and commands/search_uuid.c.
27277 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
27278 (search_mod_SOURCES): Set to commands/search_wrap.c.
27279 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
27280 search_label.mod.
27281 (search_fs_file_mod_SOURCES): New variable.
27282 (search_fs_file_mod_CFLAGS): Likewise.
27283 (search_fs_file_mod_LDFLAGS): Likewise.
27284 (search_label_mod_SOURCES): Likewise.
27285 (search_label_mod_CFLAGS): Likewise.
27286 (search_label_mod_LDFLAGS): Likewise.
27287 (search_fs_uuid_mod_SOURCES): New variable.
27288 (search_fs_uuid_mod_CFLAGS): Likewise.
27289 (search_fs_uuid_mod_LDFLAGS): Likewise.
27290 (fs_file_mod_SOURCES): Removed.
27291 (fs_file_mod_CFLAGS): Likewise.
27292 (fs_file_mod_LDFLAGS): Likewise.
27293 (fs_uuid_mod_SOURCES): Removed.
27294 (fs_uuid_mod_CFLAGS): Likewise.
27295 (fs_uuid_mod_LDFLAGS): Likewise.
27296 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
27297 Set to util/grub-install.in.
27298 * disk/fs_file.c: Removed.
27299 * disk/fs_uuid.c: Likewise.
27300 * include/grub/search.h: New file.
27301 * util/grub-install.in: Handle sparc64.
27302 Create and use load.cfg.
27303 * util/sparc64/ieee1275/grub-install.in: Removed.
27304
db943399
VS
273052009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27306
27307 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
27308 Ignore return status if CF is cleared.
27309 (grub_biosdisk_get_diskinfo_standard): Likewise.
27310
3fdae612
RM
273112009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27312
27313 * term/i386/pc/at_keyboard.c
27314 (keyboard_controller_wait_untill_ready): New function.
27315 (grub_keyboard_controller_write, grub_keyboard_controller_read)
27316 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
27317 for keyboard polling, rather than duplicate the same loop. This
27318 saves a few bytes in code size.
27319
7ebaa2b4
VS
273202009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27321
27322 Support for (pxe[:server[:gateway]]) syntax and
27323 use environment variable for PXE.
27324
27325 * commands/i386/pc/pxecmd.c (options): Removed.
27326 (print_ip): Removed.
27327 (grub_cmd_pxe): Removed
27328 (grub_cmd_pxe_unload): New function.
27329 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
27330 (grub_pxe_your_ip): Made static.
27331 (grub_pxe_default_server_ip): Likewise.
27332 (grub_pxe_default_gateway_ip): Likewise.
27333 (grub_pxe_blksize): Likewise.
27334 (parse_ip): New function.
27335 (grub_pxe_open): Support server and gateway specification.
27336 (grub_pxe_close): Free disk->data.
27337 (grub_pxefs_open): Use disk->data.
27338 (grub_pxefs_read): Likewise.
27339 (grub_env_write_readonly): New function.
27340 (set_mac_env): Likewise.
27341 (set_env_limn_ro): Likewise.
27342 (parse_dhcp_vendor): Likewise.
27343 (grub_pxe_detect): Set the environment variables.
27344 (set_ip_env): New function.
27345 (write_ip_env): Likewise.
27346 (grub_env_write_pxe_default_server): Likewise.
27347 (grub_env_write_pxe_default_gateway): Likewise.
27348 (grub_env_write_pxe_blocksize): Likewise.
27349 (GRUB_MOD_INIT(pxe)): Set environment variables.
27350 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
27351 (grub_pxe_mac_addr_t): ... this. All users updated.
27352 (grub_pxe_your_ip): Removed.
27353 (grub_pxe_server_ip): Likewise.
27354 (grub_pxe_gateway_ip): Likewise.
27355 (grub_pxe_blksize): Likewise.
27356
ec5f98ab 273572009-12-25 Carles Pina i Estany <carles@pina.cat>
27358
27359 * commands/help.c: Include `<grub/i18n.h>'.
27360 (grub_cmd_help): Gettextizze.
27361 (GRUB_MOD_INIT): Likewise.
27362 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
27363 (GRUB_MOD_INIT): Gettextizze.
27364 * commands/search.c: Include `<grub/i18n.h>'.
27365 (options): Gettextizze.
27366 (GRUB_MOD_INIT): Gettextizze.
27367 * lib/arg.c: Include `<grub/i18n.h>'.
27368 (help_options): Gettextizze.
27369 (find_long): Likewise.
27370 (grub_arg_show_help): Likewise.
27371 * normal/dyncmd.c: Include `<grub/i18n.h>'.
27372 (read_command_list): Gettextizze.
27373 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 27374 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 27375
22815526
RM
273762009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27377
27378 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
27379 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
27380 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
27381 (led_status): New variable.
27382 (keyboard_controller_led): New function.
27383 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
27384 update led status for caps lock, num lock and scroll lock.
27385
0ad46fd7
FZ
273862009-12-25 Felix Zielcke <fzielcke@z-51.de>
27387
27388 * util/hostdisk.c (open_device): Fix a comment.
27389
d0e158c2
RM
273902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27391
27392 * util/grub-install.in (host_os): New variable.
27393 * util/i386/efi/grub-install.in (host_os): Likewise.
27394
401c0ad6
RM
273952009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27396
27397 * util/mkisofs/write.c (padblock_write): Abort when given an
27398 excedingly large embed image, instead of silently truncating it.
27399
d14d3370
RM
274002009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27401
27402 * include/multiboot.h: Indentation fixes.
27403
eeed10b4
RM
274042009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27405
27406 * include/multiboot.h (struct multiboot_aout_symbol_table)
27407 (struct multiboot_elf_section_header_table): New structure
27408 declarations (stolen from GRUB Legacy).
27409 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
27410 table information.
27411
27412 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
27413 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
27414 type aliases.
27415
681c70ab
RM
274162009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27417
27418 * include/multiboot.h: Make comments src2texi-friendly.
27419
e4d47d8d
RM
274202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27421
27422 For consistency with [multiboot]/docs/boot.S.
27423
27424 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
27425 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
27426 (MULTIBOOT_MAGIC2): Rename from this ...
27427 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
27428
a0b70bda
RM
274292009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27430
27431 * include/multiboot.h: Remove `<grub/types.h>'.
27432 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
27433 types. Update all users.
27434
61ba42be 274352009-12-25 Carles Pina i Estany <carles@pina.cat>
27436
27437 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
27438 `couldn't' and `can not' by `cannot'.
27439 * commands/i386/pc/drivemap.c: Likewise.
27440 * disk/ata.c: Likewise.
27441 * disk/ieee1275/nand.c: Likewise.
27442 * fs/affs.c: Likewise.
27443 * fs/fat.c: Likewise.
27444 * fs/hfs.c: Likewise.
27445 * fs/hfsplus.c: Likewise.
27446 * fs/iso9660.c: Likewise.
27447 * fs/jfs.c: Likewise.
27448 * fs/minix.c: Likewise.
27449 * fs/reiserfs.c: Likewise.
27450 * fs/sfs.c: Likewise.
27451 * fs/udf.c: Likewise.
27452 * fs/ufs.c: Likewise.
27453 * fs/xfs.c: Likewise.
27454 * loader/powerpc/ieee1275/linux.c: Likewise.
27455 * loader/sparc64/ieee1275/linux.c: Likewise.
27456 * util/grub-probe.c: Likewise.
27457 * util/misc.c: Likewise.
27458
7fd0baee 274592009-12-24 Carles Pina i Estany <carles@pina.cat>
27460
27461 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
27462 grub_errno calls.
27463 * commands/acpi.c: Likewise.
27464 * commands/blocklist.c: Likewise.
27465 * commands/efi/loadbios.c: Likewise.
27466 * commands/i386/pc/drivemap.c: Likewise.
27467 * commands/loadenv.c: Likewise.
27468 * commands/memrw.c: Likewise.
27469 * commands/password.c: Likewise.
27470 * commands/videotest.c: Likewise.
27471 * disk/ata.c: Likewise.
27472 * disk/ata_pthru.c: Likewise.
27473 * disk/dmraid_nvidia.c: Likewise.
27474 * disk/ieee1275/nand.c: Likewise.
27475 * disk/ieee1275/ofdisk.c: Likewise.
27476 * disk/loopback.c: Likewise.
27477 * disk/lvm.c: Likewise.
27478 * disk/mdraid_linux.c: Likewise.
27479 * disk/raid.c: Likewise.
27480 * disk/raid6_recover.c: Likewise.
27481 * disk/scsi.c: Likewise.
27482 * efiemu/main.c: Likewise.
27483 * efiemu/mm.c: Likewise.
27484 * efiemu/pnvram.c: Likewise.
27485 * efiemu/symbols.c: Likewise.
27486 * font/font.c: Likewise.
27487 * fs/cpio.c: Likewise.
27488 * fs/hfsplus.c: Likewise.
27489 * fs/iso9660.c: Likewise.
27490 * fs/jfs.c: Likewise.
27491 * fs/minix.c: Likewise.
27492 * fs/ntfs.c: Likewise.
27493 * fs/ntfscomp.c: Likewise.
27494 * fs/reiserfs.c: Likewise.
27495 * fs/ufs.c: Likewise.
27496 * fs/xfs.c: Likewise.
27497 * gettext/gettext.c: Likewise.
27498 * include/grub/auth.h: Likewise.
27499 * kern/elf.c: Likewise.
27500 * kern/file.c: Likewise.
27501 * kern/ieee1275/init.c: Likewise.
27502 * kern/ieee1275/mmap.c: Likewise.
27503 * kern/ieee1275/openfw.c: Likewise.
27504 * kern/powerpc/dl.c: Likewise.
27505 * kern/sparc64/dl.c: Likewise.
27506 * lib/arg.c: Likewise.
27507 * loader/i386/bsd.c: Likewise.
27508 * loader/i386/bsdXX.c: Likewise.
27509 * loader/i386/efi/linux.c: Likewise.
27510 * loader/i386/efi/xnu.c: Likewise.
27511 * loader/i386/ieee1275/linux.c: Likewise.
27512 * loader/i386/linux.c: Likewise.
27513 * loader/i386/multiboot.c: Likewise.
27514 * loader/i386/pc/linux.c: Likewise.
27515 * loader/i386/pc/multiboot2.c: Likewise.
27516 * loader/i386/xnu.c: Likewise.
27517 * loader/ieee1275/multiboot2.c: Likewise.
27518 * loader/macho.c: Likewise.
27519 * loader/machoXX.c: Likewise.
27520 * loader/multiboot2.c: Likewise.
27521 * loader/multiboot_loader.c: Likewise.
27522 * loader/powerpc/ieee1275/linux.c: Likewise.
27523 * loader/sparc64/ieee1275/linux.c: Likewise.
27524 * loader/xnu.c: Likewise.
27525 * loader/xnu_resume.c: Likewise.
27526 * mmap/i386/pc/mmap.c: Likewise.
27527 * normal/menu_viewer.c: Likewise.
27528 * partmap/acorn.c: Likewise.
27529 * partmap/amiga.c: Likewise.
27530 * partmap/apple.c: Likewise.
27531 * script/lexer.c: Likewise.
27532 * term/gfxterm.c: Likewise.
27533 * term/i386/pc/serial.c: Likewise.
27534 * term/i386/pc/vga.c: Likewise.
27535 * term/ieee1275/ofconsole.c: Likewise.
27536 * term/terminfo.c: Likewise.
27537 * video/bitmap.c: Likewise.
27538 * video/efi_gop.c: Likewise.
27539 * video/efi_uga.c: Likewise.
27540 * video/fb/video_fb.c: Likewise.
27541 * video/i386/pc/vbe.c: Likewise.
27542 * video/readers/tga.c: Likewise.
27543 * video/video.c: Likewise.
27544
0ad46fd7 275452009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
27546
27547 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
27548 * commands/lspci.c: Likewise.
27549 * commands/probe.c: Likewise.
27550 * commands/xnu_uuid.c: Likewise.
27551 * conf/i386-coreboot.rmk: Likewise.
27552 * conf/i386-efi.rmk: Likewise.
27553 * conf/i386-ieee1275.rmk: Likewise.
27554 * conf/i386-pc.rmk: Likewise.
27555 * conf/powerpc-ieee1275.rmk: Likewise.
27556 * conf/sparc64-ieee1275.rmk: Likewise.
27557 * conf/x86_64-efi.rmk: Likewise.
27558 * fs/i386/pc/pxe.c: Likewise.
27559 * gettext/gettext.c: Likewise.
27560 * include/grub/efi/graphics_output.h: Likewise.
27561 * include/grub/i386/pc/memory.h: Likewise.
27562 * kern/env.c: Likewise.
27563 * kern/i386/qemu/startup.S: Likewise.
27564 * lib/i386/pc/biosnum.c: Likewise.
27565 * lib/i386/relocator.c: Likewise.
27566 * lib/i386/relocator_asm.S: Likewise.
27567 * lib/relocator.c: Likewise.
27568 * loader/i386/bsd.c: Likewise.
27569 * loader/i386/multiboot.c: Likewise.
27570 * loader/i386/pc/chainloader.c: Likewise.
27571 * loader/i386/xnu.c: Likewise.
27572 * loader/xnu.c: Likewise.
27573 * normal/main.c: Likewise.
27574 * normal/menu_text.c: Likewise.
27575 * util/getroot.c: Likewise.
27576 * util/grub-mkconfig_lib.in: Likewise.
27577 * util/grub.d/00_header.in: Likewise.
27578 * util/i386/pc/grub-mkimage.c: Likewise.
27579 * util/mkisofs/eltorito.c: Likewise.
27580 * util/mkisofs/exclude.h: Likewise.
27581 * util/mkisofs/hash.c: Likewise.
27582 * util/mkisofs/iso9660.h: Likewise.
27583 * util/mkisofs/joliet.c: Likewise.
27584 * util/mkisofs/mkisofs.c: Likewise.
27585 * util/mkisofs/mkisofs.h: Likewise.
27586 * util/mkisofs/multi.c: Likewise.
27587 * util/mkisofs/name.c: Likewise.
27588 * util/mkisofs/rock.c: Likewise.
27589 * util/mkisofs/tree.c: Likewise.
27590 * util/mkisofs/write.c: Likewise.
27591 * video/efi_gop.c: Likewise.
27592
009ec743
VS
275932009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
27594
27595 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
27596 size counting.
27597
0ad46fd7 275982009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
27599
27600 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
27601 * genmk.rb (class SCRIPT): Modify the target file instead of source.
27602
d3d30ea0
VS
276032009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27604
27605 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
27606 (GRUB_MOD_INIT(memrw)): Update help line.
27607
a34f5c70
VS
276082009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27609
27610 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
27611 Use grub_extcmd_t. All users updated.
27612 (options): New variable.
27613 (grub_cmd_read): Restructure for readability. Support "-v" option.
27614 (grub_cmd_write): Restructure for readability.
27615
0ad46fd7 276162009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
27617
27618 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
27619
0ad46fd7 276202009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
27621
27622 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
27623 with the actual contents of the correspondending make variable.
27624 * util/grub-mkrescue.in (pkglib_DATA): New variable.
27625 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
27626 specifying `*.lst' and `efiemu??.o'
27627
0ad46fd7 276282009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
27629
27630 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
27631 after function name.
27632 Noticed by Rene Engelhard <rene@debian.org>.
27633
dc77a799
VS
276342009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27635
27636 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
27637 (options): New variable.
27638 (iospace): Likewise.
27639 (grub_lspci_iter): List IO spaces if "-i" was given.
27640 (grub_cmd_lspci): Parse options.
27641 (GRUB_MOD_INIT(lspci)): Use extcmd.
27642 (GRUB_MOD_FINI(lspci)): Likewise.
27643
0ad46fd7 276442009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
27645
27646 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
27647 `function' keyword.
27648 Patch by Tony Mancill <tmancill@debian.org>.
27649
b5d5993b
VS
276502009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27651
27652 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
27653 (grub_uhci_portstatus): Likewise.
27654 (grub_uhci_portstatus): Add necessary delay.
11d18281 27655 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 27656
941903f2 276572009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 27658
941903f2 27659 * commands/acpi.c (options): Fix capitalizations and/or full stops.
27660 (GRUB_MOD_INIT): Likewise.
27661 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 27662 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
27663 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 27664 * commands/efi/loadbios.c (enable_rom_area): Likewise.
27665 (enable_rom_area): Likewise.
27666 (GRUB_MOD_INIT): Likewise.
27667 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27668 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
27669 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27670 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
27671 * commands/hexdump.c (options): Likewise.
27672 * commands/i386/cpuid.c (options): Likewise.
27673 (GRUB_MOD_INIT): Likewise.
27674 * commands/i386/pc/drivemap.c (options): Likewise.
27675 (GRUB_MOD_INIT): Likewise.
27676 * commands/i386/pc/halt (options): Likewise.
27677 (GRUB_MOD_INIT): Likewise.
27678 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27679 * commands/i386/pc/pxecmd.c (options): Likewise.
27680 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
27681 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
27682 * commands/keystatus.c (options): Likewise.
27683 (GRUB_MOD_INIT): Likewise.
27684 * commands/loadenv.c (options): Likewise.
27685 * commands/ls.c (options): Likewise.
27686 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27687 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27688 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27689 * commands/parttool.c (helpmsg): Likewise.
27690 * commands/probe.c (options): Likewise.
27691 * commands/read.c (GRUB_MOD_INIT): Likewise.
27692 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
27693 * commands/search.c (options): Likewise.
27694 * commands/sleep.c (options): Likewise.
27695 * commands/test.c (GRUB_MOD_INIT): Likewise.
27696 * commands/true.c (GRUB_MOD_INIT): Likewise.
27697 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
27698 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
27699 * lib/arg.c (help_options): Likewise.
e9bbb4e7 27700 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
27701 `$(XGETTEXT)'.
98a50553 27702 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 27703
0ad46fd7 277042009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 27705
ef3c2c3a 27706 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
27707 instead of specifying them explicit.
27708
7922f68b
RM
277092009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27710
27711 * NEWS: Add grub-probe support for GNU/Hurd.
27712
537ce47f
RM
277132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27714
27715 * NEWS: gettext was added after 1.97.
27716
9b214e3a
RM
277172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27718
27719 * util/mkisofs/msdos_partition.h: New file (based on
27720 include/grub/msdos_partition.h).
27721 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
27722 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
27723 (ld_options, main): Recognize --protective-msdos-label.
27724 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
27725 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
27726 (padblock_write): If `use_protective_msdos_label' is set, patch a
27727 protective DOS-style label in the output image.
27728
27729 * util/grub-mkrescue.in: Use --protective-msdos-label.
27730
e9309813
RM
277312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27732
27733 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
27734 boot.
27735
0ae56929
RM
277362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27737
27738 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
27739 variables.
27740 (ld_options, main): Recognize `--embedded-boot'.
27741 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
27742 declarations.
27743 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
27744 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
27745 (padblock_write): Likewise. Rewrite to support embedded boot image.
27746
27747 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
27748 for BIOS-based disk boot instead of only ElTorito.
27749
b15937b1
RM
277502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27751
27752 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
27753 build (not needed for bootstrap).
27754
52cc3ce0
RM
277552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27756
27757 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
27758 from i386-pc build (not needed for bootstrap).
27759 Rewrite a pair of strings.
27760
36f5ff04
RM
277612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27762
27763 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
27764
973c6c85 277652009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
27766
27767 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
27768
05d21547
AB
277692009-12-21 Andreas Born <futur.andy@googlemail.com>
27770
27771 * kern/env.c (grub_env_context_open): Mark exported variable for
27772 reexport.
27773
0175d51f
AB
277742009-12-21 Andreas Born <futur.andy@googlemail.com>
27775
27776 * kern/env.c (grub_env_export): Create nonexistent variables before
27777 exporting.
27778
7f39d92f 277792009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 27780
7f39d92f 27781 * include/grub/auth.h: Include `<grub/i18n.h>'.
27782 (GRUB_GET_PASSWORD): Gettextizze string.
27783 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
27784 menu_text.c.
27785 (grub_utf8_to_ucs4_alloc): Fix indentation.
27786 (grub_print_ucs4): Likewise.
27787 (grub_getstringwidth): Likewise.
27788 (print_message_indented): New declaration.
27789 * normal/auth.c: Include `<grub/i18n.h>'.
27790 (grub_auth_check_authentication): Gettexttize string.
27791 * normal/cmdline.c: Include `<grub/i18n.h>'.
27792 (grub_cmdline_get): Gettextizze.
27793 * normal/color.c: Include `<grub/i18n.h>'.
27794 (grub_parse_color_name_pair): Gettexttize strings.
27795 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
27796 string (use `print_message_indented').
27797 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
27798 `include/grub/normal.h'.
27799 (print_message_indented): Renamed to ...
27800 (grub_print_message_indented): ... this. Remove `static' qualifer (now
27801 used in normal/main.c).
27802 (print_message): Use `grub_print_message_indented' instead of
27803 `print_message_indented'.
27804 (print_timeout): Likewise.
27805 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
27806 (grub_normal_print_device_info): Gettexttize strings.
27807 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
27808
3041d898
VS
278092009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
27810
27811 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
27812 of arguments. Return number of tokens and not arguments. All users
27813 updated.
27814
de15bf8e
VS
278152009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
27816
27817 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
27818 non-MSDOS paritions.
27819
e0a6ca52
VS
278202009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
27821
27822 * include/grub/types.h (UNUSED): Removed since it conflicts with
27823 NetBSD headers. All users changed to direct __attribute__ ((unused)).
27824 Reported by Grégoire Sutre.
27825
b99518d1 278262009-12-19 Carles Pina i Estany <carles@pina.cat>
27827
27828 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
27829 (grub_print_ucs4_alloc): Likewise.
27830 (grub_getstringwidth): Likewise.
27831 * normal/main.c (grub_normal_init_page): Gettextize version string.
27832 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
27833 (getstringwidth): Renamed to ...
27834 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
27835 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
27836 (grub_print_ucs4): Remove `static' qualifer (now used in
27837 normal/main.c).
27838 * po/POTFILES: Add normal/main.c.
27839
bfd5e52b 278402009-12-19 Carles Pina i Estany <carles@pina.cat>
27841
27842 * normal/menu_text.c (STANDARD_MARGIN): New macro.
27843 (print_message_indented): Add `margin_left' and `margin_right'
27844 parameters.
27845 (print_message): Update `print_message_indented' calls. Adds '\n' to the
27846 strings.
27847 (print_timeout): Use `print_message_indented' to print the message.
27848 Deletes `second_stage' parameter.
27849 (run_menu): Update `print_timeout' calls.
27850
5a1ad2b9
VS
278512009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27852
27853 Fix console palette on OpenFirmware.
27854
27855 * term/ieee1275/ofconsole.c (MAX): Removed.
27856 (colors): Redone based on VGA palette.
27857 (grub_ofconsole_setcolor): Discard brightness bit since only 8
27858 colors are supported.
27859 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
27860
b045f00a
VS
278612009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27862
27863 Fix potential EfiEmu double prepare.
27864
27865 * efiemu/main.c (prepared): New variable
27866 (grub_efiemu_unload): Set prepare to '0'.
27867 (grub_efiemu_prepare): Return if already prepared. Set prepared.
27868
27869 set_virtual_address_map support.
27870
27871 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
27872 prototype.
27873 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
27874 prototype.
27875 (grub_efiemu_crc32): Likewise.
27876 (grub_efiemu_crc64): Likewise.
27877 (grub_efiemu_set_virtual_address_map): Likewise.
27878 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
27879 New definition.
27880 (grub_autoefi_set_virtual_address_map): Likewise.
27881 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
27882 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
27883 Restructure flow to accomodate it.
27884 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
27885 (grub_efiemu_crc): Recompute CRC32.
27886 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
27887 (efiemu_ptv_relocated): ... this. Made global. All users updated.
27888 * efiemu/symbols.c (relocated_handle): New variable.
27889 (grub_efiemu_free_syms): Free relocated_handle.
27890 (grub_efiemu_alloc_syms): Allocate relocated_handle.
27891 (grub_efiemu_write_sym_markers): New function.
27892 (grub_efiemu_set_virtual_address_map): Likewise.
27893
27894 Newer XNU parameters.
27895
27896 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
27897 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
27898 (grub_xnu_fill_devicetree): New prototype.
27899 (grub_xnu_heap_real_start): New variable.
27900 * loader/xnu.c (get_name_ptr): New function.
27901 (grub_xnu_load_driver): Fill namelen and name.
27902
27903 64-bit xnu support.
27904
27905 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
27906 and 'loader/macho64.c'.
27907 * conf/i386-pc.rmk: Likewise.
27908 * conf/x86_64-efi.rmk: Likewise.
27909 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
27910 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
27911 * include/grub/macho.h (grub_macho_segment64): New structure.
27912 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
27913 (grub_macho_size32): ... to this.
27914 (grub_macho32_get_entry_point): Renamed from ...
27915 (grub_macho_get_entry_point32): ... to this.
27916 (grub_macho_contains_macho64): New prototype.
27917 (grub_macho_size64): Likewise.
27918 (grub_macho_get_entry_point64): Likewise.
27919 (grub_macho32_load): Renamed from ...
27920 (grub_macho_load32): ... to this.
27921 (grub_macho32_filesize): Renamed from ...
27922 (grub_macho_filesize32): ... to this.
27923 (grub_macho32_readfile): Renamed from ...
27924 (grub_macho_readfile32): ... to this.
27925 (grub_macho_filesize64): New prototype.
27926 (grub_macho_readfile64): Likewise.
27927 (grub_macho_parse32): Likewise.
27928 (grub_macho_parse64): Likewise.
27929 * loader/macho.c: Split into ...
27930 * loader/machoXX.c: ... and this. Replace 32 with XX.
27931 * loader/macho32.c: New file.
27932 * loader/macho64.c: Likewise.
27933 * loader/xnu.c (grub_xnu_is_64bit): New variable.
27934 (grub_cmd_xnu_kernel): Make 32-bit only.
27935 (grub_cmd_xnu_kernel64): New function.
27936 (grub_xnu_load_driver): Support Mach-O 64.
27937 (grub_cmd_xnu_mkext): Likewise.
27938 * util/grub.d/30_os-prober.in (osx_entry): New function.
27939 Generate entries for 64-bit boot too.
27940
27941 Eliminate ad-hoc tree format in XNU and EfiEmu.
27942
27943 * efiemu/main.c (grub_efiemu_prepare): Update comment.
27944 * efiemu/pnvram.c: Rewritten to use environment variables.
27945 All users updated.
27946
27947 Inline utf16_to_utf8.
27948
27949 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
27950 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
27951 All users updated.
27952 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
27953
27954 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
27955 * commands/usbtest.c (grub_usb_get_string): ... move here.
27956 (usb_print_str): Fix error handling.
27957 * include/grub/usb.h (grub_usb_get_string): Remove.
27958
27959 UTF-8 to UTF-16 transformation.
27960
27961 * conf/common.rmk (pkglib_MODULES): Add charset.mod
27962 (charset_mod_SOURCES): New variable.
27963 (charset_mod_CFLAGS): Likewise.
27964 (charset_mod_LDFLAGS): Likewise.
27965 * include/grub/utf.h: New file.
27966 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
27967
27968 Support for device properties.
27969
27970 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
27971 (grub_xnu_devprop_device_header): Likewise.
27972 (grub_xnu_devprop_device_descriptor): Likewise.
27973 (grub_xnu_devprop_add_device): New prototype.
27974 (grub_xnu_devprop_remove_device): Likewise.
27975 (grub_xnu_devprop_remove_property): Likewise.
27976 (grub_xnu_devprop_add_property_utf8): Likewise.
27977 (grub_xnu_devprop_add_property_utf16): Likewise.
27978 (grub_cpu_xnu_init): Likewise.
27979 (grub_cpu_xnu_fini): Likewise.
27980 (grub_cpu_xnu_unload): Likewise.
27981 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
27982 (property_descriptor): Likewise.
27983 (devices): New variable.
27984 (grub_xnu_devprop_remove_property): New function.
27985 (grub_xnu_devprop_add_device): Likewise.
27986 (grub_xnu_devprop_remove_device): Likewise.
27987 (grub_xnu_devprop_add_property): Likewise.
27988 (grub_xnu_devprop_add_property_utf8): Likewise.
27989 (grub_xnu_devprop_add_property_utf16): Likewise.
27990 (hextoval): Likewise.
27991 (grub_cpu_xnu_fill_devprop): Likewise.
27992 (grub_cmd_devprop_load): Likewise.
27993 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
27994 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
27995 (cmd_devprop_load): New variable.
27996 (grub_cpu_xnu_init): New function.
27997 (grub_cpu_xnu_fini): Likewise.
27998 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
27999 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
28000 (grub_cmd_xnu_devtree): Likewise.
28001 (hextoval): New function.
28002 (unescape): Likewise.
28003 (grub_xnu_fill_devicetree): Likewise.
28004
28005 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
28006 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
28007
0945f181
VS
280082009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28009
28010 Workaround for broken ATI VBE.
28011
28012 * video/i386/pc/vbe.c (last_set_mode): New variable.
28013 (grub_vbe_set_video_mode): Set 'last_set_mode'.
28014 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
28015 (grub_video_vbe_setup): Don't check for reserved flag.
28016
0ad46fd7 280172009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
28018
28019 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
28020 the `find' command.
28021
c179ebe4
VS
280222009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
28023
28024 UUID support for HFS.
28025
28026 * fs/hfs.c (grub_hfs_uuid): New function.
28027 (grub_hfs_fs): New value .uuid.
28028 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
28029
0ad46fd7 280302009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
28031
28032 Fix a segfault with parsing unknown long options.
28033
28034 * util/grub-mkrelpath.c (options): Zero terminate it.
28035
c4a3e41a
CPE
280362009-12-13 Carles Pina i Estany <carles@pina.cat>
28037
28038 * include/grub/misc.h (grub_puts): New declaration.
28039 (grub_puts_): Likewise.
a22008a6 28040 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
28041 (grub_puts_): Likewise.
28042
2e8a7602
RM
280432009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28044
28045 * util/grub-probe.c (probe): Improve error message.
28046
b50b77b9
RM
280472009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28048
28049 * loader/i386/multiboot_elfxx.c
28050 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
28051 initialization.
28052
280532009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28054
28055 Relocator framework
28056
28057 * loader/i386/xnu_helper.S: Removed. All users updated.
28058 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
28059 (relocator_mod_SOURCES): New variable.
28060 (relocator_mod_CFLAGS): Likewise.
28061 (relocator_mod_LDFLAGS): Likewise.
28062 (relocator_mod_ASFLAGS): Likewise.
28063 * conf/x86_64.rmk: Likewise.
28064 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
28065 (grub_multiboot_payload_entry_offset): Likewise.
28066 (grub_multiboot_forward_relocator): Likewise.
28067 (grub_multiboot_forward_relocator_end): Likewise.
28068 (grub_multiboot_backward_relocator): Likewise.
28069 (grub_multiboot_backward_relocator_end): Likewise.
28070 (grub_multiboot_payload_eip): New variable.
28071 (grub_multiboot_payload_orig): Likewise.
28072 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
28073 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
28074 * include/grub/i386/memory.h
28075 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
28076 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
28077 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
28078 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
28079 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
28080 * include/grub/i386/relocator.h: New file.
28081 * include/grub/x86_64/relocator.h: Likewise.
28082 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
28083 (XNU_RELOCATOR): New macro.
28084 (grub_xnu_launcher_start): Remove.
28085 (grub_xnu_launcher_end): Likewise.
28086 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
28087 (grub_xnu_heap_real_start): Remove.
28088 (grub_xnu_heap_start): Change to void *. All users updated.
28089 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
28090 * lib/i386/relocator.c: New file.
28091 * lib/i386/relocator_asm.S: Likewise.
28092 * lib/i386/relocator_backward.S: Likewise.
28093 * lib/mips/relocator.c: Likewise.
28094 * lib/mips/relocator_asm.S: Likewise.
28095 * lib/relocator.c: Likewise.
28096 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
28097 (entry): Removed.
28098 (playground): Likewise.
28099 (grub_multiboot_payload_orig): New variable.
28100 (grub_multiboot_payload_dest): Likewise.
28101 (grub_multiboot_payload_size): Likewise.
28102 (grub_multiboot_payload_eip): Likewise.
28103 (grub_multiboot_payload_esp): Likewise.
28104 (grub_multiboot_boot): Use grub_relocator32_boot.
28105 (grub_multiboot_unload): Free relocators.
28106 (grub_multiboot): Setup stack. Use relocators.
28107 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
28108 (grub_multiboot_load_elfXX): Use relocators.
28109 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
28110 (grub_multiboot_payload_size): Likewise.
28111 (grub_multiboot_payload_dest): Likewise.
28112 (grub_multiboot_payload_entry_offset): Likewise.
28113 (grub_multiboot_forward_relocator): Likewise.
28114 (grub_multiboot_backward_relocator): Likewise.
28115 (grub_multiboot_real_boot): Likewise.
28116 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
28117 (grub_xnu_entry_point): Likewise.
28118 (grub_xnu_arg1): Likewise.
28119 (grub_xnu_stack): Likewise.
28120 (grub_xnu_launch): Removed.
28121 (grub_xnu_boot_resume): New function.
28122 (grub_xnu_boot): Use relocators.
28123 * loader/i386/xnu_helper.S: Removed.
28124 * loader/xnu.c (grub_xnu_heap_start): New variable.
28125 (grub_xnu_heap_size): Likewise.
28126 (grub_xnu_heap_malloc): Use relocators.
28127 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
28128
29eb90c6
VS
281292009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28130
28131 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
28132 anything.
28133
31027430
CPE
281342009-12-13 Carles Pina i Estany <carles@pina.cat>
28135
28136 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
28137 GRUB_ERR_NONE before calling grub_env_set.
28138
dc0c71d9
RM
281392009-12-12 Robert Millan <rmh@aybabtu.com>
28140
28141 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
28142 * genmk.rb (video): New variable.
28143 (CLEANFILES, VIDEOFILES): Add #{video}.
28144 (#{video}): New target rule.
28145 * genvideolist.sh: New file.
28146 * Makefile.in (pkglib_DATA): Add video.lst.
28147 (video.lst): New target rule.
28148 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
28149 `video.lst'.
28150 * util/grub.d/30_os-prober.in: Replace `vbe' with
28151 ${GRUB_VIDEO_BACKEND}.
28152
2a4bfcf0
RM
281532009-12-11 Robert Millan <rmh.grub@aybabtu.com>
28154
28155 * THANKS: Add David Miller.
28156
2a3aa4d5
RM
281572009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
28158
28159 libpciaccess support.
28160
28161 * Makefile.in (LIBPCIACCESS): New variable.
28162 (enable_grub_emu_pci): Likewise.
28163 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
28164 util/pci.c and commands/lspci.c.
28165 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
28166 * configure.ac (grub-emu-pci): New option.
28167 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
28168 (grub_pci_device_unmap_range): Likewise.
28169 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
28170 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
28171 (grub_pci_address_t) [!GRUB_UTIL]: New type.
28172 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
28173 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
28174 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
28175 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
28176 * include/grub/pciutils.h: New file.
28177 * util/pci.c: Likewise.
28178
0ad46fd7 281792009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
28180
28181 * util/misc.c: Don't include <errno.h> twice.
28182
0ad46fd7 281832009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
28184
28185 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
28186 name in an error message.
28187 (grub_biosdisk_rw): Likewise.
28188
2e59983c
VS
281892009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28190
28191 Eliminate NTFS 4Gib barrier.
28192
28193 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
28194 (read_run_data): Likewise.
28195 (grub_ntfs_read_run_list): Likewise.
28196 (grub_ntfs_read_block): Likewise.
28197 (grub_ntfs_iterate_dir): Likewise.
28198 (read_mft): Likewise.
28199 (read_data): Likewise.
28200 Use COM_LOG_LEN.
28201 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
28202 to avoid 64-bit division
28203 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
28204 (grub_ntfs_rlst): Use grub_disk_addr_t.
28205
71ee178a
VS
282062009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28207
28208 Eliminate grub-fstest 4Gib barrier.
28209
28210 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
28211 (read_file): Fix error reporting.
28212
2520d4b8
VS
282132009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28214
28215 Eliminate hexdump 4Gib barrier.
28216
28217 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
28218 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
28219
e1f27065
VS
282202009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28221
28222 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
28223 Fixes amarsh bug.
28224
1a0f7f45
RM
282252009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
28226
28227 Remove miscellaneous files in distclean target.
28228
28229 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
28230
c631d9fb
CW
282312009-12-09 Colin Watson <cjwatson@ubuntu.com>
28232
28233 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
28234 if they're already set. This resolves the conflict between my
28235 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
28236 fixing the --grub-probe option again.
28237 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
28238 change on 2009-10-06, so that we now once again source
28239 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28240
7c7b6106
RM
282412009-12-08 Robert Millan <rmh.grub@aybabtu.com>
28242
28243 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
28244 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
28245 `util/devicemap.c'.
28246
e3069ec1
CPE
282472009-12-08 Carles Pina i Estany <carles@pina.cat>
28248
28249 * include/grub/misc.h (grub_printf_): New declaration.
28250 * kern/misc.c (grub_printf_): New definition.
28251 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
28252 instead of `grub_printf' and `_'.
28253 * normal/menu_entry.c (store_completion): Likewise.
28254 (run): Likewise.
28255 (grub_menu_entry_run): Likewise.
28256 * normal/menu_text.c (grub_wait_after_message): Likewise.
28257 (notify_booting): Likewise.
28258 (notify_fallback): Likewise.
28259 (notify_execution_failure): Likewise.
28260
d6ceebf1
CW
282612009-12-07 Colin Watson <cjwatson@ubuntu.com>
28262
28263 * configure.ac: Check for vasprintf.
28264 * util/misc.c (asprintf): Move allocation from here ...
28265 (vasprintf): ... to here. New function.
28266 (xasprintf): New function.
28267 * include/grub/util/misc.h (vasprintf, xasprintf): Add
28268 prototypes.
28269 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
28270 * util/grub-mkfont.c (write_font): Likewise.
28271 * util/grub-probe.c (probe): Likewise.
28272 * util/hostdisk.c (make_device_name): Likewise.
28273
de6daa8b
DM
282742009-12-06 David S. Miller <davem@sunset.davemloft.net>
28275
28276 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
28277 anything even prefixed with 'cdrom' as a cdrom.
28278
0ad46fd7 282792009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
28280
28281 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
28282 mount points.
28283
98d3dc02
CPE
282842009-12-05 Carles Pina i Estany <carles@pina.cat>
28285
28286 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
28287 grub_gettext_msg_list.
28288 (grub_gettext_gettranslation_from_position): Return const char *
28289 and not char *.
a2c1332b 28290 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
28291 returns from the list if existing there.
28292 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
28293 (grub_gettext_delete_list): Delete the list.
28294 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
28295 lang environment variable is changed.
28296 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
28297
b283f108
VS
282982009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28299
28300 Rename kernel.mod to kernel.img.
28301
28302 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
28303 (kernel_mod_EXPORTS): Rename to ...
28304 (kernel_img_EXPORTS): ... this.
28305 (kernel_mod_SOURCES): Rename to ...
28306 (kernel_img_SOURCES): ... this.
28307 (kernel_mod_HEADERS): Rename to ...
28308 (kernel_img_HEADERS): ... this. All users updated.
28309 (kernel_mod_CFLAGS): Rename to ...
28310 (kernel_img_CFLAGS): ... this.
28311 (kernel_mod_ASFLAGS): Rename to ...
28312 (kernel_img_ASFLAGS): ... this.
28313 (kernel_mod_LDFLAGS): Rename to ...
28314 (kernel_img_LDFLAGS): ... this.
28315 * conf/x86_64-efi.rmk: Likewise.
28316 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
28317 (read_kernel_image): ... this. All users updated.
28318 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
28319
69055f8a
CPE
283202009-12-05 Carles Pina i Estany <carles@pina.cat>
28321
28322 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
28323 (print_spaces): New function.
28324 (grub_print_ucs4): New function.
28325 (getstringwidth): New function.
28326 (print_message_indented): New function.
28327 (print_message): Gettexttize strings using print_message_indented.
28328 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
28329 width.
28330 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 28331 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
28332 Gettextize.
28333 * normal/menu_entry.c (store_completion): Cleanup the gettextized
28334 string.
28335 (run): Likewise.
28336 (grub_menu_entry_run): Likewise.
28337 * PO/POTFILES: Add normal/menu_entry.c.
28338
f616f51c
VS
283392009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28340
28341 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
28342
57bbe3be
CPE
283432009-12-05 Carles Pina i Estany <carles@pina.cat>
28344
28345 * util/grub-install.in: Install gettext .mo files.
28346 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
28347
013d67a1
CPE
283482009-12-05 Carles Pina i Estany <carles@pina.cat>
28349
28350 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
28351 grub_dprintf.
28352
fb954db0
RM
283532009-12-05 Robert Millan <rmh.grub@aybabtu.com>
28354
28355 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
28356 non-firmware-dependant one in realmode.S takes precedence.
28357
6b8474f8
RM
283582009-12-04 Robert Millan <rmh.grub@aybabtu.com>
28359
28360 * commands/halt.c: Replace misc arch-specific headers with
28361 `<grub/misc.h>'.
28362 * commands/reboot.c: Likewise.
28363 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
28364 `<grub/misc.h>'.
28365 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
28366 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
28367 (kernel_img_SOURCES): ... to here.
28368
28369 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
28370 * include/grub/i386/pc/init.h: Likewise.
28371 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28372 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28373
28374 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
28375
28376 * include/grub/i386/halt.h: Remove.
28377 * include/grub/i386/reboot.h: Likewise.
28378
28379 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
28380
4b2e6ca2
DM
283812009-12-03 David S. Miller <davem@sunset.davemloft.net>
28382
28383 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
28384 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
28385 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
28386 "progname.h"
28387 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28388 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28389 (usage): Add missing comma in printf.
28390
5239348f
RM
283912009-12-02 Robert Millan <rmh.grub@aybabtu.com>
28392
28393 Use the same reboot approach on i386 coreboot and qemu as we do on
28394 BIOS.
28395
28396 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
28397 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
28398 * kern/i386/reboot.c: Remove.
28399 * include/grub/i386/reboot.h (grub_reboot): Export function.
28400 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
28401 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
28402 0xf000:0xfff0 instead of 0xffff:0x0000.
28403 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
28404 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
28405
ef34cbd4
RM
284062009-11-30 Robert Millan <rmh.grub@aybabtu.com>
28407
28408 Fix $srcdir != $objdir build.
28409
28410 * Makefile.in (po/%.po): Rewrite as ...
28411 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
28412
dc9837ea
ST
284132009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
28414
28415 Fix GNU/Hurd grub-install crash.
28416 * util/grub-probe.c (probe): Try to access `path' only when it is not
28417 NULL.
28418
2f857f98
VS
284192009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28420
28421 Correct module naming.
28422
28423 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28424 (GRUB_MOD_INIT(efi_uga)): ... to this
28425 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28426 (GRUB_MOD_FINI(efi_uga)): ... to this
28427 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28428 (GRUB_MOD_INIT(efi_gop)): ... to this
28429 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28430 (GRUB_MOD_FINI(efi_gop)): ... to this
28431
c5448046
RM
284322009-11-28 Robert Millan <rmh.grub@aybabtu.com>
28433
28434 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
28435 translatable.
28436 (usage): Translate `arg' strings using gettext().
28437 Thanks to Jordi Mallach for the suggestion.
28438
c85184ad
VS
284392009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28440
28441 GOP support. Based on patch from Bean
28442 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28443
28444 * video/efi_gop.c: New file.
28445 * include/grub/efi/graphics_output.h: Likewise.
28446 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
28447 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28448 variables.
28449 * conf/x86_64-efi.rmk: Likewise.
28450
8a4c48d8
VS
284512009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28452
28453 Rename efi_fb to efi_uga.
28454
28455 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28456 'efi_uga.mod'.
28457 (efi_fb_mod_SOURCES): Rename this ...
28458 (efi_uga_mod_SOURCES): ... to this.
28459 (efi_fb_mod_CFLAGS): Rename this ...
28460 (efi_uga_mod_CFLAGS): ... to this.
28461 (efi_fb_mod_LDFLAGS): Rename this ...
28462 (efi_uga_mod_LDFLAGS): ... to this.
28463 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28464 'efi_uga.mod'.
28465 (efi_fb_mod_SOURCES): Rename this ...
28466 (efi_uga_mod_SOURCES): ... to this.
28467 (efi_fb_mod_CFLAGS): Rename this ...
28468 (efi_uga_mod_CFLAGS): ... to this.
28469 (efi_fb_mod_LDFLAGS): Rename this ...
28470 (efi_uga_mod_LDFLAGS): ... to this.
28471 * video/efi_fb.c: Move this ...
28472 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
28473
fb6c1a7b
RM
284742009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28475
28476 * po/README: New file. Explain our PO file workflow.
28477
3bc7896c
RM
284782009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28479
28480 * po/ChangeLog: Remove. Move relevant entries back to ...
28481 * ChangeLog: ... here.
28482 * po/ca.po: Remove (now handled by TLP).
28483 * po/id.po: Likewise.
28484 * po/zh_CN.po: Likewise.
28485 * Makefile.in (LINGUAS): Initialize in a way that supports
28486 empty set.
28487
9ed4841d
RM
284882009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28489
28490 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
28491 reliing on po/LINGUAS.
28492 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
28493 (po/%.po): ... this.
28494
0ad46fd7 284952009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
28496
28497 * util/i386/efi/grub-mkimage.c: Include "progname.h".
28498 (main): Use `program_name' instead of nonexistent `progname'.
28499
e30dd392
FZ
285002009-11-26 Felix Zielcke <fzielcke@z-51.de>
28501
28502 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28503 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
28504
7656de4f
RM
285052009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28506
28507 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
28508 commit.
28509 * conf/i386-efi.rmk: Likewise.
28510 * conf/i386-ieee1275.rmk: Likewise.
28511 * conf/powerpc-ieee1275.rmk: Likewise.
28512 * conf/sparc64-ieee1275.rmk: Likewise.
28513 * conf/x86_64-efi.rmk: Likewise.
28514
db77c4d4
FZ
285152009-11-26 Felix Zielcke <fzielcke@z-51.de>
28516
28517 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
28518
a755bb04
FZ
285192009-11-26 Felix Zielcke <fzielcke@z-51.de>
28520
28521 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
28522
8a4c07fd
RM
285232009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28524
28525 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
28526 (grub_mkdevicemap_SOURCES): New variable.
28527 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
28528 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
28529 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
28530 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
28531 (grub_mkdevicemap_SOURCES): Remove.
28532 * conf/i386-efi.rmk: Likewise.
28533 * conf/i386-ieee1275.rmk: Likewise.
28534 * conf/i386-pc.rmk: Likewise.
28535 * conf/powerpc-ieee1275.rmk: Likewise.
28536 * conf/sparc64-ieee1275.rmk: Likewise.
28537 * conf/x86_64-efi.rmk: Likewise.
28538 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
28539 (usage): Fix strings to use `program_name'.
28540 (main): Initialize gettext.
28541 * util/grub-editenv.c: Likewise.
28542 * util/grub-emu.c: Likewise.
28543 * util/grub-fstest.c: Likewise.
28544 * util/grub-mkdevicemap.c: Likewise.
28545 * util/grub-mkfont.c: Likewise.
28546 * util/grub-mkrelpath.c: Likewise.
28547 * util/grub-pe2elf.c: Likewise.
28548 * util/grub-probe.c: Likewise.
28549 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28550 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28551 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28552
28553 * util/misc.c: Include `"progname.h"'.
28554 (progname): Remove variable.
28555 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
28556
6f61ed55
FZ
285572009-11-25 Felix Zielcke <fzielcke@z-51.de>
28558
28559 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
28560 printf and print a newline after the menuentry header line.
28561 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28562
f022876b
FZ
285632009-11-25 Felix Zielcke <fzielcke@z-51.de>
28564
28565 autoconf >= 2.60 support $(localedir).
28566
28567 * INSTALL: Note that autoconf 2.60 is required.
28568 * configure.ac (AC_PREREQ): Bump to 2.60.
28569 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
28570 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28571
6717926e
YB
285722009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
28573
28574 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
28575 aclocal is run.
28576
08806a54
RM
285772009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28578
28579 * normal/main.c (grub_normal_read_line): Fix off-by-one
28580 buffer overflow.
28581
13b33fba
RM
285822009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28583
28584 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
28585 "parser.grub" in grub_command_execute() call.
28586
4a8572e9
CPE
285872009-11-24 Carles Pina i Estany <carles@pina.cat>
28588
28589 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
28590 * conf/i386-efi.rmk: Likewise.
28591 * conf/i386-ieee1275.rmk: Likewise.
28592 * conf/i386-pc.rmk: Likewise.
28593 * conf/powerpc-ieee1275.rmk: Likewise.
28594 * conf/sparc64-ieee1275.rmk: Likewise.
28595 * conf/x86_64-efi.rmk: Likewise.
28596 * gettext/gettex.c: Include <grub/i18n.h>.
28597 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
28598 here ...
28599 * include/grub/i18n.h: ... to here
28600 * include/grub/i18n.h: ... to here.
28601 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 28602 (grub_gettext_dummy): Move above user.
4a8572e9 28603
bee48093
FZ
286042009-11-24 Felix Zielcke <fzielcke@z-51.de>
28605
28606 * util/Makefile.in (install-local): Convert a `for' into a normal
28607 shell expansion.
28608
a031e91c
RM
286092009-11-24 Robert Millan <rmh.grub@aybabtu.com>
28610
28611 * autogen.sh: Add automake call.
28612 * config.guess: Remove.
28613 * config.sub: Likewise.
28614 * install-sh: Likewise.
28615
26bec39d
FZ
286162009-11-24 Felix Zielcke <fzielcke@z-51.de>
28617
28618 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
28619
8e2532fd
FZ
286202009-11-24 Felix Zielcke <fzielcke@z-51.de>
28621
28622 * util/Makefile.in (install-local): Convert a make `$(foreach)'
28623 function to a normal shell `for'.
28624
fefa1b7d
FZ
286252009-11-24 Felix Zielcke <fzielcke@z-51.de>
28626
28627 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28628
4501250b
FZ
286292009-11-24 Felix Zielcke <fzielcke@z-51.de>
28630
28631 * util/grub-mkrelpath.c: New file.
28632 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
28633 (grub_mkrelpath_SOURCES): New variable.
28634 * include/grub/util/misc.h: New function prototype.
28635 * util/misc.c (make_system_path_relative_to_its_root): New function.
28636
28637 * util/grub-mkconfig_lib.in (bindir): New variable.
28638 (grub_mkrelpath): Likewise.
28639 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
28640
28641 * util/probe.c (probe): Make the file path relative to its root.
28642 Change a info message to use the GRUB path. Enable again the
28643 check if we can read the file with GRUB facilities.
28644
28645 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
28646 to its root.
28647
11d9778b
FZ
286482009-11-24 Felix Zielcke <fzielcke@z-51.de>
28649
28650 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
28651 platform.
28652
4465287d
FZ
286532009-11-24 Felix Zielcke <fzielcke@z-51.de>
28654
28655 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
28656 strncmp().
28657
62b47f22
FZ
286582009-11-24 Felix Zielcke <fzielcke@z-51.de>
28659
28660 * util/getroot.c (grub_util_is_dmraid): New function.
28661 (grub_util_get_dev_abstraction): Treat dmraid and multipath
28662 devices as normal ones, not as LVM.
28663
1eafb9b9 286642009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
28665
28666 * conf/common.rmk: Add grub-gettext_lib target and updates
28667 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
28668 LDFLAGS.
28669 * gettext/gettext.c: New file. (Reads mo files).
28670 * include/grub/file.h (grub_file_pread): New prototype.
28671 * include/grub/i18n.h (_): New prototype.
28672 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
28673 prototypes.
28674 * kern/misc.c (grub_gettext_dummy): New function.
28675 * normal/menu_text.c: Include <grub/i18n.h>.
28676 * normal/menu_text.c (print_timeout): Gettexttize string.
28677 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
28678 * po/POTFILES: Add `normal/menu_text.c'.
28679 * po/ca.po: Add new translations.
c3ea6bd4
CPE
28680 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
28681 gettext module and defines locale_dir and lang in grub.cfg.
28682 * NEWS: Add gettext support.
28683
0fdb2568
RM
286842009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28685
28686 * util/hostdisk.c: Include `<grub/i18n.h>'.
28687 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
28688 (make_device_name): Rewrite using asprintf.
28689 (convert_system_partition_to_system_disk): Replace 0 with NULL.
28690 (find_system_device): If a device is not found, generate one just
28691 by reusing the OS path name.
28692 (read_device_map): Make it permissible for device.map not to exist.
28693
f515aa62
RM
286942009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28695
28696 * script/sh/execute.c: Move from here ...
28697 * script/execute.c: ... to here. Update all users.
28698 * script/sh/function.c: Move from here ...
28699 * script/function.c: ... to here. Update all users.
28700 * script/sh/lexer.c: Move from here ...
28701 * script/lexer.c: ... to here. Update all users.
28702 * script/sh/main.c: Move from here ...
28703 * script/main.c: ... to here. Update all users.
28704 * script/sh/parser.y: Move from here ...
28705 * script/parser.y: ... to here. Update all users.
28706 * script/sh/script.c: Move from here ...
28707 * script/script.c: ... to here. Update all users.
28708
f84b481b
RM
287092009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28710
28711 * configure.ac: Detect all `emu' platforms. Define
28712 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
28713 --enable-grub-emu logic. Disable include/grub/machine
28714 symlink on `emu' platforms.
28715
28716 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
28717 * gensymlist.sh.in: Likewise.
28718
28719 * include/grub/i386/coreboot/machine.h: Remove file.
28720 * include/grub/i386/efi/machine.h: Likewise.
28721 * include/grub/i386/ieee1275/machine.h: Likewise.
28722 * include/grub/i386/pc/machine.h: Likewise.
28723 * include/grub/i386/qemu/machine.h: Likewise.
28724 * include/grub/powerpc/ieee1275/machine.h: Likewise.
28725 * include/grub/sparc64/ieee1275/machine.h: Likewise.
28726 * include/grub/x86_64/efi/machine.h: Likewise.
28727
28728 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
28729 * commands/halt.c: Likewise.
28730 * commands/reboot.c: Likewise.
28731 * include/grub/autoefi.h: Likewise.
28732 * include/grub/i386/at_keyboard.h: Likewise.
28733 * include/grub/i386/kernel.h: Likewise.
28734 * include/grub/i386/loader.h: Likewise.
28735 * include/grub/i386/pc/memory.h: Likewise.
28736 * kern/dl.c: Likewise.
28737 * kern/i386/coreboot/init.c: Likewise.
28738 * loader/i386/bsd.c: Likewise.
28739 * loader/i386/linux.c: Likewise.
28740 * loader/multiboot_loader.c: Likewise.
28741 * term/i386/pc/serial.c: Likewise.
28742 * term/usb_keyboard.c: Likewise.
28743
28744 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
28745 `<grub/machine/machine.h>'
28746 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
28747 * util/misc.c: Remove `<grub/machine/machine.h>' and
28748 `<grub/machine/time.h>'.
28749
28750 * Makefile.in (enable_grub_emu): Remove variable.
28751 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
28752
28753 * conf/any-emu.rmk: New file.
28754 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
28755 (grub_emu_init.c): Move from here ...
28756 * conf/any-emu.rmk: ... to here.
28757
28758 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
28759 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
28760 * conf/any-emu.rmk: ... to here.
28761
4efeab03
RM
287622009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28763
28764 * include/grub/parser.h (grub_parser_register): Document need
28765 of `name' parameter.
28766 * normal/main.c (grub_normal_read_line): Simplify prompt string.
28767 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
28768 "sh" to "grub".
28769
ea1dd8bf
RM
287702009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28771
28772 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
28773 `$(XGETTEXT)'.
28774 * include/grub/i18n.h (N_): New macro.
28775 * util/mkisofs/mkisofs.h: Likewise.
28776 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
28777 around N_().
28778 (usage): Use gettext() to translate help strings when printing them.
28779
0c140626
RM
287802009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28781
28782 Based on patch from Bean
28783 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28784
28785 * video/efi_fb.c: New file.
28786 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
28787 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28788 variables.
28789 * conf/x86_64-efi.rmk: Likewise.
28790
87d58298
RM
287912009-11-22 Robert Millan <rmh.grub@aybabtu.com>
28792
28793 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
28794 * util/i386/pc/grub-setup.c: Likewise.
28795
994cc3a3
ST
287962009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
28797
28798 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
28799 <hurd/fs.h>
28800 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
28801 file_get_storage_info to implement grub_guess_root_device.
28802
26a61d6a
FZ
288032009-11-21 Felix Zielcke <fzielcke@z-51.de>
28804
28805 * Makefile.in (target): Use make's builtin $(shell) function
28806 instead of calling directly $(SHELL) to create the locale directories,
28807 inside the $(foreach) function.
28808
74ff1dd5
FZ
288092009-11-21 Felix Zielcke <fzielcke@z-51.de>
28810
28811 * util/grub-mkrescue.in: Print an error and usage if output option
28812 has not been given.
28813
0b787d0e
FZ
288142009-11-21 Felix Zielcke <fzielcke@z-51.de>
28815
28816 Patch from Loïc Minier <loic.minier@ubuntu.com>.
28817 * util/grub.d/30_os-prober.in: Cope with Linux entries where
28818 root and /boot are on different devices.
28819
1164b270
RM
288202009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28821
28822 Fix build for srcdir != objdir.
28823
28824 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
28825 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
28826 $(srcdir).
28827 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
28828 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
28829 reference for input.
28830
13774a2f
RM
288312009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28832
28833 * util/grub-mkrescue.in: Use source directory direcly (without copiing
28834 or hardlinking it). Remove -J option, Joliet is not compatible with
28835 multiple source directories.
28836
efda854e
RM
288372009-11-21 Carles Pina i Estany <carles@pina.cat>
288382009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28839
28840 * util/grub-mkrescue.in: Recognize `--override-directory' option.
28841 (process_input_dir): New function. Process an arbitrary input
28842 directory.
28843 Misc adjustments to support both "override mode" and system-wide mode.
28844
6c09890c
FZ
288452009-11-20 Felix Zielcke <fzielcke@z-51.de>
28846
28847 * configure.ac (UNIFONT_BDF): Rename to ...
28848 (FONT_SOURCE): ... this. Update all users.
28849
a797824f
FZ
288502009-11-20 Felix Zielcke <fzielcke@z-51.de>
28851
28852 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
28853 to the list of unifont files to look for.
28854
cd4f42b0
RM
288552009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28856
28857 Patch from Joe Auricchio <jauricchio@gmail.com>
28858 * commands/minicmd.c (grub_mini_cmd_clear): New function.
28859 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
28860 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
28861
393c783d
FZ
288622009-11-19 Felix Zielcke <fzielcke@z-51.de>
28863
28864 * Makefile.in (install-local): Add a missing backslash.
28865
b2f1e327
FZ
288662009-11-19 Felix Zielcke <fzielcke@z-51.de>
28867
28868 * include/grub/x86_64/io.h: New file.
28869
f577f7a0
RM
288702009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28871
28872 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
28873 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
28874 Include `"progname.h"'.
28875 (main): Initialize gettext.
28876 * util/i386/pc/grub-setup.c: Gettexttize.
28877 * util/i386/pc/grub-mkimage.c: Likewise.
28878
28879 * Makefile.in (po/*.po): Redefine as ...
28880 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
28881
3bc7896c
RM
28882 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
28883
c37943b6
RM
288842009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28885
28886 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
28887 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
28888 (program_name): Remove.
28889 (main): Initialize gettext support.
6323f705
RM
28890 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
28891 Include `<libintl.h>'.
28892 (_): New macro.
c37943b6
RM
28893
28894 * util/mkisofs/eltorito.c: Gettexttize.
28895 * util/mkisofs/joliet.c: Likewise.
28896 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
28897 * util/mkisofs/multi.c: Likewise.
28898 * util/mkisofs/rock.c: Likewise.
28899 * util/mkisofs/tree.c: Likewise.
28900 * util/mkisofs/write.c: Likewise.
28901
3bc7896c
RM
28902 * po/POTFILES: Update with new files.
28903
5ce77c6e
RM
289042009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28905
28906 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
28907 * util/mkisofs/iso9660.h: Likewise.
28908 * util/mkisofs/joliet.c: Likewise.
28909 * util/mkisofs/mkisofs.c: Likewise.
28910 * util/mkisofs/mkisofs.h: Likewise.
28911 * util/mkisofs/rock.c: Likewise.
28912 * util/mkisofs/tree.c: Likewise.
28913 * util/mkisofs/write.c: Likewise.
28914
28915 * util/mkisofs/eltorito.c (rcsid): Remove.
28916 * util/mkisofs/hash.c: Likewise.
28917 * util/mkisofs/joliet.c: Likewise.
28918 * util/mkisofs/name.c: Likewise.
28919 * util/mkisofs/rock.c: Likewise.
28920 * util/mkisofs/tree.c: Likewise.
28921 * util/mkisofs/write.c: Likewise.
28922
1dabbc77
RM
289232009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28924
28925 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
28926 instead of static allocation.
28927 * util/mkisofs/match.h: Likewise.
28928
633877cb
RM
289292009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28930
3bc7896c
RM
28931 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
28932 and `util/grub.d/10_linux.in'.
633877cb
RM
28933 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
28934 translatable Shell files.
28935
af1c0c85
RM
289362009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28937
28938 * Makefile.in ($(srcdir)/aclocal.m4): New target.
28939
769ae37b
RM
289402009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28941
28942 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 28943 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
28944 * util/grub.d/10_kfreebsd.in (bindir): New variable.
28945 Add gettext initialization.
28946 (kfreebsd_entry): Make menuentry output translatable.
28947
289482009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28949
28950 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
28951 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
28952 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
28953 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
28954 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 28955 * po/LINGUAS: New file.
769ae37b
RM
28956
289572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28958
28959 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
28960 other things).
28961 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
28962 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
28963 bindtextdomain() calls for gettext initialization.
28964
289652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28966
28967 * gnulib/progname.c: New file (imported from Gnulib).
28968 * gnulib/progname.h: Likewise.
28969 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28970 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
28971 (usage): Replace `progname' with `program_name'.
28972 (main): Use set_program_name() for program name initialization.
28973
289742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28975
28976 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
28977 from here ...
28978 * Makefile.in (CPPFLAGS): ... to here.
28979
289802009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28981
28982 * aclocal.m4: Move from here ...
28983 * acinclude.m4: ... to here.
28984 * autogen.sh: Add call to `aclocal'.
28985 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
28986
289872009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28988
28989 * Makefile.in (CLEANFILES): Add `po/*.mo'.
28990 (LINGUAS): New variable.
28991 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
28992 (install-local): Install MO files.
28993 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
28994 * include/grub/i18n.h: New file.
3bc7896c
RM
28995 * po/POTFILES: New file.
28996 * po/ca.po: New file.
769ae37b
RM
28997 * util/grub.d/10_linux.in (bindir): New variable.
28998 Add gettext initialization.
28999 (linux_entry): Make menuentry output translatable.
29000 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
29001 (usage): Make --help output translatable.
29002 (main): Initialize gettext.
29003
02c0a6ad
RM
290042009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29005
29006 * import_gcry.py: New file (written by Vladimir with minor
29007 adjustments).
29008 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
29009 ciphers.
29010 * INSTALL: Document that Python is required for bootstrap.
29011
290122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29013
29014 Import ciphers from libgcrypt 1.4.4.
29015
29016 * lib/libgcrypt/cipher/ChangeLog
29017 * lib/libgcrypt/cipher/ac.c
29018 * lib/libgcrypt/cipher/arcfour.c
29019 * lib/libgcrypt/cipher/bithelp.h
29020 * lib/libgcrypt/cipher/blowfish.c
29021 * lib/libgcrypt/cipher/camellia-glue.c
29022 * lib/libgcrypt/cipher/camellia.c
29023 * lib/libgcrypt/cipher/camellia.h
29024 * lib/libgcrypt/cipher/cast5.c
29025 * lib/libgcrypt/cipher/cipher.c
29026 * lib/libgcrypt/cipher/crc.c
29027 * lib/libgcrypt/cipher/des.c
29028 * lib/libgcrypt/cipher/dsa.c
29029 * lib/libgcrypt/cipher/ecc.c
29030 * lib/libgcrypt/cipher/elgamal.c
29031 * lib/libgcrypt/cipher/hash-common.c
29032 * lib/libgcrypt/cipher/hash-common.h
29033 * lib/libgcrypt/cipher/hmac-tests.c
29034 * lib/libgcrypt/cipher/md.c
29035 * lib/libgcrypt/cipher/md4.c
29036 * lib/libgcrypt/cipher/md5.c
29037 * lib/libgcrypt/cipher/primegen.c
29038 * lib/libgcrypt/cipher/pubkey.c
29039 * lib/libgcrypt/cipher/rfc2268.c
29040 * lib/libgcrypt/cipher/rijndael-tables.h
29041 * lib/libgcrypt/cipher/rijndael.c
29042 * lib/libgcrypt/cipher/rmd.h
29043 * lib/libgcrypt/cipher/rmd160.c
29044 * lib/libgcrypt/cipher/rsa.c
29045 * lib/libgcrypt/cipher/seed.c
29046 * lib/libgcrypt/cipher/serpent.c
29047 * lib/libgcrypt/cipher/sha1.c
29048 * lib/libgcrypt/cipher/sha256.c
29049 * lib/libgcrypt/cipher/sha512.c
29050 * lib/libgcrypt/cipher/tiger.c
29051 * lib/libgcrypt/cipher/twofish.c
29052 * lib/libgcrypt/cipher/whirlpool.c
29053
af2f93ac
RM
290542009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29055
29056 Fix build for systems without error().
29057
29058 * gnulib/error.c: New file (imported from Gnulib).
29059 * gnulib/error.h: Likewise.
29060 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
29061 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
29062 (this variable is now used by error()).
29063
73fb3dd5
FZ
290642009-11-16 Felix Zielcke <fzielcke@z-51.de>
29065
814f5e96
FZ
29066 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
29067 instead of relying that char is signed.
73fb3dd5 29068
a691ca33
VS
290692009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
29070
29071 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
29072 blocksize different from specified.
29073 (grub_pxefs_read): Likewise.
29074
2af8f0f4
FZ
290752009-11-16 Felix Zielcke <fzielcke@z-51.de>
29076
29077 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
29078
29079 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
29080 (grub_ata_readwrite): Likewise. Update 2 format strings.
29081 (grub_atapi_read): Likewise.
29082
29083 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
29084 * conf/i386.rmk (pkglib_MODULES): ... to here ...
29085 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
29086 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
29087 (ata_mod_LDFLAGS): Move from here ...
29088 * conf/i386.rmk: ... to here ...
29089 * conf/x86_64-efi.rmk: ... and here.
29090 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
29091 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
29092
83bdecaf
RM
290932009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29094
29095 Relicense multiboot.h, with RMS' blessing.
29096
29097 * include/multiboot.h: Change to X11 license.
29098
fd6fd3d7
RM
290992009-11-15 Robert Millan <rmh.grub@aybabtu.com>
29100
29101 Support --version in grub-mkisofs.
29102
29103 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
29104 (OPTION_VERSION): New macro.
29105 (ld_options): Recognize --version.
29106 (usage): Move `program_name' from here ...
29107 (program_name): ... to here. Add `static' qualifier.
29108 (main): Recognize `OPTION_VERSION'.
29109
16a88c49
FZ
291102009-11-15 Felix Zielcke <fzielcke@z-51.de>
29111
29112 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
29113 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
29114
a4158476
RM
291152009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29116
29117 Fix help2man generation for mkisofs.
29118
29119 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
29120 (usage): Send output to stdout (rather than stderr).
29121
fc2208b0
RM
291222009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29123
29124 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
29125 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29126 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
29127 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29128 (bin_SCRIPTS): Add `grub-mkfloppy'.
29129 (grub_mkfloppy_SOURCES): New variable.
29130
29131 * util/grub-mkrescue.in: New file.
29132 * util/i386/pc/grub-mkfloppy.in: New file.
29133
29134 * util/i386/coreboot/grub-mkrescue.in: Remove.
29135 * util/i386/pc/grub-mkrescue.in: Remove.
29136
8d0edf4a
RM
291372009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29138
29139 * include/grub/multiboot.h (struct grub_multiboot_header): Move
29140 from here ...
29141 * include/multiboot.h (struct multiboot_header): ... to here. Update
29142 all users.
29143 * include/grub/multiboot.h (struct grub_multiboot_info): Move
29144 from here ...
29145 * include/multiboot.h (struct multiboot_info): ... to here. Update
29146 all users.
29147 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
29148 from here ...
29149 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
29150 Update all users.
29151 * include/grub/multiboot.h (struct grub_mod_list): Move
29152 from here ...
29153 * include/multiboot.h (struct multiboot_mod_list): ... to here.
29154 Update all users.
29155
a73f5969
RM
291562009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29157
29158 * include/multiboot2.h (multiboot_word): Rename from this ...
29159 (multiboot2_word): ... to this. Update all users.
29160 (multiboot_header): Rename from this ...
29161 (multiboot2_header): ... to this. Update all users.
29162 (multiboot_tag_header): Rename from this ...
29163 (multiboot2_tag_header): ... to this. Update all users.
29164 (multiboot_tag_start): Rename from this ...
29165 (multiboot2_tag_start): ... to this. Update all users.
29166 (multiboot_tag_name): Rename from this ...
29167 (multiboot2_tag_name): ... to this. Update all users.
29168 (multiboot_tag_module): Rename from this ...
29169 (multiboot2_tag_module): ... to this. Update all users.
29170 (multiboot_tag_memory): Rename from this ...
29171 (multiboot2_tag_memory): ... to this. Update all users.
29172 (multiboot_tag_unused): Rename from this ...
29173 (multiboot2_tag_unused): ... to this. Update all users.
29174 (multiboot_tag_end): Rename from this ...
29175 (multiboot2_tag_end): ... to this. Update all users.
29176
1c8927f0
RM
291772009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29178
29179 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
29180 this platform we should support Multiboot1 first.
29181
29182 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29183 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
29184 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
29185
6e1e0d89
RM
291862009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29187
29188 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
29189 of write calls (converting them to fwrite() if they aren't already).
29190 (get_torito_desc): Likewise.
29191 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
29192
7f2b34d8
RM
291932009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29194
29195 * util/i386/pc/grub-install.in: Move from here ...
29196 * util/grub-install.in: ... to here. Update all users.
29197
c0ef3311
CW
291982009-11-11 Colin Watson <cjwatson@ubuntu.com>
29199
29200 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
29201
e1f240ff
RM
292022009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29203
29204 Support for El Torito without floppy emulation.
29205
29206 * util/mkisofs/eltorito.c: Include `<errno.h>'.
29207 (init_boot_catalog): Improve error handling.
29208 (get_torito_desc): Don't use floppy emulation unless requested by
29209 user. Patch boot information table when requested via
29210 `-boot-info-table'.
29211 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
29212 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
29213 (use_boot_info_table): New variables.
29214 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
29215 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
29216 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
29217 `--eltorito-emul-floppy'.
29218 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
29219 and `OPTION_ELTORITO_EMUL_FLOPPY'.
29220 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
29221 (use_boot_info_table, get_731): New prototypes.
29222 * util/mkisofs/write.c (get_731): New function.
29223
af7d4de5
FZ
292242009-11-11 Felix Zielcke <fzielcke@z-51.de>
29225
29226 Fix the generation of the man page.
29227
29228 * util/pc/i386/grub-install.in: Source
29229 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29230
2c55dbc0
RM
292312009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29232
29233 Large file support for grub-mkisofs.
29234
29235 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
29236 * util/mkisofs/mkisofs.c (next_extent, last_extent)
29237 (session_start): Upgrade type to `uint64_t'. Update all users.
29238 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
29239 (struct directory_entry): Upgrade type of `starting_block' and
29240 `size' to `uint64_t'. Update all users.
29241 (struct deferred): Remove unused structure.
29242 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
29243 Update all users.
29244 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
29245 file is larger than `UINT32_MAX'.
29246 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
29247 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
29248 return value.
29249 (struct deferred_write): Upgrade type of `extent' and `size' to
29250 `uint64_t'. Update all users.
29251 (last_extent_written): Upgrade type to `uint64_t'. Update all
29252 users.
29253 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
29254 Update all users. Upgrade type of `remain' to `int64_t' and
29255 `use' to `size_t'. Use error() to handle fread() errors.
29256 (write_files): Rely on write_one_file() rather than calling
29257 xfwrite() directly.
29258
6a9cead5
FZ
292592009-11-09 Felix Zielcke <fzielcke@z-51.de>
29260
29261 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
29262
4825d790
RM
292632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29264
29265 * util/mkisofs/fnmatch.c: Remove.
29266 * util/mkisofs/getopt1.c: Likewise.
29267 * util/mkisofs/getopt.c: Likewise.
29268 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
29269 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
29270 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
29271 `gnulib/getopt1.c' and `gnulib/getopt.c'.
29272 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
29273
29274 * configure.ac: Detect `mingw32msvc' host_os.
29275 Check for lstat(), getuid() and getgid().
29276
29277 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
29278 instances of `u_char' with `uint8_t'.
29279
29280 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
29281 [!HAVE_GETUID] (getuid): New function (stub).
29282 [!HAVE_GETGID] (getgid): Likewise.
29283 [!HAVE_LSTAT] (lstat): Likewise.
29284 [!S_IROTH] (S_IROTH): New macro (dummy).
29285 [!S_IRGRP] (S_IRGRP): Likewise.
29286
84b860d8
RM
292872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29288
29289 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
29290 conditional expression).
29291
66e9b712
RM
292922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29293
29294 Import from Gnulib.
29295
29296 * gnulib/fnmatch.c: New file.
29297 * gnulib/fnmatch.h: Likewise.
29298 * gnulib/fnmatch_loop.c: Likewise.
29299 * gnulib/getopt.c: Likewise.
29300 * gnulib/getopt.h: Likewise.
29301 * gnulib/getopt1.c: Likewise.
29302 * gnulib/getopt_int.h: Likewise.
29303 * gnulib/gettext.h: Likewise.
29304
34f4a5b0
RM
293052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29306
29307 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
29308 * normal/handler.c (read_handler_list): Likewise.
29309
ac451143
RM
293102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29311
29312 Misc cleanup.
29313
29314 * kern/command.c (grub_register_command_prio): Use
29315 grub_zalloc() instead of explicitly zeroing data.
29316 * kern/list.c: Include `<grub/mm.h>'.
29317 (grub_named_list_find): Replace `0' with `NULL'.
29318 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
29319 (fs_module_list): Change type to `grub_named_list_t'. Update all
29320 users.
29321 * normal/dyncmd.c (read_command_list): Add space between function
29322 call and parenthesis.
29323 * normal/handler.c (read_handler_list): Likewise.
29324
4089b167
RM
293252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29326
29327 * normal/auth.c (punishment_delay): Moved from here ...
29328 (grub_auth_strcmp): ... to here (inside function).
29329
325f5037
RM
293302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29331
29332 * include/grub/list.h (struct grub_named_list): Remove `const'
29333 qualifier from `name'.
29334 (struct grub_prio_list): Likewise.
29335
7aea29a3
RM
293362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29337
29338 * normal/auth.c: Include `<grub/time.h>'.
29339 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
29340
3fd6f044
RM
293412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29342
29343 * normal/auth.c (punishment_delay): New variable.
29344 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
29345 (grub_auth_check_authentication): Punish failed login attempts with
29346 an incremental (2^N) delay.
29347
a4cd68e4
RM
293482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29349
29350 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
29351 path with $(srcdir).
29352
7ad12f43
VS
293532009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29354
29355 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
29356
c1129f03
RM
293572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29358
29359 * util/i386/coreboot/grub-mkrescue.in: New file.
29360 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
29361 variables.
29362
29363 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
29364 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
29365 * configure.ac: Add header and function checks to satisfy grub-mkisofs
29366 requirements.
29367 * util/mkisofs/defaults.h: New file.
29368 * util/mkisofs/eltorito.c: Likewise.
29369 * util/mkisofs/exclude.h: Likewise.
29370 * util/mkisofs/fnmatch.c: Likewise.
29371 * util/mkisofs/getopt.c: Likewise.
29372 * util/mkisofs/getopt1.c: Likewise.
29373 * util/mkisofs/hash.c: Likewise.
29374 * util/mkisofs/include/fctldefs.h: Likewise.
29375 * util/mkisofs/include/mconfig.h: Likewise.
29376 * util/mkisofs/include/prototyp.h: Likewise.
29377 * util/mkisofs/include/statdefs.h: Likewise.
29378 * util/mkisofs/iso9660.h: Likewise.
29379 * util/mkisofs/joliet.c: Likewise.
29380 * util/mkisofs/match.c: Likewise.
29381 * util/mkisofs/match.h: Likewise.
29382 * util/mkisofs/mkisofs.c: Likewise.
29383 * util/mkisofs/mkisofs.h: Likewise.
29384 * util/mkisofs/multi.c: Likewise.
29385 * util/mkisofs/name.c: Likewise.
29386 * util/mkisofs/rock.c: Likewise.
29387 * util/mkisofs/tree.c: Likewise.
29388 * util/mkisofs/write.c: Likewise.
29389
ec8bb77d
VS
293902009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29391
29392 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
29393 being insecure.
29394
3716b12c
RM
293952009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29396
29397 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
29398 `grub-mkimage' (and use $0 when possible).
29399
b97b7b91
RM
294002009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29401
29402 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
29403 error message for excessively large memory map.
29404
04114812
RM
294052009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29406
29407 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
29408 executable bit.
29409
e4eb2373
RM
294102009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29411
29412 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
29413 message for coreboot users.
29414
c926e1d5 294152009-11-07 Robert Millan <rmh.grub@aybabtu.com>
29416
29417 Fix build with GNU gold.
29418
29419 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
29420 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
29421 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
29422 link addresses.
29423 * aclocal.m4: Likewise.
29424
86e5b1db 294252009-11-04 Felix Zielcke <fzielcke@z-51.de>
29426
29427 * configure.ac (AC_PREREQ): Bump to 2.59d.
29428 * INSTALL: Make it more clear when Autoconf and Ruby are
29429 needed and when to run `./autogen.sh'.
29430
246cd78f 294312009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
29432
29433 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
29434 OSes.
29435
4f9dfb37 294362009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29437
29438 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
29439
b82bd5e1 294402009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29441
29442 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
29443 giving it to GNU Mach.
29444
ff1a9bca 294452009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29446
29447 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
29448 GNU partition number to get internal GRUB partition number.
29449
61697d9c 294502009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29451
29452 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
29453 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
29454
a50569e1 294552009-11-01 Robert Millan <rmh.grub@aybabtu.com>
29456
29457 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
29458 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
29459 case.
29460
5b153867 294612009-11-01 Felix Zielcke <fzielcke@z-51.de>
29462
29463 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
29464
d9e2cd70 294652009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29466
29467 Fix build problem.
29468
29469 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
29470 `-isystem=$(srcdir)/include'.
29471
805111a4 294722009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29473
29474 * util/i386/pc/grub-install.in: Remove hint that device.map should be
29475 checked (grub-install doesn't currently rely on it).
29476
fa6e945f 294772009-10-29 Robert Millan <rmh.grub@aybabtu.com>
29478
29479 Revert SVN r2660.
29480
29481 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
29482 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29483 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
29484 * conf/i386-ieee1275.rmk: Likewise.
29485 * conf/i386-pc.rmk: Likewise.
29486 * conf/powerpc-ieee1275.rmk: Likewise.
29487 * conf/sparc64-ieee1275.rmk: Likewise.
29488 * conf/x86_64-efi.rmk: Likewise.
29489
cee15086 294902009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29491
29492 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
29493
95b9239e 294942009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29495
29496 * include/grub/misc.h: Stop checking for APPLE_CC.
29497
2ed19dfd 294982009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29499
29500 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
29501 doesn't cause an infinite call loop.
29502
fdcdde19 295032009-10-28 Felix Zielcke <fzielcke@z-51.de>
29504
29505 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
29506 strings.
29507
cefabfe1 295082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29509
29510 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
29511 variable.
29512 * Makefile.in: Likewise.
29513
ed96ab6d 295142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29515
29516 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
29517
0579b753 295182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29519
29520 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
29521
478df409 295222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29523
29524 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
29525
083d1679 295262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29527
29528 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
29529 from here ...
29530 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
29531
5947ae32 295322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29533
29534 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
29535 in $(MAKEINFO) invocation. This makes it clear in output that
29536 errors are being ignored.
29537
94180ff6 295382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29539
29540 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
29541 from here ...
29542 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29543 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
29544 * conf/i386-ieee1275.rmk: Likewise.
29545 * conf/i386-pc.rmk: Likewise.
29546 * conf/powerpc-ieee1275.rmk: Likewise.
29547 * conf/sparc64-ieee1275.rmk: Likewise.
29548 * conf/x86_64-efi.rmk: Likewise.
29549
9031b03a 295502009-10-26 Colin Watson <cjwatson@ubuntu.com>
29551
29552 * util/grub-editenv.c (main): If only a command is given, use
29553 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
29554 (usage): FILENAME is now optional and has a default.
29555
e4f6809b 295562009-10-26 Colin Watson <cjwatson@ubuntu.com>
29557
29558 Improve grub-mkconfig performance when there are several menu
29559 entries on a single filesystem.
29560
29561 * util/grub.d/10_linux.in (linux_entry): Cache the output of
29562 prepare_grub_to_access_device.
29563 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29564 * util/grub.d/30_os-prober.in: Likewise.
29565
67937d4d 295662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29567
29568 * util/grub.d/10_freebsd.in: Remove.
29569 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
29570 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
29571
ee3756cc 295722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29573
5c35048e 29574 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 29575
4dea1c6f 295762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29577
29578 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
29579 grub_util_error() call.
29580
042484d7 295812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29582
29583 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
29584 `reserved_first_sector' member.
29585 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
29586 `reserved_first_sector' to 1.
29587 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
29588 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
29589 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
29590 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
29591 filesystems which begin at first sector.
29592 (options): New option --skip-fs-probe.
29593 (main): Handle --skip-fs-probe and pass it to setup().
29594
d64448a7 295952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29596
29597 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
29598 (memset): Fix function prototype.
29599
508d42ec 296002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
296012009-10-25 Vasily Averin <vvs@parallels.com>
29602
29603 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
29604 `dirent.direntlen == 0'.
29605
b240e30c 296062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29607
29608 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
29609 `cpio'.
29610 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
29611
346e7fbe 296122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29613
29614 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
29615 `__trampoline_setup' and `__ucmpdi2'.
29616 * include/grub/powerpc/libgcc.h: Only export symbols for functions
29617 that libgcc provides.
29618
cdb308b0 296192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29620
29621 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
29622 * include/grub/sparc64/libgcc.h (memset): Likewise.
29623 * include/grub/misc.h (memset, memcmp): New function prototypes.
29624
fb26abc2 296252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29626
29627 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
29628 `cpio'.
29629 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
29630
f6693890 296312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29632
29633 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
29634 * docs/grub.cfg: Compensate for recent change in multiboot
29635 loader (since 2009-08-14 it won't pass filename to payload).
29636 * util/grub.d/10_hurd.in: Likewise.
29637
0933cdc0 296382009-10-21 Felix Zielcke <fzielcke@z-51.de>
29639
29640 * config.guess: Update to latest version from config git
29641 repository.
29642 * config.sub: Likewise.
29643
3b2fe8c2 296442009-10-20 Robert Millan <rmh.grub@aybabtu.com>
29645
29646 Fix build on sparc64.
29647
29648 * configure.ac: Perform checks for libgcc symbols before
29649 adding `-nostdlib' to LDFLAGS.
29650
46695a62 296512009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29652
29653 Let user specify OpenBSD root device.
29654
29655 * loader/i386/bsd.c (openbsd_root): New variable.
29656 (openbsd_opts): New option 'root'.
29657 (OPENBSD_ROOT_ARG): New macro.
29658 (grub_openbsd_boot): Use 'openbsd_root'.
29659 (grub_cmd_openbsd): Fill 'openbsd_root'.
29660
d2b6b7fc 296612009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29662
29663 * NEWS: Misc adjustments.
29664
421bd7ac 296652009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29666
29667 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
29668
f1d29d87 296692009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29670
29671 * configure.ac: Bump version to 1.97.
29672
6f3cd880 296732009-10-16 Colin Watson <cjwatson@ubuntu.com>
29674
29675 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
29676 -mno-3dnow on x86 architectures. Some toolchains enable these
29677 features by default, but they rely on registers that aren't enabled
29678 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
29679
035f7122 296802009-10-15 Robert Millan <rmh.grub@aybabtu.com>
29681
29682 Make entry text a bit more readable.
29683
29684 * util/grub.d/10_linux.in: Add `with' before `Linux'.
29685
44998e58 296862009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29687
29688 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
29689
cd2851b3 296902009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29691
29692 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
29693 operations.
29694
c6f3b249 296952009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29696
29697 * configure.ac: Add missing dollar.
29698
6b5886ba 296992009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29700
29701 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
29702
29703 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
29704 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
29705 exports.
29706 * include/grub/sparc64/libgcc.h: Likewise. Use
29707 preprocessor conditionals.
29708
e9d66f6d 297092009-10-14 Robert Millan <rmh.grub@aybabtu.com>
29710
29711 * conf/common.rmk (grub-dumpbios): Remove rule.
29712 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
29713 * util/grub-dumpbios.in: Remove file.
29714
9155bc17 297152009-10-14 Robert Millan <rmh.grub@aybabtu.com>
29716
29717 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
29718 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
29719
29720 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
29721 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
29722 users.
29723
29724 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
29725 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
29726 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
29727 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
29728 users.
29729
bf7f7a18 297302009-10-12 Robert Millan <rmh.grub@aybabtu.com>
29731
29732 * term/tparm.c: Switch to GPLv3.
29733
86564c26 297342009-10-09 Robert Millan <rmh.grub@aybabtu.com>
29735
29736 * include/grub/i386/cpuid.h: Add header protection.
29737
5c936493 297382009-10-09 Robert Millan <rmh.grub@aybabtu.com>
29739
29740 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
29741
29742 * include/grub/i386/cpuid.h: New file.
29743 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
29744 (has_longmode): Rename to ...
29745 (grub_cpuid_has_longmode): ... this. Update all users. Remove
29746 `static' attribute.
29747 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
29748 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
29749 on a CPU that doesn't implement AMD64 instruction set.
29750
186e7cf2 297512009-10-06 Colin Watson <cjwatson@ubuntu.com>
29752
29753 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
29754 that version.texi is rebuilt on version number changes.
29755
83b65c4a 297562009-10-06 Colin Watson <cjwatson@ubuntu.com>
29757
29758 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
29759 Fixes bug #27602.
29760
d244281c 297612009-10-06 Colin Watson <cjwatson@ubuntu.com>
29762
29763 * util/i386/pc/grub-install.in: Source
29764 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
29765 that the --grub-probe option will work.
29766 * util/sparc64/ieee1275/grub-install.in: Likewise.
29767
da25306d 297682009-10-05 Robert Millan <rmh.grub@aybabtu.com>
29769
29770 * configure.ac: Bump version to 1.97~beta4.
29771
e8ee83c0 297722009-10-03 Robert Millan <rmh.grub@aybabtu.com>
29773
29774 Resync grub-mkdevicemap in x86_64-efi.
29775
29776 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
29777 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
29778 `util/devicemap.c'.
29779
50dcabcf 297802009-10-01 Colin Watson <cjwatson@ubuntu.com>
29781
29782 * util/grub-editenv.c (create_envblk_file): Write new block with a
29783 .new suffix and then rename it into place, to ensure atomic
29784 creation.
29785
0e51c3a7 297862009-09-28 Robert Millan <rmh.grub@aybabtu.com>
29787
29788 Do not automatically install headers.
29789
29790 * Makefile.in (include_DATA): Remove. Update all users.
29791
31299a95 297922009-09-26 Robert Millan <rmh.grub@aybabtu.com>
29793
29794 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
29795 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
29796
29797 * util/osdetect.lua: Remove.
29798 * script/lua/lauxlib.c: Likewise.
29799 * script/lua/ldebug.c: Likewise.
29800 * script/lua/grub_main.c: Likewise.
29801 * script/lua/lauxlib.h: Likewise.
29802 * script/lua/ldebug.h: Likewise.
29803 * script/lua/ltablib.c: Likewise.
29804 * script/lua/liolib.c: Likewise.
29805 * script/lua/lstrlib.c: Likewise.
29806 * script/lua/lualib.h: Likewise.
29807 * script/lua/ldo.c: Likewise.
29808 * script/lua/ldump.c: Likewise.
29809 * script/lua/ldo.h: Likewise.
29810 * script/lua/loslib.c: Likewise.
29811 * script/lua/lundump.c: Likewise.
29812 * script/lua/grub_lib.c: Likewise.
29813 * script/lua/ldblib.c: Likewise.
29814 * script/lua/lundump.h: Likewise.
29815 * script/lua/lmem.c: Likewise.
29816 * script/lua/grub_lib.h: Likewise.
29817 * script/lua/lmathlib.c: Likewise.
29818 * script/lua/lstate.c: Likewise.
29819 * script/lua/ltm.c: Likewise.
29820 * script/lua/lvm.c: Likewise.
29821 * script/lua/lmem.h: Likewise.
29822 * script/lua/lstate.h: Likewise.
29823 * script/lua/ltm.h: Likewise.
29824 * script/lua/ltable.c: Likewise.
29825 * script/lua/lvm.h: Likewise.
29826 * script/lua/llex.c: Likewise.
29827 * script/lua/lgc.c: Likewise.
29828 * script/lua/grub_lua.h: Likewise.
29829 * script/lua/loadlib.c: Likewise.
29830 * script/lua/lfunc.c: Likewise.
29831 * script/lua/lopcodes.c: Likewise.
29832 * script/lua/lparser.c: Likewise.
29833 * script/lua/ltable.h: Likewise.
29834 * script/lua/llex.h: Likewise.
29835 * script/lua/lgc.h: Likewise.
29836 * script/lua/lfunc.h: Likewise.
29837 * script/lua/lbaselib.c: Likewise.
29838 * script/lua/lopcodes.h: Likewise.
29839 * script/lua/lparser.h: Likewise.
29840 * script/lua/lzio.c: Likewise.
29841 * script/lua/linit.c: Likewise.
29842 * script/lua/lobject.c: Likewise.
29843 * script/lua/llimits.h: Likewise.
29844 * script/lua/lstring.c: Likewise.
29845 * script/lua/lzio.h: Likewise.
29846 * script/lua/lapi.c: Likewise.
29847 * script/lua/lcode.c: Likewise.
29848 * script/lua/lua.h: Likewise.
29849 * script/lua/lobject.h: Likewise.
29850 * script/lua/lstring.h: Likewise.
29851 * script/lua/lapi.h: Likewise.
29852 * script/lua/lcode.h: Likewise.
29853 * script/lua/luaconf.h: Likewise.
29854
cb8a2c38 298552009-09-26 Colin Watson <cjwatson@ubuntu.com>
29856
29857 * docs/grub.texi (Command-line and menu entry commands): Document
29858 date and echo commands.
29859
6b9b6276 298602009-09-24 Pavel Roskin <proski@gnu.org>
29861
29862 * include/grub/kernel.h (struct grub_module_header): Remove
29863 `grub_module_header_types'. Make `type' unsigned. Make `size'
29864 32-bit on all platforms.
29865 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
29866 8-bit field. Use grub_host_to_target32() for `size'.
29867 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
29868 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
29869 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
29870
4e5a02a7 298712009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29872
29873 Fix "lost keypress" bug in at_keyboard.
29874
29875 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
29876 Checks for readyness of input buffer (without flushing it).
29877 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
29878 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
29879
c6dcedf6 298802009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29881
29882 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
29883 size check within GRUB_MACHINE_PCBIOS section.
29884
74c958b1 298852009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29886
29887 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
29888 return value.
29889 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
29890 KEYBOARD_ISREADY check.
29891 (grub_at_keyboard_checkkey): Rename to ...
29892 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
29893 Remove gratuitous cast.
29894
ff420223 298952009-09-23 Colin Watson <cjwatson@ubuntu.com>
29896
29897 * configure.ac: Call AC_PROG_MKDIR_P.
29898 * Makefile.in (docs/stamp-vti): Create docs directory. Create
29899 version.texi in $(builddir) rather than $(srcdir).
29900 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
29901 to makeinfo's @include search path.
29902
d96875df 299032009-09-23 Felix Zielcke <fzielcke@z-51.de>
29904
29905 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
29906
9b3f8365 299072009-09-23 Felix Zielcke <fzielcke@z-51.de>
29908
29909 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
29910 for `*.dpkg-new'.
29911
c44c90db 299122009-09-21 Colin Watson <cjwatson@ubuntu.com>
29913
29914 Build info documentation. Some code borrowed from Automake.
29915
29916 * configure.ac: Check for makeinfo.
29917 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
29918 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
29919 docs/version.texi.
29920 (MOSTLYCLEANFILES): Add vti.tmp.
29921 (docs/version.texi, docs/stamp-vti): Update automatically.
29922 (docs/grub.info): Build info documentation. Use --force and ignore
29923 errors for now.
29924 (all-local): Add $(INFOS).
29925 (install-local): Install info files.
29926 (uninstall): Uninstall info files.
29927 * docs/version.texi: Remove from revision control. This file is
29928 automatically generated on build now.
29929 * gendistlist.sh: Add `*.info'.
29930
e0b37bb5 299312009-09-21 Felix Zielcke <fzielcke@z-51.de>
29932
29933 * kern/term.c: Fix indentation.
29934
5a78865b 299352009-09-21 Felix Zielcke <fzielcke@z-51.de>
29936
29937 * util/hostdisk.c: Fix a comment.
29938
dace7e8a 299392009-09-20 Robert Millan <rmh.grub@aybabtu.com>
29940
29941 Fix regression introduced in r2539.
29942
29943 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
29944 to 0xA1.
29945
a83d079b 299462009-09-19 Colin Watson <cjwatson@ubuntu.com>
29947
29948 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 29949 os-prober. Under normal operation, it does not print anything to
29950 stderr; if it does, we need to debug it, and throwing away stderr
29951 makes that excessively difficult.
a83d079b 29952
be94a509 299532009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
29954
29955 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
29956
63f745e8 299572009-09-16 Robert Millan <rmh.grub@aybabtu.com>
29958
29959 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
29960 AC_LANG_PROGRAM from autoconf.
29961 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
29962 prototypes (fixes warning).
29963
29964 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
29965 `--disable-werror' was used.
29966
bbb2a70f 299672009-09-16 Robert Millan <rmh.grub@aybabtu.com>
29968
29969 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
29970 uninitialized `lastaddr'.
29971
77c24f1d 299722009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
29973
0f0b8c87 29974 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 29975
07197f23 299762009-09-14 Colin Watson <cjwatson@ubuntu.com>
29977
29978 * commands/test.c (get_fileinfo): Return immediately if
29979 grub_fs_probe fails.
29980
dabf1798 299812009-09-14 José Martínez <xosemp@gmail.com>
29982
29983 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
29984
d52109a7 299852009-09-14 Colin Watson <cjwatson@ubuntu.com>
29986
29987 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
29988 output.
29989
56532179 299902009-09-13 Robert Millan <rmh.grub@aybabtu.com>
29991
29992 * configure.ac: Remove --enable-grub-pe2elf. Only build
29993 grub-pe2elf when needed by the build system itself.
29994 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
29995
8ef070f5 299962009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29997
29998 * configure.ac: Bump version to 1.97~beta3.
29999 * docs/version.texi: Likewise.
30000
61229557 300012009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30002
30003 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
30004 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
30005 from here ...
30006 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
30007 (grub_linux_setup_video): ... to here (with some adjustments).
30008
5c9f8d84 300092009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30010
30011 Fix memory corruption issue (spotted by Colin Watson).
30012
30013 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
30014 causing returned size to be stored in an incorrect memory location.
30015 Fix use of uninitialized value when storing the returned size.
30016
e8f5d6e9 300172009-09-12 Yves Blusseau <blusseau@zetam.org>
30018
30019 Change clean rules to properly remove files
30020
30021 * genmk.rb: add new clean rules
30022 * Makefile.in (clean): add the new targets
30023 (mostlyclean): likewise
30024
cda2a409 300252009-09-11 Colin Watson <cjwatson@ubuntu.com>
30026
30027 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
30028 to grub_uint64_t.
30029 * fs/ntfs.c (init_file): Understand 64-bit sizes for
30030 non-resident files.
30031
86695375 300322009-09-11 Colin Watson <cjwatson@ubuntu.com>
30033
30034 * configure.ac: Don't look for help2man when cross-compiling. Fixes
30035 part of bug #27349.
30036
8aa1541a 300372009-09-10 Felix Zielcke <fzielcke@z-51.de>
30038
30039 * util/grub-mkconfig.in: Make the created config mode 400 and
30040 print a warning if it fails.
30041
48d9bb0a 300422009-09-10 Robert Millan <rmh.grub@aybabtu.com>
30043
30044 * util/grub.d/40_custom.in: Ask user to type custom entries below
30045 comment, rather than below 'exec tail' line.
30046
3b0521be 300472009-09-10 Colin Watson <cjwatson@ubuntu.com>
30048
30049 * util/grub.d/40_custom.in: Make sure that the explanatory text is
30050 visible in grub.cfg.
30051
50051d55 300522009-09-10 Colin Watson <cjwatson@ubuntu.com>
30053
30054 * util/grub.d/40_custom.in: Make it a little clearer how to use this
30055 file.
30056
c0d34387 300572009-09-10 Felix Zielcke <fzielcke@z-51.de>
30058
30059 * docs/grub.cfg: Add an example menu entry for memtest86+.
30060
80a608f3 300612009-09-09 Felix Zielcke <fzielcke@z-51.de>
30062
a2094832 30063 * config.guess: Update to latest version from config git.
80a608f3 30064 * config.sub: Likewise.
30065
99423078 300662009-09-08 Colin Watson <cjwatson@ubuntu.com>
30067
30068 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
30069 unknown-command case. Fixes bug #27320.
30070
44454e4c 300712009-09-08 Felix Zielcke <fzielcke@z-51.de>
30072
30073 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
30074 `help' if the command exists.
30075
e30d87ad 300762009-09-06 Robert Millan <rmh.grub@aybabtu.com>
30077
30078 * INSTALL: Require GCC 4.1.3 or later.
30079
9a86f1ec 300802009-09-06 Yves Blusseau <blusseau@zetam.org>
30081
30082 * Makefile.in (RMKFILES): add i386-qemu.rmk
30083 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
30084 $(srcdir)/stamp-h.in
30085
7f26d466 300862009-09-05 Robert Millan <rmh.grub@aybabtu.com>
30087
30088 * util/grub-probe.c (probe): Comment out buggy codepath, which
30089 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
30090 should be re-enabled after 1.97.
30091
3a613259 300922009-09-05 Felix Zielcke <fzielcke@z-51.de>
30093
30094 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
30095 find searches for.
30096
197f76c7 300972009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
30098
30099 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
30100 unnecessary calls to grub_error.
30101
70ba68ce 301022009-09-04 Colin Watson <cjwatson@ubuntu.com>
30103
30104 * NEWS: Mention `keystatus' and Unicode fonts.
30105
4ff0d7a4 301062009-09-04 Robert Millan <rmh.grub@aybabtu.com>
30107
30108 * configure.ac: Bump version to 1.97~beta2.
30109 * docs/version.texi: Likewise.
30110
77c55a87 301112009-09-03 Colin Watson <cjwatson@ubuntu.com>
30112
30113 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
30114 containing unwind information in some cases where it previously did
30115 not. Use -fno-dwarf2-cfi-asm if available to restore the old
30116 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
30117 discussion.
30118
f79572cd 301192009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
30120
30121 Embedding loadenv module into grub-emu
30122
30123 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
30124 commands/loadenv.c
30125 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
30126 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
30127 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
30128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
30129 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
30130 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
30131
93a81088 301322009-09-03 Magnus Granberg <zorry@ume.nu>
30133
30134 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
30135 include -fPIE in the default specs.
30136 * configure.ac: Check if pie_possible is yes and add -fno-PIE
30137 to TARGET_CFLAGS.
30138
160034b2 301392009-09-03 Felix Zielcke <fzielcke@z-51.de>
30140
30141 * INSTALL: Note that GNU Bison 2.3 or later is required.
30142
087c07c4 301432009-09-03 Colin Watson <cjwatson@ubuntu.com>
30144
30145 * kern/i386/pc/startup.S: Fix typo.
30146
cbf978c0 301472009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
30148
30149 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
30150 according to GCS.
30151
301522009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 30153
30154 * docs/grub.texi (Naming convention): Describe one-based partition
30155 numbering.
30156 (Device syntax): Likewise.
30157 (File name syntax): Likewise.
30158 (Block list syntax): Likewise.
30159 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
30160 menu.lst.
30161 (File name syntax): Likewise.
30162 (Command-line and menu entry commands): Document acpi, blocklist,
30163 crc, export, insmod, keystatus, ls, set, and unset commands.
30164
f3e8cdfd 301652009-09-02 Colin Watson <cjwatson@ubuntu.com>
30166
30167 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
30168 to avoid implying that only one of --shift, --ctrl, or --alt may be
30169 used.
30170
c0bc232b 301712009-09-02 Colin Watson <cjwatson@ubuntu.com>
30172
30173 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
30174 rather than comparing against S_IFREG, which will almost never work.
30175
aa0f752d 301762009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
30177
30178 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
30179 (write_blocklists): Likewise.
30180
ecb3166a 301812009-09-01 Colin Watson <cjwatson@ubuntu.com>
30182
30183 * script/lua/grub_lua.h (fputs): Supply a format string as the first
30184 argument to grub_printf.
30185
c403a125 301862009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 30187
30188 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 30189 non GNU test.
31aba781 30190
b5e7312c 301912009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30192
30193 * kern/file.c (grub_file_read): Spelling fix
30194
fe00f472 301952009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30196
30197 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
30198 loading of headers in some cases.
30199
cc55302e 302002009-08-30 Robert Millan <rmh.grub@aybabtu.com>
30201
30202 * configure.ac: Bump version to 1.97~beta1.
30203 * docs/version.texi: Likewise.
30204
5c90cdd2 302052009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 30206
30207 * include/grub/i386/xnu.h: Add license header.
30208 include grub/err.h explicitly.
30209
c90edae4 302102009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30211
30212 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
30213 to `ufs' in the vfs.root.mountfrom kernel parameter.
30214
d8888b5c 302152009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30216
30217 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
30218
30219 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
30220 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
30221
30222 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
30223 `ARRAY_SIZE' macro.
30224
6f07b921 302252009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30226
30227 * kern/file.c (grub_file_read): Check offset.
30228 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
30229 * fs/jfs.c (grub_jfs_read_file): Likewise.
30230 * fs/ntfs.c (grub_ntfs_read): Likewise.
30231 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
30232 * fs/minix.c (grub_minix_read_file): Correct offset check.
30233 * fs/ufs.c (grub_ufs_read_file): Likewise.
30234
b4f34077 302352009-08-28 Colin Watson <cjwatson@ubuntu.com>
30236
30237 * term/i386/pc/console.c (bios_data_area): Cast
30238 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
30239
e7c69859 302402009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30241
30242 1-bit optimised blitters.
30243
30244 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
30245 prototype.
30246 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30247 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30248 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30249 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30250 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30251 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30252 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
30253 function.
30254 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30255 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30256 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30257 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30258 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30259 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30260 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
30261 when possible.
30262 * video/video.c (grub_video_get_blit_format): Return
30263 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
30264
a57da43f 302652009-08-28 Colin Watson <cjwatson@ubuntu.com>
30266
30267 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
30268 the first argument to grub_printf.
30269
4cbe67e5 302702009-08-28 Colin Watson <cjwatson@ubuntu.com>
302712009-08-28 Robert Millan <rmh.grub@aybabtu.com>
30272
30273 Add `getkeystatus' terminal method. Add a new `keystatus' command
30274 to query it.
30275
30276 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
30277 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
30278 modifier key bitmasks.
30279 (struct grub_term_input): Add `getkeystatus' member.
30280 (grub_getkeystatus): Add prototype.
30281 * kern/term.c (grub_getkeystatus): New function.
30282
30283 * include/grub/i386/pc/memory.h
30284 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
30285 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
30286 Data Area layout.
30287 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
30288 (grub_console_term_input): Set `getkeystatus' member.
30289 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
30290 constants.
30291 (grub_usb_keyboard_getreport): Likewise.
30292 (grub_usb_keyboard_checkkey): Likewise.
30293 (grub_usb_keyboard_getkeystatus): New function.
30294 (grub_usb_keyboard_term): Set `getkeystatus' member.
30295
30296 * commands/keystatus.c: New file.
30297 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
30298 (keystatus_mod_SOURCES): New variable.
30299 (keystatus_mod_CFLAGS): Likewise.
30300 (keystatus_mod_LDFLAGS): Likewise.
30301 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
30302 commands/keystatus.c.
30303 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30304 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30305 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30306 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30307 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30308 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 30309
6e2a9085 303102009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30311
30312 Split befs.mod and afs.mod into *_be.mod and *.mod
30313
30314 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
30315 (grub_fstest_SOURCES): Likewise.
30316 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
30317 (afs_be_mod_SOURCES): New variable.
30318 (afs_be_mod_CFLAGS): Likewise.
30319 (afs_be_mod_LDFLAGS): Likewise.
30320 (befs_be_mod_SOURCES): Likewise.
30321 (befs_be_mod_CFLAGS): Likewise.
30322 (befs_be_mod_LDFLAGS): Likewise.
30323 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
30324 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30325 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30326 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30327 (grub_emu_SOURCES): Likewise.
30328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30329 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30330 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30331 * fs/afs_be.c: New file.
30332 * fs/befs_be.c: New file.
30333 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
30334 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
30335 (U16): Replaced with ...
30336 (grub_afs_to_cpu16): ...this. All users updated.
30337 (U32): Replaced with ...
30338 (grub_afs_to_cpu32): ...this. All users updated.
30339 (U64): Replaced with ...
30340 (grub_afs_to_cpu64): ...this. All users updated.
30341 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
30342 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 30343 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 30344 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30345 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30346 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30347 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30348 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30349 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30350 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30351 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30352
32a71655 303532009-08-26 Bean <bean123ch@gmail.com>
30354
30355 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
30356 64-bit number.
30357 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
30358 (grub_xfs_inode_block): Change return type to grub_uint64_t.
30359 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
30360
552bf6c5 303612009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30362
30363 NetBSD memory map support.
30364
30365 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
30366 (grub_netbsd_btinfo_mmap_header): New structure.
30367 (grub_netbsd_btinfo_mmap_entry): Likewise.
30368 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
30369
1ae2078c 303702009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30371
30372 Enable bsd.mod on coreboot.
30373
30374 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
30375 (bsd_mod_SOURCES): New variable.
30376 (bsd_mod_CFLAGS): Likewise.
30377 (bsd_mod_LDFLAGS): Likewise.
30378 (bsd_mod_ASFLAGS): Likewise.
30379 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
30380 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
30381
beefc598 303822009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30383
30384 Cleanup NetBSD root support.
30385
30386 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
30387 grub_bsd_get_device.
30388 Fix typo.
30389
3b76e68b 303902009-08-25 Felix Zielcke <fzielcke@z-51.de>
30391
30392 * util/grub.d/00_header.in: Move check for the video backend of
30393 gfxterm from here ...
30394 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
30395 a suitable video backend.
30396
aea664ea 303972009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30398
30399 Fix breakage in grub-setup.
30400
30401 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
30402 "msdos_partition_map".
30403
ff747d50 304042009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30405
30406 Fix breakage in normal/auth.c.
30407
30408 * normal/auth.c (grub_iswordseparator): New function.
30409
e7e1f93f 304102009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30411
30412 Authentication support.
30413
30414 * commands/password.c: New file.
30415 * conf/common.rmk (pkglib_MODULES): Add password.mod.
30416 (password_mod_SOURCES): New variable.
30417 (password_mod_CFLAGS): Likewise.
30418 (password_mod_LDFLAGS): Likewise.
30419 (normal_mod_SOURCES): Add normal/auth.c.
30420 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
30421 normal/auth.c.
30422 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30423 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30424 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30426 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30427 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30428 * include/grub/auth.h: New file.
30429 * include/grub/err.h (grub_err_t): New enum value
30430 GRUB_ERR_ACCESS_DENIED.
30431 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
30432 'users'.
30433 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
30434 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
30435 users updated.
30436 * normal/auth.c: New file.
30437 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
30438 (grub_cmdline_run): Don't allow to go to command line without
30439 authentication.
30440 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
30441 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
30442 menuentry without superuser rights.
30443 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
30444 user isn't a superuser.
30445
70f1161d 304462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30447
30448 Save space by inlining misc.c functions.
30449
30450 * kern/misc.c (grub_iswordseparator): Made static.
30451 * kern/misc.c (grub_strcat): Moved from here ...
30452 * include/grub/misc.h (grub_strcat): ... here. Inlined.
30453 * kern/misc.c (grub_strncat): Moved from here ...
30454 * include/grub/misc.h (grub_strncat): ... here. Inlined.
30455 * kern/misc.c (grub_strcasecmp): Moved from here ...
30456 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
30457 * kern/misc.c (grub_strncasecmp): Moved from here ...
30458 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
30459 * kern/misc.c (grub_isalpha): Moved from here ...
30460 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
30461 * kern/misc.c (grub_isdigit): Moved from here ...
30462 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
30463 * kern/misc.c (grub_isgraph): Moved from here ...
30464 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
30465 * kern/misc.c (grub_tolower): Moved from here ...
30466 * include/grub/misc.h (grub_tolower): ... here. Inlined.
30467
48e40bff 304682009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30469
30470 * script/sh/function.c (grub_script_function_find): Cut error message
30471 not to flood terminal.
30472 * script/sh/lexer.c (grub_script_yylex): Remove command line length
30473 limit.
30474 * script/sh/script.c (grub_script_arg_add): Duplicate string.
30475
c385bfc3 304762009-08-24 Colin Watson <cjwatson@ubuntu.com>
30477
30478 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
30479 `report' grub_uint8_t *.
30480 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
30481 Use a 50-millisecond timeout rather than just repeating
30482 grub_usb_keyboard_getreport 50 times.
30483 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
30484
2d21e3e8 304852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30486
30487 Rename *_partition_map to part_*
30488
30489 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
30490 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
30491 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
30492 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
30493 All users updated.
30494 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
30495 All users updated.
30496 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
30497 * util/grub-probe.c (probe_partmap): Don't transform partition name
30498 to get module name.
30499
dd103c4e 305002009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30501
30502 Fix OpenBSD and NetBSD support.
30503
30504 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
30505 memory address conflict.
30506 (OPENBSD_MMAP_ACPI): New definition.
30507 (OPENBSD_MMAP_NVS): Likewise.
30508 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
30509 and OPENBSD_MMAP_NVS.
30510 Add memory map terminator
30511 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 30512 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 30513
16c84d74 305142009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30515
30516 Let user specify NetBSD root device.
30517
30518 * loader/i386/bsd.c (netbsd_root): New variable.
30519 (netbsd_opts): New option 'root'.
30520 (NETBSD_ROOT_ARG): New macro.
30521 (grub_netbsd_boot): Use 'netbsd_root'.
30522 (grub_bsd_unload): Free 'netbsd_root'.
30523 (grub_cmd_netbsd): Fill 'netbsd_root'.
30524
adb29902 305252009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30526
30527 Support for 64-bit NetBSD.
30528
30529 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
30530 point when booting non-FreeBSD.
30531
f5ae9f74 305322009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30533
30534 Support --no-smp and --no-acpi for NetBSD.
30535
30536 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
30537 (NETBSD_AB_NOACPI): Likewise.
30538 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
30539 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
30540
de74f136 305412009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30542
30543 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
30544 errors.
30545 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
30546 errors. Call grub_error when needed.
30547
e9a925da 305482009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30549
30550 * commands/search.c (search_fs): Try searching without autoload first.
30551 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
30552 filesystem module explicitly for faster booting.
30553
5174302b 305542009-08-23 Colin Watson <cjwatson@ubuntu.com>
30555
30556 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
30557
c8c80635 305582009-08-23 Colin Watson <cjwatson@ubuntu.com>
30559
30560 * util/grub.d/30_os-prober.in: Disable os-prober if
30561 `GRUB_DISABLE_OS_PROBER' was set to true.
30562
71acf5e5 305632009-08-23 Robert Millan <rmh.grub@aybabtu.com>
30564
30565 * partmap/pc.c: Rename to ...
30566 * partmap/msdos.c: ... this. Update all users.
30567 (grub_pc_partition_map): Rename to ...
30568 (grub_msdos_partition_map): ... this. Update all users.
30569
30570 * parttool/pcpart.c: Rename to ...
30571 * parttool/msdospart.c: ... this. Update all users.
30572
30573 * include/grub/pc_partition.h: Rename to ...
30574 * include/grub/msdos_partition.h: ... this. Update all users.
30575 (grub_pc_partition_bsd_entry): Rename to ...
30576 (grub_msdos_partition_bsd_entry): ... this. Update all users.
30577 (grub_pc_partition_disk_label): Rename to ...
30578 (grub_msdos_partition_disk_label): ... this. Update all users.
30579 (grub_pc_partition_entry): Rename to ...
30580 (grub_msdos_partition_entry): ... this. Update all users.
30581 (grub_pc_partition_mbr): Rename to ...
30582 (grub_msdos_partition_mbr): ... this. Update all users.
30583 (grub_pc_partition): Rename to ...
30584 (grub_msdos_partition): ... this. Update all users.
30585 (grub_pc_partition_is_empty): Rename to ...
30586 (grub_msdos_partition_is_empty): ... this. Update all users.
30587 (grub_pc_partition_is_extended): Rename to ...
30588 (grub_msdos_partition_is_extended): ... this. Update all users.
30589 (grub_pc_partition_is_bsd): Rename to ...
30590 (grub_msdos_partition_is_bsd): ... this. Update all users.
30591
30592 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
30593 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
30594 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
30595 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
30596 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
30597 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
30598 (gpt_mod_LDFLAGS): Rename to ...
30599 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
30600 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
30601 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
30602 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
30603 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
30604 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
30605 (part_gpt_mod_LDFLAGS): ... this.
30606 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
30607 `pcpart.mod' to `msdospart.mod'.
30608 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
30609 to ...
30610 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
30611 (msdospart_mod_LDFLAGS): ... this.
30612
c11fded5 306132009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30614
30615 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
30616 (openbsd_opts): Likewise.
30617 (netbsd_opts): Likewise.
30618 (freebsd_flags): Added 0 terminator.
30619 (openbsd_flags): Likewise.
30620 (netbsd_flags): Likewise.
30621 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
30622 (grub_cmd_freebsd): Transformed into extended command.
30623 (grub_cmd_openbsd): Likewise.
30624 (grub_cmd_netbsd): Likewise.
30625 (cmd_freebsd): Changed type to grub_extcmd_t.
30626 (cmd_openbsd): Likewise.
30627 (cmd_netbsd): Likewise.
30628 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
30629 grub_cmd_openbsd as extended commands.
30630 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
30631 cmd_netbsd and cmd_openbsd
30632
11d1c769 306332009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
30634
30635 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
30636
7a9094e5 306372009-08-21 Pavel Roskin <proski@gnu.org>
30638
5496c37e 30639 * Makefile.in (install-local): When checking if a file is in the
30640 build directory, use "test -e" to detect symlinks.
30641
7a9094e5 30642 * Makefile.in (install-local): Remove all files in
30643 $(DESTDIR)$(pkglibdir) before installing new files there.
30644
e53cea11 306452009-08-18 Felix Zielcke <fzielcke@z-51.de>
30646
30647 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
30648 grub-mkelfimage.
30649
9aced544 306502009-08-18 Felix Zielcke <fzielcke@z-51.de>
30651
30652 * util/grub-mkconfig.in: Don't use gfxterm by default if not
30653 explicitly specified by the user.
30654
b7da6bab 306552009-08-18 Pavel Roskin <proski@gnu.org>
30656
30657 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
30658 grub_uint8_t pointer for data.
30659 * include/grub/fbutil.h (struct grub_video_fbblit_info):
30660 Likewise.
30661 * video/fb/fbutil.c: Remove unnecessary casts.
30662
19f1b335 306632009-08-17 Michal Suchanek <hramrach@centrum.cz>
30664
30665 VBE cleanup.
30666
30667 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
30668 (grub_vbe_set_video_mode): Save active mode info
30669 only after setting the mode.
30670 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
30671 second argument.
30672
2f467aa9 306732009-08-17 Michal Suchanek <hramrach@centrum.cz>
30674
30675 Rename variables for clarity.
30676
30677 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
30678 (active_vbe_mode_info): ... this. All users updated.
30679 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
30680 All users updated.
30681 (initial_mode): Rename to ...
30682 (initial_vbe_mode): ... this. All users updated.
30683 (mode_in_use): Rename to ..
30684 (vbe_mode_in_use): ... this. All users updated.
30685 (mode_list): Rename to ..
30686 (vbe_mode_list): ... this. All users updated.
30687 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
30688 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
30689 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
30690 'mode_list_size' to 'vbe_mode_list_size'.
30691 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
30692 'best_mode_info' to 'best_vbe_mode_info' and
30693 'best_mode' to 'best_vbe_mode'
30694
6025fcd7 306952009-08-17 Michal Suchanek <hramrach@centrum.cz>
30696
30697 Remove duplicate grub_video_fb_get_video_ptr.
30698
30699 * include/grub/fbutil.h (get_data_ptr): Rename to ...
30700 (grub_video_fb_get_video_ptr): ... this.
30701 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
30702 * video/fb/fbutil.c: Add comment about addressing.
30703 (get_data_ptr): Rename to ...
30704 (grub_video_fb_get_video_ptr): ... this. All users updated.
30705 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
30706
cc8c6faf 307072009-08-17 Robert Millan <rmh.grub@aybabtu.com>
30708
30709 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
30710 grub_dprintf() that was just added.
30711
08aa61f0 307122009-08-17 Robert Millan <rmh.grub@aybabtu.com>
30713
30714 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
30715 (DEFAULT_VIDEO_MODE): Remove macros.
30716 (grub_linux_boot): Remove assumption that Linux has FB support,
30717 and use "text" as default video mode.
30718
7cef4f75 307192009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
30720
30721 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
30722 grub_dprintf.
30723 * fs/fat.c (grub_fat_read_data): Likewise.
30724
e1f39873 307252009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30726
30727 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
30728 payload.
30729 (grub_module): Likewise.
30730
c166d79e 307312009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30732
30733 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
30734 mbi->cmdline but free playground.
30735
c60cee8e 307362009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30737
30738 Handle group offset on UFS1.
30739
30740 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
30741 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
30742
c0d8b5d4 307432009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30744
30745 Split ufs.mod into ufs1.mod and ufs2.mod.
30746
30747 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
30748 (grub_fstest_SOURCES): Likewise.
30749 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
30750 (ufs_mod_SOURCES): Remove.
30751 (ufs_mod_CFLAGS): Likewise.
30752 (ufs_mod_LDFLAGS): Likewise.
30753 (ufs1_mod_SOURCES): New variable.
30754 (ufs1_mod_CFLAGS): Likewise.
30755 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 30756 (ufs2_mod_SOURCES): New variable.
30757 (ufs2_mod_CFLAGS): Likewise.
30758 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 30759 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
30760 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
30761 Likewise.
30762 (grub_emu_SOURCES): Likewise.
30763 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30764 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30765 (grub_setup_SOURCES): Likewise.
30766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30767 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
30768 (grub_setup_SOURCES): Likewise.
30769 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
30770 Likewise.
30771 * fs/ufs2.c: New file.
30772 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
30773
d3539132 307742009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30775
30776 Framebuffer split.
30777
30778 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
30779 subsystem at the end.
30780 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
30781 (video_fb_mod_SOURCES): New variable.
30782 (video_fb_mod_CFLAGS): Likewise.
30783 (video_fb_mod_LDFLAGS): Likewise.
30784 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
30785 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
30786 * video/i386/pc/vbeblit.c: Moved from here ...
30787 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
30788 * video/i386/pc/vbefill.c: Moved from here ...
30789 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
30790 * video/i386/pc/vbeutil.c: Moved from here ...
30791 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
30792 * include/grub/i386/pc/vbeblit.h: Moved from here ...
30793 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
30794 * include/grub/i386/pc/vbefill.h: Moved from here ...
30795 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
30796 * include/grub/i386/pc/vbeutil.h: Moved from here ...
30797 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
30798 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
30799 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
30800 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
30801 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
30802 (grub_video_adapter): Added 'get_info_and_fini'.
30803 (grub_video_get_info_and_fini): New prototype.
30804 (grub_video_set_mode): make modestring const char *.
30805 * loader/i386/linux.c (grub_linux_setup_video): Use
30806 grub_video_get_info_and_fini.
30807 (grub_linux_boot): Move modesetting just before booting.
30808 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
30809 grub_video_get_info_and_fini.
30810 * video/i386/pc/vbe.c: Moved framebuffer part ...
30811 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
30812 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
30813 grub_video_fbstd_colors and grub_video_fb_set_palette.
30814 (grub_video_vbe_init): Clear 'framebuffer' variable and use
30815 grub_video_fb_init.
30816 (grub_video_vbe_fini): Use grub_video_fb_fini.
30817 (grub_video_vbe_setup): Use framebuffer.render_target instead of
30818 render_target and use grub_video_fb_set_active_render_target and
30819 grub_video_fb_set_palette.
30820 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
30821 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
30822 (grub_video_vbe_adapter): Use framebuffer.
30823 * video/video.c (grub_video_get_info_and_fini): New function.
30824 (grub_video_set_mode): Make modestring const char *.
30825 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
30826 values are already initialised.
30827
d404ee56 308282009-08-14 Pavel Roskin <proski@gnu.org>
30829
30830 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
30831 ABS and APPLE_CC.
30832 * boot/i386/pc/diskboot.S: Likewise.
30833 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
30834 sectors allow compilation on MacOSX.
30835 * conf/i386-pc.rmk: Enable unconditional compilation of
30836 lnxboot.img.
30837
9a10df16 308382009-08-13 Colin Watson <cjwatson@ubuntu.com>
30839
30840 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
30841 * util/grub.d/00_header.in: Enter interruptible sleep if
30842 GRUB_HIDDEN_TIMEOUT is set.
30843
be3c9ca7 308442009-08-13 Yves Blusseau <blusseau@zetam.org>
30845
30846 * include/grub/symbol.h: Add the LOCAL macro.
30847 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
30848 starting with "L_".
30849
1f9e557e 308502009-08-13 Pavel Roskin <proski@gnu.org>
30851
9ca62843 30852 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
30853 any modern compilers we support.
30854
1f9e557e 30855 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
30856 Use local labels starting with "L_" so that Apple assembler
30857 knows they are local.
30858
81623db6 308592009-08-10 Robert Millan <rmh.grub@aybabtu.com>
30860
30861 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
30862 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
30863 (bsd_kernel_types): ... this enum.
30864
30865 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
30866 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
30867 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
30868
30869 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
30870 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
30871 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
30872 messages.
30873
f5d35e7a 308742009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30875
30876 * util/grub-dumpdevtree: Moved from here ...
30877 * util/i386/efi/grub-dumpdevtree: ... to here.
30878 (hexify): New function. Converts a string to its hex version.
30879 Generate hex versions of "efi" and "device-properties" by calling
30880 hexify() on the ASCII strings rather than by hardcoding numbers.
30881
d1e1d527 308822009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30883
30884 * fs/jfs.c: Update copyright year.
30885
1ebbe064 308862009-08-08 Felix Zielcke <fzielcke@z-51.de>
30887
30888 * util/grub.d/00_header.in: Fix a comment.
30889 * util/grub.d/10_linux.in: Likewise.
30890 * util/grub.d/10_windows.in: Likewise.
30891 * util/grub.d/10_hurd.in: Likewise.
30892
a78c8d24 308932009-08-08 Felix Zielcke <fzielcke@z-51.de>
30894
30895 * util/grub-mkconfig.in: Allow the user to specify the used font
30896 with GRUB_FONT.
30897
29a6b9e8 308982009-08-08 Pavel Roskin <proski@gnu.org>
30899
b5f16cc4 30900 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
30901 available, xfs.mod needs it now.
30902
2f5cb827 30903 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
30904 the "g" modifier in sed when the intention is to strip something
30905 once. This fixes comparison of kernels with multiple dashes.
30906
29a6b9e8 30907 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
30908 on it. Add missing space before closing bracket. Fix
30909 misleading formatting.
30910
892a3d98 309112009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30912
30913 * docs/grub.texi: Major overhaul. Remove all sections that are
30914 specific to GRUB Legacy, or mostly composed of Legacy-specific
30915 information.
30916
ed94253f 309172009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30918
30919 * docs/version.texi: New file. Provides version information for
30920 grub.texi.
30921
126d6628 309222009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30923
30924 * docs/grub.texi: Update CVS information to SVN.
30925 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
30926
998b5aa9 309272009-08-07 Felix Zielcke <fzielcke@z-51.de>
30928
30929 * util/grub-mkconfig.in: Remove a wrong `fi'.
30930
818e094a 309312009-08-07 Felix Zielcke <fzielcke@z-51.de>
30932
30933 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
30934 (grub_jfs_uuid): New function.
30935 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
30936
b969c52f 309372009-08-07 Felix Zielcke <fzielcke@z-51.de>
30938
30939 * util/grub-mkconfig_lib.in (font_path): Move the functionality
30940 of it to ...
30941 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
30942 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
30943
7a4894cc 309442009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30945
30946 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
30947 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
30948 Update all users.
30949
30950 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
30951 not just "vmlinu[zx]".
30952 Moved from here ...
30953 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
30954 all users.
30955
30956 * util/grub.d/10_linux.in (find_latest): Moved from here ...
30957 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
30958 all users.
30959
4e2171f8 309602009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30961
30962 * util/grub.d/10_freebsd.in: Use an absolute device path for
30963 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
30964
6dcfcb32 309652009-08-06 Felix Zielcke <fzielcke@z-51.de>
30966
30967 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
30968 handling of multiple abstraction modules.
30969
f56a8756 309702009-08-04 Robert Millan <rmh.grub@aybabtu.com>
30971
30972 Fix a bug resulting in black screen when loading Linux using a
30973 packed video mode.
30974
30975 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
30976 function.
30977
30978 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
30979 (grub_vbe_bios_getset_dac_palette_width): New function.
30980 (grub_vbe_bios_get_dac_palette_width)
30981 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
30982 grub_vbe_bios_getset_dac_palette_width()).
30983
30984 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
30985 check for return status.
30986 (grub_vbe_get_video_mode_info): When getting information for a packed
30987 mode (<= 8 bpp), obtain DAC palette width using
30988 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
30989 {red,green,blue}_mark_size.
30990
222671b2 309912009-08-04 Felix Zielcke <fzielcke@z-51.de>
30992
ecb1a6d9 30993 * commands/search.c (options): Fix help output to match actual code.
222671b2 30994
f84114f5 309952009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
30996
30997 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
30998 of homegrown code.
30999
bd288a20 310002009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 31001
31002 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
31003 on XFS or ReiserFS.
31004
8aab5e25 310052009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
31006
31007 Support Apple partition map with sector size different from 512 bytes.
31008
31009 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
31010 (apple_partition_map_iterate): Respect 'aheader.blocksize'
31011 and 'apart.partmap_size'.
31012
6ad6258a 310132009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
310142009-08-01 Robert Millan <rmh.grub@aybabtu.com>
31015
31016 Fix cpuid command.
31017
31018 * commands/i386/cpuid.c (options): New variable.
31019 (grub_cmd_cpuid): Return real error.
31020 (GRUB_MOD_INIT(cpuid)): Declare options.
31021
67459bc6 310222009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
31023
31024 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
31025 valid.
31026
fbc6ab54 310272009-07-31 Bean <bean123ch@gmail.com>
31028
31029 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
31030 log2_inode.
31031 (grub_fshelp_node): Move inode field to the end.
31032 (grub_xfs_data): Remove inode field.
31033 (grub_xfs_inode_block): Calculate inode size using sblock.
31034 (grub_xfs_inode_offset): Likewise.
31035 (grub_xfs_read_inode): Calculate inode size using sblock.
31036 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
31037 (grub_xfs_iterate_dir): Calculate inode size using sblock.
31038 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
31039 to match inode size.
31040 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
31041 not accessible when data is null.
31042 (grub_xfs_open): Likewise.
31043
f45d6cfc 310442009-07-31 Bean <bean123ch@gmail.com>
31045
31046 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
31047 Don't change pv->disk if it's already set.
31048
31049 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
31050 (grub_raid_register): ... here.
31051 (grub_raid_rescan): Removed.
31052
31053 * include/grub/raid.h (grub_raid_rescan): Removed.
31054
31055 * util/grub-fstest.c: Remove include file <grub/raid.h>.
31056 (fstest): Replace grub_raid_rescan with module fini function followed
31057 by init function.
31058
31059 * util/grub-probe.c: Add include file <grub/raid.h>.
31060 (probe_raid_level): New function.
31061 (probe): Detect abstraction by walking the disk device, support two
31062 level of abstraction (LVM on RAID) when detecting partition map.
31063
24443b5a 310642009-07-31 Pavel Roskin <proski@gnu.org>
31065
31066 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
31067 to grub_zalloc(), it was erroneous.
31068 Reported by Bean <bean123ch@gmail.com>
31069
a275d9e7 310702009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
31071
31072 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 31073 embedding zone, not only the first one.
a275d9e7 31074
56c5a47f 310752009-07-29 Joe Auricchio <jauricchio@gmail.com>
31076
31077 * term/gfxterm.c (clear_char): New function.
31078 (grub_virtual_screen_setup): Use clear_char.
31079 (scroll_up): Likewise.
31080 (grub_virtual_screen_cls): Likewise.
31081
67bb323a 310822009-07-29 Felix Zielcke <fzielcke@z-51.de>
31083
31084 * util/deviceiter.c (get_acceleraid_disk_name): New static
31085 function.
31086 (grub_util_iterate_devices): Handle Accelraid devices.
31087 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
31088
388a7c75 310892009-07-28 Robert Millan <rmh.grub@aybabtu.com>
31090
31091 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
31092 separator for the suggested gfxpayload string (';' collides with the
31093 parser and needs escaping).
31094
3bb7abcf 310952009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
31096
31097 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
31098 Clear direction flag before jumping to OS.
31099 (grub_multiboot2_real_boot): Likewise.
31100
2ddd36d7 311012009-07-28 Felix Zielcke <fzielcke@z-51.de>
31102
31103 * util/i386/pc/grub-install: Fix parsing of --disk-module
31104 option.
31105
c521b62b 311062009-07-28 Felix Zielcke <fzielcke@z-51.de>
31107
31108 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
31109 when embedding.
31110
880e0a0c 311112009-07-26 Felix Zielcke <fzielcke@z-51.de>
31112
31113 * util/grub-mkconfig.in (package_version): New variable.
31114 Use it do display the version.
31115
2366e356 311162009-07-25 Felix Zielcke <fzielcke@z-51.de>
31117
31118 * kern/file.c (grub_file_open): Revert to previous check with
31119 grub_errno.
31120
7ad8c80e 311212009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31122
31123 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
31124 from help line. It's out of sync with code.
31125
72b9658b 311262009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31127
31128 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
31129 entries on failed boot.
31130
77435277 311312009-07-25 Felix Zielcke <fzielcke@z-51.de>
31132
31133 * kern/file.c (grub_file_open): Fix an error check.
31134
fcaa8b21 311352009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
31136
35d16c74 31137 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
31138 partition map couldn't be identified.
fcaa8b21 31139
48904cd1 311402009-07-23 Pavel Roskin <proski@gnu.org>
31141
ef3c317f 31142 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
31143 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
31144 case of little endian words becomes just an optimization.
31145 Respect const modifier.
ad8ea1f4 31146 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 31147
48904cd1 31148 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
31149 to avoid loss of upper bits if align is unsigned and shorter
31150 than addr.
31151
260c9a89 311522009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31153
31154 UUID support for UFS
31155
31156 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
31157 (grub_ufs_uuid): New function.
31158 (grub_ufs_fs): add .uuid
31159
f76ce889 311602009-07-21 Pavel Roskin <proski@gnu.org>
31161
31162 * kern/dl.c (grub_dl_check_header): Make static.
31163
6a6cbcaf 311642009-07-21 Felix Zielcke <fzielcke@z-51.de>
31165
31166 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
31167 add drivemap for Vista. It breaks Windows 7.
31168
cffcddb2 311692009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31170
31171 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
31172 128 bytes
31173
1ef44b80 311742009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31175
31176 Add BFS support
31177
31178 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
31179 (grub_fstest_SOURCES): Likewise.
31180 (pkglib_MODULES): Add befs.mod.
31181 (befs_mod_SOURCES): New variable.
31182 (befs_mod_CFLAGS): Likewise.
31183 (befs_mod_LDFLAGS): Likewise.
31184 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31185 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31186 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31187 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31188 (grub_setup_SOURCES): Likewise.
31189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31190 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31191 (grub_setup_SOURCES): Likewise.
31192 * fs/befs.c: New file.
31193 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
31194 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
31195 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
31196 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
31197 (B_KEY_INDEX_ALIGN): New declaration.
31198 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
31199 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
31200 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
31201 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
31202 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
31203 (grub_afs_mount) [MODE_BFS]: Likewise.
31204 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
31205 (grub_afs_fs): Use GRUB_AFS_FSNAME
31206 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
31207 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
31208 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
31209 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
31210
4f253044 312112009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
31212
31213 * util/getroot.c (find_root_device): Add support for MacOSX.
31214 * util/hostdisk.c: Likewise.
31215
57a55913 312162009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31217
31218 * font/font.c (find_glyph): Check whether a font is present to avoid
31219 segmentation fault.
75421ca9 31220
312212009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 31222
31223 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
31224
e98cd0c2 312252009-07-20 Pavel Roskin <proski@gnu.org>
31226
31227 * configure.ac: Trim excessively wordy excuses.
31228
1d2d169a 312292009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31230
31231 Add symlink, mtime and label support to AtheFS.
31232
31233 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
31234 (grub_afs_iterate_dir): Handle symlinks.
31235 (grub_afs_open): Use grub_afs_read_symlink.
31236 (grub_afs_dir): Likewise.
31237 Pass mtime.
31238 (grub_afs_label): New function.
31239 (grub_afs_fs): Add grub_afs_label.
31240 (grub_afs_read_symlink): New function.
31241
186f3189 312422009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31243
31244 Fix AtheFS support.
31245
31246 * fs/afs.c: Fix comments style.
31247 (grub_afs_blockrun): Declare as packed.
31248 (grub_afs_datastream): Likewise.
31249 (grub_afs_bnode): Likewise.
31250 (grub_afs_btree): Likewise.
31251 (grub_afs_sblock): Likewise.
31252 Declare `name' as char.
31253 (grub_afs_inode): Declare as packed.
31254 Change void *vnode to grub_uint32_t unused.
31255 (grub_afs_iterate_dir): Check that key_size is positive.
31256 (grub_afs_mount): Don't read superblock twice.
75421ca9 31257 (grub_afs_dir): Don't free node in case of error,
186f3189 31258 grub_fshelp_find_file already handles this.
31259 (grub_afs_open): Likewise.
31260
5680109e 312612009-07-19 Pavel Roskin <proski@gnu.org>
31262
31263 * Makefile.in: Remove LIBLZO and enable_lzo.
31264 * conf/i386-pc.rmk: Remove lzo support.
31265 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
31266 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
31267 support.
31268 * kern/i386/pc/lzo1x.S: Remove.
31269 * kern/i386/pc/startup.S: Remove lzo support.
31270 * util/i386/pc/grub-mkimage.c: Likewise.
31271
ac70fa32 312722009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
31273
31274 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
31275 * fs/xfs.c (grub_xfs_dir): Likewise.
31276 * fs/afs.c (grub_afs_dir): Likewise.
31277 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
31278 (grub_iso9660_open): Likewise.
31279 * fs/jfs.c (grub_jfs_open): Likewise.
31280 * fs/ext2.c (grub_ext2_dir): Likewise.
31281 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
31282 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 31283
eab58da2 312842009-07-16 Pavel Roskin <proski@gnu.org>
31285
d2838156 31286 * configure.ac: Never add "-c" to CFLAGS.
31287
55c70904 31288 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
31289
43e6200c 31290 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
31291 grub_cv_cc_efiemu should be used.
31292
ce7a733d 31293 * configure.ac: Typo fixes.
31294
eab58da2 31295 * kern/mm.c (grub_zalloc): New function.
31296 (grub_debug_zalloc): Likewise.
31297 * include/grub/mm.h: Declare grub_zalloc() and
31298 grub_debug_zalloc().
31299 * util/misc.c (grub_zalloc): New function.
31300 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
31301 instead of grub_malloc(), remove unneeded initializations.
31302 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
31303 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
31304 * commands/parttool.c (grub_cmd_parttool): Likewise.
31305 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
31306 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
31307 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
31308 * disk/usbms.c (grub_usbms_finddevs): Likewise.
31309 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
31310 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
31311 (grub_cmd_efiemu_pnvram): Likewise.
31312 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
31313 * fs/iso9660.c (grub_iso9660_mount): Likewise.
31314 (grub_iso9660_iterate_dir): Likewise.
31315 * fs/jfs.c (grub_jfs_opendir): Likewise.
31316 * fs/ntfs.c (list_file): Likewise.
31317 (grub_ntfs_mount): Likewise.
31318 * kern/disk.c (grub_disk_open): Likewise.
31319 * kern/dl.c (grub_dl_load_core): Likewise.
31320 * kern/elf.c (grub_elf_file): Likewise.
31321 * kern/env.c (grub_env_context_open): Likewise.
31322 (grub_env_set): Likewise.
31323 (grub_env_set_data_slot): Likewise.
31324 * kern/file.c (grub_file_open): Likewise.
31325 * kern/fs.c (grub_fs_blocklist_open): Likewise.
31326 * loader/i386/multiboot.c (grub_module): Likewise.
31327 * loader/xnu.c (grub_xnu_create_key): Likewise.
31328 (grub_xnu_create_value): Likewise.
31329 * normal/main.c (grub_normal_add_menu_entry): Likewise.
31330 (read_config_file): Likewise.
31331 * normal/menu_entry.c (make_screen): Likewise.
31332 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31333 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
31334 * script/sh/script.c (grub_script_parse): Likewise.
31335 * video/bitmap.c (grub_video_bitmap_create): Likewise.
31336 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
31337 * video/readers/png.c (grub_png_output_byte): Likewise.
31338 (grub_video_reader_png): Likewise.
31339
830afef7 313402009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 31341
31342 Enable all targets that can be built by default
31343
830afef7 31344 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 31345 grub-mkfont and grub-fstest if they can be built
31346
ee293aee 313472009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31348
31349 Fix hang and segmentation fault in grub-emu-usb
31350
31351 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
31352 * util/usb.c (grub_libusb_devices): likewise
31353 (grub_libusb_init): rename to ...
31354 (GRUB_MOD_INIT (libusb)):...this
31355 (grub_libusb_fini): rename to ..
31356 (GRUB_MOD_FINI (libusb)):...this
31357 * disk/usbms.c (grub_usbms_transfer): fix retry logic
31358 * include/grub/disk.h (grub_raid_init): removed, it's useless
31359 (grub_raid_fini): likewise
31360 (grub_lvm_init): likewise
31361 (grub_lvm_fini): likewise
31362 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
31363 by grub_init_all
31364
94414221 313652009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31366
31367 Fix libusb
31368
31369 * Makefile.in (LIBUSB): new macro
31370 * genmk.rb (Utility/print_tail): new method
31371 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
31372 (top level): call util.print_tail at the end.
31373
59ade63d 313742009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31375
31376 Make FreeBSD accept zpool.cache
31377
31378 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
31379 type is /boot/zfs/zpool.cache
31380
a58da8c7 313812009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31382
31383 Fix 64-bit efiemu
31384
31385 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
31386 correct wrong typedef
31387 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
31388
20591577 313892009-07-15 Pavel Roskin <proski@gnu.org>
31390
560ca572 31391 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
31392 * kern/disk.c (struct grub_disk_cache): Likewise.
31393
e8e8e4fd 31394 * commands/probe.c (options): Typo fix.
31395
fde24e10 31396 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
31397 Increase to 0x5a to accommodate FAT32. Adjust other offsets
31398 accordingly.
31399 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
31400
379c54c1 31401 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
31402 the end of "Error" to make the message more readable.
31403
7bd8f5bf 31404 * boot/i386/pc/boot.S (kernel_segment): Remove.
31405 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
31406 for destination.
31407
40b132c5 31408 * boot/i386/pc/boot.S (boot_version): Remove.
31409 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
31410 Remove.
31411
20591577 31412 * include/grub/i386/pc/boot.h: Sort all offsets.
31413 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
31414 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
31415 * boot/i386/pc/boot.S: Assert location of every offset listed in
31416 include/grub/i386/pc/boot.h.
31417
2df32b2c 314182009-07-13 Pavel Roskin <proski@gnu.org>
31419
44b5d879 31420 * include/grub/i386/coreboot/machine.h: Rename
31421 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
31422 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
31423 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
31424
17dc3751 31425 * kern/dl.c: Force native word size to suppress warnings when
31426 compiling grub-emu.
31427
2df32b2c 31428 * kern/device.c (grub_device_iterate): Change struct part_ent to
31429 hold the name, not a pointer to it. Use one grub_malloc() per
31430 partition, not two. Free partition_name if grub_malloc() fails.
31431 Set ents to NULL only before grub_partition_iterate() is called.
31432
75c59f59 314332009-07-11 Bean <bean123ch@gmail.com>
31434
31435 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
31436 childname.
31437
0ae1bf88 314382009-07-10 Bean <bean123ch@gmail.com>
314392009-07-10 Robert Millan <rmh.grub@aybabtu.com>
31440
31441 * kern/ieee1275/openfw.c (grub_children_iterate)
31442 (grub_devalias_iterate): Fix size evaluation for property or path
31443 strings, which was broken since r2132.
31444
8279cade 314452009-07-07 Pavel Roskin <proski@gnu.org>
31446
7d8a52d3 31447 * commands/search.c (search_file): Merge into ...
31448 (search_fs): ... this. Accept search type as argument.
31449 (grub_cmd_search): Pass search type to search_fs().
31450
25f9a05a 31451 * include/grub/util/console.h: New file.
31452 * util/console.c: Use it instead of grub/machine/console.h.
31453 * util/grub-emu.c: Likewise.
31454
8279cade 31455 * lib/arg.c (find_long_option): Remove.
31456 (find_long): Add `len' argument, make `s' const char *.
31457 (grub_arg_parse): Parse long options in place, not in a
31458 temporary buffer.
31459
4a11b60f 314602009-07-06 Pavel Roskin <proski@gnu.org>
31461
99f68041 31462 * commands/search.c (search_fs): Fix potential NULL pointer
31463 dereference.
31464
4a11b60f 31465 * commands/search.c (search_fs): Replace QUID macro with quid_fn
31466 function pointer.
31467
e110f4de 314682009-07-06 Daniel Mierswa <impulze@impulze.org>
31469
31470 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
31471 comparison.
31472
46eeb6a2 314732009-07-05 Pavel Roskin <proski@gnu.org>
31474
bab74958 31475 * include/grub/i386/linux.h (struct linux_kernel_params):
31476 Restore padding3, it's still needed.
31477
46eeb6a2 31478 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
31479 FreeBSD.
31480 * util/osdetect.lua: Likewise.
31481
b4a1dc79 314822009-07-05 Bean <bean123ch@gmail.com>
31483
31484 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
31485
31486 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
31487 (grub_lua_getenv): Likewise.
31488 (grub_lua_setenv): Likewise.
31489 (save_errno): New function.
31490 (push_result): Likewise.
31491 (grub_lua_enum_device): Likewise.
31492 (grub_lua_enum_file): Likewise.
31493 (grub_lua_file_open): Likewise.
31494 (grub_lua_file_close): Likewise.
31495 (grub_lua_file_seek): Likewise.
31496 (grub_lua_file_read): Likewise.
31497 (grub_lua_file_getline): Likewise.
31498 (grub_lua_file_getsize): Likewise.
31499 (grub_lua_file_getpos): Likewise.
31500 (grub_lua_file_eof): Likewise.
31501 (grub_lua_file_exist): Likewise.
31502 (grub_lua_add_menu): Likewise.
31503
31504 * script/lua/grub_lua.h (isupper): New inline function.
31505 (islower): Likewise.
31506 (ispunct): Likewise.
31507 (isxdigit): Likewise.
31508 (strcspn): Change to normal function.
31509 (strpbkr): New function declaration.
31510 (memchr): Likewise.
31511
31512 * script/lua/grub_main.c (scan_str): New function.
31513 (strcspn): Likewise.
31514 (strpbrk): Likewise.
31515 (memchr): Likewise.
31516
31517 * script/lua/linit.c (lualibs): Enable the string library.
31518
31519 * util/osdetect.lua: New file.
31520
2da92295 315212009-07-04 Robert Millan <rmh.grub@aybabtu.com>
31522
31523 * include/grub/i386/linux.h (struct linux_kernel_params): Add
31524 `capabilities' member.
31525
b2582ec9 315262009-07-02 Pavel Roskin <proski@gnu.org>
31527
31528 * genparttoollist.sh: Add missing newline at the end.
31529
32622956 315302009-07-01 Pavel Roskin <proski@gnu.org>
31531
87a7339e 31532 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
31533
d23af54e 31534 * util/hostdisk.c (open_device): Remove `const' from
31535 `sysctl_size', as sysctlbyname() can change it (in this case it
31536 doesn't actually happen).
31537
c94b18a9 31538 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
31539 using signed long int constants.
31540
c6cd3ef0 31541 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
31542 constant to avoid a warning on FreeBSD.
31543
0df63420 31544 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
31545 where it's needed.
31546
999577f1 31547 * Makefile.in: Install include/grub/machine symlink.
31548
6f41557f 31549 * Makefile.in: When installing symlinks, use "cp -fR", which
31550 works on FreeBSD and MacOSX.
31551 From Yves Blusseau <cl7m42e02@sneakemail.com>
31552
c8d22988 31553 * kern/dl.c (grub_dl_resolve_symbol): Make static.
31554 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
31555
1b96e952 31556 * util/misc.c: Move grub_reboot() and grub_halt() ...
31557 * util/grub-emu.c: ... here. Make main_env static.
31558 * include/grub/util/misc.h: Remove main_env.
31559
2ef0084d 31560 * kern/mm.c: Use correct format to print size_t.
31561
32622956 31562 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
31563 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
31564 * kern/powerpc/dl.c: Likewise.
31565 * kern/sparc64/dl.c: Likewise.
31566 * kern/x86_64/dl.c: Likewise.
31567
3f7f0cd0 315682009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31569
31570 Fix grub-emu build on sparc64-ieee1275.
31571
75421ca9 31572 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 31573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
31574
211d06b5 315752009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31576
31577 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
31578 (grub_reboot, grub_halt): New functions.
31579
31580 * util/i386/pc/misc.c: Delete. Update all users.
31581 * util/sparc64/ieee1275/misc.c: Likewise.
31582 * util/powerpc/ieee1275/misc.c: Likewise.
31583
aaf53e3c 315842009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31585
31586 * conf/i386.rmk (setjmp_mod_SOURCES)
31587 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
31588 * conf/common.rmk (setjmp_mod_SOURCES)
31589 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
31590 to use $(target_cpu).
31591 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
31592 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
31593 * conf/powerpc-ieee1275.rmk: Likewise.
31594 * conf/sparc64-ieee1275.rmk: Likewise.
31595
31596 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
31597 $(target_cpu) for kern/$(target_cpu)/dl.c.
31598 * conf/i386-efi.rmk: Likewise.
31599 * conf/i386-ieee1275.rmk: Likewise.
31600 * conf/x86_64-efi.rmk: Likewise.
31601 * conf/i386-coreboot.rmk: Likewise.
31602 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
31603 $(target_cpu) for kern/$(target_cpu)/dl.c and for
31604 kern/$(target_cpu)/cache.S.
31605 * conf/sparc64-ieee1275.rmk: Likewise.
31606
a337130b 316072009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31608
31609 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
31610 type to `grub_uint8_t', and adjust `padding9' accordingly.
31611
c6fe4d53 316122009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31613
b09db61d 31614 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
31615
c6fe4d53 31616 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
31617 assembly in final jump, using register constraints.
31618
b09db61d 31619 (grub_linux_boot): For text mode, initialize `have_vga' using
31620 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
31621
31622 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
31623 right before the final jump.
31624
31625 Set `video_mode' to 0x3.
31626
31627 Document initialization of `video_page', `video_mode' and
31628 `video_ega_bx'.
31629
28333ad0 316302009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31631
31632 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
31633 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 31634 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 31635
02164e1b 316362009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31637
31638 Fix build on Debian / sparc.
31639
31640 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
31641
18b6c557 316422009-06-28 Pavel Roskin <proski@gnu.org>
31643
85f2aab6 31644 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
31645 fix a warning.
31646
18b6c557 31647 * util/grub.d/10_linux.in: Match SUSE style initrd names.
31648
ad760f81 316492009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31650
31651 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
31652 `err'.
31653
87a4623b 316542009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31655
31656 Revert r2338.
31657
31658 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
31659 file can't be opened. grub_file_open() is already supposed to set
75421ca9 31660 grub_errno / grub_errmsg appropriately.
87a4623b 31661 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31662
8231fb77 316632009-06-27 Pavel Roskin <proski@gnu.org>
316642009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31665
31666 * include/grub/dl.h: Include grub/elf.h.
31667 (struct grub_dl): Add symtab field.
31668 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
31669 GRUB_MODULES_MACHINE_READONLY.
31670 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
31671 of the header for read-only modules.
31672 (grub_dl_unload): Free mod->symtab for read-only modules.
31673 * kern/i386/dl.c: Use mod->symtab.
31674 * kern/powerpc/dl.c: Likewise.
31675 * kern/sparc64/dl.c: Likewise.
31676 * kern/x86_64/dl.c: Likewise.
31677
31678 * conf/i386-qemu.rmk: New file.
31679 * kern/i386/qemu/startup.S: Likewise.
31680 * kern/i386/qemu/mmap.c: Likewise.
31681 * boot/i386/qemu/boot.S: Likewise.
31682 * include/grub/i386/qemu/time.h: Likewise.
31683 * include/grub/i386/qemu/serial.h: Likewise.
31684 * include/grub/i386/qemu/kernel.h: Likewise.
31685 * include/grub/i386/qemu/console.h: Likewise.
31686 * include/grub/i386/qemu/boot.h: Likewise.
31687 * include/grub/i386/qemu/init.h: Likewise.
31688 * include/grub/i386/qemu/machine.h: Likewise.
31689 * include/grub/i386/qemu/loader.h: Likewise.
31690 * include/grub/i386/qemu/memory.h: Likewise.
31691
31692 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
31693 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
31694 [qemu] (pkglib_IMAGES): Add `boot.img'.
31695 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
31696 [qemu] (boot_img_FORMAT): New variables.
31697 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
31698 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
31699 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
31700 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31701 [qemu] (kernel_img_FORMAT): New variables.
31702
31703 * configure.ac: Recognise `i386-qemu'.
31704
31705 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
31706 (for no compression).
31707 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
31708 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
31709 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
31710 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
31711 ifdefs).
31712
97fe384e 317132009-06-27 Pavel Roskin <proski@gnu.org>
31714
31715 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
31716 read.
31717 * efiemu/prepare32.c: Likewise.
31718 * efiemu/prepare64.c: Likewise.
31719
c402ab17 317202009-06-26 Pavel Roskin <proski@gnu.org>
31721
31722 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
31723 * include/grub/elf.h: Define symbols without "32" or "64" based
31724 on GRUB_TARGET_WORDSIZE.
31725 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
31726 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
31727 ELF definitions.
31728 * efiemu/loadcore64.c: Likewise.
31729 * loader/i386/bsd32.c: Likewise.
31730 * loader/i386/bsd64.c: Likewise.
31731 * kern/dl.c: Remove own ELF definitions.
31732 * util/i386/efi/grub-mkimage.c: Likewise.
31733
9bbdfd4d 317342009-06-23 Robert Millan <rmh.grub@aybabtu.com>
31735
31736 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
31737 segment 0x0 unconditionally, because the reference generated by
31738 GAS is an absolute address.
31739
a42ce6e9 317402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31741
31742 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
31743 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
31744
c952cf92 317452009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31746
31747 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
31748 indexes. Check for -f explicitly.
cc3752ad 31749 (search_file): Improve error message.
31750 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 31751
132a0a59 317522009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31753
31754 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
31755 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
31756
387a140c 317572009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31758
31759 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
31760 * conf/i386-ieee1275.rmk: Likewise.
31761 * conf/i386-coreboot.rmk: Likewise.
31762
31763 * kern/i386/pc/startup.S (grub_stop): Remove function.
31764 * kern/i386/ieee1275/startup.S: Likewise.
31765 * kern/i386/coreboot/startup.S: Likewise.
31766 * kern/i386/misc.S (grub_stop): New function.
31767
41da9665 317682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31769
31770 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
31771 * kern/i386/realmode.S (real_to_prot): ... to here.
31772
bf337234 317732009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31774
31775 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
31776 with `kernel.img'.
31777 (kernel_elf_SOURCES): Rename to ...
31778 (kernel_img_SOURCES): ... this.
31779 (kernel_elf_HEADERS): Rename to ...
31780 (kernel_img_HEADERS): ... this. Update all users.
31781 (kernel_elf_ASFLAGS): Rename to ...
31782 (kernel_img_ASFLAGS): ... this.
31783 (kernel_elf_CFLAGS): Rename to ...
31784 (kernel_img_CFLAGS): ... this.
31785 (kernel_elf_LDFLAGS): Rename to ...
31786 (kernel_img_LDFLAGS): ... this.
31787 * conf/i386-coreboot.rmk: Likewise.
31788 * conf/powerpc-ieee1275.rmk: Likewise.
31789
31790 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
31791 with "kernel.img".
31792
f52196ff 317932009-06-21 Pavel Roskin <proski@gnu.org>
31794
c3cee413 31795 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
31796 to match nested functions.
31797 * loader/sparc64/ieee1275/linux.c: Likewise.
31798
f52196ff 31799 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
31800
58750afc 318012009-06-21 Robert Millan <rmh.grub@aybabtu.com>
31802
31803 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
31804 all i386 platforms.
31805
15355c7d 318062009-06-21 Robert Millan <rmh.grub@aybabtu.com>
31807
31808 Fix asm file handling on ELF, and remove workarounds.
31809
31810 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 31811 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 31812 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
31813 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
31814
3f3ec72b 318152009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
31816
31817 Load BSD ELF modules
31818
31819 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
31820 and loader/i386/bsd64.c
31821 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
31822 (FREEBSD_MODTYPE_ELF_MODULE): New definition
31823 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
31824 (grub_freebsd_load_elfmodule32): New declaration
31825 (grub_freebsd_load_elfmoduleobj64): Likewise
31826 (grub_freebsd_load_elf_meta32): Likewise
31827 (grub_freebsd_load_elf_meta64): Likewise
31828 (grub_freebsd_add_meta): Likewise
31829 (grub_freebsd_add_meta_module): Likewise
31830 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
31831 (grub_freebsd_add_meta_module): Likewise and move module-specific
31832 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
31833 (grub_cmd_freebsd): Add elf-kernel specific parts
31834 based on grub_freebsd_add_meta_module
31835 (grub_cmd_freebsd_module): Add type parsing moved from
31836 grub_freebsd_add_meta_module
31837 (grub_cmd_freebsd_module_elf): New function
31838 (cmd_freebsd_module_elf): New variable
31839 (GRUB_MOD_INIT): Register freebsd_module_elf
31840 * loader/i386/bsd32.c: New file
31841 * loader/i386/bsd64.c: Likewise
31842 * loader/i386/bsdXX.c: Likewise
31843 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
31844 (grub_elf64_load): Likewise
31845 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
31846 All users updated
31847 (grub_elf64_load_hook_t): Likewise
31848
0db15301 318492009-06-21 Colin Watson <cjwatson@ubuntu.com>
31850
31851 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
31852 variable.
31853 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
31854 don't write a menu entry for recovery mode.
31855
546796c1 318562009-06-20 Robert Millan <rmh.grub@aybabtu.com>
31857
31858 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
31859 after it's no longer needed.
31860
cd7310d5 318612009-06-20 Robert Millan <rmh.grub@aybabtu.com>
31862
31863 * include/grub/i386/loader.h (grub_linux_prot_size)
31864 (grub_linux_tmp_addr, grub_linux_real_addr)
31865 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
31866 GRUB_MACHINE_PCBIOS.
31867 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
31868 common grub_util_info() call to ...
31869 (generate_image): ... here.
31870 Fix use of uninitialized memory, comparison of signed with
31871 unsigned integers and memory leak.
31872 Remove bogus module address message.
31873
ab32d3b5 318742009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
31875
31876 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
31877 grub_raid_register
31878 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
31879
024ef597 318802009-06-19 Pavel Roskin <proski@gnu.org>
31881
31882 * configure.ac: Remove stray AC_MSG_CHECKING.
31883
3ac72b51 318842009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
31885
31886 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 31887
e14cd814 318882009-06-18 Pavel Roskin <proski@gnu.org>
31889
31890 * conf/common.rmk: Add fs_file.mod.
31891 * disk/fs_file.c: New file.
31892 * include/grub/disk.h (enum grub_disk_dev_id): Add
31893 GRUB_DISK_DEVICE_FILE_ID.
31894
26586d98 318952009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31896
31897 Fix build with Apple's toolchain. Part 2
31898
31899 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
31900 a fake start
31901
26de2bcd 319022009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31903
31904 Fix build with Apple's toolchain. Part 1
31905
31906 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
31907 for long calls
31908 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 31909 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 31910 Apple's toolchain
31911
09b3490b 319122009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31913
31914 Fix warnings
31915
31916 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
31917 (decomp_block): initialize ch
31918 use grub_memcpy instead of memcpy
31919
c22a006a 319202009-06-17 Pavel Roskin <proski@gnu.org>
31921
d3638678 31922 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
31923 version, use declarations needed to use vga_text as the startup
31924 console.
31925
c22a006a 31926 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
31927 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
31928 the kernel.
31929 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
31930 and grub_at_keyboard_fini(), it's done on module load and
31931 unload.
31932
05b129e0 319332009-06-17 Felix Zielcke <fzielcke@z-51.de>
31934
31935 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
31936 file can't be found.
31937 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31938
cf24ed9e 319392009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
31940
31941 Fix newline handling
31942
31943 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 31944 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 31945 (grub_script_yylex): don't segfault on unterminated script
31946 newline terminates command and variable
31947
74aa8e4b 319482009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
31949
31950 avoid double grub_adjust_range call. Bug reported by David Simner
31951
31952 * kern/disk.c (grub_disk_write): change to raw disk access before
31953 calling disk_read
31954
1bd265f3 319552009-06-17 Colin Watson <cjwatson@ubuntu.com>
31956
31957 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
31958 spaces, for the benefit of help2man.
31959 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31960
a2d08c06 319612009-06-16 Pavel Roskin <proski@gnu.org>
31962
31963 * kern/i386/halt.c: Include grub/machine/init.h.
31964 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
31965
b97bcb19 319662009-06-16 Felix Zielcke <fzielcke@z-51.de>
31967
31968 * util/grub.d/30_os-prober.in: Use ${root} in the generated
31969 drivemap menuentry.
31970
0644f96c 319712009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
31972
31973 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
31974 `echo' command.
31975
3ef17a2e 319762009-06-16 Pavel Roskin <proski@gnu.org>
31977
31978 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
31979 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
31980 save %dx, we only need %dl and we never change it.
31981 * boot/i386/pc/cdboot.S: Don't set the root drive.
31982 * boot/i386/pc/pxeboot.S: Likewise.
31983 * include/grub/i386/pc/boot.h: Remove
31984 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
31985 GRUB_BOOT_MACHINE_DRIVE_CHECK.
31986 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
31987 * kern/i386/pc/init.c (make_install_device): Remove references
31988 to grub_root_drive.
31989 * kern/i386/pc/startup.S: Likewise.
31990 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
31991
693fe637 319922009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
31993
31994 xnu_uuid command
31995
31996 * commands/xnu_uuid.c: new file
31997 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
31998 (xnu_uuid_mod_SOURCES): new variable
31999 (xnu_uuid_mod_CFLAGS): likewise
32000 (xnu_uuid_mod_LDFLAGS): likewise
32001 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32002 * conf/i386-ieee1275.rmk: likewise
32003 * conf/i386-pc.rmk: likewise
32004 * conf/powerpc-ieee1275.rmk: likewise
32005 * conf/sparc64-ieee1275.rmk: likewise
32006 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
32007
c9da87d0 320082009-06-16 Pavel Roskin <proski@gnu.org>
32009
32010 * configure.ac: Avoid '==' in test command, it's not portable.
32011
9c6f4596 320122009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32013
32014 Probe command
32015
32016 * commands/probe.c: new file
32017 * conf/common.rmk (pkglib_MODULES): add probe.mod
32018 (probe_mod_SOURCES): new variable
32019 (probe_mod_CFLAGS): likewise
32020 (probe_mod_LDFLAGS): likewise
32021 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32022 * conf/i386-ieee1275.rmk: likewise
32023 * conf/i386-pc.rmk: likewise
32024 * conf/powerpc-ieee1275.rmk: likewise
32025 * conf/sparc64-ieee1275.rmk: likewise
32026
70b7f9fd 320272009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
32028
32029 Fix handling of string like \"hello\" and "a
32030 b"
32031
32032 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
32033 (grub_script_yylex): fix parsing of quoting, escaping and newline
32034
71c79a6b 320352009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
32036
dd74360c 32037 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 32038 handling
dd74360c 32039
0644f96c 320402009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 32041
32042 * util/grub-mkconfig.in: Fix parsing of --output option.
32043
e40893c3 320442009-06-12 Pavel Roskin <proski@gnu.org>
32045
32046 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
32047 genmk.rb don't need to be generated or installed.
32048
3a1acfe2 320492009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
32050
32051 * commands/i386/pc/drivemap_int13h.S: add more comments
32052
3a4575d4 320532009-06-11 Pavel Roskin <proski@gnu.org>
32054
0658e928 32055 * Makefile.in (uninstall): Uninstall manuals.
32056
ca0388f0 32057 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
32058 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
32059 and update-grub_lib in two places.
32060 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
32061
e3b27c39 32062 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
32063 a compiler warning.
32064
3a4575d4 32065 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
32066 `entry_lo' to fix variable shadowing.
32067
af1f4f55 320682009-06-11 Christian Franke <franke@computer.org>
32069
32070 * kern/misc.c (__enable_execute_stack): Add missing return type
32071 to prevent gcc warning.
32072
5225e649 320732009-06-11 Felix Zielcke <fzielcke@z-51.de>
32074
32075 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
32076
7d83bd47 320772009-06-11 Pavel Roskin <proski@gnu.org>
32078
c1cb63ba 32079 * Makefile.in: Don't rely on any scripts being executable.
32080 Always use $(SHELL) to run shell scripts.
32081
7d83bd47 32082 * configure.ac: Always define ___main if using -nostdlib. This
32083 fixes tests on Cygwin.
32084
948f48e7 320852009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
32086
32087 UDF fix
32088
7d83bd47 32089 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 32090 is in bytes and not in blocks
7d83bd47 32091
8ada9bc1 320922009-06-11 Pavel Roskin <proski@gnu.org>
32093
32094 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
32095 warning.
32096
25ad2323 320972009-06-11 Felix Zielcke <fzielcke@z-51.de>
32098
32099 * util/grub.d/30_os-prober.in: Fix a comment. Source
32100 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
32101 to set the root device. Place drivemap command in the generated
32102 chain entry.
32103
e65acb0c 321042009-06-11 Pavel Roskin <proski@gnu.org>
32105
32106 * configure.ac: Remove host_m32. Issues with 64-bit utilities
32107 have long been resolved.
32108
f285fe2d 321092009-06-11 Colin Watson <cjwatson@ubuntu.com>
32110
bd47b0b5 32111 * util/grub.d/10_linux.in: Capitalise "Linux".
32112
f285fe2d 32113 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
32114
a0c62e4e 321152009-06-11 Pavel Roskin <proski@gnu.org>
32116
b6783cb2 32117 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
32118 fix a gcc warning and ensure that the function won't ever exit.
32119
dde032e8 32120 * kern/i386/ieee1275/init.c: Add missing prototype for
32121 grub_stop_floppy().
32122
22cd079d 32123 * loader/ieee1275/multiboot2.c [__i386__]: Include
32124 grub/cpu/multiboot.h.
32125
a0c62e4e 32126 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
32127 casts to short - they are not portable and cause warnings. Fix
32128 use of uninitialized values in input_buf. Use ARRAY_SIZE.
32129
63963d17 321302009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
32131
32132 Drivemap fixes
32133
32134 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
32135 new function
32136 (grub_get_root_biosnumber_saved): new variable
32137 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
32138 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 32139 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 32140 %dx after the call if necessary
32141 * conf/common.rmk (pkglib_MODULES): remove boot.mod
32142 (boot_mod_SOURCES): remove
32143 (boot_mod_CFLAGS): remove
32144 (boot_mod_LDFLAGS): remove
32145 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
32146 (boot_mod_SOURCES): new variable
32147 (boot_mod_CFLAGS): likewise
32148 (boot_mod_LDFLAGS): likewise
32149 * conf/i386-efi.rmk: likewise
32150 * conf/i386-ieee1275.rmk: likewise
32151 * conf/i386-pc.rmk: likewise
32152 * conf/powerpc-ieee1275.rmk: likewise
32153 * conf/sparc64-ieee1275.rmk: likewise
32154 * conf/x86_64-efi.rmk: likewise
32155 * include/grub/i386/pc/biosnum.h: new file
32156 * lib/i386/pc/biosnum.c: likewise
32157 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
32158 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
32159 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 32160
33abf7ae 321612009-06-10 Pavel Roskin <proski@gnu.org>
32162
5ac35b35 32163 * io/gzio.c (test_header): Don't reuse one buffer for all data.
32164 Use separate variables. Read only the file size at the end, but
32165 not the checksum that we don't use.
32166
5c5215d5 32167 * kern/file.c (grub_file_read): Use void pointer for the buffer.
32168 Adjust all callers.
32169
27d5fef7 32170 * kern/ieee1275/openfw.c: Remove libc includes.
32171 * kern/ieee1275/cmain.c: Likewise.
32172 * include/grub/ieee1275/ieee1275.h: Likewise.
32173
33abf7ae 32174 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
32175 compiler warnings.
32176
19d50c2b 321772009-06-10 Felix Zielcke <fzielcke@z-51.de>
32178
32179 * Makefile.in: Remove all trailing whitespace.
32180 * conf/i386-pc.rmk: Likewise.
32181 * conf/powerpc-ieee1275.rmk: Likewise.
32182 * conf/sparc64-ieee1275.rmk: Likewise.
32183 * docs/grub.texi: Likewise.
32184 * docs/texinfo.tex: Likewise.
32185 * disk/fs_uuid.c: Likewise.
32186 * disk/lvm.c: Likewise.
32187 * disk/scsi.c: Likewise.
32188 * disk/ata.c: Likewise.
32189 * disk/ieee1275/ofdisk.c: Likewise.
32190 * disk/i386/pc/biosdisk.c: Likewise.
32191 * disk/host.c: Likewise.
32192 * disk/raid.c: Likewise.
32193 * disk/efi/efidisk.c: Likewise.
32194 * disk/usbms.c: Likewise.
32195 * disk/memdisk.c: Likewise.
32196 * disk/loopback.c: Likewise.
32197 * kern/powerpc/dl.c: Likewise.
32198 * kern/device.c: Likewise.
32199 * kern/dl.c: Likewise.
32200 * kern/sparc64/dl.c: Likewise.
32201 * kern/ieee1275/ieee1275.c: Likewise.
32202 * kern/term.c: Likewise.
32203 * kern/fs.c: Likewise.
32204 * kern/i386/dl.c: Likewise.
32205 * kern/i386/pc/startup.S: Likewise.
32206 * kern/i386/pc/init.c: Likewise.
32207 * kern/i386/pc/mmap.c: Likewise.
32208 * kern/i386/pc/lzo1x.S: Likewise.
32209 * kern/i386/ieee1275/init.c: Likewise.
32210 * kern/i386/realmode.S: Likewise.
32211 * kern/i386/tsc.c: Likewise.
32212 * kern/partition.c: Likewise.
32213 * kern/corecmd.c: Likewise.
32214 * kern/file.c: Likewise.
32215 * kern/efi/efi.c: Likewise.
32216 * kern/efi/init.c: Likewise.
32217 * kern/efi/mm.c: Likewise.
32218 * kern/main.c: Likewise.
32219 * kern/err.c: Likewise.
32220 * kern/env.c: Likewise.
32221 * kern/disk.c: Likewise.
32222 * kern/generic/millisleep.c: Likewise.
32223 * kern/generic/rtc_get_time_ms.c: Likewise.
32224 * kern/misc.c: Likewise.
32225 * kern/parser.c: Likewise.
32226 * genmk.rb: Likewise.
32227 * configure.ac: Likewise.
32228 * boot/i386/pc/diskboot.S: Likewise.
32229 * boot/i386/pc/pxeboot.S: Likewise.
32230 * boot/i386/pc/boot.S: Likewise.
32231 * boot/i386/pc/lnxboot.S: Likewise.
32232 * boot/i386/pc/cdboot.S: Likewise.
32233 * parttool/pcpart.c: Likewise.
32234 * video/readers/tga.c: Likewise.
32235 * video/video.c: Likewise.
32236 * video/bitmap.c: Likewise.
32237 * lib/envblk.c: Likewise.
32238 * lib/i386/setjmp.S: Likewise.
32239 * fs/xfs.c: Likewise.
32240 * fs/afs.c: Likewise.
32241 * fs/fat.c: Likewise.
32242 * fs/ntfs.c: Likewise.
32243 * fs/udf.c: Likewise.
32244 * fs/affs.c: Likewise.
32245 * fs/iso9660.c: Likewise.
32246 * fs/hfs.c: Likewise.
32247 * fs/fshelp.c: Likewise.
32248 * fs/ext2.c: Likewise.
32249 * fs/jfs.c: Likewise.
32250 * fs/reiserfs.c: Likewise.
32251 * fs/hfsplus.c: Likewise.
32252 * fs/minix.c: Likewise.
32253 * fs/cpio.c: Likewise.
32254 * fs/sfs.c: Likewise.
32255 * fs/ufs.c: Likewise.
32256 * efiemu/prepare.c: Likewise.
32257 * efiemu/loadcore_common.c: Likewise.
32258 * efiemu/runtime/efiemu.sh: Likewise.
32259 * efiemu/runtime/efiemu.S: Likewise.
32260 * efiemu/runtime/efiemu.c: Likewise.
32261 * efiemu/pnvram.c: Likewise.
32262 * efiemu/main.c: Likewise.
32263 * efiemu/i386/pc/cfgtables.c: Likewise.
32264 * efiemu/i386/loadcore64.c: Likewise.
32265 * efiemu/i386/loadcore32.c: Likewise.
32266 * efiemu/loadcore.c: Likewise.
32267 * efiemu/symbols.c: Likewise.
32268 * efiemu/mm.c: Likewise.
32269 * include/grub/autoefi.h: Likewise.
32270 * include/grub/datetime.h: Likewise.
32271 * include/grub/term.h: Likewise.
32272 * include/grub/hfs.h: Likewise.
32273 * include/grub/lvm.h: Likewise.
32274 * include/grub/i386/tsc.h: Likewise.
32275 * include/grub/i386/linux.h: Likewise.
32276 * include/grub/i386/xnu.h: Likewise.
32277 * include/grub/i386/efiemu.h: Likewise.
32278 * include/grub/i386/pc/biosdisk.h: Likewise.
32279 * include/grub/i386/pc/memory.h: Likewise.
32280 * include/grub/i386/pc/vbe.h: Likewise.
32281 * include/grub/parttool.h: Likewise.
32282 * include/grub/video.h: Likewise.
32283 * include/grub/memory.h: Likewise.
32284 * include/grub/fs.h: Likewise.
32285 * include/grub/partition.h: Likewise.
32286 * include/grub/xnu.h: Likewise.
32287 * include/grub/efi/api.h: Likewise.
32288 * include/grub/efi/pe32.h: Likewise.
32289 * include/grub/efi/memory.h: Likewise.
32290 * include/grub/multiboot.h: Likewise.
32291 * include/grub/usbdesc.h: Likewise.
32292 * include/grub/multiboot2.h: Likewise.
32293 * include/grub/acpi.h: Likewise.
32294 * include/grub/efiemu/efiemu.h: Likewise.
32295 * include/grub/disk.h: Likewise.
32296 * include/grub/ieee1275/ieee1275.h: Likewise.
32297 * include/grub/net.h: Likewise.
32298 * include/grub/machoload.h: Likewise.
32299 * include/grub/macho.h: Likewise.
32300 * include/multiboot.h: Likewise.
32301 * genmoddep.awk: Likewise.
32302 * normal/main.c: Likewise.
32303 * normal/menu_entry.c: Likewise.
32304 * normal/menu_viewer.c: Likewise.
32305 * normal/completion.c: Likewise.
32306 * normal/cmdline.c: Likewise.
32307 * normal/misc.c: Likewise.
32308 * normal/datetime.c: Likewise.
32309 * bus/usb/usbtrans.c: Likewise.
32310 * bus/usb/ohci.c: Likewise.
32311 * bus/usb/uhci.c: Likewise.
32312 * bus/usb/usb.c: Likewise.
32313 * mmap/efi/mmap.c: Likewise.
32314 * mmap/i386/pc/mmap_helper.S: Likewise.
32315 * mmap/i386/pc/mmap.c: Likewise.
32316 * mmap/i386/mmap.c: Likewise.
32317 * mmap/i386/uppermem.c: Likewise.
32318 * mmap/mmap.c: Likewise.
32319 * commands/acpi.c: Likewise.
32320 * commands/echo.c: Likewise.
32321 * commands/blocklist.c: Likewise.
32322 * commands/loadenv.c: Likewise.
32323 * commands/usbtest.c: Likewise.
32324 * commands/boot.c: Likewise.
32325 * commands/parttool.c: Likewise.
32326 * commands/search.c: Likewise.
32327 * commands/cat.c: Likewise.
32328 * commands/i386/pc/play.c: Likewise.
32329 * commands/i386/pc/drivemap.c: Likewise.
32330 * commands/i386/pc/vbeinfo.c: Likewise.
32331 * commands/i386/pc/acpi.c: Likewise.
32332 * commands/i386/pc/vbetest.c: Likewise.
32333 * commands/ls.c: Likewise.
32334 * commands/cmp.c: Likewise.
32335 * commands/test.c: Likewise.
32336 * commands/efi/acpi.c: Likewise.
32337 * commands/gptsync.c: Likewise.
32338 * commands/help.c: Likewise.
32339 * partmap/amiga.c: Likewise.
32340 * partmap/apple.c: Likewise.
32341 * partmap/acorn.c: Likewise.
32342 * partmap/pc.c: Likewise.
32343 * partmap/sun.c: Likewise.
32344 * partmap/gpt.c: Likewise.
32345 * script/sh/lexer.c: Likewise.
32346 * script/sh/function.c: Likewise.
32347 * font/font.c: Likewise.
32348 * font/font_cmd.c: Likewise.
32349 * loader/powerpc/ieee1275/linux.c: Likewise.
32350 * loader/efi/chainloader.c: Likewise.
32351 * loader/multiboot_loader.c: Likewise.
32352 * loader/macho.c: Likewise.
32353 * loader/i386/multiboot.c: Likewise.
32354 * loader/i386/linux.c: Likewise.
32355 * loader/i386/pc/linux.c: Likewise.
32356 * loader/i386/pc/multiboot2.c: Likewise.
32357 * loader/i386/pc/chainloader.c: Likewise.
32358 * loader/i386/pc/xnu.c: Likewise.
32359 * loader/i386/bsd_trampoline.S: Likewise.
32360 * loader/i386/efi/linux.c: Likewise.
32361 * loader/i386/multiboot_elfxx.c: Likewise.
32362 * loader/i386/bsd_helper.S: Likewise.
32363 * loader/i386/bsd.c: Likewise.
32364 * loader/i386/linux_trampoline.S: Likewise.
32365 * loader/i386/xnu_helper.S: Likewise.
32366 * loader/i386/xnu.c: Likewise.
32367 * loader/i386/bsd_pagetable.c: Likewise.
32368 * loader/i386/multiboot_helper.S: Likewise.
32369 * loader/xnu.c: Likewise.
32370 * loader/xnu_resume.c: Likewise.
32371 * io/gzio.c: Likewise.
32372 * term/efi/console.c: Likewise.
32373 * term/terminfo.c: Likewise.
32374 * term/ieee1275/ofconsole.c: Likewise.
32375 * term/i386/pc/serial.c: Likewise.
32376 * term/i386/pc/vesafb.c: Likewise.
32377 * term/i386/pc/vga.c: Likewise.
32378 * term/usb_keyboard.c: Likewise.
32379 * term/gfxterm.c: Likewise.
32380 * aclocal.m4: Likewise.
32381 * util/lvm.c: Likewise.
32382 * util/grub.d/30_os-prober.in: Likewise.
32383 * util/grub.d/10_hurd.in: Likewise.
32384 * util/console.c: Likewise.
32385 * util/grub-macho2img.c: Likewise.
32386 * util/grub-probe.c: Likewise.
32387 * util/hostfs.c: Likewise.
32388 * util/i386/pc/grub-mkimage.c: Likewise.
32389 * util/i386/pc/grub-setup.c: Likewise.
32390 * util/i386/efi/grub-mkimage.c: Likewise.
32391 * util/grub-mkconfig.in: Likewise.
32392 * util/raid.c: Likewise.
32393 * util/resolve.c: Likewise.
32394 * util/grub-mkdevicemap.c: Likewise.
32395 * util/grub-emu.c: Likewise.
32396 * util/getroot.c: Likewise.
32397 * util/hostdisk.c: Likewise.
32398 * util/usb.c: Likewise.
32399 * util/grub-editenv.c: Likewise.
32400 * util/misc.c: Likewise.
32401
d2d49665 324022009-06-10 Felix Zielcke <fzielcke@z-51.de>
32403
32404 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
32405 `genparttoollist.sh'.
32406 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
32407 Add `*.sh' to the list find searches for and change `mdate.sh'
32408 to `mdate-sh'.
32409
fe052e37 324102009-06-10 Pavel Roskin <proski@gnu.org>
32411
2763ac18 32412 * include/grub/multiboot2.h: Provide compatibility defines for
32413 multiboot2.h.
32414 * include/multiboot2.h: Include stdint.h only if needed, using
32415 angle brackets.
32416 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
32417 grub/multiboot2.h.
32418 * loader/ieee1275/multiboot2.c: Likewise.
32419 * loader/multiboot2.c: Likewise.
32420 * loader/multiboot_loader.c: Likewise.
32421
437e6adc 32422 * configure.ac: Use -nostdlib when probing for the target. It
32423 should not be required to have libc for the target.
32424
06a6836c 32425 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
32426 they fail without libc headers for the target.
32427 * include/grub/powerpc/libgcc.h: Use weak attribute for all
32428 exports.
32429 * include/grub/sparc64/libgcc.h: Likewise. Don't use
32430 preprocessor conditionals.
32431
fe052e37 32432 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
32433 build system doesn't need to be aware of the tar.c internals.
32434
afd22553 324352009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 32436
afd22553 32437 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 32438
6b787c4f 324392009-06-09 Robert Millan <rmh.grub@aybabtu.com>
32440
32441 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
32442 disk limit to 26 for IDE, Virtio, Xen and SCSI.
32443
324442009-06-09 Felix Zielcke <fzielcke@z-51.de>
32445
32446 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 32447 aren't available if ata.mod gets used.
6b787c4f 32448
473d1e45 324492009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 32450
473d1e45 32451 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 32452 initialising controller.
473d1e45 32453 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 32454
255a27d4 324552009-06-08 Felix Zielcke <fzielcke@z-51.de>
32456
32457 * util/i386/pc/grub-install.in: Add a parameter --disk-module
32458 to choose between ata and biosdisk module on i386-pc.
32459
473d1e45 324602009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 32461
d55842d8 32462 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
32463 Subclass and Programming Interface fields in terms of the 3 byte
32464 Class Code register.
32465 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32466
fa5db0b1 32467 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
32468 interface is OHCI. Add grub_dprintf for symmetry with
32469 bus/usb/uhci.c.
32470 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
32471 interface is UHCI. Add interf variable for programming
32472 interface. Print interface with class/subclass.
32473
c0947beb 32474 * bus/usb/ohci.c: Set interf with correct field.
32475
69da8877 32476 * bus/usb/uhci.c: Remove unneeded doubled lines.
32477 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
32478 Remove whitespace inside comment.
32479
9e172e30 324802009-06-08 Robert Millan <rmh.grub@aybabtu.com>
32481
32482 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
32483 as fallback an equivalent option without depth.
32484
de65ee2b 324852009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32486
32487 Not fail if unable to retrieve C/H/S on LBA disks
32488
473d1e45 32489 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 32490 if unable to retrieve C/H/S on LBA disks
32491
b57ea2c9 324922009-06-08 Pavel Roskin <proski@gnu.org>
32493
32494 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
32495 about aliasing.
32496
af361263 324972009-06-08 Felix Zielcke <fzielcke@z-51.de>
32498
32499 * Makefile.in (uninstall): Remove all $lib_DATA files.
32500
4c9ec6b3 325012009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32502
32503 Bugfix: install on partitionless device
32504
32505 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
32506 is a whole disk
32507
e76fc924 325082009-06-08 Felix Zielcke <fzielcke@z-51.de>
32509
32510 * Makefile.in (uninstall): Remove all $include_DATA files.
32511
ba5a0d05 325122009-06-08 Felix Zielcke <fzielcke@z-51.de>
32513
32514 * commands/true.c: New file. Implement the true and false commands.
32515 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
32516 (true_mod_SOURCES): New variable.
32517 (true_mod_CFLAGS): Likewise.
32518 (true_mod_LDFLAGS): Likewise.
32519
c8048e32 325202009-06-05 Colin D Bennett <colin@gibibit.com>
32521
32522 Optimized font character lookup using binary search instead of linear
32523 search. Fonts now are required to have the character index ordered by
32524 code point.
32525
32526 * font/font.c (load_font_index): Verify that fonts have ordered
32527 character indices.
32528 (find_glyph): Use binary search instead of linear search to find a
32529 character in a font.
32530
408305be 325312009-06-05 Michael Scherer <misc@mandriva.org>
32532
32533 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
32534 uses case sensitive btree.
32535 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
32536 only for case insensitive filesystems.
32537
8ee1e0d9 325382009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
32539
32540 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
32541 * conf/common.rmk (search_mod_CFLAGS): likewise
32542
a9966eb1 325432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32544
473d1e45 32545 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 32546 compensate a compiler bug
32547
9e7100fb 325482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32549
473d1e45 32550 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 32551 instead of '\b'
473d1e45 32552
ede21d71 325532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32554
32555 Definitions for creating asm symbols with Apple's CC
32556
32557 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
32558 [APPLE_CC] (VARIABLE): likewise
32559
9dbf7653 325602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32561
32562 Disable lnxboot.img when compiled
32563 with Apple's CC
32564
32565 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
32566 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
32567 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
32568 [! APPLE_CC] (CODE_LENG): skip
32569 [! APPLE_CC] (setup_sects): likewise
32570 [! APPLE_CC]: skip filling
473d1e45 32571
e93cdc3d 325722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32573
32574 Address in trampolines based on 32-bit registers when compiled
32575 with Apple's CC
32576
473d1e45 32577 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 32578 for addresses
32579 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
32580
6c688477 325812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32582
32583 Avoid aliases when compiling with Apple's CC for PCBIOS machine
32584
32585 * kern/misc.c [APPLE_CC] (memcpy): new function
32586 [APPLE_CC] (memmove): likewise
32587 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 32588 (memcpy): define alias conditionally on !APPLE_CC
6c688477 32589 (memset): likewise
32590 (abort): likewise
32591 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
32592 APPLE_CC are defined
32593 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
32594 (grub_assert_fail): make prototype conditional
32595
e37ffc5c 325962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32597
32598 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
32599
473d1e45 32600 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
32601 grub-macho2img
e37ffc5c 32602 (CLEANFILES): add grub-macho2img
32603 (grub_macho2img_SOURCES): new variable
32604 * kern/i386/pc/startup.S (bss_start): new variable
32605 (bss_end): likewise
32606 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
32607 * util/grub-macho2img.c: new file
32608
cf00df31 326092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32610
32611 Use objconv when compiling with Apple's CC
32612
32613 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
32614 (efiemu64.o): likewise
32615 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
32616 when compiling with Apple's CC
32617 (efiemu64_s.o): likewise
32618 * configure.ac: check for objconv when compiling with Apple's CC
32619 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 32620
d119a20c 326212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32622
32623 Define segment as well as section when compiling with
32624 Apple's CC
32625
32626 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
32627 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
32628 (efiemu_convert_pointer): likewise
32629 (efiemu_set_virtual_address_map): likewise
32630 (efiemu_convert_pointer): likewise
32631 (efiemu_getcrc32): likewise
32632 (init_crc32_table): likewise
32633 (reflect): likewise
32634 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
32635 (GRUB_MOD_DEP): likewise
473d1e45 32636
c8600122 326372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32638
32639 Allow a compilation without -mcmodel=large
32640
32641 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
32642 when compiled without -mcmodel=large
473d1e45 32643 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 32644 without -mcmodel=large
473d1e45 32645 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 32646 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 32647
e8df1d4e 326482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32649
32650 Remove nested functions in efiemu core
32651
32652 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 32653
cc6c3ac1 326542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32655
32656 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
32657
32658 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
32659 temporary storage
473d1e45 32660 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
32661 using Apple's CC
cc6c3ac1 32662 (grub_cpu_is_tsc_supported): likewise
32663 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 32664
3e325901 326652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32666
32667 Absolute addressing through constant with Apple's cc
32668
32669 * kern/i386/pc/startup.S: Define necessary constants
32670 and address through it when using ABS with Apple's CC
32671 * boot/i386/pc/diskboot.S: likewise
32672 * boot/i386/pc/boot.S: likewise
32673 * boot/i386/pc/lnxboot.S: likewise
32674 * boot/i386/pc/cdboot.S: likewise
32675 * mmap/i386/pc/mmap_helper.S: likewise
32676 * commands/i386/pc/drivemap_int13h.S: likewise
32677
2b167a72 326782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32679
32680 Check if compiler is apple cc
32681
32682 * Makefile.in (ASFLAGS): new variable
32683 (TARGET_ASFLAGS): likewise
32684 (TARGET_MODULE_FORMAT): likewise
32685 (TARGET_APPLE_CC): likewise
32686 (OBJCONV): likewise
32687 (TARGET_IMG_CFLAGS): likewise
32688 (TARGET_CPPFLAGS): add includedir
32689 * configure.ac: call grub_apple_cc and grub_apple_target_cc
32690 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
32691 Check for linker script only if compiler isn't Apple's CC
32692 (TARGET_MODULE_FORMAT): set
32693 (TARGET_APPLE_CC): likewise
32694 (TARGET_ASFLAGS): likewise
32695 (ASFLAGS): likewise
32696 Check for objcopy only if compiler isn't Apple's CC
32697 Check for BSS symbol only if compiler isn't Apple's CC
32698 * genmk.rb: adapt nm options if we use Apple's utils
32699 * aclocal.m4 (grub_apple_cc): new test
32700 (grub_apple_target_cc): likewise
473d1e45 32701
fb14123e 327022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32703
32704 Simplify sed expressions and improve awk
32705
32706 * Makefile.in (install-local): simplify sed expression
32707 * gencmdlist.sh: likewise
32708 * genmoddep.awk: avoid adding module as a dependency of itself
32709
5b889789 327102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32711
32712 Add missing start symbols
32713
32714 * boot/i386/pc/boot.S: add start
fb14123e 32715 * boot/i386/pc/pxeboot.S: likewise
473d1e45 32716
fd2bf2e3 327172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32718
32719 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 32720
32721 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 32722 (relocate_addresses): consider both r_addend and value at offset
32723 (make_mods_section): zerofill modinfo and header
32724 (convert_elf): write prefix here
473d1e45 32725
5389763d 327262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32727
32728 Use .asciz instead of .string
32729
32730 * i386/pc/diskboot.S: use .asciz instead of .string
32731 * i386/pc/boot.S: likewise
32732 * include/grub/dl.h (GRUB_MOD_DEP): likewise
32733 (GRUB_MOD_NAME): likewise
473d1e45 32734
3eb5ed4e 327352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32736
32737 gfxpayload support
32738
32739 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
32740 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
32741 (grub_video_setup): remove
32742 (grub_video_set_mode): new prototype
32743 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
32744 (vid_mode): remove
32745 (linux_vesafb_res): compile only on PCBIOS
32746 (grub_linux_boot): support gfxpayload
32747 * loader/i386/pc/xnu.c (video_hook): new function
32748 (grub_xnu_set_video): support gfxpayload
32749 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
32750 (DEFAULT_VIDEO_HEIGHT): likewise
32751 (DEFAULT_VIDEO_FLAGS): likewise
32752 (DEFAULT_VIDEO_MODE): new definition
32753 (video_hook): new function
32754 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 32755 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 32756 loading xnu
32757 * video/video.c (grub_video_setup): removed
473d1e45 32758 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 32759 grub_video_setup
32760
4b0e1143 327612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32762
32763 Avoid calling biosdisk in drivemap
32764
32765 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
32766 (revparse_biosdisk): likewise
32767 (list_mappings): derive name from id directly
32768 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 32769
fda6cb98 327702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32771
32772 Script fixes
32773
32774 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
32775 (grub_lexer_param): add tokenonhold
32776 (grub_script_create_cmdline): remove cmdline. All callers updated
32777 (grub_script_function_create): make functionname
32778 grub_script_arg. All callers updated
32779 (grub_script_execute_argument_to_string): new prototype
32780 * kern/parser.c (state_transitions): reorder
32781 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 32782 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 32783 make global
32784 (grub_script_execute_cmdline): use new format
32785 * script/sh/function.c (grub_script_function_create): make functionname
32786 grub_script_arg. All callers updated
473d1e45 32787 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 32788 (grub_script_yylex): remove
32789 (grub_script_yylex2): renamed to ...
32790 (grub_script_yylex): ...renamed
32791 parse the expressions like a${b}c
32792 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
32793 (GRUB_PARSER_TOKEN_VAR): remove
32794 (GRUB_PARSER_TOKEN_NAME): likewise
32795 ("if"): declare as typeless
32796 ("while"): likewise
32797 ("function"): likewise
32798 ("else"): likewise
32799 ("then"): likewise
32800 ("fi"): likewise
32801 (text): remove
32802 (argument): likewise
32803 (script): accept empty scripts and make exit on error
32804 (arguments): use GRUB_PARSER_TOKEN_ARG
32805 (function): likewise
32806 (command): move error handling to script
32807 (menuentry): move grub_script_lexer_ref before
473d1e45 32808 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 32809 argument. All callers updated
32810
f4448a07 328112009-06-04 Robert Millan <rmh.grub@aybabtu.com>
32812
32813 Prevent GRUB from probing floppies during boot.
32814
32815 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
32816 * commands/search.c (options): Add --no-floppy.
32817 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
32818 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
32819 --no-floppy when searching for UUIDs.
32820
2bf5885a 328212009-06-04 Robert Millan <rmh.grub@aybabtu.com>
32822
32823 Simplify the code duplication in commands/search.c.
32824
32825 * commands/search.c (search_label, search_fs_uuid): Merge into ...
32826 (search_fs): ... this. Update all users.
32827
f6fd460a 328282009-06-03 Felix Zielcke <fzielcke@z-51.de>
32829
32830 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
32831
cbb3c83e 328322009-05-28 Pavel Roskin <proski@gnu.org>
32833
57788cfd 32834 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
32835 Remove the original symlink explicitly.
32836
cbb3c83e 32837 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
32838 just one slash. That's how grub_fshelp_find_file() does it.
32839
cd0d5e30 328402009-05-26 Pavel Roskin <proski@gnu.org>
32841
f0f8bbe2 32842 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
32843 to `str'.
32844
cd0d5e30 32845 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
32846 possibly unused.
32847
8c2cab51 328482009-05-25 Christian Franke <franke@computer.org>
32849
32850 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
32851 register.
32852 (grub_atapi_identify): Add wait after drive select.
32853 (grub_ata_identify): Do more strict status register check before
32854 calling grub_atapi_identify (). Suppress error message if status
32855 register is 0x00 after command failure. Add status register
32856 check after PIO read to avoid bogus identify due to stuck DRQ.
32857 Thanks to Pavel Roskin for testing.
32858 (grub_device_initialize): Remove unsafe status register check.
32859 Thanks to 'phcoder' for problem report and patch.
32860 Prevent sign extension in debug message.
32861
230c0ad6 328622009-05-23 Colin D Bennett <colin@gibibit.com>
32863
32864 Cleaned up `include/grub/normal.h'. Grouped prototypes by
32865 definition file, and functions defined in `normal/menu.c' have had
32866 their prototypes moved to `include/grub/menu.h' for consistency.
32867
32868 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
32869 from normal.h.
32870 (grub_menu_get_entry): Likewise.
32871 (grub_menu_get_timeout): Likewise.
32872 (grub_menu_set_timeout): Likewise.
32873 (grub_menu_execute_entry): Likewise.
32874 (grub_menu_execute_with_fallback): Likewise.
32875 (grub_menu_entry_run): Likewise.
32876
32877 * include/grub/normal.h: Re-ordered and grouped function
32878 prototypes by file that the function is defined in.
32879 (grub_menu_execute_callback): Removed; moved to menu.h.
32880 (grub_menu_get_entry): Likewise.
32881 (grub_menu_get_timeout): Likewise.
32882 (grub_menu_set_timeout): Likewise.
32883 (grub_menu_execute_entry): Likewise.
32884 (grub_menu_execute_with_fallback): Likewise.
32885 (grub_menu_entry_run): Likewise.
32886 (grub_menu_addentry): Renamed from this ...
32887 (grub_normal_add_menu_entry): ... to this.
32888
32889 * normal/main.c (grub_menu_addentry): Renamed from this ...
32890 (grub_normal_add_menu_entry): ... to this.
32891
32892 * script/sh/execute.c (grub_script_execute_menuentry): Update
32893 reference to renamed grub_menu_addentry function.
32894
861f03a5 328952009-05-23 Felix Zielcke <fzielcke@z-51.de>
32896
32897 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
32898
96b1619a 328992009-05-22 Pavel Roskin <proski@gnu.org>
32900
bf6a5fb2 32901 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
32902 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
32903 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
32904 compiling for the i386 targets, but not for the utilities.
32905
96b1619a 32906 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
32907 to grub_uint8_t.
32908 (grub_root_drive): Likewise.
32909 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
32910 remove alignment.
32911 (grub_root_drive): Change size to byte.
32912 (grub_start_addr): Remove.
32913 (grub_end_addr): Likewise.
32914 (grub_apm_bios_info): Likewise.
32915
b729776b 329162009-05-21 Felix Zielcke <fzielcke@z-51.de>
32917
32918 * normal/i386: Remove.
32919 * normal/powerpc: Likewise.
32920 * normal/sparc64: Likewise.
32921 * normal/x86_64: Likewise.
32922
0a15ce80 329232009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
32924
32925 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 32926 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 32927 * loader/i386/xnu_helper.S: Likewise
d6da58e6 32928
33db9015 329292009-05-18 Colin D Bennett <colin@gibibit.com>
32930
d6da58e6 32931 Display error messages when parsing a Lua statement fails.
32932 Previously, executing a syntactically invalid statement like
32933 ")foo" or "bar;" would silently fail.
33db9015 32934
32935 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 32936 (grub_lua_parse_line): Improved reporting of Lua parser and
32937 execution errors.
33db9015 32938
46422c89 329392009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32940
32941 Remove -Werror which causes build to fail on some systems
32942
32943 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
32944 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
32945 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 32946
22f53a96 329472009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32948
32949 trampoline for linux on 64-bit platform
32950
18f547ad 32951 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
32952 loader/i386/efi/linux_trampoline.S
32953 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 32954 declaration
d6da58e6 32955 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
32956 here
22f53a96 32957 * loader/i386/linux_trampoline.S: moved here
d6da58e6 32958 * loader/i386/efi/linux.c (allocate_pages): reserve space for
32959 trampoline
22f53a96 32960 (jumpvector): removed
32961 (grub_linux_trampoline_start): new declaration
32962 (grub_linux_trampoline_end): likewise
32963 (grub_linux_boot): use trampoline when on 64-bit platform
32964 * loader/i386/linux.c: likewise
32965
cb5a0f40 329662009-05-16 Pavel Roskin <proski@gnu.org>
32967
32968 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
32969 const to avoid a warning.
32970 (grub_lua_setenv): Likewise.
32971 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
32972 lmsg to fix a warning.
32973
334f2c28 329742009-05-16 Felix Zielcke <fzielcke@z-51.de>
32975
32976 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 32977 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32978 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
32979 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32980 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
32981 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32982 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
32983 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 32984
59e5d3ec 329852009-05-16 Felix Zielcke <fzielcke@z-51.de>
32986
32987 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
32988
9d87a1ba 329892009-05-16 Bean <bean123ch@gmail.com>
32990
32991 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
32992 (lua_mod_SOURCES): New variable.
32993 (lua_mod_CFLAGS): Likewise.
32994 (lua_mod_LDFLAGS): Likewise.
32995
32996 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
32997 (setjmp_mod_SOURCES): New variable.
32998 (setjmp_mod_CFLAGS): Likewise.
32999 (setjmp_LDFLAGS): Likewise.
33000
33001 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
33002 (setjmp_mod_SOURCES): New variable.
33003 (setjmp_mod_CFLAGS): Likewise.
33004 (setjmp_LDFLAGS): Likewise.
33005
33006 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33007 (setjmp_mod_SOURCES): New variable.
33008 (setjmp_mod_CFLAGS): Likewise.
33009 (setjmp_LDFLAGS): Likewise.
33010
33011 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33012 (setjmp_mod_SOURCES): New variable.
33013 (setjmp_mod_CFLAGS): Likewise.
33014 (setjmp_LDFLAGS): Likewise.
33015
33016 * normal/i386/setjmp.S: Moved from here ...
33017 * lib/i386/setjmp.S: ... Moved here
33018 * normal/x86_64/setjmp.S: Moved from here ...
33019 * lib/x86_64/setjmp.S: ... Moved here
33020 * normal/powerpc/setjmp.S: Moved from here ...
33021 * lib/powerpc/setjmp.S: ... Moved here
33022 * normal/sparc64/setjmp.S: Moved from here ...
33023 * lib/sparc64/setjmp.S: ... Moved here
33024
33025 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
33026 returns_twice in mingw.
33027
33028 * script/lua/grub_lib.c: New file.
33029 * script/lua/grub_lib.h: Likewise.
33030 * script/lua/grub_lua.h: Likewise.
33031 * script/lua/grub_main.c: Likewise.
33032 * script/lua/lapi.c: Likewise.
33033 * script/lua/lapi.h: Likewise.
33034 * script/lua/lauxlib.c: Likewise.
33035 * script/lua/lauxlib.h: Likewise.
33036 * script/lua/lbaselib.c: Likewise.
33037 * script/lua/lcode.c: Likewise.
33038 * script/lua/lcode.h: Likewise.
33039 * script/lua/ldblib.c: Likewise.
33040 * script/lua/ldebug.c: Likewise.
33041 * script/lua/ldebug.h: Likewise.
33042 * script/lua/ldo.c: Likewise.
33043 * script/lua/ldo.h: Likewise.
33044 * script/lua/ldump.c: Likewise.
33045 * script/lua/lfunc.c: Likewise.
33046 * script/lua/lfunc.h: Likewise.
33047 * script/lua/lgc.c: Likewise.
33048 * script/lua/lgc.h: Likewise.
33049 * script/lua/linit.c: Likewise.
33050 * script/lua/liolib.c: Likewise.
33051 * script/lua/llex.c: Likewise.
33052 * script/lua/llex.h: Likewise.
33053 * script/lua/llimits.h: Likewise.
33054 * script/lua/lmathlib.c: Likewise.
33055 * script/lua/lmem.c: Likewise.
33056 * script/lua/lmem.h: Likewise.
33057 * script/lua/loadlib.c: Likewise.
33058 * script/lua/lobject.c: Likewise.
33059 * script/lua/lobject.h: Likewise.
33060 * script/lua/lopcodes.c: Likewise.
33061 * script/lua/lopcodes.h: Likewise.
33062 * script/lua/loslib.c: Likewise.
33063 * script/lua/lparser.c: Likewise.
33064 * script/lua/lparser.h: Likewise.
33065 * script/lua/lstate.c: Likewise.
33066 * script/lua/lstate.h: Likewise.
33067 * script/lua/lstring.c: Likewise.
33068 * script/lua/lstring.h: Likewise.
33069 * script/lua/lstrlib.c: Likewise.
33070 * script/lua/ltable.c: Likewise.
33071 * script/lua/ltable.h: Likewise.
33072 * script/lua/ltablib.c: Likewise.
33073 * script/lua/ltm.c: Likewise.
33074 * script/lua/ltm.h: Likewise.
33075 * script/lua/lua.h: Likewise.
33076 * script/lua/luaconf.h: Likewise.
33077 * script/lua/lualib.h: Likewise.
33078 * script/lua/lundump.c: Likewise.
33079 * script/lua/lundump.h: Likewise.
33080 * script/lua/lvm.c: Likewise.
33081 * script/lua/lvm.h: Likewise.
33082 * script/lua/lzio.c: Likewise.
33083 * script/lua/lzio.h: Likewise.
33084
5e898c9d 330852009-05-16 Bean <bean123ch@gmail.com>
33086
33087 * include/grub/kernel.h (grub_module_header_types): Add type
33088 OBJ_TYPE_CONFIG.
33089
33090 * kern/main.c (grub_load_config): New function.
33091 (grub_main): Call grub_load_config to read boot config.
33092
33093 * grub-mkimage (generate_image): New parameter config_path.
33094 (options): New option --config.
33095 (main): Parse --config option, and pass it to generate_image.
33096
cf353a47 330972009-05-14 Christian Franke <franke@computer.org>
33098
33099 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
33100 This fixes build on Cygwin.
33101
3834887f 331022009-05-14 Pavel Roskin <proski@gnu.org>
33103
33104 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
33105 jump. This saves two bytes, so the typical case of 2 swapped
33106 drives would fit 32 bytes.
33107
8090fc01 331082009-05-13 Pavel Roskin <proski@gnu.org>
33109
ac963883 33110 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
33111 grub_uint32_t to avoid a warning.
33112
8090fc01 33113 * loader/i386/linux.c (allocate_pages): When assigning
33114 real_mode_mem, cast through grub_size_t to fix a warning. The
33115 code already makes sure that the value would fit a pointer.
33116 (grub_linux_setup_video): Cast render_target->data to
33117 grub_size_t to fix a warning.
33118
18f547ad 331192009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 33120
33121 * commands/i386/pc/drivemap.c: New file - implement drivemap
33122 command.
33123 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
33124 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
33125
6f6a8b28 331262009-05-13 Pavel Roskin <proski@gnu.org>
33127
33128 * util/i386/pc/grub-setup.c (setup): Remove unused variable
33129 embedding_area_exists.
33130
15fbf4c4 331312009-05-13 Robert Millan <rmh.grub@aybabtu.com>
33132
33133 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
33134 it easier to understand / work with.
59978c8a 33135 Improve warning messages for cases where there's no embedding area,
33136 or when it is too small (or core.img too large).
15fbf4c4 33137
238e871f 331382009-05-13 Pavel Roskin <proski@gnu.org>
33139
0ab3a9a4 33140 * loader/i386/pc/multiboot2.c: Add necessary includes for
33141 grub_multiboot2_real_boot().
33142
a2c8c5f8 33143 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
33144 PX record is always little-endian. We only need the lower 2
33145 bytes of the mode.
33146
faec96af 33147 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
33148 facilitate code reuse.
33149 (grub_cpio_mount): Use "struct head", not a char buffer. This
33150 fixes a warning reported by gcc 4.4.
33151
238e871f 33152 * kernel/disk.c (grub_disk_read): Use void pointer for the
33153 buffer.
33154 (grub_disk_write): Use const void pointer for the buffer.
33155 Adjust all callers. Remove unnecessary casts.
33156
901d2f0c 331572009-05-10 Robert Millan <rmh.grub@aybabtu.com>
33158
33159 * util/i386/pc/grub-install.in: Update copyright year.
33160
18f547ad 331612009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 33162
33163 gptsync
33164
33165 * commands/gptsync.c: new file
33166 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
33167 (gptsync_mod_SOURCES): new variable
33168 (gptsync_mod_CFLAGS): likewise
33169 (gptsync_mod_LDFLAGS): likewise
18f547ad 33170 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 33171 new definition
33172 (GRUB_PC_PARTITION_TYPE_HFS): likewise
33173 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
33174 * conf/i386-ieee1275.rmk: likewise
33175 * conf/i386-pc.rmk: likewise
33176 * conf/powerpc-ieee1275.rmk: likewise
33177
b4ba690a 331782009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
33179
33180 Fixed grub-emu
33181
33182 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
33183 (grub_dl_ref): likewise
33184
317e1a44 331852009-05-08 Robert Millan <rmh.grub@aybabtu.com>
33186
33187 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
33188 split in two functions (one for msdos and one for gpt).
33189
041b8094 331902009-05-08 Pavel Roskin <proski@gnu.org>
33191
752473c2 33192 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
33193 not modified.
33194
041b8094 33195 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
33196 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
33197 Initialize them with -1. Add sanity check for bad1. Eliminate
33198 nerr variable.
33199
172800ce 332002009-05-08 David S. Miller <davem@davemloft.net>
33201
33202 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
33203
29aa5e81 332042009-05-06 Robert Millan <rmh.grub@aybabtu.com>
33205
33206 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 33207 existence.
29aa5e81 33208
96613b62 332092009-05-05 Felix Zielcke <fzielcke@z-51.de>
33210
33211 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 33212 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 33213
eef73c8a 332142009-05-05 David S. Miller <davem@davemloft.net>
33215
33216 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
33217
119494b5 332182009-05-05 Pavel Roskin <proski@gnu.org>
33219
33220 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
33221 of grub_dl_ref() and grub_dl_unref().
33222 * commands/parttool.c: Remove preprocessor conditionals around
33223 grub_dl_ref() and grub_dl_unref().
33224 * fs/affs.c: Likewise.
33225 * fs/afs.c: Likewise.
33226 * fs/cpio.c: Likewise.
33227 * fs/ext2.c: Likewise.
33228 * fs/fat.c: Likewise.
33229 * fs/hfs.c: Likewise.
33230 * fs/hfsplus.c: Likewise.
33231 * fs/iso9660.c: Likewise.
33232 * fs/jfs.c: Likewise.
33233 * fs/minix.c: Likewise.
33234 * fs/ntfs.c: Likewise.
33235 * fs/reiserfs.c: Likewise.
33236 * fs/sfs.c: Likewise.
33237 * fs/udf.c: Likewise.
33238 * fs/ufs.c: Likewise.
33239 * fs/xfs.c: Likewise.
33240 * include/grub/dl.h: Likewise.
33241 * loader/xnu.c: Likewise.
33242
de5fd76e 332432009-05-04 Pavel Roskin <proski@gnu.org>
33244
33245 * commands/acpi.c: Remove unused variable my_mod.
33246 * partmap/amiga.c: Likewise.
33247 * partmap/apple.c: Likewise.
33248 * partmap/gpt.c: Likewise.
33249 * partmap/pc.c: Likewise.
33250 * partmap/sun.c: Likewise.
33251 * term/gfxterm.c: Likewise.
33252 * term/i386/pc/vesafb.c: Likewise.
33253 * term/i386/pc/vga.c: Likewise.
33254
983598ad 332552009-05-04 David S. Miller <davem@davemloft.net>
33256
33257 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
33258 pointer args to grub_ieee1275_get_property().
33259
8aadec43 33260 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
33261
9554b15e 33262 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
33263 devices, and do not traverse down under controller nodes.
33264
67e23c90 33265 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
33266 (grub_ofdisk_open): Use it to un-escape "," characters.
33267 * kern/disk.c (find_part_sep): New.
33268 (grub_disk_open): Use it to find the first non-escaped ','
33269 character in the disk name.
33270 * util/ieee1275/devicemap.c (escape_of_path): New.
33271 (grub_util_emit_devicemap_entry): Use it.
33272 * util/sparc64/ieee1275/grub-install.in: Update script to
33273 strip partition specifiers properly by not triggering on
33274 '\' escaped ',' characters.
33275
74bfdd2f 332762009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33277
33278 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
33279 to 0x300.
33280 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
33281 resolutions.
33282 (linux_vesafb_modes): Add a lot of additional modes to the list (based
33283 on documentation from Wikipedia).
33284
4241d2b1 332852009-05-04 Pavel Roskin <proski@gnu.org>
33286
33287 * disk/ata.c: Spelling fixes.
33288 * disk/raid.c: Likewise.
33289 * disk/usbms.c: Likewise.
33290 * disk/dmraid_nvidia.c: Likewise.
33291 * kern/ieee1275/openfw.c: Likewise.
33292 * kern/ieee1275/init.c: Likewise.
33293 * kern/ieee1275/cmain.c: Likewise.
33294 * boot/i386/pc/cdboot.S: Likewise.
33295 * video/readers/png.c: Likewise.
33296 * video/i386/pc/vbe.c: Likewise.
33297 * fs/udf.c: Likewise.
33298 * fs/hfs.c: Likewise.
33299 * fs/reiserfs.c: Likewise.
33300 * efiemu/runtime/efiemu.c: Likewise.
33301 * efiemu/main.c: Likewise.
33302 * efiemu/mm.c: Likewise.
33303 * include/grub/elf.h: Likewise.
33304 * include/grub/xnu.h: Likewise.
33305 * include/grub/usbdesc.h: Likewise.
33306 * include/grub/usb.h: Likewise.
33307 * include/grub/script_sh.h: Likewise.
33308 * include/grub/lib/LzmaEnc.h: Likewise.
33309 * include/grub/efiemu/efiemu.h: Likewise.
33310 * include/grub/command.h: Likewise.
33311 * normal/menu.c: Likewise.
33312 * normal/main.c: Likewise.
33313 * normal/datetime.c: Likewise.
33314 * bus/usb/uhci.c: Likewise.
33315 * mmap/i386/uppermem.c: Likewise.
33316 * mmap/mmap.c: Likewise.
33317 * commands/acpi.c: Likewise.
33318 * commands/test.c: Likewise.
33319 * partmap/apple.c: Likewise.
33320 * font/font.c: Likewise.
33321 * loader/sparc64/ieee1275/linux.c: Likewise.
33322 * loader/macho.c: Likewise.
33323 * loader/i386/bsd_trampoline.S: Likewise.
33324 * loader/i386/bsd.c: Likewise.
33325 * loader/xnu.c: Likewise.
33326 * term/i386/pc/vesafb.c: Likewise.
33327 * term/usb_keyboard.c: Likewise.
33328 * util/resolve.c: Likewise.
33329 * util/getroot.c: Likewise.
33330
0cfc0083 333312009-05-04 Felix Zielcke <fzielcke@z-51.de>
33332
33333 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
33334
7c1d00cd 333352009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33336
33337 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
33338 build error.
33339
b01f0548 333402009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33341
33342 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
33343 parameter only available on BIOS.
33344
ecc3eb22 333452009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33346
33347 Removed wrong semicolon in declaration
33348
33349 * grub/misc.h (grub_dprintf): remove semicolon
33350
112972a9 333512009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33352
33353 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
33354 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
33355 is done by grub_cmd_linux() now).
33356 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
33357 restore video to text mode.
33358 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
33359 indicates lack of "vga=" parameter. "vga=0" is mapped to
33360 `GRUB_LINUX_VID_MODE_NORMAL'.
33361
afd5c115 333622009-05-04 Felix Zielcke <fzielcke@z-51.de>
33363
33364 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
33365 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
33366 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 33367 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 33368 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
33369 `grub_script.tab.c'.
33370
33371 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33372 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33373 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33374 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33375 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33376
faa517ce 33377 * Makefile.in: Remove duplicated 2008 in Copyright line.
33378
ae0c0bdc 333792009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33380
473d1e45 33381 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 33382 unconditionally.
33383 * include/grub/util/misc.h (grub_util_warn): New declaration.
33384
33385 * util/i386/pc/grub-install.in: Understand --force and pass it down
33386 to grub-setup.
33387
33388 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
33389 down to setup().
33390 (setup): Improve error messages and add warnings when requested to
33391 install in odd layouts. Refuse to install using blocklists unless
33392 --force was set.
33393
18f547ad 333942009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 33395
33396 * disk/raid.c (grub_raid_scan_device): Improve debug message.
33397
6d260daa 333982009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33399
33400 Updated copyright year
33401
33402 * fs/hfsplus.c: updated copyright year
18f547ad 33403
69f853f8 334042009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33405
33406 HFS+ UUID
33407
18f547ad 33408 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 33409 in the space previously used by unused3
33410 (grub_hfsplus_uuid): new function
33411 (grub_hfsplus_fs): added uuid field
33412
4c402e73 334132009-05-03 Pavel Roskin <proski@gnu.org>
33414
33415 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
33416 suppress warnings. It's no longer needed.
33417 * disk/host.c: Likewise.
33418 * disk/ata_pthru.c: Likewise.
33419 * disk/loopback.c: Likewise.
33420 * hook/datehook.c: Likewise.
33421 * parttool/pcpart.c: Likewise.
33422 * fs/i386/pc/pxe.c: Likewise.
33423 * fs/ntfscomp.c: Likewise.
33424 * efiemu/main.c: Likewise.
33425 * mmap/mmap.c: Likewise.
33426 * commands/crc.c: Likewise.
33427 * commands/hexdump.c: Likewise.
33428 * commands/hdparm.c: Likewise.
33429 * commands/acpi.c: Likewise.
33430 * commands/echo.c: Likewise.
33431 * commands/minicmd.c: Likewise.
33432 * commands/blocklist.c: Likewise.
33433 * commands/memrw.c: Likewise.
33434 * commands/loadenv.c: Likewise.
33435 * commands/usbtest.c: Likewise.
33436 * commands/lsmmap.c: Likewise.
33437 * commands/boot.c: Likewise.
33438 * commands/parttool.c: Likewise.
33439 * commands/configfile.c: Likewise.
33440 * commands/search.c: Likewise.
33441 * commands/ieee1275/suspend.c: Likewise.
33442 * commands/cat.c: Likewise.
33443 * commands/i386/pc/pxecmd.c: Likewise.
33444 * commands/i386/pc/play.c: Likewise.
33445 * commands/i386/pc/halt.c: Likewise.
33446 * commands/i386/pc/vbeinfo.c: Likewise.
33447 * commands/i386/pc/vbetest.c: Likewise.
33448 * commands/lspci.c: Likewise.
33449 * commands/date.c: Likewise.
33450 * commands/handler.c: Likewise.
33451 * commands/ls.c: Likewise.
33452 * commands/test.c: Likewise.
33453 * commands/cmp.c: Likewise.
33454 * commands/efi/loadbios.c: Likewise.
33455 * commands/efi/fixvideo.c: Likewise.
33456 * commands/halt.c: Likewise.
33457 * commands/help.c: Likewise.
33458 * commands/reboot.c: Likewise.
33459 * hello/hello.c: Likewise.
33460 * script/sh/main.c: Likewise.
33461 * loader/xnu.c: Likewise.
33462 * term/terminfo.c: Likewise.
33463 * term/i386/pc/serial.c: Likewise.
33464 * term/usb_keyboard.c: Likewise.
33465
515b5079 334662009-05-03 David S. Miller <davem@davemloft.net>
33467
33468 * normal/menu.c: Include grub/parser.h
33469
dfc31a22 334702009-05-03 Pavel Roskin <proski@gnu.org>
33471
2fee74f1 33472 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
33473 not char*.
33474 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
33475 Suggested by Javier Martín <lordhabbit@gmail.com>
33476
dfc31a22 33477 * util/i386/pc/grub-mkrescue.in: Allow for the case when
33478 efiemu??.o doesn't exist.
33479 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
33480 copying.
33481
18f547ad 334822009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 33483
33484 FreeBSD 64-bit support
33485
18f547ad 33486 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 33487 and loader/i386/bsd_trampoline.S
33488 (bsd_mod_ASFLAGS): new variable
33489 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
33490 (FREEBSD_MODTYPE_KERNEL64): likewise
33491 (grub_bsd64_trampoline_start): likewise
33492 (grub_bsd64_trampoline_end): likewise
33493 (grub_bsd64_trampoline_selfjump): likewise
33494 (grub_bsd64_trampoline_gdt): likewise
33495 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
33496 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
33497 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
33498 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 33499 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 33500 of "attrib" member
33501 * loader/i386/bsd_pagetable.c: new file
33502 * loader/i386/bsd_trampoline.S: likewise
33503 * loader/i386/bsd.c (ALIGN_QWORD): new macro
33504 (ALIGN_VAR): likewise
33505 (entry_hi): new variable
33506 (kern_end_mdofs): likewise
33507 (is_64bit): likewise
33508 (grub_freebsd_add_meta): use ALIGN_VAR
33509 (grub_e820_mmap): new declaration
33510 (grub_freebsd_add_mmap): new function
33511 (grub_freebsd_add_meta_module): support 64 bit kernels
33512 (grub_freebsd_list_modules): use ALIGN_VAR
33513 (gdt_descriptor): new declaration
33514 (grub_freebsd_boot): support 64 bit kernels
33515 (grub_bsd_elf64_hook): new function
33516 (grub_bsd_load_elf): support elf64
33517
038c5720 335182009-05-03 Bean <bean123ch@gmail.com>
33519
33520 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
33521 after we get the result of if statement.
33522
fc45fb58 335232009-05-03 Bean <bean123ch@gmail.com>
33524
33525 * Makefile.in (enable_efiemu): New variable.
33526
33527 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
33528 set.
33529 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
33530 path.
33531 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
33532 path, add -mno-red-zone option.
33533 (efiemu64_s.o): Likewise.
33534 (efiemu64.o): Use macro $^ for source file.
33535
33536 * configure.ac (--enable-efiemu): New option.
33537
bbee0f2b 335382009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
33539
33540 xnu support
33541
33542 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
33543 (pkglib_MODULES): add xnu.mod
33544 (xnu_mod_SOURCES): new variable
33545 (xnu_mod_CFLAGS): likewise
33546 (xnu_mod_LDFLAGS): likewise
33547 (xnu_mod_ASFLAGS): likewise
33548 * conf/i386-pc.rmk: likewise
33549 * conf/x86_64-efi.rmk: likewise
7dd4a573 33550 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 33551 new declaration
33552 * include/grub/i386/macho.h: new file
33553 * include/grub/i386/xnu.h: likewise
33554 * include/grub/macho.h: likewise
33555 * include/grub/machoload.h: likewise
33556 * include/grub/x86_64/macho.h: likewise
33557 * include/grub/x86_64/xnu.h: likewise
33558 * include/grub/xnu.h: likewise
33559 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
33560 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
33561 * loader/i386/efi/xnu.c: new file
33562 * loader/i386/pc/xnu.c: likewise
33563 * loader/i386/xnu.c: likewise
33564 * loader/i386/xnu_helper.S: likewise
33565 * loader/macho.c: likewise
33566 * loader/xnu.c: likewise
33567 * loader/xnu_resume.c: likewise
33568 * util/grub-dumpdevtree: likewise
33569 * include/grub/i386/pit.h: include grub/err.h
33570 (grub_pit_wait): export
33571 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 33572
5caf964d 335732009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33574
33575 Efiemu
7dd4a573 33576
5caf964d 33577 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 33578 _linux_efi, linux_efi.
33579 new files in grub-emu
5caf964d 33580 new targets efiemu32.o and efiemu64.o
33581 * loader/linux_normal_efiemu.c: likewise
33582 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 33583 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 33584 files to copy
33585 * include/grub/autoefi.h: new file
7dd4a573 33586 * include/grub/i386/efiemu.h: likewise
5caf964d 33587 * include/grub/i386/pc/efiemu.h: likewise
33588 * include/grub/efi/api.h: add LL suffix when necessary
33589 new definitions relating to tables
33590 * include/grub/efiemu/efiemu.h: new file
33591 * include/grub/efiemu/runtime.h: likewise
33592 * efiemu/prepare.c: likewise
33593 * efiemu/loadcore_common.c: likewise
33594 * efiemu/loadcore64.c: likewise
33595 * efiemu/runtime/efiemu.sh: likewise
33596 * efiemu/runtime/efiemu.S: likewise
33597 * efiemu/runtime/efiemu.c: likewise
33598 * efiemu/runtime/config.h: likewise
33599 * efiemu/prepare32.c: likewise
33600 * efiemu/main.c: likewise
33601 * efiemu/modules/pnvram.c: likewise
33602 * efiemu/modules/i386: likewise
33603 * efiemu/modules/i386/pc: likewise
33604 * efiemu/modules/acpi.c: likewise
33605 * efiemu/i386/pc/cfgtables.c: likewise
33606 * efiemu/i386/loadcore64.c: likewise
33607 * efiemu/i386/loadcore32.c: likewise
33608 * efiemu/prepare64.c: likewise
33609 * efiemu/loadcore.c: likewise
33610 * efiemu/symbols.c: likewise
33611 * efiemu/mm.c: likewise
33612 * efiemu/loadcore32.c: likewise
7dd4a573 33613
336142009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 33615
33616 ACPI spoofing
33617
33618 * commands/acpi.c: new file
33619 * commands/i386/pc/acpi.c: likewise
33620 * commands/efi/acpi.c: likewise
33621 * include/grub/acpi.h: likewise
33622 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
33623 (acpi_mod_SOURCES): new variable
33624 (acpi_mod_CFLAGS): likewise
33625 (acpi_mod_LDFLAGS): likewise
33626 * conf/i386-efi.rmk: likewise
33627 * conf/x86_64-efi.rmk: likewise
33628
7dd4a573 336292009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 33630
33631 Missing part from mmap patch
33632
33633 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
33634 (grub_mmap_unregister)
33635 (grub_mmap_free_and_unregister): use grub_mmap_register
33636
7dd4a573 336372009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 33638
33639 Mmap services
33640
33641 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
33642 * loader/i386/linux.c (find_mmap_size): likewise
33643 (allocate_pages): likewise
33644 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
33645 (grub_fill_multiboot_mmap): likewise
33646 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
33647 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
33648 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
33649 (OPENBSD_MMAP_RESERVED): likewise
33650 * include/grub/i386/pc/memory.h: include grub/memory.h
33651 (grub_lower_mem): removed
33652 (grub_upper_mem): likewise
33653 (GRUB_MACHINE_MEMORY_ACPI): new definition
33654 (GRUB_MACHINE_MEMORY_NVS): likewise
33655 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
33656 (GRUB_MACHINE_MEMORY_HOLE): likewise
33657 (grub_machine_mmap_register): likewise
33658 (grub_machine_mmap_unregister): likewise
33659 (grub_machine_get_upper): likewise
33660 (grub_machine_get_lower): likewise
33661 (grub_machine_get_post64): likewise
33662 * include/grub/i386/efi/memory.h: new file
33663 * include/grub/x86_64/efi/memory.h: likewise
33664 * include/grub/efi/memory.h: likewise
33665 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
33666 (mmap_mod_SOURCES): new variable
33667 (mmap_mod_LDFLAGS): likewise
33668 (mmap_mod_ASFLAGS): likewise
33669 * conf/i386-coreboot.rmk: likewise
33670 * conf/i386-ieee1275.rmk: likewise
33671 * conf/i386-efi.rmk: likewise
33672 * conf/x86_64-efi.rmk: likewise
33673 * include/grub/types.h (UINT_TO_PTR): new macro
33674 (PTR_TO_UINT32): likewise
33675 (PTR_TO_UINT64): likewise
33676 * include/grub/memory.h: new file
33677 * mmap/i386/pc/mmap.c: likewise
33678 * mmap/i386/pc/mmap_helper.S: likewise
33679 * mmap/i386/uppermem.c: likewise
33680 * mmap/mmap.c: likewise
33681 * mmap/efi/mmap.c: likewise
7dd4a573 33682 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 33683 grub_upper_mem
33684 * kern/i386/pc/init.c (grub_lower_mem): removed variable
33685 (grub_upper_mem): likewise
33686 (grub_machine_init): don't use grub_upper_mem,
33687 make grub_lower_mem local
33688 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
33689 grub_mmap_iterate and grub_mmap_get_upper
33690 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
33691
d558e6b5 336922009-05-02 Bean <bean123ch@gmail.com>
33693
33694 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
33695 script/sh/parser.y.
33696 (pkglib_MODULES): Add normal.mod and sh.mod.
33697 (normal_SOURCES): New variable.
33698 (normal_mod_CFLAGS): Likewise.
33699 (normal_mod_LDFLAGS): Likewise.
33700 (sh_mod_SOURCES): Likewise.
33701 (sh_mod_CFLAGS): Likewise.
33702 (sh_mod_LDFLAGS): Likewise.
33703
33704 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
33705 script/sh/lexer.c_DEPENDENCIES.
33706 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
33707 kern/rescue_reader.c and kern/rescue_parser.c.
33708 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
33709 (grub_emu_SOURCES): Change source files.
33710 (pkglib_MODULES): Remove normal.mod.
33711 (normal_SOURCES): Removed.
33712 (normal_mod_CFLAGS): Likewise.
33713 (normal_mod_LDFLAGS): Likewise.
33714 * conf/i386-coreboot.rmk: Likewise.
33715 * conf/i386-efi.rmk: Likewise.
33716 * conf/i386-ieee1276.rmk: Likewise.
33717 * conf/powerpc-ieee1275.rmk: Likewise.
33718 * conf/sparc64-ieee1275.rmk: Likewise.
33719 * conf/x86_64-efi.rmk: Likewise.
33720
33721 * include/grub/command.h (grub_command_execute): New inline function.
33722
33723 * include/grub/menu.h (grub_menu_entry): Removed commands field.
33724
33725 * include/grub/normal.h: Remove <grub/setjmp.h>.
33726 (grub_fs_module_list): Moved to normal/autofs.c.
33727 (grub_exit_env): Removed.
33728 (grub_command_execute): Likewise.
33729 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
33730 parameter script.
33731 (read_command_list): New function declaration.
33732 (read_fs_list): Likewise.
33733
33734 * include/parser.h: Include <grub/reader.h>.
33735 (grub_parser_split_cmdline): Change type of getline parameter.
33736 (grub_parser): New structure.
33737 (grub_parser_class): New variable.
33738 (grub_parser_execute): New function declaration.
33739 (grub_register_rescue_parser): Likewise.
33740 (grub_parser_register): New inline function.
33741 (grub_parser_unregister): Likewise.
33742 (grub_parser_get_current): Likewise.
33743 (grub_parser_set_current): Likewise.
33744
33745 * include/grub/reader.h: New file.
33746 * kern/reader.c: Likewise.
33747 * kern/rescue_parser.c: Likewise.
33748 * kern/rescue_reader.c: Likewise.
33749 * normal/autofs.c: Likewise.
33750 * normal/dyncmd.c: Likewise.
33751
33752 * include/grub/rescue.h: Removed.
33753 * normal/command.h: Likewise.
33754
33755 * include/grub/script.h: Moved to ...
33756 * include/grub/script_sh.h: ... Moved here.
33757 * normal/execute.c: Moved to ...
33758 * script/sh/execute.c: ... Moved here.
33759 * normal/function.c: Moved to ...
33760 * script/sh/function.c: ... Moved here.
33761 * normal/lexer.c: Moved to ...
33762 * script/sh/lexer.c: ... Moved here.
33763 * normal/parser.y: Moved to ...
33764 * script/sh/parser.y: ... Moved here.
33765 * normal/script.c: Moved to ...
33766 * script/sh/script.c: ... Moved here.
33767
33768 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
33769 <grub/reader.h>.
33770 (grub_exit_env): Removed.
33771 (fs_module_list): Moved to normal/autofs.c.
33772 (grub_file_getline): Don't handle comment here.
33773 (free_menu): Skip removed field entry->commands.
33774 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
33775 script parameter.
33776 (read_config_file): Removed nested parameter, change getline function.
33777 (grub_enter_normal_mode): Removed.
33778 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
33779 (read_command_list): Likewise.
33780 (autoload_fs_module): Moved to normal/autofs.c.
33781 (read_fs_list): Likewise.
33782 (reader_nested): New variable.
33783 (grub_normal_execute): Run parser.sh to switch to sh parser.
33784 (grub_cmd_rescue): Removed.
33785 (cmd_normal): Removed.
33786 (grub_cmd_normal): Unregister itself at the beginning. Don't register
33787 rescue command.
33788 (grub_cmdline_run): New function.
33789 (grub_normal_reader_init): Likewise.
33790 (grub_normal_read_line): Likewise.
33791 (grub_env_write_pager): Likewise.
33792 (cmdline): New variable.
33793 (grub_normal_reader): Likewise.
33794 (GRUB_MOD_INIT): Register normal reader and set as current, register
33795 pager hook, register normal command with grub_register_command_prio,
33796 so that it won't show up in command.lst.
33797 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
33798 grub_fs_autoload_hook.
33799
33800 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
33801 (grub_menu_execute_entry): Replace grub_script_execute with
33802 grub_parser_execute, change parameter to grub_command_execute.
33803
33804 * normal/menu_text.c: Remove <grub/script.h>.
33805
33806 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
33807 and <grub/parser.h>.
33808 (run): Change editor_getline to use new parser interface. Change
33809 parameter to grub_command_execute.
33810
33811 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
33812 <grub/reader.h> and <grub/parser.h>.
33813 (grub_load_normal_mode): Execute normal command.
33814 (grub_main): Call grub_register_core_commands,
33815 grub_register_rescue_parser and grub_register_rescue_reader, use
33816 grub_reader_loop to enter input loop.
33817
7dd4a573 33818 * kern/parser.c (grub_parser_split_cmdline): Change type of
33819 getline parameter.
d558e6b5 33820 (grub_parser_class): New variable.
33821 (grub_parser_execute): New function.
33822
33823 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
33824 * loader/multiboot2.c: Likewise.
33825 * loader/sparc64/ieee1275/linux.c: Likewise.
33826
33827 * util/grub-emu.c (read_command_list): New dummy function.
33828
18db813d 338292009-05-02 Robert Millan <rmh.grub@aybabtu.com>
33830
33831 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
33832 count to 16 for CCISS and IDA.
33833
6c67de15 338342009-05-02 Robert Millan <rmh.grub@aybabtu.com>
33835
33836 * normal/menu_text.c (grub_wait_after_message): Print a newline
33837 after waiting for user input.
33838
33839 * loader/i386/linux.c: Include `<grub/normal.h>'.
33840 (grub_cmd_linux): Improve the error message about `ask' mode, by
33841 waiting for user input so it's not missed (we can do this, since
33842 user requested interaction).
33843
d9dc87b0 338442009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33845
33846 Added missing lst to grub-mkrescue
33847
33848 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
33849 and ${input_dir}/parttool.lst
33850
ac8a2baa 338512009-04-30 David S. Miller <davem@davemloft.net>
33852
ad22a610 33853 * util/hostdisk.c (device_is_wholedisk): New function.
33854 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
33855 zero only if device_is_wholedisk() returns true.
33856
6966215d 33857 * util/hostdisk.c (convert_system_partition_to_system_disk):
33858 Handle virtual disk devices named /dev/vdiskX as found on sparc
33859 and powerpc.
33860
ac8a2baa 33861 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
33862 lettered partition specifier is found, convert to numbered.
33863
979b4fb4 338642009-04-29 David S. Miller <davem@davemloft.net>
33865
e2bf39b2 33866 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
33867 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33868
3c64e104 33869 * normal/command.c: Add missing newline at end of file.
33870
979b4fb4 33871 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
33872 warnings.
33873 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
33874 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
33875 grub_ofdisk_read): Likewise, and deal similarly with the fact that
33876 ihandles have a 32-bit type but need to be stored in a "void *".
33877
136d9f82 338782009-04-28 Pavel Roskin <proski@gnu.org>
33879
9459c306 33880 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
33881 not disk. Adjust all dependencies.
2e08a26a 33882 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 33883 grub_disk_close().
33884
136d9f82 33885 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
33886 parent's partition, don't copy it by reference, as it gets freed
33887 on close.
33888
7dd4a573 338892009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 33890
33891 Preboot hooks support
33892
33893 * commands/boot.c (struct grub_preboot_t): new declaration
33894 (preboots_head): new variable
33895 (preboots_tail): likewise
33896 (grub_loader_register_preboot_hook): new function
33897 (grub_loader_unregister_preboot_hook): likewise
33898 (grub_loader_set): launch preboot hooks
33899 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
33900 (grub_loader_register_preboot_hook): new declaration
33901 (grub_loader_unregister_preboot_hook): likewise
33902
5af922b5 339032009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
33904
33905 Warning fix
33906
7dd4a573 33907 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 33908 calling grub_dprintf
33909
a5562c30 339102009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
33911
33912 Bug and warning fixes
33913
7dd4a573 33914 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 33915 declaration
33916 * commands/test.c (test_parse): fixed bug with file tests and corrected
33917 declaration of find_file
33918
4006f85c 339192009-04-26 Pavel Roskin <proski@gnu.org>
33920
33921 * Makefile.in: Don't install empty manual pages if help2man is
33922 missing. Use help2man option for output, not shell redirection.
33923
5c77c3de 339242009-04-26 David S. Miller <davem@davemloft.net>
33925
33926 * util/grub-mkdevicemap.c (make_device_map): Add missing
33927 NESTED_FUNC_ATTR to process_device().
33928
033b10a8 339292009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33930
33931 Test command
33932
33933 * commands/test.c: rewritten to use bash-like test
33934
e4343593 339352009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33936
33937 Parttool autoloading and improvements
33938
7dd4a573 33939 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 33940 (parttool.lst): new target
33941 * genmk.rb: generate parttool-*
33942 (CLEANFILES): add #{parttool}
33943 (PARTTOOLFILES): new variable
33944 * genparttoollist.sh: new file
7dd4a573 33945 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 33946 (grub_pcpart_type): likewise
33947 * commands/parttool.c (helpmsg): new variable
33948 (grub_cmd_parttool): output help if not enough arguments are supplied
33949 autoload modules
33950 (GRUB_MOD_INIT(parttool)): use helpmsg
33951
0d312500 339522009-04-24 David S. Miller <davem@davemloft.net>
33953
7dd4a573 33954 Avoiding opening same device multiple times in device iterator.
0d312500 33955
33956 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 33957 and use it to build a list of partitions in iterate_disk() and
0d312500 33958 iterate_partition().
33959
ac20caff 33960 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
33961 on disk->data.
33962
0dcf7495 33963 * disk/ieee1275/nand.c (grub_nand_iterate): Return
33964 grub_devalias_iterate() result instead of unconditional 0.
33965 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
33966 Also, capture hook return value, either directly or via
33967 grub_children_iterate(), and propagate to caller.
33968 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
33969 grub_children_iterate): Return value is now 'int' instead of
33970 'grub_err_t'.
33971 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
33972 like a proper iterator, stopping when hooks return non-zero.
33973 (grub_devalias_iterate): Likewise.
33974
c8c08833 339752009-04-23 David S. Miller <davem@davemloft.net>
33976
33977 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
33978
f01005a8 339792009-04-22 David S. Miller <davem@davemloft.net>
33980
33981 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
33982 is larger than address_cells, use that value for address_cells too.
33983
4e8269da 33984 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
33985 IEEE1275_MAX_PATH_LEN): Define.
33986 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
33987 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
33988 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
33989 'devtype'. Explicitly NULL terminate devalias expansion.
33990
a1447506 33991 * util/sparc64/ieee1275/misc.c: New file.
33992 * util/sparc64/ieee1275/grub-setup.c: New file.
33993 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
33994 * util/sparc64/ieee1275/grub-mkimage.c: New file.
33995 * util/sparc64/ieee1275/grub-install.in: New file.
33996 * util/ieee1275/ofpath.c: New file.
33997 * util/ieee1275/devicemap.c: New file.
33998 * util/devicemap.c: New file.
33999 * util/deviceiter.c: New file.
34000 * kern/sparc64/ieee1275/init.c: New file.
34001 * include/grub/util/ofpath.h: New file.
34002 * include/grub/util/deviceiter.h: New file.
34003 * util/grub-mkdevicemap.c: Include deviceiter.h.
34004 Implement using grub_util_emit_devicemap_entry and
34005 grub_util_iterate_devices.
34006 * conf/i386-corebook.rmk: Build util/deviceiter.c and
34007 util/devicemap.c into grub-mkdevicemap
34008 * conf/i386-efi.rmk: Likewise.
34009 * conf/i386-ieee1275.rmk: Likewise.
34010 * conf/i386-pc.rmk: Likewise.
34011 * conf/powerpc-ieee1275.rmk: Likewise.
34012 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
34013 images and installation utilities. Build kernel as image
34014 instead of as elf binary. Use common rules as much as possible.
34015
7dd4a573 340162009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 34017
34018 Correct GPT definition
34019
7dd4a573 34020 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 34021 of "attrib" member
34022
c6c5219f 340232009-04-19 Felix Zielcke <fzielcke@z-51.de>
34024
34025 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
34026
0552ff9f 340272009-04-19 David S. Miller <davem@davemloft.net>
34028
34029 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
34030 (grub_rescue_cmd_linux): Rename to...
34031 (grub_cmd_linux): and fix prototype.
34032 (grub_rescue_cmd_initrd): Rename to...
34033 (grub_cmd_initrd): and fix prototype.
34034 (cmd_linux, cmd_initrd): New.
34035 (GRUB_MOD_INIT(linux)): Use grub_register_command().
34036 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
34037
d1a282fc 340382009-04-17 Pavel Roskin <proski@gnu.org>
34039
07c5039f 34040 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
34041 format.
34042 (grub_ohci_transfer): Likewise.
34043
b012002d 34044 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
34045
1bc09c35 34046 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
34047 return without a value. Fix inconsistent indentation.
34048
e0ff9126 34049 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
34050 match struct grub_fs.
34051
d1a282fc 34052 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
34053 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
34054 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34055 * commands/lspci.c (grub_lspci_iter): Likewise.
34056
a96df3f2 340572009-04-16 Bean <bean123ch@gmail.com>
34058
34059 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
34060 value.
34061
41bb0fe9 340622009-04-15 Pavel Roskin <proski@gnu.org>
34063
34064 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
34065 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
34066 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
34067 definitions.
34068
596c6970 340692009-04-15 Felix Zielcke <fzielcke@z-51.de>
34070
34071 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 34072 that no multiple data or metadata areas are supported and `Unknown
596c6970 34073 metadata header'.
34074
7dd4a573 340752009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 34076
34077 Move loader out of the kernel
34078
34079 * kern/loader.c: moved to ...
34080 * commands/boot.c: ... moved here
34081 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
34082 * commands/boot.c (grub_cmd_boot): moved here. All users updated
34083 * include/grub/kernel.h (grub_machine_fini): export
34084 * include/grub/loader.h (grub_loader_is_loaded): update declaration
34085 (grub_loader_set): likewise
34086 (grub_loader_unset): likewise
34087 (grub_loader_boot): likewise
34088 * conf/common.rmk: new module boot.mod
34089 (pkglib_MODULES): add boot.mod
34090 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
34091 (grub_emu_SOURCES): likewise
34092 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
34093 (grub_emu_SOURCES): likewise
34094 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
34095 (grub_emu_SOURCES): likewise
34096 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
34097 (grub_emu_SOURCES): likewise
34098 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
34099 (grub_emu_SOURCES): likewise
7dd4a573 34100 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
34101 (grub_emu_SOURCES): likewise
0d5d5653 34102 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 34103 (grub_emu_SOURCES): likewise
0d5d5653 34104
7dd4a573 341052009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 34106
34107 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 34108
5999d619 34109 * kern/misc.c (grub_itoa): Removed function
34110 (grub_ltoa): likewise
34111 (grub_vsprintf): use grub_lltoa
34112
7dd4a573 341132009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 34114
34115 Restore grub-emu
34116
34117 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
34118 * conf/i386-coreboot.rmk: likewise
34119 * conf/i386-ieee1275.rmk: likewise
34120 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34121
20318222 341222009-04-15 Felix Zielcke <fzielcke@z-51.de>
34123
34124 * INSTALL: Add that `./autogen.sh' needs to be run before
34125 `./configure.'.
34126
d05f0df3 341272009-04-14 Bean <bean123ch@gmail.com>
34128
34129 * Makefile.in (pkglib_DATA): Add handler.lst.
34130 (handler.lst): New rule.
34131
34132 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
34133 * conf/i386-coreboot.rmk: Likewise.
34134 * conf/i386-ieee1275.rmk: Likewise.
34135 * conf/i386-efi.rmk: Likewise.
34136 * conf/x86_64-efi.rmk: Likewise.
34137 * conf/powerpc-ieee1275.rmk: Likewise.
34138 * conf/sparc64-ieee1275.rmk: Likewise.
34139
34140 * genhandlerlist.sh: New file.
34141
34142 * genmk.rb: Add rules to generate handler.lst.
34143
34144 * include/grub/normal.h (grub_file_getline): New function definition.
34145 (read_handler_list): Likewise.
34146 (free_handler_list): Likewise.
34147
34148 * include/grub/term.h (grub_term_register_input): Add name parameter
34149 for auto generation of handler.lst.
34150 (grub_term_register_output): Likewise.
34151
34152 * normal/handler.c: New file.
34153
34154 * normal/main.c (get_line): Renamed to grub_file_getline.
34155 (read_config_file): Use the newly renamed grub_file_getline.
34156 (read_command_list): Likewise.
34157 (read_fs_list): Likewise.
34158 (grub_normal_execute): Call read_handler_list to parse handler.lst.
34159 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
34160
34161 * term/efi/console.c (grub_console_init): Add name parameter for auto
34162 generation of handler.lst.
34163 * term/gfxterm.c: Likewise.
34164 * term/i386/pc/at_keyboard.c: Likewise.
34165 * term/i386/pc/console.c: Likewise.
34166 * term/i386/pc/serial.c: Likewise.
34167 * term/i386/pc/vesafb.c: Likewise.
34168 * term/i386/pc/vga.c: Likewise.
34169 * term/i386/pc/vga_text.c: Likewise.
34170 * term/ieee1275/ofconsole.c: Likewise.
34171 * term/usb_keyboard.c: Likewise.
34172
33c846be 341732009-04-14 Bean <bean123ch@gmail.com>
34174
34175 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
34176 properly with null character.
34177
4484e01e 341782009-04-14 Felix Zielcke <fzielcke@z-51.de>
34179
34180 * configure: Remove.
34181 * config.h.in: Likewise.
f93d668e 34182 * stamp-h.in: Likewise.
4484e01e 34183 * DISTLIST: Likewise.
34184 * conf/common.mk: Likewise.
34185 * conf/i386-coreboot.mk: Likewise.
34186 * conf/i386-efi.mk: Likewise.
34187 * conf/i386-ieee1275.mk: Likewise.
34188 * conf/i386.mk: Likewise.
34189 * conf/i386-pc.mk: Likewise.
34190 * conf/powerpc-ieee1275.mk: Likewise.
34191 * conf/sparc64-ieee1275.mk: Likewise.
34192 * conf/x86_64-efi.mk: Likewise.
34193
34194 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
34195 develop on GRUB.
34196
7dd4a573 341972009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 34198 David S. Miller <davem@davemloft.net>
34199
34200 * util/hostdisk.c (make_device_name): Fix buffer length
34201 calculations.
34202
e25b5a8c 342032009-04-14 Felix Zielcke <fzielcke@z-51.de>
34204
34205 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
34206 <sys/param.h> and <sys/sysctl.h>.
34207 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
34208 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
34209 opening the device and reset them afterwards.
34210
1f1f580c 342112009-04-13 Pavel Roskin <proski@gnu.org>
34212
34213 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
34214 Reported by John Stanley <jpsinthemix@verizon.net>
34215
7ebc2d6b 342162009-04-13 Robert Millan <rmh@aybabtu.com>
34217
34218 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 34219 that name for menuentries when appropriate.
7ebc2d6b 34220
d8ba3667 342212009-04-13 Felix Zielcke <fzielcke@z-51.de>
34222
34223 * util/grub.d/10_freebsd.in: Add a missing `fi'.
34224
cba416eb 342252009-04-13 Robert Millan <rmh@aybabtu.com>
34226
34227 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
34228 to Linux, simply abort telling the user it's no longer supported.
34229
a547a745 342302009-04-13 Felix Zielcke <fzielcke@z-51.de>
34231
34232 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 34233 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 34234 `freebsd_loadenv' only when devices.hints exist.
34235
232a769c 342362009-04-13 Pavel Roskin <proski@gnu.org>
34237
34238 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
34239
c3012039 342402009-04-13 Felix Zielcke <fzielcke@z-51.de>
34241
34242 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
34243 partition number.
34244 (grub_drive): Likewise.
34245
234022fe 342462009-04-13 David S. Miller <davem@davemloft.net>
34247
34248 * kern/sparc64/ieee1275/ieee1275.c: New file.
34249 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
34250 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
34251 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
34252 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
34253 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
34254 grub_ieee1275_alloc_physmem): Declare new exported functions.
34255
d8e1836c 34256 * include/grub/sparc64/ieee1275/loader.h: New file.
34257 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34258 * include/grub/sparc64/kernel.h: Likewise.
34259 * loader/sparc64/ieee1275/linux.c: Likewise.
34260
96bd81ec 34261 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
34262 (grub_fstest_SOURCES): Likewise.
34263
6a4737e5 34264 * util/hostdisk.c (make_device_name): Do not make any assumptions
34265 about the length of drive names.
34266
1d7a72fd 34267 * kern/dl.c (grub_dl_load_file): Close file immediately when
34268 we are done using it.
34269
56bc2471 342702009-04-12 David S. Miller <davem@davemloft.net>
34271
34272 * kern/misc.c (grub_ltoa): Fix cast when handling negative
34273 values. Noticed by Pavel Roskin.
34274
df38d0bb 34275 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
34276 target compiler.
7dd4a573 34277
e382e93a 34278 * genmk.rb: Add more flexible image type specification, also
34279 pass --strip-unneeded to objcopy.
34280 * conf/i386-pc.rmk: Use *_FORMAT.
34281 * conf/i386-pc.mk: Rebuilt.
34282
f5dbbca9 34283 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
34284 (OFDISK_HASH_SZ): Define.
34285 (ofdisk_hash): New hash table.
34286 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
34287 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
34288 instead of device phandle which is not unique.
34289
91c88b12 34290 * kern/sparc64/ieee1275/init.c: Delete, replace with...
34291 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
34292 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
34293 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
34294 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
34295 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
34296 GRUB_KERNEL_MACHINE_DATA_END): Define.
34297 (grub_kernel_image_size, grub_total_module_size): Declare.
34298
5b5d4aa5 342992009-04-12 Pavel Roskin <proski@gnu.org>
34300
7dd4a573 34301 * configure.ac: Change the logic when we check for target tools.
34302 Do it when the target is specified and it's different from the
34303 specified value of the host.
5b5d4aa5 34304
c91e1793 343052009-04-11 Felix Zielcke <fzielcke@z-51.de>
34306
34307 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
34308 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
34309 GNU/kFreeBSD. Check if a device is a character device. Use
34310 DIOCGMEDIASIZE to get the size.
34311 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
34312 support for GNU/kFreeBSD.
34313 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
34314 is a character device instead of a block device. Add support for
34315 FreeBSD device names.
34316
34317 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
34318 is a character device instead of a block device.
34319
34320 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
34321 is a character device instead of a block device.
34322
b1ac8644 343232009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
34324
34325 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
34326 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
34327 FreeBSD. Check if a device is a character device. Use
34328 DIOCGMEDIASIZE to get the size.
34329 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
34330 support for FreeBSD.
34331 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
34332 is a character device instead of a block device. Add support for
34333 FreeBSD device names.
34334
34335 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
34336 a character device instead of a block device.
34337 (grub_util_check_char_device): New function.
34338
34339 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
34340 a character device instead of a block device.
34341
34342 * include/grub/util/getroot.h (grub_util_check_char_device): New
34343 prototype.
34344
a3f7515a 343452009-04-11 David S. Miller <davem@davemloft.net>
34346
34347 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
34348 static libgcc.
34349 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
34350 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
34351 function, if present.
34352 (__bswapdi2): Likewise.
34353
0d44993d 34354 * include/grub/sparc64/ieee1275/boot.h: New file.
34355 * boot/sparc64/ieee1275/boot.S: Likewise.
34356 * boot/sparc64/ieee1275/diskboot.S: Likewise.
34357
ed3d2bc2 34358 * kern/misc.c (grub_ltoa): New function.
34359 (grub_vsprintf): Use it to format 'long' integers.
34360
d3bfb59c 343612009-04-10 David S. Miller <davem@davemloft.net>
34362
34363 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
34364 slots are of type grub_ieee1275_cell_t.
34365 (grub_nand_read): Likewise.
34366 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
34367 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
34368 macros are used to compare values in arg/ret block of the call.
34369 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34370 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
34371 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
34372 grub_ieee1275_instance_to_path, grub_ieee1275_write,
34373 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
34374 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
34375 grub_ieee1275_close, grub_ieee1275_set_property,
34376 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
34377 grub_ieee1275_cell_t.
34378 * kern/ieee1275/openfw.c (grub_map): Likewise.
34379 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
34380 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
34381
450e2238 34382 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
34383 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
34384 (grub_devalias_iterate): Likewise.
34385
7dd4a573 343862009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 34387
34388 UFS improvements
34389
34390 * fs/ufs.c (INODE_NBLOCKS): new definition
34391 (struct grub_ufs_dirent): added fields for non-BSD dirents
34392 (grub_ufs_get_file_block): fixed double indirect handling
34393 (grub_ufs_lookup_symlink): use more robust way to determine whether
34394 symlink is inline
34395 (grub_ufs_find_file): support for non-BSD dirents
34396 (grub_ufs_dir): support for non-BSD dirents
34397
e7e6862a 343982009-04-10 Bean <bean123ch@gnail.com>
34399
34400 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
34401 attribute, otherwise the size would be wrong for i386 platform.
34402
34403 * include/grub/pci.h (grub_pci_read_word): New inline function.
34404 (grub_pci_read_byte): Likewise.
34405 (grub_pci_write): Likewise.
34406 (grub_pci_write_word): Likewise.
34407 (grub_pci_write_byte): Likewise.
34408
34409 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
34410
34411 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
34412 (find_framebuf): Scan pci to locate the frame buffer address.
34413
34414 * commands/efi/fixvideo.c: New file.
34415
34416 * commands/efi/loadbios.c: Likewise.
34417
34418 * commands/memrw.c: Likewise.
34419
34420 * util/grub-dumpbios.in: Likewise.
34421
34422 * conf/common.rmk (grub-dumpbios): New utility.
34423 (pkglib_MODULES): New module memrw.mod.
34424 (memrw_mod_SOURCE): New macro.
34425 (memrw_mod_CFLAGS): Likewise.
34426 (memrw_mod_LDFLAGS): Likewise.
34427
7dd4a573 34428 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34429 fixvideo.mod.
34430 (loadbios_mod_SOURCE): New macro.
34431 (loadbios_mod_CFLAGS): Likewise.
34432 (loadbios_mod_LDFLAGS): Likewise.
34433 (fixvideo_mod_SOURCE): Likewise.
34434 (fixvideo_mod_CFLAGS): Likewise.
34435 (fixvideo_mod_LDFLAGS): Likewise.
34436
7dd4a573 34437 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34438 fixvideo.mod.
34439 (loadbios_mod_SOURCE): New macro.
34440 (loadbios_mod_CFLAGS): Likewise.
34441 (loadbios_mod_LDFLAGS): Likewise.
34442 (fixvideo_mod_SOURCE): Likewise.
34443 (fixvideo_mod_CFLAGS): Likewise.
34444 (fixvideo_mod_LDFLAGS): Likewise.
34445
af63ada2 344462009-04-08 Felix Zielcke <fzielcke@z-51.de>
34447
34448 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
34449
c2cdde70 344502009-04-07 David S. Miller <davem@davemloft.net>
34451
34452 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
34453 support for R_SPARC_OLO10 relocations. Fix compile warning for
34454 R_SPARC_WDISP30 case.
ea3f72cf 34455 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 34456
761319cf 344572009-04-06 Pavel Roskin <proski@gnu.org>
34458
1007d1f5 34459 * include/grub/misc.h (ARRAY_SIZE): New macro.
34460 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
34461 New macro.
34462 * loader/i386/linux.c (allocate_pages): Use free_pages().
34463 (grub_linux_unload): Don't use free_pages().
34464 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
34465 wrong index. Treat all other modes as text modes.
34466 (grub_cmd_linux): Initialize vid_mode unconditionally to
34467 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
34468
761319cf 34469 * commands/help.c (print_command_help): Use cmd->prio, not
34470 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
34471
ea761d40 344722009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 34473
ea761d40 34474 Parttool
34475
34476 * parttool/pcpart.c: new file
34477 * commands/parttool.c: likewise
34478 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
34479 (parttool_mod_SOURCES): new variable
34480 (parttool_mod_CFLAGS): likewise
34481 (parttool_mod_LDFLAGS): likewise
34482 (pcpart_mod_SOURCES): likewise
34483 (pcpart_mod_CFLAGS): likewise
34484 (pcpart_mod_LDFLAGS): likewise
7dd4a573 34485 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 34486 and parttool/pcpart.c
34487 * conf/i386-efi.rmk: likewise
34488 * conf/i386-ieee1275.rmk: likewise
34489 * conf/i386-pc.rmk: likewise
34490 * conf/powerpc-ieee1275.rmk: likewise
34491 * conf/sparc64-ieee1275.rmk: likewise
34492 * conf/x86_64-ieee1275.rmk: likewise
34493
05aaebfb 344942009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34495
34496 Support for mtime and further expandability of dir command
34497
34498 * include/grub/lib/datetime.h: moved to ...
7dd4a573 34499 * include/grub/datetime.h: ... moved here and added
05aaebfb 34500 declaration of grub_unixtime2datetime. All users updated
7dd4a573 34501 * include/grub/fs.h: new syntax for dir and mtime functions in
34502 struct grub_fs
05aaebfb 34503 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
34504 and GRUB_FSHELP_FLAGS_MASK
34505 * commands/ls.c (grub_ls_list_files): Write mtime in long format
34506 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
34507 (grub_ext2_mtime): new function
34508 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
34509 (grub_hfsplus_mtime): new function
34510 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
34511 (GRUB_UFS_ATTR_FILE): likewise
34512 (GRUB_UFS_ATTR_LNK): likewise
34513 (struct grub_ufs_sblock): new fields mtime
34514 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
34515 all users updated
34516 (grub_ufs_dir): mtime support
34517 (grub_ufs_mtime): new function
34518 * fs/affs.c (grub_affs_dir): use new dir syntax
34519 * fs/afs.c (grub_afs_dir): likewise
34520 * fs/cpio.c (grub_cpio_dir): likewise
34521 * fs/fat.c (grub_fat_find_dir): likewise
34522 * fs/hfs.c (grub_hfs_dir): likewise
34523 * fs/iso9660.c (grub_iso9660_dir): likewise
34524 * fs/jfs.c (grub_jfs_dir): likewise
34525 * fs/minix.c (grub_minix_dir): likewise
34526 * fs/ntfs.c (grub_ntfs_dir): likewise
34527 * fs/reiserfs.c (grub_reiserfs_dir): likewise
34528 * fs/sfs.c (grub_sfs_dir): likewise
34529 * fs/xfs.c (grub_xfs_dir): likewise
34530 * util/hostfs.c (grub_hostfs_dir): likewise
34531 * lib/datetime.c: moved to ...
34532 * normal/datetime.c: ... moved here
34533 (grub_unixtime2datetime): new function
34534 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 34535 * normal/completion.c (iterate_dir): use new dir syntax
34536 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 34537 last modification time of a volume
7dd4a573 34538 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 34539 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 34540 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 34541 (normal_mod_SOURCES): likewise
34542 (datetime_mod_SOURCES): Removed lib/datetime.c
34543 * conf/i386-efi.rmk: likewise
7dd4a573 34544 * conf/i386-ieee1275.rmk: likewise
05aaebfb 34545 * conf/i386-pc.rmk: likewise
34546 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34547 * conf/sparc64-ieee1275.rmk: likewise
34548 * conf/x86_64-efi.rmk: likewise
05aaebfb 34549
8a7e1a14 345502009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34551
34552 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 34553
34554 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 34555 on grub_fat_find_dir
34556 (grub_fat_find_dir): use grub_fat_iterate_dir
34557 (grub_fat_label): likewise
34558
04186a9c 345592009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
34560
7dd4a573 34561 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 34562 and command.h
34563 remove extraneous kernel_elf_HEADERS
34564
da4c0bb6 345652009-04-04 Bean <bean123ch@gnail.com>
34566
34567 * include/grub/util/misc.h: Add dummy function fsync for mingw.
34568
34569 * util/misc.c: Likewise.
34570
54ad9555 345712009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34572
34573 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
34574 instead of grub_printf.
34575
7a6bf9f2 345762009-04-03 Robert Millan <rmh@aybabtu.com>
34577
34578 * loader/i386/linux.c (grub_linux_setup_video): Fill
34579 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
34580 values from `mode info' structure instead of hardcoded
34581 values.
34582
3fcc2083 345832009-04-01 Pavel Roskin <proski@gnu.org>
34584
34585 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
34586 unused now.
34587 * genmk.rb: Likewise.
34588 * configure.ac: Likewise.
34589
5ec9740b 345902009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
34591
34592 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
34593 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
34594
5270cec8 345952009-04-01 David S. Miller <davem@davemloft.net>
34596
34597 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 34598 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 34599 (grub_setjmp): Mark with 'returns_twice' attribute.
34600 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
34601 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
34602 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
34603
9c3dd854 346042009-04-01 Robert Millan <rmh@aybabtu.com>
34605
34606 Reapply fix from 2008-07-28 which was accidentally reverted; also
34607 perform the same fix to a similar check in same function.
34608
34609 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34610 with the same number are found, just use issue a warning with
34611 grub_dprintf(), as this error has been reported to be non-fatal.
34612
0d818b7e 346132009-03-31 Pavel Roskin <proski@gnu.org>
34614
34615 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
34616 for cross-compilation.
34617
95646d92 346182009-03-30 Robert Millan <rmh@aybabtu.com>
34619
34620 Fix i386-ieee1275 build.
34621
34622 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
34623 Remove declaration.
34624
6a003ed1 346252009-03-30 Pavel Roskin <proski@gnu.org>
34626
34627 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
34628 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
34629 zero-terminated, rely only on the strlen value. Fix comparison
34630 of strings differing in length.
34631
92f33540 346322009-03-30 Robert Millan <rmh@aybabtu.com>
34633
34634 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
34635 checking for abi version. Improve error messages on BIOS to notify
34636 user about `linux16' command.
34637
a8c48fd5 346382009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
34639
f968172e 34640 Leak fixes
a8c48fd5 34641
f968172e 34642 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
34643 in case of collision
34644 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 34645
9c323f09 346462009-03-29 Robert Millan <rmh@aybabtu.com>
34647
34648 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
34649 set `vid_mode' accordingly.
34650 (grub_linux_boot): Process `vid_mode' and set video mode.
34651
ae68f423 346522009-03-29 Robert Millan <rmh@aybabtu.com>
34653
34654 * util/grub.d/10_linux.in (linux_entry): New function.
34655 Factorize generation of Linux boot entries.
34656
5709cfc4 346572009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
34658
34659 Make the format of Environment Block plain text. The boot loader
34660 part is not tested well yet.
7dd4a573 34661
5709cfc4 34662 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
34663 (buffer): Removed.
34664 (envblk): Likewise.
34665 (usage): Remove "info" and "clear". Add "unset". Update the
34666 description of "set", as this does not delete variables any
34667 longer.
34668 (create_envblk_file): Complete rewrite.
34669 (open_envblk_file): Likewise.
34670 (cmd_info): Removed.
34671 (cmd_list): Likewise.
34672 (cmd_set): Likewise.
34673 (cmd_clear): Likewise.
34674 (list_variables): New function.
34675 (write_envblk): Likewise.
34676 (set_variables): Likewise.
34677 (unset_variables): Likewise.
34678 (main): Complete rewrite.
34679
34680 * commands/loadenv.c (buffer): Removed.
34681 (envblk): Likewise.
34682 (open_envblk_file): New function.
34683 (read_envblk_file): Complete rewrite.
34684 (grub_cmd_load_env): Likewise.
34685 (grub_cmd_list_env): Likewise.
34686 (struct blocklist): New struct.
34687 (free_blocklists): New function.
34688 (check_blocklists): Likewise.
34689 (write_blocklists): Likewise.
34690 (grub_cmd_save_env): Complete rewrite.
34691
34692 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
34693 a plain text signature.
34694 (GRUB_ENVBLK_MAXLEN): Removed.
34695 (struct grub_envblk): Complete rewrite.
34696 (grub_envblk_find): Removed.
34697 (grub_envblk_insert): Likewise.
34698 (grub_envblk_open): New prototype.
34699 (grub_envblk_set): Likewise.
34700 (grub_envblk_delete): Put const to VALUE.
34701 (grub_envblk_iterate): Put const to NAME and VALUE.
34702 (grub_envblk_close): New prototype.
34703 (grub_envblk_buffer): New inline function.
34704 (grub_envblk_size): Likewise.
34705
34706 * lib/envblk.c: Include grub/mm.h.
34707 (grub_env_find): Removed.
34708 (grub_envblk_open): New function.
34709 (grub_envblk_close): Likewise.
34710 (escaped_value_len): Likewise.
34711 (find_next_line): Likewise.
34712 (grub_envblk_insert): Removed.
34713 (grub_envblk_set): New function.
34714 (grub_envblk_delete): Complete rewrite.
34715 (grub_envblk_iterate): Likewise.
34716
a9368fd3 347172009-03-28 Robert Millan <rmh@aybabtu.com>
34718
34719 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
34720 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
34721 variables. Use 16-bit loader.
34722 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
34723 loader.
34724 * kern/i386/loader.S (grub_linux_boot): Rename to ...
34725 (grub_linux16_boot): ... this. Update all users.
34726 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
34727 (grub_linux_boot): ... this. Update all users.
34728
34729 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
34730 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
34731 commands to `linux16' and `initrd16'.
34732 (GRUB_MOD_FINI(linux)): Rename to ...
34733 (GRUB_MOD_FINI(linux16)): ... this.
34734
e4dd5a7e 347352009-03-24 Pavel Roskin <proski@gnu.org>
34736
34737 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
34738 not just for compilation.
34739
c04d6e05 347402009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
34741
34742 Move multiboot helper out of kernel
34743
34744 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
34745 `loader/i386/multiboot_helper.S'.
34746 * conf/i386-coreboot.rmk: Likewise
34747 * conf/i386-ieee1275.rmk: Likewise
34748
34749 * kern/i386/loader.S: Move multiboot helpers from here...
34750 * loader/i386/multiboot_helper.S: ...moved here
34751 * include/grub/i386/loader.h: Move declarations of multiboot
34752 helpers from here...
34753 * include/grub/i386/multiboot.h: ...moved here
34754 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
34755
42a5b3fc 347562009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34757
34758 * kern/env.c (grub_env_context_open): Added an argument to specify
34759 whether a new context inherits exported variables from current
34760 one. This is useful when making a sandbox to interpret a config
34761 file.
34762 All callers updated.
34763
34764 * include/grub/env.h (grub_env_context_open): Updated the prototype.
34765
b28bbc4e 347662009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34767
34768 * kern/env.c (grub_env_context_close): Fix memory leaks.
34769
f04f02e4 347702009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34771
34772 * normal/main.c (grub_normal_execute): Added an argument
34773 BATCH to specify if an interactive interface should be provided
34774 after reading a config file.
34775 All callers updated.
34776 (read_command_list): Prevent being executed twice.
34777 (read_fs_list): Likewise.
34778
42a5b3fc 34779 * include/grub/normal.h (grub_normal_execute): Updated the
34780 prototype.
f04f02e4 34781
41473ac2 347822009-03-22 Pavel Roskin <proski@gno.org>
34783
fbc00b0c 34784 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
34785 _start.
34786 * kern/i386/pc/startup.S: Likewise.
34787 * kern/i386/efi/startup.S: Likewise.
34788 * kern/i386/ieee1275/startup.S: Likewise.
34789 * kern/i386/coreboot/startup.S: Likewise.
34790 * kern/x86_64/efi/startup.S: Likewise.
34791
41473ac2 34792 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
34793 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
34794 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
34795
2274cc8f 347962009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
34797
34798 Bugfixes in multiboot for bugs uncovered by solaris kernel.
34799
34800 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
34801 limit detection.
34802 Use vaddr of correct segment for entry_point.
34803
b1b797cb 348042009-03-21 Bean <bean123ch@gmail.com>
34805
34806 * commands/blocklist.c: Add include file <grub/command.h>, remove
34807 <grub/normal.h> and <grub/arg.h>.
34808 (grub_cmd_blocklist): Use the new command interface.
34809 (GRUB_MOD_INIT): Likewise.
34810 (GRUB_MOD_FINI): Likewise.
34811 * commands/boot.c: Likewise.
34812 * commands/cat.c: Likewise.
34813 * commands/cmp.c: Likewise.
34814 * commands/configfile.c: Likewise.
34815 * commands/crc.c: Likewise.
34816 * commands/echo.c: Likewise.
34817 * commands/halt.c: Likewise.
34818 * commands/handler.c: Likewise.
34819 * commands/hdparm.c: Likewise.
34820 * commands/help.c: Likewise.
34821 * commands/hexdump.c: Likewise.
34822 * commands/loadenv.c: Likewise.
34823 * commands/ls.c: Likewise.
34824 * commands/lsmmap.c: Likewise.
34825 * commands/lspci.c: Likewise.
34826 * commands/loadenv.c: Likewise.
34827 * commands/read.c: Likewise.
34828 * commands/reboot.c: Likewise.
34829 * commands/search.c: Likewise.
34830 * commands/sleep.c: Likewise.
34831 * commands/test.c: Likewise.
34832 * commands/usbtest.c: Likewise.
34833 * commands/videotest.c: Likewise.
34834 * commands/i386/cpuid.c: Likewise.
34835 * commands/i386/pc/halt.c: Likewise.
34836 * commands/i386/pc/play.c: Likewise.
34837 * commands/i386/pc/pxecmd.c: Likewise.
34838 * commands/i386/pc/vbeinfo.c: Likewise.
34839 * commands/i386/pc/vbetest.c: Likewise.
34840 * commands/ieee1275/suspend.c: Likewise.
34841 * disk/loopback.c: Likewise.
34842 * font/font_cmd.c: Likewise.
34843 * hello/hello.c: Likewise.
34844 * loader/efi/appleloader.c: Likewise.
34845 * loader/efi/chainloader.c: Likewise.
34846 * loader/i386/bsd.c: Likewise.
34847 * loader/i386/efi/linux.c: Likewise.
34848 * loader/i386/ieee1275/linux.c: Likewise.
34849 * loader/i386/linux.c: Likewise.
34850 * loader/i386/pc/chainloader.c: Likewise.
34851 * loader/i386/pc/linux.c: Likewise.
34852 * loader/powerpc/ieee1275/linux.c: Likewise.
34853 * loader/multiboot_loader.c: Likewise.
34854 * term/gfxterm.c: Likewise.
34855 * term/i386/pc/serial.c: Likewise.
34856 * term/terminfo.c: Likewise.
34857
34858 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
34859 * term/i386/pc/vga.c: Likewise.
34860 * video/readers/jpeg.c: Likewise.
34861 * video/readers/png.c: Likewise.
34862 * video/readers/tga.c: Likewise.
34863
34864 * util/grub-fstest (cmd_loopback): Removed.
34865 (cmd_blocklist): Likewise.
34866 (cmd_ls): Likewise.
34867 (grub_register_command): Likewise.
34868 (grub_unregister_command): Likewise.
34869 (execute_command): Use grub_command_find to locate command and execute
34870 it.
34871
34872 * include/grub/efi/chainloader.h: Removed.
34873 * loader/efi/chainloader_normal.c: Likewise.
34874 * loader/i386/bsd_normal.c: Likewise.
34875 * loader/i386/pc/chainloader_normal.c: Likewise.
34876 * loader/i386/pc/multiboot_normal.c: Likewise.
34877 * loader/linux_normal.c: Likewise.
34878 * loader/multiboot_loader_normal.c: Likewise.
34879 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34880
34881 * gencmdlist.sh: Scan new registration command grub_register_extcmd
34882 and grub_register_command_p1.
34883
34884 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
34885 kern/command.c, lib/arg.c and commands/extcmd.c.
34886 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
34887 (minicmd_mod_SOURCES): New variable.
34888 (minicmd_mod_CFLAGS): Likewise.
34889 (minicmd_mod_LDFLAGS): Likewise.
34890 (extcmd_mod_SOURCES): Likewise.
34891 (extcmd_mod_CFLAGS): Likewise.
34892 (extcmd_mod_LDFLAGS): Likewise.
34893 (boot_mod_SOURCES): Removed.
34894 (boot_mod_CFLAGS): Likewise.
34895 (boot_mod_LDFLAGS): Likewise.
34896
34897 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
34898 kern/corecmd.c.
34899 (kernel_img_HEADERS): Add command.h.
34900 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
34901 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
34902 and lib/arg.c.
34903 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
34904 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
34905 remove the corresponding normal mode command.
34906 (normal_mod_SOURCES): Remove normal/arg.c.
34907 * conf/i386-coreboot.rmk: Likewise.
34908 * conf/i386-efi.rmk: Likewise.
34909 * conf/i386-ieee1275.rmk: Likewise.
34910 * conf/powerpc-ieee1275.rmk: Likewise.
34911 * conf/x86_64-efi.rmk: Likewise.
34912
34913 * include/grub/arg.h: Move from here ...
34914 * include/grub/lib/arg.h: ... to here.
34915
34916 * normal/arg.c: Move from here ...
34917 * lib/arg.c: ... to here.
34918
34919 * commands/extcmd.c: New file.
34920 * commands/minicmd.c: Likewise.
34921 * include/grub/command.h: Likewise.
34922 * include/grub/extcmd.h: Likewise.
34923 * kern/command.c: Likewise.
34924 * kern/corecmd.c: Likewise.
34925
34926 * kern/list.c (grub_list_iterate): Return int instead of void.
34927 (grub_list_insert): New function.
34928 (grub_prio_list_insert): Likewise.
34929
34930 * kern/rescue.c (grub_rescue_command): Removed.
34931 (grub_rescue_command_list): Likewise.
34932 (grub_rescue_register_command): Likewise.
34933 (grub_rescue_unregister_command): Likewise.
34934 (grub_rescue_cmd_boot): Move to minicmd.c
34935 (grub_rescue_cmd_help): Likewise.
34936 (grub_rescue_cmd_info): Likewise.
34937 (grub_rescue_cmd_boot): Likewise.
34938 (grub_rescue_cmd_testload): Likewise.
34939 (grub_rescue_cmd_dump): Likewise.
34940 (grub_rescue_cmd_rmmod): Likewise.
34941 (grub_rescue_cmd_lsmod): Likewise.
34942 (grub_rescue_cmd_exit): Likewise.
34943 (grub_rescue_print_devices): Moved to corecmd.c.
34944 (grub_rescue_print_files): Likewise.
34945 (grub_rescue_cmd_ls): Likewise.
34946 (grub_rescue_cmd_insmod): Likewise.
34947 (grub_rescue_cmd_set): Likewise.
34948 (grub_rescue_cmd_unset): Likewise.
7d074e3c 34949 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 34950 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 34951 commands, remove grub_rescue_register_command calls.
b1b797cb 34952
7d074e3c 34953 * normal/command.c (grub_register_command): Removed.
b1b797cb 34954 (grub_unregister_command): Likewise.
34955 (grub_command_find): Likewise.
34956 (grub_iterate_commands): Likewise.
34957 (rescue_command): Likewise.
34958 (export_command): Moved to corecmd.c.
34959 (set_command): Removed.
34960 (unset_command): Likewise.
34961 (insmod_command): Likewise.
34962 (rmmod_command): Likewise.
34963 (lsmod_command): Likewise.
34964 (grub_command_init): Likewise.
34965
34966 * normal/completion.c (iterate_command): Use cmd->prio to check for
34967 active command.
34968 (complete_arguments): Use grub_extcmd_t structure to find options.
34969 (grub_normal_do_completion): Change function grub_iterate_commands to
34970 grub_command_iterate.
34971
34972 * normal/execute.c (grub_script_execute_cmd): No need to parse
34973 argument here.
34974
34975 * normal/main.c (grub_dyncmd_dispatcher): New function.
34976 (read_command_list): Register unload commands as dyncmd.
34977 (grub_cmd_normal): Use new command interface, register rescue,
34978 unregister normal at entry, register normal, unregister rescue at exit.
34979
34980 * include/grub/list.h (grub_list_test_t): New type.
34981 (grub_list_iterate): Return int instead of void.
34982 (grub_list_insert): New function.
34983 (GRUB_AS_NAMED_LIST_P): New macro.
34984 (GRUB_AS_PRIO_LIST): Likewise.
34985 (GRUB_AS_PRIO_LIST_P): Likewise.
34986 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
34987 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
34988 (grub_prio_list): New structure.
34989 (grub_prio_list_insert): New function.
34990 (grub_prio_list_remove): New inline function.
34991
34992 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
34993 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
34994 (GRUB_COMMAND_FLAG_MENU): Likewise.
34995 (GRUB_COMMAND_FLAG_BOTH): Likewise.
34996 (GRUB_COMMAND_FLAG_TITLE): Likewise.
34997 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
34998 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
34999 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
35000 (grub_command): Likewise.
35001 (grub_register_command): Likewise.
35002 (grub_command_find): Likewise.
35003 (grub_iterate_commands): Likewise.
35004 (grub_command_init): Likewise.
35005 (grub_arg_parse): Likewise.
35006 (grub_arg_show_help): Likewise.
35007
35008 * include/grub/rescue.h (grub_rescue_register_command): Removed.
35009 (grub_rescue_unregister_command): Likewise.
35010
35011 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
35012 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
35013 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
35014
35015 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
35016 grub_rescue_cmd_initrd.
35017 * include/grub/i386/loader.h: Likewise.
35018 * include/grub/x86_64/loader.h: Likewise.
35019
35020 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
35021
1f4147aa 350222009-03-21 Bean <bean123ch@gmail.com>
35023
35024 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
35025 instead of stat in mingw environment.
35026
35027 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
35028
35029 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
35030
35031 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
35032 AC_CONFIG_LINKS.
35033
2156d5ba 350342009-03-21 Bean <bean123ch@gmail.com>
35035
35036 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
35037 out of range error.
35038
177b82ca 350392009-03-18 Michel Dänzer <michel@daenzer.net>
35040
35041 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
35042 checking inode flags for EXT4_EXTENTS_FLAG.
35043
14aad807 350442009-03-18 Robert Millan <rmh@aybabtu.com>
35045
35046 * loader/i386/linux.c: Include `<grub/video.h>' and
35047 `<grub/i386/pc/vbe.h>'..
35048 (grub_linux_setup_video): New function. Loosely based on the EFI one.
35049 (grub_linux32_boot): Attempt to configure video settings with
35050 grub_linux_setup_video().
35051 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
35052 to avoid grub_console_fini() which would step out of graphical mode
35053 unconditionally.
35054
8cf83a27 350552009-03-14 Robert Millan <rmh@aybabtu.com>
35056
35057 Fix build on powerpc.
35058 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
35059
40164e75 350602009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
35061
35062 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
35063 background image command.
35064
c58bc32a 350652009-03-12 Colin D Bennett <colin@gibibit.com>
35066
35067 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
35068 (grub_gfxterm_putchar): Extract pairs of identical calls to
35069 draw_cursor out of conditional blocks.
35070
5415144a 350712009-03-11 Pavel Roskin <proski@gnu.org>
35072
35073 * fs/hfs.c (grub_hfs_strncasecmp): New function.
35074 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
35075
6394042e 350762009-03-11 Robert Millan <rmh@aybabtu.com>
35077
35078 * loader/i386/multiboot_elfxx.c
35079 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
35080
b7b50e5f 350812009-03-11 Felix Zielcke <fzielcke@z-51.de>
35082
35083 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
35084 `kern/handler.c'.
35085
1ca7fc96 350862009-03-11 Robert Millan <rmh@aybabtu.com>
35087
35088 * loader/i386/multiboot.c (code_size): New variable.
35089 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 35090 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 35091 4-byte alignment to MBI and others by increasing
7d074e3c 35092 `boot_loader_name_length' appropriately.
1ca7fc96 35093
35094 * loader/i386/multiboot_elfxx.c
35095 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
35096
a83ea1d2 350972009-03-09 Felix Zielcke <fzielcke@z-51.de>
35098
35099 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
35100 `fs/ext2.c'.
35101
aa9f3bff 351022009-03-08 Robert Millan <rmh@aybabtu.com>
35103
35104 Make loader/i386/linux.c usable on i386-pc again.
35105
35106 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
35107 memory to heap.
35108 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
35109 `#error' stanza.
35110
d8b3b60e 351112009-03-07 Bean <bean123ch@gmail.com>
35112
35113 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
35114 allocation.
35115
b362c9e9 351162009-03-06 Robert Millan <rmh@aybabtu.com>
35117
35118 Fix display issue on terminals with screen size other than 80x25
35119 (e.g. gfxterm with resolution higher than 640x480).
35120
35121 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 35122 position relative to the center of the terminal instead of relying
b362c9e9 35123 on a hardcoded offset.
35124
9304eef1 351252009-03-04 Robert Millan <rmh@aybabtu.com>
35126
35127 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
35128 installed.
35129
35130 * Makefile.in (host_kernel): New variable.
35131 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
35132 scripts instead of just the windows one.
35133 * configure.ac: Initialize and AC_SUBST `host_kernel'.
35134
eabc95fb 351352009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 35136
35137 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
35138 `kern/handler.c'.
35139 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35140 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35141 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35142 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35143 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35144 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35145
ceb1223c 351462009-03-04 Felix Zielcke <fzielcke@z-51.de>
35147
35148 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
35149 or if there's no space for the disk label and print the partition number on a
35150 invalid magic.
35151
4910684a 351522009-03-04 Felix Zielcke <fzielcke@z-51.de>
35153
35154 * util/misc.c: Include <time.h>.
35155 (grub_millisleep): New function.
35156
7e9ca17a 351572009-03-04 Bean <bean123ch@gmail.com>
35158
35159 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
35160 another option -mno-red-zone.
35161
35162 * commands/handler.c: Change module description.
35163
35164 * kern/handler.c: Add missing space at the end of description line.
35165
35166 * kern/list.c: Likewise.
35167
f501677c 351682009-03-03 Robert Millan <rmh@aybabtu.com>
35169
35170 Move more components to the relocation area, and fix mbi pointer
35171 handling to use the destination rather than the origin (thanks to
35172 Vladimir Serbinenko for spotting).
35173
35174 * loader/i386/multiboot.c (mbi_dest): New variable.
35175 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
35176 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
35177 relocation area.
35178
9902d047 351792009-03-01 Bean <bean123ch@gmail.com>
35180
50fb7002 35181 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 35182 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
35183 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
35184 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
35185
35186 * loader/i386/efi/linux.c (acpi_guid): New variable.
35187 (acpi_guid): Likewise.
35188 (EBDA_SEG_ADDR): New constant.
35189 (LOW_MEM_ADDR): Likewise.
35190 (FAKE_EBDA_SEG): Likewise.
35191 (fake_bios_data): New function.
35192 (grub_linux_boot): Call fake_bios_data.
35193
71b9f361 351942009-03-01 Bean <bean123ch@gmail.com>
35195
35196 * commands/terminal.c: Removed.
35197
35198 * commands/handler.c: New file.
35199
35200 * include/grub/list.h: Likewise.
35201
35202 * include/grub/handler.h: Likewise.
35203
35204 * kern/list.c: Likewise.
35205
35206 * kern/handler.c: Likewise.
35207
35208 * kern/term.h: Include header file <grub/handler.h>.
35209 (grub_term_input): Move next field to the beginning.
35210 (grub_term_output): Likewise.
35211 (grub_term_input_class): New variable.
35212 (grub_term_output_class): Likewise.
35213 (grub_term_register_input): Changed to inline function.
35214 (grub_term_register_output): Likewise.
35215 (grub_term_unregister_input): Likewise.
35216 (grub_term_unregister_output): Likewise.
35217 (grub_term_set_current_input): Likewise.
35218 (grub_term_set_current_output): Likewise.
35219 (grub_term_get_current_input): Likewise.
35220 (grub_term_get_current_output): Likewise.
35221 (grub_term_iterate_input): Removed.
35222 (grub_term_iterate_output): Likewise.
35223
35224 * kern/term.c (grub_term_list_input): Removed.
35225 (grub_term_list_output): Likewise.
35226 (grub_term_input_class): New variable.
35227 (grub_term_output_class): Likewise.
50fb7002 35228 (grub_cur_term_input): Change variable as macro.
71b9f361 35229 (grub_cur_term_output): Likewise.
35230 (grub_term_register_input): Removed.
35231 (grub_term_register_output): Likewise.
35232 (grub_term_unregister_input): Likewise.
35233 (grub_term_unregister_output): Likewise.
35234 (grub_term_set_current_input): Likewise.
35235 (grub_term_set_current_output): Likewise.
35236 (grub_term_iterate_input): Likewise.
35237 (grub_term_iterate_output): Likewise.
35238 (grub_term_get_current_input): Likewise.
35239 (grub_term_get_current_output): Likewise.
35240
35241 * util/grub-editenv.c: Include header file <grub/handler.h>.
35242 (grub_term_get_current_input): Removed.
35243 (grub_term_get_current_output): Likewise.
35244 (grub_term_input_class): New variable.
50fb7002 35245 (grub_term_output_class): Likewise.
71b9f361 35246
35247 * util/grub-fstest.c (grub_term_get_current_input): Removed.
35248 (grub_term_get_current_output): Likewise.
35249 (grub_term_input_class): New variable.
50fb7002 35250 (grub_term_output_class): Likewise.
71b9f361 35251
35252 * util/grub-probe.c (grub_term_get_current_input): Removed.
35253 (grub_term_get_current_output): Likewise.
35254 (grub_term_input_class): New variable.
50fb7002 35255 (grub_term_output_class): Likewise.
71b9f361 35256
35257 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
35258 (grub_term_get_current_output): Likewise.
35259 (grub_term_input_class): New variable.
50fb7002 35260 (grub_term_output_class): Likewise.
71b9f361 35261
35262 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
35263 (terminal_mod_SOURCES): Likewise.
35264 (terminal_mod_CFLAGS): Likewise.
35265 (terminal_mod_LDFLAGS): Likewise.
35266
35267 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
35268 handler.c.
35269 (kernel_img_SOURCES): Add list.c and handler.c.
35270 (kernel_img_HEADERS): Add list.h and handler.h.
35271
35272 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35273 handler.c.
35274 (kernel_mod_SOURCES): Add list.c and handler.c.
35275 (kernel_mod_HEADERS): Add list.h and handler.h.
35276
35277 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
35278 handler.c.
35279 (kernel_elf_SOURCES): Add list.c and handler.c.
35280 (kernel_elf_HEADERS): Add list.h and handler.h.
35281
35282 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35283 handler.c.
35284 (kernel_elf_SOURCES): Add list.c and handler.c.
35285 (kernel_elf_HEADERS): Add list.h and handler.h.
35286
35287 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35288 handler.c.
35289 (kernel_mod_SOURCES): Add list.c and handler.c.
35290 (kernel_mod_HEADERS): Add list.h and handler.h.
35291
35292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35293 handler.c.
35294 (kernel_elf_SOURCES): Add list.c and handler.c.
35295 (kernel_elf_HEADERS): Add list.h and handler.h.
35296
8a31787f 352972009-02-27 Robert Millan <rmh@aybabtu.com>
35298
35299 Factorize elf32 / elf64 code in Multiboot loader. This will
35300 prevent it from getting out of sync again.
35301
35302 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
35303 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
35304 grub_multiboot_load_elf64): Move from here ...
35305 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
35306 grub_multiboot_load_elf): ... to here (new file).
35307
51cd3dfc 353082009-02-27 Robert Millan <rmh@aybabtu.com>
35309
35310 * util/grub.d/10_linux.in: Rename "single-user mode" to
35311 "recovery mode".
35312
6e8c9c3a 353132009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
35314
35315 Don't leak in SCSI code.
35316 * disk/scsi.c (grub_scsi_close): free `scsi'.
35317
4b6bf4f9 353182009-02-27 Robert Millan <rmh@aybabtu.com>
35319
35320 * loader/i386/pc/multiboot.c: Move from here ...
35321 * loader/i386/multiboot.c: ... to here. Update all users.
35322
b9413424 353232009-02-27 Robert Millan <rmh@aybabtu.com>
35324
35325 Patch from Alexandre Bique <bique.alexandre@gmail.com>
35326 * util/i386/pc/grub-setup.c (setup): Fix directory path.
35327
50fb7002 353282009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 35329
35330 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
35331 b-tree.
35332
8cc50345 353332009-02-27 Robert Millan <rmh@aybabtu.com>
35334
35335 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
35336 `0x' qualifier as 0 when base is specified as parameter).
35337
6e09b8b7 353382009-02-24 Bean <bean123ch@gmail.com>
35339
35340 * configure.ac: Check for -mcmodel=large in x86_64 target.
35341
35342 * include/grub/efi/api.h (efi_call_10): New macro.
35343 (efi_wrap_10): New function.
35344
35345 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
35346 (GRUB_PE32_REL_BASED_HIGH): Likewise.
35347 (GRUB_PE32_REL_BASED_LOW): Likewise.
35348 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
35349 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
35350 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
35351 (GRUB_PE32_REL_BASED_SECTION): Likewise.
35352 (GRUB_PE32_REL_BASED_REL): Likewise.
35353 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
35354 (GRUB_PE32_REL_BASED_DIR64): Likewise.
35355 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
35356
35357 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
35358 issue.
35359
35360 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
35361 (efi_wrap_10): New function.
35362
35363 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
35364
35365 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
35366 MB/MBP model (NV chipset).
35367 (devdata_devs): Add devpath_5 to the list.
35368
35369 * load/i386/efi/linux.c (video_base): Remove variable.
35370 (RGB_MASK): New macro.
35371 (RGB_MAGIC): Likewise.
35372 (LINE_MIN): Likewise.
35373 (LINE_MAX): Likewise.
35374 (FBTEST_STEP): Likewise.
35375 (FBTEST_COUNT): Likewise.
35376 (fb_list): New variable.
35377 (grub_find_video_card): Remove function.
35378 (find_framebuf): New function.
35379 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
35380 line length.
35381
35382 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
35383 problem for x86_64.
35384
74b21bee 353852009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
35386
35387 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
35388
35389 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
35390 coding tool name.
35391
a455f472 353922009-02-22 Robert Millan <rmh@aybabtu.com>
35393
35394 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
35395 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
35396 in our relocation, instead of using it directly from heap. Also
35397 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
35398
6374daf3 353992009-02-21 Robert Millan <rmh@aybabtu.com>
35400
35401 Implement USB keyboard support (based on patch by Marco Gerards)
35402
35403 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
35404 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
35405 (usb_keyboard_mod_LDFLAGS): New variables.
35406
35407 * term/usb_keyboard.c: New file.
35408
8fa4ea70 354092009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
35410
35411 Corrected wrong declaration
35412
35413 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
35414
353976ac 354152009-02-14 Christian Franke <franke@computer.org>
35416
35417 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
35418 (grub_lspci_iter): Print class code and programming interface byte.
35419
6aa1169b 354202009-02-14 Christian Franke <franke@computer.org>
35421
35422 * gendistlist.sh: Ignore `.svn' directories.
35423
265372ca 354242009-02-14 Felix Zielcke <fzielcke@z-51.de>
35425
35426 * fs/fat.c: Add 2009 to Copyright line.
35427
9ff516f3 354282009-02-14 Christian Franke <franke@computer.org>
35429
35430 * commands/hdparm.c: New file. Provides `hdparm' command
35431 which sends ATA commands via grub_disk_ata_pass_through ().
35432
35433 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
35434
35435 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
35436 and <grub/cpu/io.h> to include/grub/ata.h.
35437 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
35438 (GRUB_CDROM_SECTOR_SIZE): Remove.
35439 (GRUB_ATA_*): Move to include/grub/ata.h.
35440 (GRUB_ATAPI_*): Likewise.
35441 (enum grub_ata_commands): Likewise.
35442 (enum grub_ata_timeout_milliseconds): Likewise.
35443 (struct grub_ata_device): Likewise.
35444 (grub_ata_regset): Likewise.
35445 (grub_ata_regget): Likewise.
35446 (grub_ata_regset2): Likewise.
35447 (grub_ata_regget2): Likewise.
35448 (grub_ata_check_ready): Likewise.
35449 (grub_ata_wait_not_busy): Remove static, exported in
35450 include/grub/ata.h.
35451 (grub_ata_wait_drq): Likewise.
35452 (grub_ata_pio_read): Likewise.
35453
35454 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
35455 function for hdparm.mod.
35456
35457 * include/grub/ata.h: New file, contains declarations from
35458 disk/ata.c.
35459 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
35460
35461 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
35462 (grub_disk_ata_pass_through): New exported variable.
35463
35464 * kern/disk.c (grub_disk_ata_pass_through): New variable.
35465
772e23da 354662009-02-13 Colin D Bennett <colin@gibibit.com>
35467
35468 Support multiple fallback entries, and provide an API to support
35469 executing default+fallback menu entries. Renamed the `terminal' menu
35470 viewer to `text'.
35471
35472 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
35473 variable declaration.
35474 (grub_menu_execute_callback): New structure declaration.
35475 (grub_menu_execute_callback_t): New typedef.
35476 (grub_menu_execute_with_fallback): New function declaration.
35477 (grub_menu_get_entry): Likewise.
35478 (grub_menu_get_timeout): Likewise.
35479 (grub_menu_set_timeout): Likewise.
35480
35481 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
35482
35483 * normal/menu.c (grub_wait_after_message): Moved to
35484 `normal/menu_text.c'.
35485 (draw_border): Likewise.
35486 (print_message): Likewise.
35487 (print_entry): Likewise.
35488 (print_entries): Likewise.
35489 (grub_menu_init_page): Likewise.
35490 (get_entry_number): Likewise.
35491 (print_timeout): Likewise.
35492 (run_menu): Likewise.
35493 (grub_menu_execute_entry): Likewise.
35494 (show_text_menu): Likewise.
35495 (get_and_remove_first_entry_number): New function.
35496 (grub_menu_execute_with_fallback): Likewise.
35497 (get_entry): Renamed to ...
35498 (grub_menu_get_entry): .. this and made it global.
35499 (get_timeout): Renamed to ...
35500 (grub_menu_get_timeout): ... this and made it global.
35501 (set_timeout): Renamed to ...
35502 (grub_menu_set_timeout): ... this and made it global.
35503 (grub_normal_terminal_menu_viewer): Renamed to ...
35504 (grub_normal_text_menu_viewer): ... this.
35505
35506 * normal/menu_text.c: New file. Extracted text-menu-specific code
35507 from normal/menu.c.
35508
35509 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
35510 (normal_mod_SOURCES): Likewise.
35511
35512 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35513 (normal_mod_SOURCES): Likewise.
35514
35515 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35516 (normal_mod_SOURCES): Likewise.
35517
35518 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
35519 (normal_mod_SOURCES): Likewise.
35520
35521 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35522 (normal_mod_SOURCES): Likewise.
35523
35524 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35525 (normal_mod_SOURCES): Likewise.
35526
35527 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35528 (normal_mod_SOURCES): Likewise.
35529
16ac430e 355302009-02-11 Robert Millan <rmh@aybabtu.com>
35531
35532 * util/grub.d/00_header.in: Update old reference to `font' command.
35533
06ff20fc 355342009-02-10 Felix Zielcke <fzielcke@z-51.de>
35535
35536 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
35537
35538 Based on patch from Javier Martín.
35539
96da9407 355402009-02-09 Felix Zielcke <fzielcke@z-51.de>
35541
35542 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 35543 to avoid false positives with FAT.
96da9407 35544 (grub_fstest_SOURCES): Likewise.
35545 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35546 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35547 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35548 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35549 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35550 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35551
6dca6fe4 355522009-02-09 Felix Zielcke <fzielcke@z-51.de>
35553
06ff20fc 35554 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 35555 bpb.version_specific.fat12_or_fat16.fstype and
35556 bpb.version_specific.fat32.fstype.
35557
2550c62f 355582009-02-08 Robert Millan <rmh@aybabtu.com>
35559
be110b30 35560 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 35561
56978920 355622009-02-08 Robert Millan <rmh@aybabtu.com>
35563
35564 * Makefile.in (host_os, host_cpu): New variables.
35565 (target_os): Remove. Update all users.
35566
d64399b5 355672009-02-08 Marco Gerards <marco@gnu.org>
35568
35569 * Makefile.in (enable_grub_emu_usb): New variable.
35570 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
35571 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
35572 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
35573 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
35574 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
35575 `usbtest.mod' and `usbms.mod'.
35576 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
35577 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
35578 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
35579 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
35580 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
35581 variables.
35582
35583 * disk/usbms.c: New file.
35584
35585 * include/grub/usb.h: Likewise.
35586
35587 * include/grub/usbtrans.h: Likewise.
35588
35589 * include/grub/usbdesc.h: Likewise.
35590
35591 * bus/usb/usbtrans.c: Likewise.
35592
35593 * bus/usb/ohci.c: Likewise.
35594
35595 * bus/usb/uhci.c: Likewise.
35596
35597 * bus/usb/usbhub.c: Likewise.
35598
35599 * bus/usb/usb.c: Likewise.
35600
35601 * commands/usbtest.c: Likewise.
35602
35603 * util/usb.c: Likewise.
50fb7002 35604
d64399b5 35605 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
35606
35607 * configure.ac: Test for libusb presence.
50fb7002 35608
d64399b5 35609 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
35610
2b40d6bb 356112009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
35612
35613 * kern/mm.c: Add more comments.
35614
73a4ce81 356152009-02-08 Robert Millan <rmh@aybabtu.com>
35616
35617 Patch from Javier Martín.
35618 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
35619 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
35620
f821ce59 356212009-02-08 Robert Millan <rmh@aybabtu.com>
35622
35623 * fs/cpio.c: Split tar functionality to ...
35624 * fs/tar.c: ... here (new file). Update all users.
35625
aebfc4b0 356262009-02-07 Robert Millan <rmh@aybabtu.com>
35627
35628 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
35629 backward-incompatible features.
35630
35631 Based on patch from Javier Martín, with some adjustments.
35632
50fb7002 356332009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 35634
35635 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
35636
0bb5115e 356372009-02-07 Robert Millan <rmh@aybabtu.com>
35638
35639 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
35640 position of `disk/lvm.c' to ensure grub_init_all() always picks it
35641 after the RAID stuff.
35642
38a0f8e7 356432009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
35644
50fb7002 35645 Fixes problem when running vbetest command as reported by
38a0f8e7 35646 Vladimir Serbinenko <phcoder@gmail.com>.
35647
35648 * (grub_vbe_set_video_mode): Fixed problem with text modes.
35649
3143cc1c 356502009-02-04 Felix Zielcke <fzielcke@z-51.de>
35651
35652 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
35653 /dev/md/NpN style mdraid devices.
35654
9cba6fce 356552009-02-03 Felix Zielcke <fzielcke@z-51.de>
35656
35657 * util/unifont2pff.rb: Remove.
35658
e507a2c1 356592009-02-03 Felix Zielcke <fzielcke@z-51.de>
35660
35661 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
35662 `#'.
35663
d2c2b4cd 356642009-02-03 Felix Zielcke <fzielcke@z-51.de>
35665
35666 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
35667 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35668 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35669 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35671 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35672 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35673
b4315fb0 356742009-02-02 Christian Franke <franke@computer.org>
35675
35676 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
35677
de3aa260 356782009-02-01 Felix Zielcke <fzielcke@z-51.de>
35679
7c3ff286 35680 * INSTALL: Note that we now require at least autoconf 2.59 and
35681 that LZO is optional.
de3aa260 35682
825a182b 356832009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35684
35685 Base on patch on bug #24154 created by Tomas Tintera
35686 <trosos@seznam.cz>.
35687
35688 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
35689
a69ef770 356902009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35691
7c3ff286 35692 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 35693 <bero@arklinux.org>.
35694
35695 * normal/parser.y (script_init): Add missing semicolon.
35696
6fa42fa6 356972009-01-31 Colin D Bennett <colin@gibibit.com>
35698
7c3ff286 35699 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 35700 (free_menu_entry_classes): Added.
35701 (grub_normal_menu_addentry): Added class property handling.
35702 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
35703 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
35704
35705 * normal/menu_viewer.c: New file.
35706
35707 * normal/menu.c (run_menu_entry): Renamed to ...
35708 (grub_menu_execute_entry): ... this and made it as global.
35709 (grub_menu_run): Renamed to ...
35710 (show_text_menu): ... this and made it local.
35711 (show_text_menu): Adapt to new function names.
35712 (grub_normal_terminal_menu_viewer): New global variable.
35713
35714 * include/grub/menu.h: New file.
35715
35716 * include/grub/menu_viewer.h: New file.
35717
35718 * include/grub/normal.h: Added include to grub/menu.h.
35719 (grub_menu_entry): Moved to include/grub/menu.h.
35720 (grub_menu_entry_t): Likewise.
35721 (grub_menu): Likewise.
35722 (grub_menu_t): Likewise.
35723 (grub_normal_terminal_menu_viewer): Added.
35724 (grub_menu_execute_entry): Likewise.
35725 (grub_menu_run): Removed.
35726
35727 * DISTLIST: Added include/grub/menu.h.
35728 Added include/grub/menu_viewer.h.
35729 Added normal/menu_viewer.c.
35730
357312009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
35732
35733 * normal/execute.c (grub_script_execute_menuentry): Changed to use
35734 arglist for menutitle arguments.
35735
35736 * normal/main.c (grub_normal_menu_addentry): Likewise.
35737
35738 * normal/parser.y (menuentry): Likewise.
35739
35740 * normal/script.c (grub_script_create_cmdmenu): Likewise.
35741
35742 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
35743 (grub_script_create_cmdmenu): Likewise.
35744
35745 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
35746
35747 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
35748 changes.
35749
35750 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
35751
35752 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
35753
35754 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
35755
35756 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35757
35758 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35759
35760 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35761
56192c23 357622009-01-30 Christian Franke <franke@computer.org>
35763
35764 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
35765 in option help text.
35766
d72521b3 357672009-01-27 Pavel Roskin <proski@gnu.org>
35768
35769 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
35770
994b5e84 357712009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
35772
35773 * commands/lsmmap.c: Add include to grub/machine/memory.h.
35774
35775 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
35776
35777 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
35778 unregister function.
35779
6a7eab2c 357802009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
35781
35782 * disk/scsi.c (grub_scsi_read): Fix sign problem.
35783
35784 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
35785
35786 * util/grub-mkfont.c (usage): Fix typo.
35787
35788 * util/elf/grub-mkimage.c (load_modules): Fix warning.
35789
1806b56e 357902009-01-26 Daniel Mierswa <impulze@impulze.org>
35791
3fb18f09 35792 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
35793
336e1fb9 35794 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
35795
1806b56e 35796 * kern/misc.c (grub_strcasecmp): New function.
35797 (grub_strcasecmp): Use grub_size_t instead of int for length.
35798 Fix return value.
35799 * include/grub/misc.h: Update function prototypes.
35800
580b2a0f 358012009-01-26 Robert Millan <rmh@aybabtu.com>
35802
35803 * configure.ac: Fix cross-compilation check.
ef257b36 35804
d31c24f1 358052009-01-22 Christian Franke <franke@computer.org>
35806
35807 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
35808 (precision) digit string. Allow `.format2' without `format1' (width).
35809 Limit input chars for `%s' output to `format2' if specified. This is
35810 compatible with standard printf ().
35811
3138b44c 358122009-01-22 Christian Franke <franke@computer.org>
35813
35814 * disk/ata.c (grub_ata_wait_status): Replace by ...
35815 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
35816 other status bits may be invalid while BSY is asserted.
35817 (grub_ata_check_ready): New function.
35818 (grub_ata_cmd): Removed.
35819 (grub_ata_wait_drq): New function.
35820 (grub_ata_strncpy): Remove inline.
35821 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
35822 and error check now done by grub_ata_wait_drq ().
35823 (grub_ata_pio_write): Likewise.
35824 (grub_atapi_identify): Set DEV before check for !BSY. Use
35825 grub_ata_wait_drq () to wait for data.
35826 (grub_ata_device_initialize): Add status register check to
35827 detect missing SATA slave devices. Add debug messages.
35828 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
35829 (grub_atapi_packet): Set DEV before check for !BSY. Replace
35830 transfer loop by grub_ata_pio_write ().
35831 (grub_ata_identify): Set DEV before check for !BSY. Use
35832 grub_ata_wait_drq () to wait for data.
ef257b36 35833 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 35834 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
35835 read/write in one loop. Fix invalid command on write. Fix incomplete
35836 command on (size % batch) == 0. Add missing error check after write of
35837 last block. Add debug messages.
35838 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
35839
59a64ef6 358402009-01-19 Christian Franke <franke@computer.org>
35841
35842 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
35843 (GRUB_ATAPI_IREASON_*): Likewise.
35844 (grub_ata_pio_write): Fix timeout error return.
35845 (grub_atapi_identify): Add grub_ata_wait () after cmd.
35846 (grub_atapi_wait_drq): New function.
35847 (grub_atapi_packet): New parameter `size'.
35848 Use grub_atapi_wait_drq () and direct write instead of
35849 grub_ata_pio_write ().
35850 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
35851 reads the number of bytes requested by the device for each DRQ
35852 assertion.
35853 (grub_atapi_write): Remove old implementation, return not
35854 implemented instead.
35855
1cfe20b3 358562009-01-19 Christian Franke <franke@computer.org>
35857
35858 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
35859 of 512 to calculate data size.
35860 (grub_scsi_read12): Likewise.
35861 (grub_scsi_write10): Likewise.
35862 (grub_scsi_write12): Likewise.
35863 (grub_scsi_read): Adjust size according to blocksize.
35864 Add checks for invalid blocksize and unaligned transfer.
35865
bee5fe5d 358662009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
35867
35868 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
35869
ef257b36 35870 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 35871 width glyphs.
35872
3e643f8c 358732009-01-19 Robert Millan <rmh@aybabtu.com>
35874
35875 * config.guess: Update to latest version from config git.
35876 * config.sub: Likewise.
35877
4fa80998 358782009-01-17 Felix Zielcke <fzielcke@z-51.de>
35879
35880 * Makefile.in: Change font compilation to use new grub-mkfont instead
35881 of java version.
35882
35883 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
35884 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
35885 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35886 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35887 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
35888 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
35889 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
35890 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
35891 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
35892
7086085b 358932009-01-16 Christian Franke <franke@computer.org>
35894
35895 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
35896 (enum grub_ata_timeout_milliseconds): New enum.
35897 (grub_ata_wait_status): Add parameter milliseconds.
35898 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
35899 recovery from timed-out commands.
35900 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
35901 return grub_errno instead of REG_ERROR.
35902 (grub_ata_pio_write): Add parameter milliseconds.
35903 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
35904 Pass milliseconds to grub_ata_wait_status () and
35905 grub_ata_pio_read ().
35906 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
35907 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
35908 grub_ata_wait_status (). Fix IDENTIFY timeout check.
35909 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
35910 It is not suitable for device detection, because DEV bit is ignored,
35911 the command may run too long, and not all devices set the signature
35912 properly.
35913 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
35914 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
35915 Fix device selection, DEV bit must be set first to address the registers
35916 of the correct device.
35917 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
35918 grub_ata_pio_read/write ().
35919 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
35920 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
35921
4a412913 359222009-01-13 Carles Pina i Estany <carles@pina.cat>
35923
35924 * util/grub-editenv.c (main): Use fseeko(), not fseek().
35925
7795c55e 359262009-01-13 Bean <bean123ch@gmail.com>
d913988c 35927
35928 * util/grub-mkfont.c (write_font): forget to remove some debug code.
35929
7795c55e 359302009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 35931
35932 * Makefile.in: (enable_grub_mkfont): New variable.
35933 (freetype_cflags): Likewise.
35934 (freetype_libs): Likewise.
35935
35936 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
35937 (grub_mkfont_SOURCES): New variable.
35938 (grub_mkfont_CFLAGS): Likewise.
35939 (grub_mkfont_LDFLAGS): Likewise.
35940
35941 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
35942 library if `--enable-grub-mkfont' is requested.
35943 (enable_grub_mkfont): New variable.
35944 (freetype_cflags): Likewise.
35945 (freetype_libs): Likewise.
35946
35947 * util/grub-mkfont.c: New file.
35948
093af1fe 359492009-01-12 Christian Franke <franke@computer.org>
35950
35951 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
35952 mode check. Fix setting of compat_use[].
35953
f36cc108 359542009-01-10 Robert Millan <rmh@aybabtu.com>
35955
35956 Update a few copyright years which we forgot to do in 2008 (only for
35957 files whose changes made in 2008 were copyright-significant)
35958
35959 * Makefile.in: Add 2008 to Copyright line.
35960 * disk/ieee1275/ofdisk.c: Likewise.
35961 * disk/efi/efidisk.c: Likewise.
35962 * kern/dl.c: Likewise.
35963 * kern/sparc64/ieee1275/init.c: Likewise.
35964 * kern/mm.c: Likewise.
35965 * kern/efi/mm.c: Likewise.
35966 * boot/i386/pc/boot.S: Likewise.
35967 * genfslist.sh: Likewise.
35968 * fs/iso9660.c: Likewise.
35969 * fs/hfs.c: Likewise.
35970 * fs/jfs.c: Likewise.
35971 * fs/minix.c: Likewise.
35972 * fs/ufs.c: Likewise.
35973 * gensymlist.sh.in: Likewise.
35974 * genkernsyms.sh.in: Likewise.
35975 * include/grub/misc.h: Likewise.
35976 * include/grub/types.h: Likewise.
35977 * include/grub/symbol.h: Likewise.
35978 * include/grub/elf.h: Likewise.
35979 * include/grub/kernel.h: Likewise.
35980 * include/grub/disk.h: Likewise.
35981 * include/grub/dl.h: Likewise.
35982 * include/grub/i386/linux.h: Likewise.
35983 * include/grub/i386/pc/biosdisk.h: Likewise.
35984 * include/grub/efi/api.h: Likewise.
35985 * include/grub/efi/pe32.h: Likewise.
35986 * include/grub/util/misc.h: Likewise.
35987 * normal/execute.c: Likewise.
35988 * normal/arg.c: Likewise.
35989 * normal/completion.c: Likewise.
35990 * normal/lexer.c: Likewise.
35991 * normal/parser.y: Likewise.
35992 * normal/misc.c: Likewise.
35993 * commands/i386/pc/vbeinfo.c: Likewise.
35994 * commands/hexdump.c: Likewise.
35995 * commands/terminal.c: Likewise.
35996 * commands/ls.c: Likewise.
35997 * commands/help.c: Likewise.
35998 * partmap/pc.c: Likewise.
35999 * loader/efi/chainloader.c: Likewise.
36000 * loader/multiboot_loader.c: Likewise.
36001 * loader/i386/pc/multiboot2.c: Likewise.
36002 * term/efi/console.c: Likewise.
36003 * term/i386/pc/serial.c: Likewise.
36004 * util/lvm.c: Likewise.
36005 * util/console.c: Likewise.
36006 * util/i386/efi/grub-mkimage.c: Likewise.
36007 * util/raid.c: Likewise.
36008
7f02114b 360092009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
36010
36011 * commands/videotest.c: Removed include to grub/machine/memory.h.
36012
36013 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
36014 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
36015 (video_mod_SOURCES): Removed.
36016 (video_mod_CFLAGS): Likewise.
36017 (video_mod_LDFLAGS): Likewise.
36018 (gfxterm_mod_SOURCES): Likewise.
36019 (gfxterm_mod_CFLAGS): Likewise.
36020 (gfxterm_mod_LDFLAGS): Likewise.
36021 (videotest_mod_SOURCES): Likewise.
36022 (videotest_mod_CFLAGS): Likewise.
36023 (videotest_mod_LDFLAGS): Likewise.
36024 (bitmap_mod_SOURCES): Likewise.
36025 (bitmap_mod_CFLAGS): Likewise.
36026 (bitmap_mod_LDFLAGS): Likewise.
36027 (tga_mod_SOURCES): Likewise.
36028 (tga_mod_CFLAGS): Likewise.
36029 (tga_mod_LDFLAGS): Likewise.
36030 (jpeg_mod_SOURCES): Likewise.
36031 (jpeg_mod_CFLAGS): Likewise.
36032 (jpeg_mod_LDFLAGS): Likewise.
36033 (png_mod_SOURCES): Likewise.
36034 (png_mod_CFLAGS): Likewise.
36035 (png_mod_LDFLAGS): Likewise.
36036
36037 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
36038 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
36039 (video_mod_SOURCES): Added.
36040 (video_mod_CFLAGS): Likewise.
36041 (video_mod_LDFLAGS): Likewise.
36042 (videotest_mod_SOURCES): Likewise.
36043 (videotest_mod_CFLAGS): Likewise.
36044 (videotest_mod_LDFLAGS): Likewise.
36045 (bitmap_mod_SOURCES): Likewise.
36046 (bitmap_mod_CFLAGS): Likewise.
36047 (bitmap_mod_LDFLAGS): Likewise.
36048 (tga_mod_SOURCES): Likewise.
36049 (tga_mod_CFLAGS): Likewise.
36050 (tga_mod_LDFLAGS): Likewise.
36051 (jpeg_mod_SOURCES): Likewise.
36052 (jpeg_mod_CFLAGS): Likewise.
36053 (jpeg_mod_LDFLAGS): Likewise.
36054 (png_mod_SOURCES): Likewise.
36055 (png_mod_CFLAGS): Likewise.
36056 (png_mod_LDFLAGS): Likewise.
36057 (gfxterm_mod_SOURCES): Likewise.
36058 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 36059 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 36060
36061 * term/gfxterm.c: Removed include to grub/machine/memory.h,
36062 grub/machine/console.h.
36063
644fff97 360642009-01-04 Jerone Young <jerone@gmail.com>
36065
36066 Make on screen instructions clearer
36067
36068 Based on patch created by Jidanni <jidanni@jidanni.org>
36069
36070 * normal/menu.c: print clearer instructions on the screen
36071
1e901a75 360722009-01-02 Colin D Bennett <colin@gibibit.com>
36073
36074 New font engine.
34c44600 36075
1e901a75 36076 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
36077 build system and fixed gfxterm.c to work with different sized fonts.
36078
36079 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 36080
1e901a75 36081 * configure: Re-generated.
34c44600 36082
1e901a75 36083 * DISTLIST: Removed font/manager.c.
36084 Added font/font.c.
36085 Added font/font_cmd.c.
34c44600 36086
1e901a75 36087 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
36088 compilation.
34c44600 36089
1e901a75 36090 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 36091
36092 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 36093
36094 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 36095
1e901a75 36096 * normal/menu.c: Likewise.
34c44600 36097
1e901a75 36098 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
36099 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 36100
1e901a75 36101 * include/grub/font.h: Replaced with new file.
34c44600 36102
1e901a75 36103 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
36104 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
36105 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
36106 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
36107 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 36108 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 36109 fg_red, fg_green, fg_blue, fg_alpha.
36110 (grub_video_adapter): Removed blit_glyph.
34c44600 36111 (grub_video_blit_glyph): Removed.
36112
1e901a75 36113 * font/manager.c: Removed file.
34c44600 36114
36115 * font/font.c: New file.
36116
1e901a75 36117 * font/font_cmd.c: Likewise.
34c44600 36118
1e901a75 36119 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 36120
1e901a75 36121 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
36122 (grub_video_vbe_map_rgba): Likewise.
36123 (grub_video_vbe_unmap_color_int): Likewise.
36124 (grub_video_vbe_blit_glyph): Removed.
36125 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 36126
1e901a75 36127 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
36128 (get_pixel): Likewise.
34c44600 36129 (set_pixel): Likewise.
36130
1e901a75 36131 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 36132
1e901a75 36133 * term/gfxterm.c: Adapted to new font engine.
34c44600 36134
1e901a75 36135 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 36136
1e901a75 36137 * term/i386/pc/vga.c: Likewise.
34c44600 36138
1e901a75 36139 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 36140
1e901a75 36141 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 36142
1e901a75 36143 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36144
1e901a75 36145 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36146
1e901a75 36147 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 36148
1e901a75 36149 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 36150
1e901a75 36151 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 36152
1e901a75 36153 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 36154
1e901a75 36155 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36156
36157 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 36158
1e901a75 36159 * util/grub-mkconfig_lib.in: Changed font extension.
36160
278922e8 361612008-12-28 Felix Zielcke <fzielcke@z-51.de>
36162
36163 * util/getroot.c (grub_util_get_grub_dev): Add support for
36164 /dev/md/dNNpNN style partitionable mdraid devices.
36165
3ced05cf 361662008-12-12 Alex Smith <alex@alex-smith.me.uk>
36167
36168 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
36169 at a time limit of the PXE TFTP API correctly.
36170 (grub_pxefs_close): Likewise.
36171
7fd0ee30 361722008-11-29 Robert Millan <rmh@aybabtu.com>
36173
34c44600 36174 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 36175 grub_ata_device_initialize() calls.
36176
34c44600 361772008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 36178
36179 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
36180 iteration failed.
36181 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
36182
89313780 361832008-11-28 Robert Millan <rmh@aybabtu.com>
36184
36185 Fix build on powerpc-ieee1275. Based on patch created by
36186 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
36187 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36188 `kern/ieee1275/mmap.c'.
36189 * include/grub/powerpc/ieee1275/memory.h: New file.
36190
15257703 36191 Provide grub-install on coreboot.
36192 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
36193 (grub_install_SOURCES): New variable.
36194 * util/i386/pc/grub-install.in: Add a few condition checks to make it
36195 usable on coreboot.
36196
9fc5388a 361972008-11-25 Felix Zielcke <fzielcke@z-51.de>
36198
36199 * util/grub-fstest.c (grub_term_get_current_input): Change return type
36200 to `grub_term_input_t'.
36201 (grub_term_get_current_output): Change return type to
36202 `grub_term_output_t'.
36203
bc3a2f31 362042008-11-22 Robert Millan <rmh@aybabtu.com>
36205
34c44600 36206 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 36207 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
36208 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
36209 grub_vga_text_cls().
36210
80fc88f2 36211 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 36212 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 36213
cbf36fd3 36214 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
36215 to 0x200000 (avoids trouble with some OFW implementations, and matches
36216 with the one in Yaboot).
36217 Reported by Manoel Abranches
36218
73e8e268 362192008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 36220
36221 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
36222 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
36223
73e8e268 36224 * util/grub-mkconfig_lib.in (grub_warn): New function.
36225 (convert_system_path_to_grub_path): Use grub_warn() when issuing
36226 warnings, to obtain consistent formatting.
36227 * util/grub.d/00_header.in: Likewise.
36228 * util/update-grub_lib.in: Likewise.
36229
e94045a1 36230 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 36231 Move comment text to `#error' stanza.
e94045a1 36232
79d29fd7 36233 Harmonize ieee1275's grub_available_iterate() with the generic
36234 grub_machine_mmap_iterate() interface (fixes a recently-introduced
36235 build problem on i386-ieee1275):
36236 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
36237 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
36238 parameter `type'. Update all users of this function.
36239 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36240 `kern/ieee1275/mmap.c'.
36241 * kern/ieee1275/init.c
36242 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
36243 with ...
36244 (grub_machine_mmap_iterate): ... this.
36245 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
36246 return type to `grub_err_t'. Update all implementations of this
36247 function prototype.
36248 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
36249 Likewise.
36250
60d6b16e 36251 Add `lsmmap' command (lists firmware-provided memory map):
36252 * commands/lsmmap.c: New file.
36253 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
36254 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
36255 variables.
36256 * conf/powerpc-ieee1275.rmk: Likewise.
36257 * conf/i386-coreboot.rmk: Likewise.
36258 * conf/i386-ieee1275.rmk: Likewise.
36259
ebaaf49b 362602008-11-19 Robert Millan <rmh@aybabtu.com>
36261
36262 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 36263 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
36264 constraints to initrd allocation (based on code from
36265 loader/i386/pc/linux.c). Without them, initrd was allocated too high
36266 for Linux to find it.
ebaaf49b 36267
dfab719f 362682008-11-14 Robert Millan <rmh@aybabtu.com>
36269
36270 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
36271 order to cope with duplicate slashes.
36272
10fc3eb9 362732008-11-14 Robert Millan <rmh@aybabtu.com>
36274
36275 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
36276 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
36277 don't want to mess with lower memory, because it is used in the Linux
36278 loader.
36279
36280 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 36281 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 36282 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
36283 is in our heap (probably as a result of it being corrupted during
2f2a3442 36284 decompression). Add #error instance with comment to explain why this
36285 loader isn't currently usable on PC/BIOS.
10fc3eb9 36286
e2e07847 362872008-11-14 Robert Millan <rmh@aybabtu.com>
36288
36289 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 36290 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 36291
fe8e8d69 362922008-11-12 Robert Millan <rmh@aybabtu.com>
36293
36294 Make loader/i386/linux.c buildable on i386-pc (although disabled).
36295
36296 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
36297 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
36298 from here ...
36299 * include/grub/i386/pc/memory.h: ... to here.
36300
976b07d0 363012008-11-12 Robert Millan <rmh@aybabtu.com>
36302
36303 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
36304 split).
36305
36306 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
36307 (grub_console_cur_color, grub_console_real_putchar)
36308 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36309 (grub_console_setcolorstate, grub_console_setcolor)
36310 (grub_console_getcolor): Move from here ...
36311 * include/grub/i386/vga_common.h: ... to here (new file).
36312
36313 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
36314 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
36315 `<grub/i386/io.h>'.
36316 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
36317 `<grub/i386/vga_common.h>'.
36318
76679cd3 363192008-11-12 Robert Millan <rmh@aybabtu.com>
36320
36321 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
36322 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
36323 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
36324 variables.
36325 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36326 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
36327
36328 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
36329 grub_console_init() with call to grub_vga_text_init().
36330 (grub_machine_fini): Replace call to
36331 grub_console_fini() with call to grub_vga_text_fini() and
36332 grub_at_keyboard_fini().
36333
36334 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
36335 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36336 (grub_console_setcolorstate, grub_console_setcolor)
36337 (grub_console_getcolor): New function prototypes.
36338
36339 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
36340 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
36341 (grub_vga_text_setcursor): Static-ize.
36342 (grub_vga_text_term): New structure.
36343 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
36344
36345 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
36346 (grub_console_cur_color, grub_console_standard_color)
36347 (grub_console_normal_color, grub_console_highlight_color)
36348 (map_char, grub_console_putchar, grub_console_getcharwidth)
36349 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
36350 (grub_console_getcolor): Move from here ...
36351 * term/i386/vga_common.c: ... to here (same function names).
36352
95b841d3 363532008-11-12 Robert Millan <rmh@aybabtu.com>
36354
36355 Use newly-added Multiboot support in coreboot.
36356
36357 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36358 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
36359
36360 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
36361 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
36362 (codestart): Store the MBI in `startup_multiboot_info' when we're
36363 being loaded using Multiboot.
36364
36365 * kern/i386/coreboot/init.c (grub_machine_init): Move
36366 grub_at_keyboard_init() call to beginning of function (useful for
36367 debugging). Call grub_machine_mmap_init() before attempting to use
36368 grub_machine_mmap_iterate().
36369 (grub_lower_mem, grub_upper_mem): Move from here ...
36370 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
36371 here (new file).
36372
36373 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
36374 function prototype.
36375
761ca975 363762008-11-12 Robert Millan <rmh@aybabtu.com>
36377
36378 Fix a regression introduced by the at_keyboard.mod split. Because
36379 some terminals are default on some platforms and non-default on
36380 others, the first terminal being registered determines which is
36381 going to be default.
36382
36383 * kern/term.c (grub_term_register_input): If this is the first
36384 terminal being registered, set it as the current one.
36385 (grub_term_register_output): Likewise.
36386
36387 * term/efi/console.c (grub_console_init): Do not call
36388 grub_term_set_current_output() or grub_term_set_current_input().
36389 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
36390 * term/i386/pc/console.c (grub_console_init): Likewise.
36391 (grub_console_fini): Do not call grub_term_set_current_input()
36392 (but leave grub_term_set_current_output() to restore text mode).
36393
6c529df7 363942008-11-10 Robert Millan <rmh@aybabtu.com>
36395
36396 * util/grub.d/00_header.in: Add backward compatibility check for
36397 versions of terminal.mod that don't understand `terminal_input' or
36398 `terminal_output'.
36399
132e4113 364002008-11-09 Robert Millan <rmh@aybabtu.com>
36401
36402 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
36403 `terminal_input' / `terminal_output', not `terminal'.
36404
ac293d50 364052008-11-08 Robert Millan <rmh@aybabtu.com>
36406
36407 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 36408 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 36409
0025933a 364102008-11-08 Robert Millan <rmh@aybabtu.com>
36411
36412 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 36413 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 36414 members. Update all users.
36415 * util/console.c (grub_ncurses_term): Split in ...
36416 (grub_ncurses_term_input): ... this, and ...
36417 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 36418 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 36419
37c86336 364202008-11-08 Robert Millan <rmh@aybabtu.com>
36421
36422 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
36423 (PKGDATA): Add $(pkgdata_SRCDIR).
36424 (pkglib_BUILDDIR): New variable.
36425 (pkgdata_SRCDIR): New variable.
36426 (build_env.mk): New target.
36427 (include_DATA): New variable.
36428 (install-local): Install $(include_DATA) files in $(includedir).
36429
b6c15a2d 364302008-11-07 Pavel Roskin <proski@gnu.org>
36431
d99d46f1 36432 * gendistlist.sh: Use C locale for sorting to ensure consistent
36433 output on all systems.
36434
b6c15a2d 36435 * util/grub.d/00_header.in: Remove incorrect space before
36436 "serial".
36437
c32ee8c9 364382008-11-07 Robert Millan <rmh@aybabtu.com>
36439
36440 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
36441 per specification.
36442 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
36443 * loader/multiboot_loader.c (find_multi_boot2_header): New function
36444 (based on find_multi_boot1_header).
36445 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
36446 using find_multi_boot2_header(), and abort if neither Multiboot or
36447 Multiboot headers were found.
36448
651c29b7 364492008-11-07 Robert Millan <rmh@aybabtu.com>
36450
36451 Modularize at_keyboard.mod:
36452
36453 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
36454 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
36455 (at_keyboard_mod_LDFLAGS): New variables.
36456
36457 Actual terminal split:
36458
36459 * include/grub/term.h (struct grub_term): Split in ...
36460 (struct grub_term_input): ... this, and ...
36461 (struct grub_term_output): ... this. Update all users.
36462 (grub_term_set_current): Split in ...
36463 (grub_term_set_current_input): ... this, and ...
36464 (grub_term_set_current_output): ... this.
36465 (grub_term_get_current): Split in ...
36466 (grub_term_get_current_input): ... this, and ...
36467 (grub_term_get_current_output): ... this.
36468 (grub_term_register): Split in ...
36469 (grub_term_register_input): ... this, and ...
36470 (grub_term_register_output): ... this.
36471 (grub_term_unregister): Split in ...
36472 (grub_term_unregister_input): ... this, and ...
36473 (grub_term_unregister_output): ... this.
36474 (grub_term_iterate): Split in ...
36475 (grub_term_iterate_input): ... this, and ...
36476 (grub_term_iterate_output): ... this.
36477
36478 * kern/term.c (grub_term_list): Split in ...
36479 (grub_term_list_input): ... this, and ...
36480 (grub_term_list_output): ... this. Update all users.
36481 (grub_cur_term): Split in ...
36482 (grub_cur_term_input): ... this, and ...
36483 (grub_cur_term_output): ... this. Update all users.
36484 (grub_term_set_current): Split in ...
36485 (grub_term_set_current_input): ... this, and ...
36486 (grub_term_set_current_output): ... this.
36487 (grub_term_get_current): Split in ...
36488 (grub_term_get_current_input): ... this, and ...
36489 (grub_term_get_current_output): ... this.
36490 (grub_term_register): Split in ...
36491 (grub_term_register_input): ... this, and ...
36492 (grub_term_register_output): ... this.
36493 (grub_term_unregister): Split in ...
36494 (grub_term_unregister_input): ... this, and ...
36495 (grub_term_unregister_output): ... this.
36496 (grub_term_iterate): Split in ...
36497 (grub_term_iterate_input): ... this, and ...
36498 (grub_term_iterate_output): ... this.
36499
36500 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
36501 a check for input and one for output (and only attempt to get keys
36502 from user when input works).
36503
36504 * util/grub-probe.c (grub_term_get_current): Split in ...
36505 (grub_term_get_current_input): ... this, and ...
36506 (grub_term_get_current_output): ... this.
36507 * util/grub-fstest.c: Likewise.
36508 * util/i386/pc/grub-setup.c: Likewise.
36509 * util/grub-editenv.c: Likewise.
36510
36511 Portability adjustments:
36512
36513 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
36514 `term/i386/pc/at_keyboard.c'.
36515 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
36516 grub_keyboard_controller_init() (now handled by terminal .init).
36517 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
36518 grub_at_keyboard_init().
36519 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
36520 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
36521 at_keyboard.mod via input terminal interface).
36522 * include/grub/i386/coreboot/console.h: Convert into a stub for
36523 `<grub/i386/pc/console.h>'.
36524
36525 Migrate full terminals to new API:
36526
36527 * term/efi/console.c (grub_console_term): Split into ...
36528 (grub_console_term_input): ... this, and ...
36529 (grub_console_term_output): ... this. Update all users.
36530 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
36531 (grub_ofconsole_init): Split into ...
36532 (grub_ofconsole_init_input): ... this, and ...
36533 (grub_ofconsole_init_output): ... this.
36534 (grub_ofconsole_term): Split into ...
36535 (grub_ofconsole_term_input): ... this, and ...
36536 (grub_ofconsole_term_output): ... this. Update all users.
36537 * term/i386/pc/serial.c (grub_serial_term): Split into ...
36538 (grub_serial_term_input): ... this, and ...
36539 (grub_serial_term_output): ... this. Update all users.
36540 * term/i386/pc/console.c (grub_console_term): Split into ...
36541 (grub_console_term_input): ... this, and ...
36542 (grub_console_term_output): ... this. Update all users.
36543 (grub_console_term_input): Only enable it on PC/BIOS platform.
36544 (grub_console_init): Remove grub_keyboard_controller_init() call.
36545
36546 Migrate input terminals to new API:
36547
36548 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
36549 `i386' and `i386/pc' to enable build on x86_64 (this driver is
36550 i386-specific anyway).
36551 (grub_console_checkkey): Rename to ...
36552 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
36553 users.
36554 (grub_keyboard_controller_orig): New variable.
36555 (grub_console_getkey): Rename to ...
36556 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
36557 users.
36558 (grub_keyboard_controller_init): Static-ize. Save original
36559 controller value so that it can be restored ...
36560 (grub_keyboard_controller_fini): ... here (new function).
36561 (grub_at_keyboard_term): New structure.
36562 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
36563 functions.
36564
36565 Migrate output terminals to new API:
36566
36567 * term/i386/pc/vga.c (grub_vga_term): Change type to
36568 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36569 members. Update all users.
36570 * term/gfxterm.c (grub_video_term): Change type to
36571 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36572 members. Update all users.
36573 * include/grub/i386/pc/console.h (grub_console_checkkey)
36574 (grub_console_getkey): Do not export (no longer needed by gfxterm,
36575 etc).
36576
36577 Migrate `terminal' command and userland tools to new API:
36578
36579 * commands/terminal.c (grub_cmd_terminal): Split into ...
36580 (grub_cmd_terminal_input): ... this, and ...
36581 (grub_cmd_terminal_output): ... this.
36582 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
36583 `terminal_input' and `terminal_output'.
36584 * util/grub.d/00_header.in: Adjust `terminal' calls to new
36585 `terminal_input' / `terminal_output' API.
36586 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
36587 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
36588 provided ${GRUB_TERMINAL}, convert it).
36589
96e5d876 365902008-11-04 Robert Millan <rmh@aybabtu.com>
36591
36592 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
36593 for FreeBSD.
36594 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
36595
556f3775 365962008-11-03 Bean <bean123ch@gmail.com>
36597
36598 * kern/elf.c (grub_elf32_load): Revert to previous code.
36599 (grub_elf64_load): Likewise.
36600
36601 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
36602
926b9823 366032008-11-01 Robert Millan <rmh@aybabtu.com>
36604
36605 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
36606 (TARGET_CPPFLAGS): Likewise.
36607 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
36608
1432e958 366092008-11-01 Carles Pina i Estany <carles@pina.cat>
36610
36611 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
36612
dba3f844 366132008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 36614
36615 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
36616 addition of objects until the code is not going to be able to fail.
36617
dba3f844 366182008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 36619
36620 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
36621 (add a missing NULL check, and correct them by moving the pointer
36622 operations after the actual check).
36623
7ab28c21 366242008-10-29 Robert Millan <rmh@aybabtu.com>
36625
36626 * util/i386/pc/grub-install.in: Handle empty string as output from
36627 make_system_path_relative_to_its_root().
36628
1b7748eb 366292008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
36630
36631 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
36632 circular metadata worst case scenario. If the metadata is circular
36633 then copy the wrap in place.
36634 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
36635 project lib/format_text/layout.h
36636 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
36637
c9618ab2 366382008-10-03 Felix Zielcke <fzielcke@z-51.de>
36639
7a36edca 36640 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 36641
bf981c62 366422008-10-03 Felix Zielcke <fzielcke@z-51.de>
36643
36644 * util/update-grub_lib.in: Mention filename in warning message.
36645
6d994591 366462008-09-29 Felix Zielcke <fzielcke@z-51.de>
36647
36648 * NEWS: Update for rename of update-grub to grub-mkconfig.
36649
18ade780 366502008-09-29 Felix Zielcke <fzielcke@z-51.de>
36651
36652 * util/update-grub_lib.in: Copy to ...
36653 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 36654 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 36655 * util/update-grub.in: Rename to ...
36656 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
36657 option. Add `--output' option to allow users to specify the generated
36658 configuration file. Default to stdout.
36659 (update_grub_dir): Rename to ...
36660 (grub_mkconfig_dir): ... this.
36661 (grub_cfg): Default to an empty string.
36662 * conf/common.rmk (update-grub): Rename to ...
36663 (grub-mkconfig): ... this.
36664 (update-grub_lib): Copy to ...
36665 (grub-mkconfig_lib): ... this.
36666 (update-grub_SCRIPTS): Copy to ...
36667 (grub-mkconfig_SCRIPTS): ... this. Update all users.
36668 (update-grub_DATA): Rename to ...
36669 (grub-mkconfig_DATA): ... this.
36670
556ce6ac 366712008-09-28 Robert Millan <rmh@aybabtu.com>
36672
36673 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
36674 to `modified'. Add the real `created' field.
36675 (grub_iso9660_uuid): Use `modified' rather than `created' for
36676 constructing the UUID.
36677
366782008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 36679
36680 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
36681 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
36682
92274e85 366832008-09-28 Bean <bean123ch@gmail.com>
36684
36685 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
36686 Thanks to Christian Franke for finding this bug.
36687
add6f17a 366882008-09-25 Robert Millan <rmh@aybabtu.com>
36689
36690 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
36691 instances of grub_util_get_disk_name() (see previous commit).
36692
d2a367b8 366932008-09-25 Robert Millan <rmh@aybabtu.com>
36694
36695 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
36696 `util/i386/get_disk_name.c'.
36697 * conf/i386-efi.rmk: Likewise.
36698 * conf/x86_64-efi.rmk: Likewise.
36699 * conf/i386-coreboot.rmk: Likewise.
36700 * conf/i386-ieee1275.rmk: Likewise.
36701 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
36702 `util/ieee1275/get_disk_name.c'.
36703 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
36704 * util/ieee1275/get_disk_name.c: Remove file.
36705 * util/i386/get_disk_name.c: Remove file.
36706 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
36707 "hd%d" for device.map entries, rather than using
36708 grub_util_get_disk_name().
36709
81a06771 367102008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 36711
36712 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
36713 warning.
36714 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
36715
5a004279 367162008-09-24 Carles Pina i Estany <carles@pina.cat>
36717
36718 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
36719 Changed to 0x5100.
36720 (GRUB_TERM_PPAGE): Changed to 0x4900.
36721
397093d3 367222008-09-24 Robert Millan <rmh@aybabtu.com>
36723
36724 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
36725 macros (they were i386-pc specific).
36726 * include/grub/sparc64/ieee1275/console.h: Likewise.
36727 * include/grub/efi/console.h: Likewise.
36728
a91b6c7c 367292008-09-22 Bean <bean123ch@gmail.com>
36730
36731 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
36732 resident and in attribute list.
36733
36734 * include/grub/ntfs.h (BMP_LEN): Removed.
36735
c40fd116 367362008-09-22 Bean <bean123ch@gmail.com>
36737
81a06771 36738 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 36739 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
36740
36741 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
36742 error occurs, as grub_disk_open will call grub_disk_close, which will
36743 call p->close (scsi).
36744
81a06771 367452008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 36746
36747 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
36748 (AC_PREREQ): Bumped to 2.59.
36749 (AC_TRY_COMPILE): Replace obsolete macro with ...
36750 (AC_COMPILE_IFELSE): ... this.
36751 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
36752 (AC_LINK_IFELSE): ... this.
36753
5dc43410 367542008-09-21 Felix Zielcke <fzielcke@z-51.de>
36755
36756 * autogen.sh: Add a call to `gendistlist.sh'.
36757
9035dce4 367582008-09-19 Christian Franke <franke@computer.org>
36759
36760 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
36761 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
36762 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
36763 Export __enable_execute_stack() to modules.
36764 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
36765 New function.
36766
7fd75377 367672008-09-09 Felix Zielcke <fzielcke@z-51.de>
36768
040030b3 36769 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
36770 Sort the list.
36771
367722008-09-09 Felix Zielcke <fzielcke@z-51.de>
36773
36774 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 36775 #include <grub/util/hostdisk.h>.
36776
89d5ffcf 367772008-09-08 Robert Millan <rmh@aybabtu.com>
36778
36779 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
36780 segments when their filesz is zero (grub_file_read() interprets
81a06771 36781 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 36782 Use `lowest_segment' rather than 0 for calculating the current
36783 segment load address.
36784
40da438f 367852008-09-08 Robert Millan <rmh@aybabtu.com>
36786
36787 * util/hostdisk.c (open_device): Replace a grub_util_info() call
36788 with grub_dprintf("hostdisk", ...), as it was so verbose that it
36789 clobbered useful information.
36790
ddbf5556 367912008-09-08 Robert Millan <rmh@aybabtu.com>
36792
36793 * include/grub/util/biosdisk.h: Move to ...
36794 * include/grub/util/hostdisk.h: ... here. Update all users.
36795 * util/biosdisk.c: Move to ...
36796 * util/hostdisk.c: ... here. Update all users.
36797
783d0f48 367982008-09-07 Robert Millan <rmh@aybabtu.com>
36799
36800 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
36801 variables.
36802 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
36803 and length can be stored directly in the `mbi->mmap_addr' and
36804 `mbi->mmap_length' struct fields.
36805
548e2ea5 368062008-09-07 Robert Millan <rmh@aybabtu.com>
36807
36808 * conf/i386.rmk: New file. Provides declaration for building
36809 `cpuid.mod'.
36810 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
36811 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
36812 variables.
36813 Include `conf/i386.mk'.
36814 * conf/i386-efi.rmk: Likewise.
36815 * conf/x86_64-efi.rmk: Likewise.
36816 * conf/i386-coreboot.rmk: Likewise.
36817 * conf/i386-ieee1275.rmk: Likewise.
36818
0ea85a37 368192008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
36820
36821 Based on patch created by Colin D Bennett <colin@gibibit.com>.
36822 Adds optimization support for BGR based modes.
36823
36824 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
36825 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
36826 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36827 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36828 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36829 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36830 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36831 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36832 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36833 (grub_video_i386_vbeblit_index_index): Likewise.
36834 (grub_video_i386_vbeblit_replace_directN): Added.
36835 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
36836 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
36837 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
36838 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
36839 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
36840 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 36841 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 36842 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
36843 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
36844 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
36845 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
36846 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
36847 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
36848
36849 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
36850 (grub_video_i386_vbefill_R8G8B8): Likewise.
36851 (grub_video_i386_vbefill_index): Likewise.
36852 (grub_video_i386_vbefill_direct32): Added.
36853 (grub_video_i386_vbefill_direct24): Likewise.
36854 (grub_video_i386_vbefill_direct16): Likewise.
36855 (grub_video_i386_vbefill_direct8): Likewise.
36856
81a06771 36857 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 36858 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
36859 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
36860 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
36861 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
36862 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 36863
0ea85a37 36864 * video/video.c (grub_video_get_blit_format): Updated to use new
36865 blit formats. Added handling for 16 bit color modes.
81a06771 36866
36867 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 36868 fillers.
36869 (common_blitter): Updated to use new blitters.
36870
36871 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
36872 Removed.
36873 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
36874 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36875 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36876 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36877 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36878 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36879 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36880 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36881 (grub_video_i386_vbeblit_index_index): Likewise.
36882 (grub_video_i386_vbeblit_replace_directN): Added.
36883 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
36884 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
36885 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
36886 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
36887 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
36888 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
36889 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
36890 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
36891 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
36892 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
36893 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
36894 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
36895 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 36896
0ea85a37 36897 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
36898 (grub_video_i386_vbefill_R8G8B8): Likewise.
36899 (grub_video_i386_vbefill_index): Likewise.
36900 (grub_video_i386_vbefill_direct32): Added.
36901 (grub_video_i386_vbefill_direct24): Likewise.
36902 (grub_video_i386_vbefill_direct16): Likewise.
36903 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 36904
0ea85a37 36905 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
36906 types.
81a06771 36907
0ea85a37 36908 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
36909 types.
81a06771 36910
0ea85a37 36911 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
36912 blitter types.
81a06771 36913
0ea85a37 36914 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
36915 types.
36916
e8a83df6 369172008-09-06 Felix Zielcke <fzielcke@z-51.de>
36918
36919 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
36920 RAID level 1.
36921
6bcd8ee5 369222008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 36923
6bcd8ee5 36924 * fs/iso9660.c (grub_iso9660_date): New structure.
36925 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
36926 (grub_iso9660_uuid): New function.
c375ae58 36927
59261157 369282008-09-05 Bean <bean123ch@gmail.com>
36929
36930 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
36931
36932 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
36933 insensitive bit for names in Win32 and Win32 & DOS namespace.
36934
36935 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
36936
36937 * include/grub/types.h (LONG_MAX): Likewise.
36938
58b6645a 369392008-09-04 Felix Zielcke <fzielcke@z-51.de>
36940
4ee55921 36941 * util/getroot.c: Include <config.h>.
36942 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
36943 add support for /dev/md/N devices and handle LVM double dash escaping.
36944
369452008-09-04 Felix Zielcke <fzielcke@z-51.de>
36946
36947 * config.guess: Update to latest version from config git.
36948 * config.sub: Likewise.
58b6645a 36949
9124f65d 369502008-09-03 Robert Millan <rmh@aybabtu.com>
36951
36952 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
36953 `disk->total_sectors'.
36954
81a06771 369552008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 36956
36957 * include/grub/normal.h: Fixed incorrect comment for
36958 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
36959
81a06771 369602008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 36961
36962 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
36963 values with defines.
36964
36965 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
36966 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
36967 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
36968 (GRUB_VBE_MODEATTR_COLOR): Likewise.
36969 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
36970 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
36971 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
36972 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
36973 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
36974 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
36975 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
36976 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
36977 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
36978 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
36979 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
36980 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
36981 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
36982 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
36983 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
36984
93d5cbf8 369852008-08-31 Robert Millan <rmh@aybabtu.com>
36986
36987 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
36988 declaration.
36989 (grub_multiboot): Fix a few warnings.
36990
21751d50 369912008-08-31 Robert Millan <rmh@aybabtu.com>
36992
36993 * loader/i386/pc/multiboot.c: Update comment not to say that
36994 boot_device support is unimplemented.
36995
e27a75c5 369962008-08-31 Robert Millan <rmh@aybabtu.com>
36997
36998 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
36999 or memory map support are unimplemented.
37000
81a06771 370012008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 37002
37003 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
37004
81a06771 370052008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 37006
37007 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
37008 total video memory in 'vbeinfo' output; show color format details for
37009 each video mode.
37010
7c5d8d95 370112008-08-30 Pavel Roskin <proski@gnu.org>
37012
37013 * util/genmoddep.c: Remove for real this time.
37014 * DISTLIST: Remove util/genmoddep.c.
37015
4cebd25a 370162008-08-30 Robert Millan <rmh@aybabtu.com>
37017
37018 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
37019 as required by Multiboot spec (it was already 4-byte aligned, but
37020 only by chance).
37021
b497a269 370222008-08-29 Pavel Roskin <proski@gnu.org>
37023
e3925185 37024 * kern/powerpc/ieee1275/crt0.S: Rename to ...
37025 * kern/powerpc/ieee1275/startup.S: ... this.
37026 * conf/powerpc-ieee1275.rmk: Adjust for the above.
37027 * DISTLIST: Likewise.
37028
b497a269 37029 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
37030 grub/cpu/kernel.h. Add start label for consistency with other
37031 platforms. Add grub_prefix immediately after start. Add jump
37032 to the code after grub_prefix.
37033 * include/grub/powerpc/kernel.h: Provide valid values for
37034 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
37035
6e5a42fe 370362008-08-29 Bean <bean123ch@gmail.com>
37037
37038 * configure.ac: Change host_os to cygwin for mingw.
37039 (asprintf): New check for function.
37040
37041 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
37042 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
37043
37044 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 37045 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 37046 sync, sleep and grub_util_get_disk_size for mingw.
37047
37048 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
37049 to get size in mingw.
37050 (open_device): Use flag O_BINARY if it's defined.
37051 (find_root_device): Add dummy code for mingw.
37052
37053 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
37054 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
37055 (get_scsi_disk_name): Return 0 for mingw.
37056
37057 * util/hostfs.c: #include <grub/util/misc.h>.
37058 (grub_hostfs_open): Use "rb" flag to open file, use
37059 grub_util_get_disk_size to get disk size for mingw.
37060
37061 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
37062 (asprintf): New function if HAVE_ASPRINTF is not set.
37063 (sync): New function for mingw.
37064 (sleep): Likewise.
37065 (grub_util_get_disk_size): Likewise.
37066
ab3f2673 370672008-08-28 Pavel Roskin <proski@gnu.org>
37068
37069 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37070 kern/time.c.
37071
1c282483 370722008-08-28 Robert Millan <rmh@aybabtu.com>
37073
37074 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
37075
678e849c 370762008-08-28 Robert Millan <rmh@aybabtu.com>
37077
37078 Change find_grub_drive() syntax so it doesn't prevent it from
37079 detecting NULL names as errors.
37080
37081 * util/biosdisk.c (find_grub_drive): Move free slot search code
37082 from here ...
37083 (find_free_slot): ... to here.
37084 (read_device_map): Use find_free_slot() to search for free slots.
37085
965c75ca 370862008-08-27 Marco Gerards <marco@gnu.org>
37087
37088 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
37089 (scsi_mod_SOURCES): New variable.
37090 (scsi_mod_CFLAGS): Likewise
37091 (scsi_mod_LDFLAGS): Likewise.
37092
37093 * disk/scsi.c: New file.
37094
37095 * include/grub/scsi.h: Likewise.
37096
37097 * include/grub/scsicmd.h: Likewise.
37098
37099 * disk/ata.c: Include <grub/scsi.h>.
37100 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
37101 instead.
37102 (grub_ata_iterate): Skip ATAPI devices.
37103 (grub_ata_open): Only handle ATAPI devices.
37104 (struct grub_atapi_read): Removed.
37105 (grub_atapi_readsector): Likewise.
37106 (grub_ata_read): No longer handle ATAPI devices.
37107 (grub_ata_write): Likewise.
37108 (grub_atapi_iterate): New function.
37109 (grub_atapi_read): Likewise.
37110 (grub_atapi_write): Likewise.
37111 (grub_atapi_open): Likewise.
37112 (grub_atapi_close): Likewise.
37113 (grub_atapi_dev): New variable.
37114 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
37115 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
37116
37117 * include/grub/disk.h (enum grub_disk_dev_id): Add
37118 `GRUB_DISK_DEVICE_SCSI_ID'.
37119
c07ae501 371202008-08-26 Robert Millan <rmh@aybabtu.com>
37121
37122 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
37123 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
37124 descriptive.
37125
5ed20adc 371262008-08-23 Bean <bean123ch@gmail.com>
37127
37128 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
37129 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37130 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
37131 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
37132 dm_nv.mod.
37133 (raid5rec_mod_SOURCES): New macro.
37134 (raid5rec_mod_CFLAGS): Likewise.
37135 (raid5rec_mod_LDFLAGS): Likewise.
37136 (raid6rec_mod_SOURCES): Likewise.
37137 (raid6rec_mod_CFLAGS): Likewise.
37138 (raid6rec_mod_LDFLAGS): Likewise.
37139 (mdraid_mod_SOURCES): Likewise.
37140 (mdraid_mod_CFLAGS): Likewise.
37141 (mdraid_mod_LDFLAGS): Likewise.
37142 (dm_nv_mod_SOURCES): Likewise.
37143 (dm_nv_mod_CFLAGS): Likewise.
37144 (dm_nv_mod_LDFLAGS): Likewise.
37145
37146 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
37147 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37148 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37149
37150 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
37151 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37152
37153 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37154
37155 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37156
37157 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37158
37159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37160
37161 * disk/raid5_recover.c: New file.
37162
37163 * disk/raid6_recover.c: Likewise.
37164
37165 * disk/mdraid_linux.c: Likewise.
37166
37167 * disk/dmraid_nvidia.c: Likewise.
37168
37169 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
37170 ULONG_MAX.
37171
37172 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
37173 calculate the size of raid device.
37174 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
37175 different layout of raid5.
37176 (grub_raid_scan_device): Remove code specific to mdraid.
37177 (grub_raid_list): New variable.
37178 (free_array): New function.
37179 (grub_raid_register): Likewise.
37180 (grub_raid_unregister): Likewise.
37181 (grub_raid_rescan): Likewise.
37182 (GRUB_MOD_INIT): Don't iterate device here.
37183 (GRUB_MOD_FINI): Use free_array to release resource.
37184
37185 * include/grub/raid.h: Remove macro and structure specific to mdraid.
37186 (grub_raid5_recover_func_t): New function variable type.
37187 (grub_raid6_recover_func_t): Likewise.
37188 (grub_raid5_recover_func): New variable.
37189 (grub_raid6_recover_func): Likewise.
37190 (grub_raid_register): New function.
37191 (grub_raid_unregister): Likewise.
37192 (grub_raid_rescan): Likewise.
37193 (grub_raid_block_xor): Likewise.
37194
37195 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
37196 (CMD_CRC): New macro.
37197 (part): Removed.
37198 (read_file): Handle device as well as file.
37199 (cmd_crc): New function.
37200 (fstest): Handle multiple disks.
37201 (options): Remove part, raw and long, add root and diskcount.
37202 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 37203 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 37204 add handling for the new options, support multiple disks.
37205
37206 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
37207
29c18915 372082008-08-23 Bean <bean123ch@gmail.com>
37209
37210 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
37211
37212 * genfslist.sh: Ignore kernel.mod.
37213
37214 * genpartmaplist.sh: Likewise.
37215
8415f261 372162008-08-23 Robert Millan <rmh@aybabtu.com>
37217
37218 * util/getroot.c (find_root_device): Skip anything that starts with
37219 a dot, not just directories. This avoids things like /dev/.tmp.md0.
37220
d5a7dc5b 372212008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 37222
d5a7dc5b 37223 * util/update-grub.in (GRUB_GFXMODE): Export variable.
37224 * util/grub.d/00_header.in: Allow the administrator to change default
37225 gfxmode via ${GRUB_GFXMODE}.
37226
380cfbb4 372272008-08-21 Felix Zielcke <fzielcke@z-51.de>
37228
37229 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
37230
c9baafe7 372312008-08-21 Robert Millan <rmh@aybabtu.com>
37232
37233 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
37234 loader.
37235 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
37236 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
37237
e290bef2 372382008-08-20 Carles Pina i Estany <carles@pina.cat>
37239
37240 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
37241 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
37242
f9dbfc96 372432008-08-19 Robert Millan <rmh@aybabtu.com>
37244
37245 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
37246 (struct grub_virtual_screen): Remove `cursor_color'.
37247 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
37248 initialization.
37249 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
37250
dd6bd6ab 372512008-08-18 Robert Millan <rmh@aybabtu.com>
37252
37253 Unify (identical) linux_normal.c files.
37254 * loader/i386/efi/linux_normal.c: Move from here ...
37255 * loader/linux_normal.c: ... to here. Update all users.
37256 * loader/i386/pc/linux_normal.c: Delete. Update all users.
37257 * loader/i386/ieee1275/linux_normal.c: Likewise.
37258
7f42f83e 372592008-08-18 Robert Millan <rmh@aybabtu.com>
37260
37261 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
37262 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
37263 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
37264 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
37265 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
37266 New macros.
37267 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
37268 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
37269 (GRUB_LINUX_CL_END_OFFSET): ... to here.
37270 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
37271 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
37272 (GRUB_EFI_CL_END_OFFSET): Rename to ...
37273 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
37274 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
37275 Initialize `params->video_cursor_x' and `params->video_cursor_y'
37276 portably using grub_getxy().
37277 Replace `-EFI' with `-bzImage' in boot message.
37278
38487ddb 372792008-08-17 Robert Millan <rmh@aybabtu.com>
37280
37281 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
37282
deceb3ec 372832008-08-17 Robert Millan <rmh@aybabtu.com>
37284
37285 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
37286
37287 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
37288 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
37289 (grub_machine_mmap_iterate): New function declaration.
37290 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
37291 structure.
37292 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
37293 macros.
37294
37295 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
37296 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
37297 Move e820 parsing from here ...
37298 * kern/i386/pc/mmap.c: New file.
37299 (grub_machine_mmap_iterate): ... to here.
37300
37301 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
37302 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
37303 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
37304 (grub_available_iterate): Redeclare to return `void', and redeclare
37305 its hook to use grub_uint64_t as addr and size parameters, and rename
37306 to ...
37307 (grub_machine_mmap_iterate): ... this. Update all users.
37308
37309 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
37310 to make it more readable. Rename to ...
37311 (grub_machine_mmap_iterate): ... this.
37312
37313 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
37314 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
37315 (grub_multiboot): Allocate an extra region after the payload, and fill
37316 it with a Multiboot memory map. Adjust a.out loader to calculate size
37317 with the extra space.
37318 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
37319 with the extra space.
37320
f8aa0f43 373212008-08-17 Carles Pina i Estany <carles@pina.cat>
37322
9807deb9 37323 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 37324
605f5bb6 373252008-08-17 Felix Zielcke <fzielcke@z-51.de>
37326
37327 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
37328 mdate-sh to the list `find' searches for.
37329 * DISTLIST: Regenerated.
37330
210db6c6 373312008-08-16 Felix Zielcke <fzielcke@z-51.de>
37332
37333 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
37334 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 37335 genmoddep.awk, gensymlist.sh.in.
37336 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 37337 * DISTLIST: Regenerated.
48cdbfd4 37338 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 37339
1082b929 373402008-08-16 Robert Millan <rmh@aybabtu.com>
37341
37342 * disk/raid.c (grub_raid_init): Handle/report errors set by
37343 grub_device_iterate().
37344 * disk/lvm.c (grub_lvm_init): Likewise.
37345
42ce5170 373462008-08-15 Bean <bean123ch@gmail.com>
37347
37348 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37349 and datehook.mod.
37350 (datetime_mod_SOURCES): New macro.
37351 (datetime_mod_CFLAGS): Likewise.
37352 (datetime_mod_LDFLAGS): Likewise.
37353 (date_mod_SOURCES): Likewise.
37354 (date_mod_CFLAGS): Likewise.
37355 (date_mod_LDFLAGS): Likewise.
37356 (datehook_mod_SOURCES): Likewise.
37357 (datehook_mod_CFLAGS): Likewise.
37358 (datehook_mod_LDFLAGS): Likewise.
37359
37360 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37361 and datehook.mod.
37362 (datetime_mod_SOURCES): New macro.
37363 (datetime_mod_CFLAGS): Likewise.
37364 (datetime_mod_LDFLAGS): Likewise.
37365 (date_mod_SOURCES): Likewise.
37366 (date_mod_CFLAGS): Likewise.
37367 (date_mod_LDFLAGS): Likewise.
37368 (datehook_mod_SOURCES): Likewise.
37369 (datehook_mod_CFLAGS): Likewise.
37370 (datehook_mod_LDFLAGS): Likewise.
37371
37372 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37373 and datehook.mod.
37374 (datetime_mod_SOURCES): New macro.
37375 (datetime_mod_CFLAGS): Likewise.
37376 (datetime_mod_LDFLAGS): Likewise.
37377 (date_mod_SOURCES): Likewise.
37378 (date_mod_CFLAGS): Likewise.
37379 (date_mod_LDFLAGS): Likewise.
37380 (datehook_mod_SOURCES): Likewise.
37381 (datehook_mod_CFLAGS): Likewise.
37382 (datehook_mod_LDFLAGS): Likewise.
37383
37384 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37385 and datehook.mod.
37386 (datetime_mod_SOURCES): New macro.
37387 (datetime_mod_CFLAGS): Likewise.
37388 (datetime_mod_LDFLAGS): Likewise.
37389 (date_mod_SOURCES): Likewise.
37390 (date_mod_CFLAGS): Likewise.
37391 (date_mod_LDFLAGS): Likewise.
37392 (datehook_mod_SOURCES): Likewise.
37393 (datehook_mod_CFLAGS): Likewise.
37394 (datehook_mod_LDFLAGS): Likewise.
37395
37396 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37397 and datehook.mod.
37398 (datetime_mod_SOURCES): New macro.
37399 (datetime_mod_CFLAGS): Likewise.
37400 (datetime_mod_LDFLAGS): Likewise.
37401 (date_mod_SOURCES): Likewise.
37402 (date_mod_CFLAGS): Likewise.
37403 (date_mod_LDFLAGS): Likewise.
37404 (datehook_mod_SOURCES): Likewise.
37405 (datehook_mod_CFLAGS): Likewise.
37406 (datehook_mod_LDFLAGS): Likewise.
37407
37408 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
37409
37410 * commands/date.c: New file.
37411
37412 * hook/datehook.c: Likewise.
37413
37414 * include/grub/lib/datetime.h: Likewise.
37415
37416 * include/grub/i386/cmos.h: Likewise.
37417
37418 * lib/datetime.c: Likewise.
37419
37420 * lib/i386/datetime.c: Likewise.
37421
37422 * lib/efi/datetime.c: Likewise.
37423
0e9242da 374242008-08-14 Robert Millan <rmh@aybabtu.com>
37425
37426 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
37427 (grub_mkelfimage_SOURCES): New variable.
37428 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
37429
37430 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
37431 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
37432 * conf/powerpc-ieee1275.rmk: Likewise.
37433 * conf/i386-ieee1275.rmk: Likewise.
37434
37435 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
37436 * kern/i386/coreboot/init.c: Likewise.
37437
37438 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
37439 with `<grub/cpu/kernel.h>'.
37440 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
37441 to ...
37442 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
37443 * kern/i386/coreboot/startup.S: Likewise.
37444
37445 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
37446 (GRUB_MOD_GAP): Remove.
37447 * include/grub/powerpc/kernel.h: New file.
37448 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
37449 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37450 * include/grub/i386/kernel.h: New file.
37451 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
37452 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
37453 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37454
37455 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
37456 `grub-mkelfimage'.
37457 Use --directory when invoking grub_mkimage.
37458
37459 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
37460 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
37461 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
37462 and GRUB_KERNEL_CPU_PREFIX.
37463
b86408f8 374642008-08-14 Felix Zielcke <fzielcke@z-51.de>
37465
d5e619ca 37466 * include/grub/err.h (grub_err_printf): New function prototype.
37467 * util/misc.c (grub_err_printf): New function.
37468 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
37469 grub_printf.
37470 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 37471
7161f0e0 374722008-08-13 Robert Millan <rmh@aybabtu.com>
37473
37474 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
37475
a1967522 374762008-08-13 Robert Millan <rmh@aybabtu.com>
37477
37478 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
37479 boot entry.
37480
371458b5 374812008-08-12 Robert Millan <rmh@aybabtu.com>
37482
37483 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
37484 of the relocation code from here ...
37485 (grub_multiboot): ... to here.
37486 (forward_relocator, backward_relocator): Move from here ...
37487 * kern/i386/loader.S (grub_multiboot_forward_relocator)
37488 (grub_multiboot_backward_relocator): ... to here.
37489 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
37490 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
37491 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
37492 (grub_multiboot_forward_relocator_end)
37493 (grub_multiboot_backward_relocator)
37494 (grub_multiboot_backward_relocator_end): New variables.
37495
05f9452b 374962008-08-12 Bean <bean123ch@gmail.com>
37497
37498 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
37499
20024ab0 375002008-08-11 Robert Millan <rmh@aybabtu.com>
37501
37502 * kern/i386/linuxbios/startup.S: Move from here ...
37503 * kern/i386/coreboot/startup.S: ... to here.
37504
37505 * kern/i386/linuxbios/init.c: Move from here ...
37506 * kern/i386/coreboot/init.c: ... to here.
37507
37508 * kern/i386/linuxbios/table.c: Move from here ...
37509 * kern/i386/coreboot/mmap.c: ... to here.
37510
37511 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
37512
e352e9cd 375132008-08-11 Robert Millan <rmh@aybabtu.com>
37514
37515 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
37516 errors. Leave it to the upper layer to handle them.
37517
2d05bc6a 375182008-08-09 Christian Franke <franke@computer.org>
37519
37520 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
37521 * conf/common.rmk: Install `grub-pe2elf' only if requested.
37522 Install `grub.d/10_windows' only on Cygwin.
37523 * configure.ac: Add subst of `target_os'.
37524 Check `target_os' also before setting TARGET_OBJ2ELF.
37525 Add `--enable-grub-pe2elf'.
37526
042bd419 375272008-08-08 Robert Millan <rmh@aybabtu.com>
37528
37529 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37530 (grub_last_time): Change type to grub_uint64_t.
37531 (grub_disk_open): Migrate code from to using grub_get_time_ms().
37532 (grub_disk_close): Likewise.
37533
37534 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37535 (run_menu): Migrate code from to using grub_get_time_ms().
37536
37537 * util/misc.c (grub_get_time_ms): New function.
37538
7f280db5 375392008-08-08 Marco Gerards <marco@gnu.org>
37540
37541 * disk/ata.c (grub_ata_regget): Change return type to
37542 `grub_uint8_t'.
37543 (grub_ata_regget2): Likewise.
37544 (grub_ata_wait_status): New function.
37545 (grub_ata_wait_busy): Removed function, updated all users to use
37546 `grub_ata_wait_status'.
37547 (grub_ata_wait_drq): Likewise.
37548 (grub_ata_cmd): New function.
37549 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
37550 error handling.
37551 (grub_ata_pio_write): Add error handling.
37552 (grub_atapi_identify): Likewise.
37553 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
37554 handling.
37555 (grub_ata_identify): Use `grub_ata_cmd' and improve error
37556 handling. Actually use the detected registers. Reorder the
37557 detection logic such that it is easier to read.
37558 (grub_ata_pciinit): Do not assign the same ID to each controller.
37559 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
37560 handling.
37561 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
37562
37563 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
37564
1fbc5e66 375652008-08-08 Marco Gerards <marco@gnu.org>
37566
37567 * NEWS: Update.
37568
819ce6c0 375692008-08-07 Bean <bean123ch@gmail.com>
37570
37571 * include/grub/x86_64/pci.h: New file.
37572
5c41d44d 375732008-08-07 Christian Franke <franke@computer.org>
37574
37575 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
37576 (TIMER2_GATE): Likewise.
37577 (grub_pit_wait): Add enable/disable of the timer2 gate
37578 bit of port 0x61. This fixes a possible infinite loop.
37579
5ebc275d 375802008-08-07 Bean <bean123ch@gmail.com>
37581
37582 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
37583 kern/i386/tsc.c and kern/i386/pit.c.
37584
37585 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
37586 x86_64 platform.
37587
37588 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
37589 <grub/i386/tsc.h>.
37590
37591 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
37592
e383b3d0 375932008-08-07 Bean <bean123ch@gmail.com>
37594
37595 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
37596
37597 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
37598
37599 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
37600 multiple inclusion. Add #include <grub/types.h>.
37601
1cbb58ac 376022008-08-06 Christian Franke <franke@computer.org>
37603
37604 * conf/common.rmk: Build and install `10_windows'.
37605 * util/grub.d/10_windows.in: New script.
37606
337f5a1e 376072008-08-06 Pavel Roskin <proski@gnu.org>
37608
37609 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
37610
057bc4ac 376112008-08-06 Robert Millan <rmh@aybabtu.com>
37612
37613 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
37614 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
37615
2b99f123 376162008-08-06 Bean <bean123ch@gmail.com>
37617
37618 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
37619 (grub_pxefs_fs_int): Remove dummy definition.
37620 (grub_pxefs_open): Use data->block_size to store the current block
37621 size setting.
37622 (grub_pxefs_read): Use block size stored in data->block_size. As the
37623 value of grub_pxe_blksize can be changed after the file is opened.
37624
9f0234cb 376252008-08-06 Bean <bean123ch@gmail.com>
37626
37627 * fs/i386/pc/pxe.c (curr_file): new variable.
37628 (grub_pxefs_open): Simply the handling of pxe file system. Don't
37629 require the dummy internal file system anymore.
37630 (grub_pxefs_read): Removed.
37631 (grub_pxefs_close): Likewise.
37632 (grub_pxefs_fs_int): Likewise.
37633 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
37634 connection when we switch file.
37635 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
37636
a55d42e0 376372008-08-06 Robert Millan <rmh@aybabtu.com>
37638
37639 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
37640 `halt.mod'.
37641 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
37642 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
37643
37644 * kern/i386/halt.c: New file.
37645 * kern/i386/reboot.c: Likewise.
37646 * include/grub/i386/reboot.h: Likewise.
37647 * include/grub/i386/halt.h: Likewise.
37648
37649 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
37650 Include `<grub/cpu/halt.h>'.
37651 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
37652 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
37653
37654 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
37655 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
37656 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
37657 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
37658 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
37659 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
37660 from here ...
37661 * include/grub/i386/at_keyboard.h: ... to here.
37662
24371d26 376632008-08-05 Robert Millan <rmh@aybabtu.com>
37664
37665 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
37666 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
37667 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
37668 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37669 `kern/generic/millisleep.c'.
37670
37671 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
37672 instead of grub_get_rtc().
37673 (grub_tsc_init): Initialize `tsc_boot_time'.
37674
37675 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
37676 (grub_machine_init): Use grub_tsc_init() rather than
37677 installing an RTC-based handler via grub_install_get_time_ms().
37678
37679 * kern/i386/pit.c: New file.
37680 * include/grub/i386/pit.h: Likewise.
37681
9e7007b3 376822008-08-05 Bean <bean123ch@gmail.com>
37683
37684 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
37685
37686 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
37687 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
37688 (pxe_mod_SOURCES): New macro.
37689 (pxe_mod_CFLAGS): Likewise.
37690 (pxe_mod_LDFLAGS): Likewise.
37691 (pxecmd_mod_SOURCES): Likewise.
37692 (pxecmd_mod_CFLAGS): Likewise.
37693 (pxecmd_mod_LDFLAGS): Likewise.
37694
37695 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
37696 (grub_pxe_call): Likewise.
37697
37698 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
37699
37700 * commands/i386/pc/pxecmd.c: New file.
37701
9f0234cb 37702 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 37703
37704 * include/grub/i386/pc/pxe.h: Likewise.
37705
6977d49f 377062008-08-05 Bean <bean123ch@gmail.com>
37707
37708 * util/console.c (grub_console_cur_color): New variable.
37709 (grub_console_standard_color): Likewise.
37710 (grub_console_normal_color): Likewise.
37711 (grub_console_highlight_color): Likewise.
37712 (color_map): Likewise.
37713 (use_color): Likewise.
37714 (NUM_COLORS): New macro.
37715 (grub_ncurses_setcolorstate): Handle color properly.
37716 (grub_ncurses_setcolor): Don't change color here, just remember the
37717 settings, color will be set in grub_ncurses_setcolorstate.
37718 (grub_ncurses_getcolor): New function.
37719 (grub_ncurses_init): Initialize color pairs.
37720 (grub_ncurses_term): New member grub_ncurses_getcolor.
37721
9c2ff3ee 377222008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 37723
9c2ff3ee 37724 High resolution timer support. Implemented for x86 CPUs using TSC.
37725 Extracted generic grub_millisleep() so it's linked in only as needed.
37726 This requires a Pentium compatible CPU; if the RDTSC instruction is
37727 not supported, then it falls back on the generic grub_get_time_ms()
37728 implementation that uses the machine's RTC.
37729
37730 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
37731 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37732 `kern/generic/millisleep.c'.
37733
37734 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
37735 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
37736
37737 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
37738 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
37739
37740 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37741
37742 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37743 `kern/generic/millisleep.c'.
37744
37745 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37746
37747 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
37748
37749 * kern/generic/rtc_get_time_ms.c: New file.
37750
37751 * kern/generic/millisleep.c: New file.
337f5a1e 37752
9c2ff3ee 37753 * kern/misc.c: Don't include
37754 <kern/time.h> anymore.
37755 (grub_millisleep_generic): Removed.
37756
37757 * commands/sleep.c (grub_interruptible_millisleep): Uses
37758 grub_get_time_ms() instead of grub_get_rtc().
37759
37760 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
37761 function.
37762 (grub_cpu_is_cpuid_supported): New inline function.
37763 (grub_cpu_is_tsc_supported): New inline function.
37764 (grub_tsc_init): New function prototype.
37765 (grub_tsc_get_time_ms): New function prototype.
37766
37767 * kern/i386/tsc.c (grub_get_time_ms): New file.
37768
37769 * include/grub/time.h: Include <grub/types.h.
37770 (grub_millisleep_generic): Removed.
37771 (grub_get_time_ms): New prototype.
37772 (grub_install_get_time_ms): New prototype.
37773 (grub_rtc_get_time_ms): New prototype.
37774
37775 * kern/time.c (grub_get_time_ms): New function.
37776 (grub_install_get_time_ms): New function.
37777
37778 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
37779 <grub/time.h> anymore.
37780 (grub_millisleep): Removed.
37781 (grub_machine_init): Call grub_tsc_init.
37782
37783 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
37784 get_time_ms() implementation.
37785
37786 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
37787 (ieee1275_get_time_ms): New function.
37788 (grub_machine_init): Install get_time_ms() implementation.
37789
37790 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
37791 (grub_machine_init): Call grub_tsc_init().
37792 (grub_millisleep): Removed.
bf06a93f 37793
9c2ff3ee 37794 * kern/ieee1275/init.c (grub_millisleep): Removed.
37795 (grub_machine_init): Install ieee1275_get_time_ms()
37796 implementation.
37797 (ieee1275_get_time_ms): New function.
37798 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
37799 real work.
37800
9ec92aaf 378012008-08-05 Marco Gerards <marco@gnu.org>
37802
37803 * disk/ata.c: Include <grub/pci.h>.
37804 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
37805 (grub_ata_initialize): Rewritten.
37806 (grub_ata_device_initialize): New function.
37807
8d23f507 378082008-08-04 Pavel Roskin <proski@gnu.org>
37809
37810 * kern/main.c: Include grub/mm.h.
37811
5e15ee3d 378122008-08-04 Robert Millan <rmh@aybabtu.com>
37813
37814 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
37815 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
37816 corruption problem).
37817
a9053f8f 378182008-08-04 Robert Millan <rmh@aybabtu.com>
37819
37820 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
37821 warnings introduced in my last commit.
37822
dd19c7d7 378232008-08-03 Robert Millan <rmh@aybabtu.com>
37824
37825 Make PCI available on all i386 architectures.
37826
37827 * include/grub/i386/pc/pci.h: Move from here ...
37828 * include/grub/i386/pci.h: ... to here.
37829
37830 * include/grub/i386/pc/pci.h: Remove.
37831 * include/grub/i386/efi/pci.h: Remove.
37832 * include/grub/x86_64/efi/pci.h: Remove.
37833
37834 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
37835 `<grub/cpu/pci.h>'.
37836
37837 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
37838 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
37839 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
37840
37841 * conf/i386-ieee1275.rmk: Likewise.
37842
e14a6184 378432008-08-03 Robert Millan <rmh@aybabtu.com>
37844
37845 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
37846 (grub_console_setcursor): Make it possible to set cursor off.
37847
52768e37 378482008-08-03 Robert Millan <rmh@aybabtu.com>
37849
37850 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
37851 of modules instead of assuming which platform provides what.
37852 * util/update-grub.in: Likewise.
37853
2d52f57f 378542008-08-03 Robert Millan <rmh@aybabtu.com>
37855
37856 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
37857 instead of `grub_install_dos_part' to determine whether a drive needs
37858 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 37859 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 37860
2a5cd121 378612008-08-02 Robert Millan <rmh@aybabtu.com>
37862
37863 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
37864
93808428 378652008-08-02 Robert Millan <rmh@aybabtu.com>
37866
37867 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
37868 of informational grub_dprintf() calls.
37869
3bd0a12a 378702008-08-02 Robert Millan <rmh@aybabtu.com>
37871
37872 * disk/memdisk.c (memdisk_size): Don't initialize.
37873 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
37874
37875 * include/grub/i386/pc/kernel.h
37876 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
37877 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
37878 (grub_memdisk_image_size, grub_arch_memdisk_addr)
37879 (grub_arch_memdisk_size): Remove.
37880
37881 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
37882 field (was only used to transfer a constant). Add `type' field to
37883 support multiple module types.
37884 (grub_module_iterate): New function.
37885
37886 * kern/device.c (grub_device_open): Do not hide error messages
37887 when grub_disk_open() fails. Use grub_print_error() instead.
37888
37889 * kern/i386/pc/init.c (grub_arch_modules_addr)
37890 (grub_arch_memdisk_size): Remove functions.
37891 (grub_arch_modules_addr): Return the module address in high memory
37892 (now that it isn't copied anymore).
37893
37894 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
37895 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
37896 decompression routine (grub_total_module_size already includes that
37897 now). Don't copy modules back to low memory.
37898
37899 * kern/main.c: Include `<grub/mm.h>'.
37900 (grub_load_modules): Split out (and use) ...
37901 (grub_module_iterate): ... this function, which iterates through
37902 module objects and runs a hook.
37903 Comment out grub_mm_init_region() call, as it would cause non-ELF
37904 modules to be overwritten.
37905
37906 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
37907 the memdisk image in its own region, make it part of the module list.
37908 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
37909 (main): Parse --memdisk|-m option, and pass user-provided path as
37910 parameter to generate_image().
37911 (add_segments): Pass `memdisk_path' down to load_modules().
37912 (load_modules): Embed memdisk image in module section when requested.
37913 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
37914 `header.type' instead of `header.offset'.
37915
37916 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
37917 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
37918 (memdisk_mod_LDFLAGS): New variables.
37919 * conf/i386-coreboot.rmk: Likewise.
37920 * conf/i386-ieee1275.rmk: Likewise.
37921
a927cc73 379222008-08-02 Robert Millan <rmh@aybabtu.com>
37923
37924 * loader/i386/pc/multiboot.c (playground, forward_relocator)
37925 (backward_relocator): New variables. Used to allocate and relocate
37926 the payload, respectively.
37927 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 37928 address, install the appropriate relocator code in each bound of
a927cc73 37929 the payload, and set the entry point such that
37930 grub_multiboot_real_boot() will jump to one of them.
37931
37932 * kern/i386/loader.S (grub_multiboot_payload_size)
37933 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
37934 (grub_multiboot_payload_entry_offset): New variables.
37935 (grub_multiboot_real_boot): Set cpu context to what the relocator
37936 expects, and jump to the relocator instead of the payload.
37937
37938 * include/grub/i386/loader.h (grub_multiboot_payload_size)
37939 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
37940 (grub_multiboot_payload_entry_offset): Export.
37941
b15d8a0c 379422008-08-01 Bean <bean123ch@gmail.com>
37943
37944 * normal/menu_entry.c (editor_getline): Don't return the original
37945 string as result, as it will be released by lexer once it has done
37946 using it.
37947
cdfb3d22 379482008-08-01 Robert Millan <rmh@aybabtu.com>
37949
37950 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
37951 within menuentries, not before them.
37952 util/grub.d/10_hurd.in: Likewise.
37953
9175e93d 379542008-08-01 Bean <bean123ch@gmail.com>
37955
37956 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
37957 (bufio_mod_SOURCES): New macro.
37958 (bufio_mod_CFLAGS): Likewise.
37959 (bufio_mod_LDFLAGS): Likewise.
37960
37961 * include/grub/bufio.h: New file.
37962
37963 * io/bufio.c: Likewise.
37964
37965 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
37966 (grub_video_reader_png): Use grub_buffile_open to open file.
37967
37968 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
37969 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
37970
37971 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
37972 (grub_video_reader_tga): Use grub_buffile_open to open file.
37973
37974 * font/manager.c: Include <grub/bufio.h>.
37975 (add_font): Use grub_buffile_open to open file.
37976
3d8383e7 379772008-07-31 Robert Millan <rmh@aybabtu.com>
37978
37979 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
37980 ELF segments, use a macro for arbitrarily accessing any of them instead
37981 of preparing a pointer that allows access to one at a time.
37982 (grub_multiboot_load_elf64): Likewise.
37983
16e641b6 379842008-07-31 Bean <bean123ch@gmail.com>
37985
37986 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
37987 GRUB_KERNEL_MACHINE_DATA_END.
37988
59198b72 379892008-07-30 Robert Millan <rmh@aybabtu.com>
37990
37991 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
37992 Increase from 0x50 to 0x60.
37993 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
37994 use UUIDs to identify the root drive for them. If that's not
37995 possible, abort.
37996 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
37997 check, for cross-disk installs.
37998
ae88bca3 379992008-07-30 Robert Millan <rmh@aybabtu.com>
38000
38001 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
38002 is non-empty, use it to set the `prefix' environment variable instead
38003 of the usual approach.
38004 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
38005 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
38006 environment variable instead of dummy make_install_device().
38007
38008 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
38009 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 38010 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 38011
38012 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
38013 New variable reference.
38014 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
38015 New macro. Defines offset of `grub_prefix' within startup.S (relative
38016 to `start').
38017 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
38018 section within startup.S (relative to `start').
38019 * include/grub/i386/coreboot/kernel.h: Likewise.
38020
38021 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
38022 Overwrite grub_prefix with its contents, at the beginning of the
38023 first segment.
38024 (main): Understand -p|--prefix.
38025
14f41dd1 380262008-07-30 Robert Millan <rmh@aybabtu.com>
38027
38028 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
38029
4ca049a3 380302008-07-30 Robert Millan <rmh@aybabtu.com>
38031
38032 * term/i386/pc/vga_text.c (grub_console_cls): Use
38033 grub_console_gotoxy() to go back to beginning of the screen.
38034 Found by Patrick Georgi <patrick.georgi@coresystems.de>
38035
2921d337 380362008-07-29 Christian Franke <franke@computer.org>
38037
38038 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38039 Add conversion of emulated mount points on Cygwin.
38040
b609876d 380412008-07-29 Christian Franke <franke@computer.org>
38042
38043 * util/update-grub.in: Add a check for admin
38044 group on Cygwin.
38045 Remove old `grub.cfg.new' before creation.
38046 Add `-f' to `mv' to handle the different filesystem
38047 semantics of Windows.
38048
e93e4679 380492008-07-29 Bean <bean123ch@gmail.com>
38050
38051 * normal/main.c (get_line): Fix buffer overflow bug.
38052
41694fd0 380532008-07-28 Robert Millan <rmh@aybabtu.com>
38054
38055 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
38056 (struct grub_apple_header): New struct. Describes the layout of
38057 the partmap header.
38058 (apple_partition_map_iterate): Check the header magic as well as the
38059 partition magic (which was already being checked).
38060
cfd0b4e6 380612008-07-28 Pavel Roskin <proski@gnu.org>
38062
38063 * genmk.rb: Add a warning to the beginning of the output that
38064 it's a generated file and should not be edited.
38065
93cce016 380662008-07-28 Robert Millan <rmh@aybabtu.com>
38067
38068 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38069 with the same number are found, just use issue a warning with
38070 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 38071
cd1df915 380722008-07-27 Robert Millan <rmh@aybabtu.com>
38073
38074 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
38075 information.
38076
b70a8427 380772008-07-27 Bean <bean123ch@gmail.com>
38078
38079 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
38080 (grub_fat_find_dir): Ignore case when comparing filename.
38081
8f5e379f 380822008-07-27 Bean <bean123ch@gmail.com>
38083
38084 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
38085 smallino, as it's more descriptive, and i8count can be confused with
38086 the other field count.
38087 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
38088 inode type.
38089
a85cd5a0 380902008-07-27 Bean <bean123ch@gmail.com>
38091
38092 * commands/crc.c: New file.
38093
38094 * lib/crc.c: Likewise.
38095
38096 * include/grub/lib/crc.h: Likewise.
38097
38098 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
38099
38100 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
38101 (hexdump): Move this function to ...
38102
38103 * lib/hexdump.c: ... here.
38104
38105 * include/grub/hexdump.h: Renamed to ...
38106
38107 * include/grub/lib/hexdump.h: ... this.
38108
38109 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
38110
38111 * util/grub-editenv.c: Likewise.
38112
38113 * include/envblk.h: Renamed to ...
38114
38115 * include/lib/envblk.h: ... this.
38116
38117 * util/envblk.c: Renamed to ...
38118
38119 * lib/envblk.c: ... this.
38120
38121 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
38122 lib/hexdump.c.
38123 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
38124 (pkglib_MODULES): Add crc.mod.
38125 (hexdump_mod_SOURCES): Add lib/hexdump.c.
38126 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
38127 (crc_mod_SOURCES): New macro.
38128 (crc_mod_CFLAGS): Likewise.
38129 (crc_mod_LDFLAGS): Likewise.
38130
38131 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
38132
38133 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38134
38135 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38136
38137 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38138
38139 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38140
c298def0 381412008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 38142
38143 * commands/help.c: Include <grub/term.h>.
38144 (TERM_WIDTH): Removed. Updated all users.
38145
cc349fb3 381462008-07-27 Pavel Roskin <proski@gnu.org>
38147
38148 * util/getroot.c (find_root_device): Rephrase a comment to avoid
38149 spurious warnings about a comment within a comment.
38150
9051607e 381512008-07-25 Robert Millan <rmh@aybabtu.com>
38152
38153 * util/getroot.c (find_root_device): Skip devices that match
38154 /dev/dm-[0-9]. This lets the real device be found for any type of
38155 abstraction (LVM, EVMS, RAID..).
38156 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
38157 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
38158 device is found first, find_root_device() will now skip it.
38159
01453bfc 381602008-07-24 Pavel Roskin <proski@gnu.org>
38161
38162 * include/grub/types.h: Use __builtin_bswap32() and
38163 __builtin_bswap64() with gcc 4.3 and newer.
38164
6af9849f 381652008-07-24 Christian Franke <franke@computer.org>
38166
3a0fa256 38167 * util/i386/pc/grub-install.in: If `--debug' is specified,
38168 pass `--verbose' to grub-setup.
38169 Abort script if make_system_path_relative_to_its_root() fails.
38170
7810e747 381712008-07-24 Bean <bean123ch@gmail.com>
38172
38173 * configure.ac: Fixed a bug caused by the previous cygwin patch,
38174 variable `target_platform' should be `platform'.
38175
42290e17 381762008-07-24 Bean <bean123ch@gmail.com>
38177
51cc5193 38178 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 38179 (grub_png_init_fixed_block): New function.
38180 (grub_png_decode_image_data): Handle fixed huffman code compression.
38181
2a8a80e4 381822008-07-24 Bean <bean123ch@gmail.com>
38183
38184 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
38185 (grub_pe2elf_SOURCES): New macro.
38186 (CLEANFILES): Add grub-pe2elf.
38187
38188 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
38189 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
38190 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
38191 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
38192 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
38193 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
38194 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
38195 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
38196 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
38197 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
38198 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
38199 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
38200 (GRUB_PE32_DT_FUNCTION): Likewise.
38201 (GRUB_PE32_REL_I386_DIR32): Likewise.
38202 (GRUB_PE32_REL_I386_REL32): Likewise.
38203 (grub_pe32_symbol): New structure.
38204 (grub_pe32_reloc): Likewise.
38205
38206 * util/grub-pe2elf.c: New file.
38207
38208 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
38209 start symbol in non pc platform.
38210
38211 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
38212
38213 The following patches are from Christian Franke.
38214
38215 * include/grub/dl.h: Remove .previous, gas supports this only
38216 for ELF format.
38217
38218 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
38219 Remove .type, gas supports this only for ELF format.
38220
38221 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
38222 nullbytes in symbol table. This fixes an infinite loop if table is
38223 zero filled.
38224
38225 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
38226 TARGET_IMG_LDFLAGS and EXEEXT.
38227
38228 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
38229 TARGET_IMG_LDFLAGS_AC.
38230 (grub_CHECK_STACK_ARG_PROBE): New function.
38231
38232 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
38233
38234 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
38235
38236 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
38237 to set TARGET_IMG_LD* accordingly.
38238 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
38239 Add call to grub_CHECK_STACK_ARG_PROBE.
38240 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
38241
38242 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
38243
38244 * genmk.rb: Add EXEEXT to CLEANFILES.
38245
12ccdb75 382462008-07-23 Robert Millan <rmh@aybabtu.com>
38247
38248 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
38249 define the codes for arrows and lines used for the menu).
38250 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
38251 as well.
38252
38253 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
38254 fonts, because the latter are too slow.
38255
18eeaf04 382562008-07-21 Bean <bean123ch@gmail.com>
38257
38258 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
38259 a20. Run keyboard test last, as it will cause macbook to halt.
38260
b095e2ad 382612008-07-18 Pavel Roskin <proski@gnu.org>
38262
38263 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
38264 load foreign architecture modules correctly anyway. Keep
38265 support for loading host architecture modules, whether we
38266 compile them or not.
38267
737feb35 382682008-07-17 Pavel Roskin <proski@gnu.org>
38269
3f4ce737 38270 * configure.ac: Use -m32 or -m64 regardless of whether we had to
38271 change target_cpu. The compiler default can mismatch target_cpu
38272 in any case.
38273
4ad2d049 38274 * disk/efi/efidisk.c: Fix format warnings on x86_64.
38275 * kern/efi/efi.c: Likewise.
38276
f6130a12 38277 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
38278 target compiler is functional.
38279 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
38280 are set up.
38281
58393a2d 38282 * configure.ac: Default to efi platform for x86_64-apple. Allow
38283 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
38284 adjustments from the rest, only do them if target is not
38285 explicitly given. Merge other adjustments with the final sanity
38286 check. Remove an extraneous check for supported CPU. Be
38287 specific which CPU and which platform is not supported.
38288
737feb35 38289 * configure.ac: Default to pc platform for x86_64.
38290
546f966a 382912008-07-17 Robert Millan <rmh@aybabtu.com>
38292
38293 Partial LinuxBIOS -> Coreboot rename.
38294
38295 * conf/i386-linuxbios.rmk: Renamed to ...
38296 * conf/i386-coreboot.rmk: ... this.
38297 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
38298 * configure.ac: Accept "coreboot" as input platform (but maintain
38299 compatibility with "linuxbios").
38300 * include/grub/i386/linuxbios: Renamed to ...
38301 * include/grub/i386/coreboot: ... this.
38302
20011694 383032008-07-17 Bean <bean123ch@gmail.com>
38304
38305 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 38306 (appleldr_mod_SOURCE): New variable.
20011694 38307 (appleldr_mod_CFLAGS): Likewise.
38308 (appleldr_mod_LDFLAGS): Likewise.
38309 (pci_mod_SOURCES): Likewise.
38310 (pci_mod_CFLAGS): Likewise.
38311 (pci_mod_LDFLAGS): Likewise.
38312 (lspci_mod_SOURCES): Likewise.
38313 (lspci_mod_CFLAGS): Likewise.
38314 (lspci_mod_LDFLAGS): Likewise.
38315
38316 * conf/x86_64-efi.rmk: New file.
38317
38318 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
38319 macro.
38320 (grub_efidisk_write): Likewise.
38321
38322 * include/efi/api.h (efi_call_0): New macro.
38323 (efi_call_1): Likewise.
38324 (efi_call_2): Likewise.
38325 (efi_call_3): Likewise.
38326 (efi_call_4): Likewise.
38327 (efi_call_5): Likewise.
38328 (efi_call_6): Likewise.
38329
38330 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
38331 grub_rescue_cmd_chainloader.
38332
38333 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
38334 (grub_pe32_optional_header): Change some fields based on i386 or
38335 x86_64 platform.
38336 (GRUB_PE32_PE32_MAGIC): Likewise.
38337
38338 * include/grub/efi/uga_draw.h: New file.
38339
38340 * include/grub/elf.h (STN_ABS): New constant.
38341 (R_X86_64_NONE): Relocation constant for x86_64.
38342 (R_X86_64_64): Likewise.
38343 (R_X86_64_PC32): Likewise.
38344 (R_X86_64_GOT32): Likewise.
38345 (R_X86_64_PLT32): Likewise.
38346 (R_X86_64_COPY): Likewise.
38347 (R_X86_64_GLOB_DAT): Likewise.
38348 (R_X86_64_JUMP_SLOT): Likewise.
38349 (R_X86_64_RELATIVE): Likewise.
38350 (R_X86_64_GOTPCREL): Likewise.
38351 (R_X86_64_32): Likewise.
38352 (R_X86_64_32S): Likewise.
38353 (R_X86_64_16): Likewise.
38354 (R_X86_64_PC16): Likewise.
38355 (R_X86_64_8): Likewise.
38356 (R_X86_64_PC8): Likewise.
38357
38358 * include/grub/i386/efi/pci.h: New file.
38359
38360 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
38361 Change it value based on platform.
38362 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
38363 (GRUB_E820_RAM): Likewise.
38364 (GRUB_E820_RESERVED): Likewise.
38365 (GRUB_E820_ACPI): Likewise.
38366 (GRUB_E820_NVS): Likewise.
38367 (GRUB_E820_EXEC_CODE): Likewise.
38368 (GRUB_E820_MAX_ENTRY): Likewise.
38369 (grub_e820_mmap): New structure.
38370 (linux_kernel_header): Change the efi field according to different
38371 kernel version, also field from linux_kernel_header.
38372
38373 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
38374
38375 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
38376 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
38377 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
38378 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
38379 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
38380 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
38381 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
38382 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
38383 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
38384 (GRUB_PCI_ADDR_IO_MASK): Likewise.
38385
38386 * include/grub/x86_64/efi/kernel.h: New file.
38387
38388 * include/grub/x86_64/efi/loader.h: Likewise.
38389
38390 * include/grub/x86_64/efi/machine.h: Likewise.
38391
38392 * include/grub/x86_64/efi/pci.h: Likewise.
38393
38394 * include/grub/x86_64/efi/time.h: Likewise.
38395
38396 * include/grub/x86_64/linux.h: Likewise.
38397
38398 * include/grub/x86_64/setjmp.h: Likewise.
38399
38400 * include/grub/x86_64/time.h: Likewise.
38401
38402 * include/grub/x86_64/types.h: Likewise.
38403
38404 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
38405 GRUB_TARGET_SIZEOF_VOID_P.
38406
38407 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
38408 (grub_efi_locate_handle): Likewise.
38409 (grub_efi_open_protocol): Likewise.
38410 (grub_efi_set_text_mode): Likewise.
38411 (grub_efi_stall): Likewise.
38412 (grub_exit): Likewise.
38413 (grub_reboot): Likewise.
38414 (grub_halt): Likewise.
38415 (grub_efi_exit_boot_services): Likewise.
38416 (grub_get_rtc): Likewise.
38417
38418 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
38419 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
38420 (grub_efi_allocate_pages): Wrap efi calls.
38421 (grub_efi_free_pages): Wrap efi calls.
38422 (grub_efi_get_memory_map): Wrap efi calls.
38423
38424 * kern/x86_64/dl.c: New file.
38425
38426 * kern/x86_64/efi/callwrap.S: Likewise.
38427
38428 * kern/x86_64/efi/startup.S: Likewise.
38429
38430 * loader/efi/appleloader.c: Likewise.
38431
38432 * loader/efi/chainloader.c (cmdline): New variable.
38433 (grub_chainloader_unload): Wrap efi calls.
38434 (grub_chainloader_boot): Likewise.
38435 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
38436 command line.
38437
38438 * loader/efi/chainloader_normal.c (chainloader_command):
38439 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
38440 command line.
38441
38442 * loader/i386/efi/linux.c (allocate_pages): Change allocation
38443 method.
38444 (grub_e820_add_region): New function.
38445 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
38446 booting.
38447 (grub_find_video_card): New function.
38448 (grub_linux_setup_video): New function.
38449 (grub_rescue_cmd_linux): Probe for video information.
38450
38451 * normal/x86_64/setjmp.S: New file.
38452
38453 * term/efi/console.c (map_char): New function.
38454 (grub_console_putchar): Map unicode char.
38455 (grub_console_checkkey): Wrap efi calls.
38456 (grub_console_getkey): Likewise.
38457 (grub_console_getwh): Likewise.
38458 (grub_console_gotoxy): Likewise.
38459 (grub_console_cls): Likewise.
38460 (grub_console_setcolorstate): Likewise.
38461 (grub_console_setcursor): Likewise.
38462
38463 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
38464
59652a20 384652008-07-16 Pavel Roskin <proski@gnu.org>
38466
ef294055 38467 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
38468 format strings.
38469
59652a20 38470 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
38471 pointer, not an integer. This fixes a warning and prevents
38472 precision loss on 64-bit systems.
38473 (relocate_addresses): Remove unneeded cast.
38474
afc3b5d7 384752008-07-15 Pavel Roskin <proski@gnu.org>
38476
506b2b3e 38477 * kern/i386/ieee1275/init.c: Include grub/cache.h.
38478
62ead89c 38479 * term/ieee1275/ofconsole.c: Disable code unused on i386.
38480
c4cd51d7 38481 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
38482 Fix comparison between signed and unsigned.
38483
0d3d8f28 38484 * include/grub/i386/ieee1275/console.h: Declare
38485 grub_console_init() and grub_console_fini().
38486
8804b286 38487 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
38488 It's empty and unused.
38489
ee01cf35 38490 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
38491 beginning to avoid warnings with some compilers.
38492
afc3b5d7 38493 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
38494 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
38495
e4e8eaa5 384962008-07-14 Pavel Roskin <proski@gnu.org>
38497
407aceb4 38498 * kern/env.c (grub_register_variable_hook): Don't copy empty
38499 string, it leaks memory. Pass "" to grub_env_set(), it should
38500 handle constant strings.
38501
e4e8eaa5 38502 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
38503 * commands/cmp.c (grub_cmd_cmp): Likewise.
38504 * kern/dl.c (grub_dl_flush_cache): Likewise.
38505 (grub_dl_load_core): Likewise.
38506 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
38507 (grub_elf64_load_phdrs): Likewise.
38508
d4e2dad3 385092008-07-13 Pavel Roskin <proski@gnu.org>
38510
38511 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
38512 between signed and unsigned.
38513 (LzmaEnc_Finish): Fix warning about an unused parameter.
38514
aa24b516 385152008-07-13 Bean <bean123ch@gmail.com>
38516
38517 * Makefile.in (enable_lzo): New rule.
38518
38519 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
38520
38521 * configure.ac (ENABLE_LZO): New option --enable-lzo.
38522
38523 * boot/i386/pc/lnxboot.S: #include <config.h>.
38524
38525 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 38526 its value according to the compression algorithm used, lzo or lzma.
aa24b516 38527
38528 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
38529 compression algorithm according to configure macro.
38530
38531 * kern/i386/pc/startup.S (codestart): Likewise.
38532
38533 * kern/i386/pc/lzma_decode.S: New file.
38534
38535 * include/grub/lib/LzFind.h: Likewise.
38536
38537 * include/grub/lib/LzHash.h: Likewise.
38538
38539 * include/grub/lib/LzmaDec.h: Likewise.
38540
38541 * include/grub/lib/LzmaEnc.h: Likewise.
38542
38543 * include/grub/lib/LzmaTypes.h: Likewise.
38544
38545 * lib/LzFind.c: Likewise.
38546
38547 * lib/LzmaDec.c: Likewise.
38548
38549 * lib/LzmaEnc.c: Likewise.
38550
4ae821ac 385512008-07-13 Bean <bean123ch@gmail.com>
38552
38553 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
38554 (grub_ext4_extent_header): New structure.
38555 (grub_ext4_extent): Likewise.
38556 (grub_ext4_extent_idx): Likewise.
38557 (grub_ext4_find_leaf): New function.
38558 (grub_ext2_read_block): Handle extents.
38559
9a745147 385602008-07-12 Robert Millan <rmh@aybabtu.com>
38561
38562 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
38563
d49a4cf6 385642008-07-11 Robert Millan <rmh@aybabtu.com>
38565
38566 * util/grub.d/40_custom.in: New file. Example on how to add custom
38567 entries to /etc/grub.d.
38568 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
38569 40_custom (implicitly, by merging all the grub.d rules).
38570
947414b4 385712008-07-11 Pavel Roskin <proski@gnu.org>
38572
0059cf6f 38573 * commands/read.c (grub_getline): Fix invalid memory access.
38574 Don't add newline to the variable value.
38575
947414b4 38576 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
38577 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
38578 (serial_hw_get_port): Check validity of the port number.
38579 (grub_cmd_serial): Check return value of serial_hw_get_port().
38580
62a02d00 385812008-07-07 Pavel Roskin <proski@gnu.org>
38582
38583 * boot/i386/pc/diskboot.S (notification_string): Replace
38584 "Loading kernel" with just "loading". This is shorter, less
38585 confusing and saves a few bytes for possible future changes.
38586
3e5581b0 385872008-07-05 Pavel Roskin <proski@gnu.org>
38588
ea387a48 38589 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
38590 size for ATAPI devices, they are undefined. Output sector
38591 number in decimal form.
38592
3e5581b0 38593 * disk/ata.c: Use named constants for status bits.
38594
fdecb8fd 385952008-07-04 Pavel Roskin <proski@gnu.org>
38596
bcd35b90 38597 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
38598 grub_addr_t before casting it to the void pointer to fix a
38599 warning. Non-addressable regions are discarded earlier.
38600 (grub_arch_modules_addr): Cast _end to grub_addr_t.
38601 * kern/i386/linuxbios/table.c: Include grub/misc.h.
38602 (check_signature): Don't shadow table_header.
38603 (grub_linuxbios_table_iterate): Cast numeric constants to
38604 grub_linuxbios_table_header_t.
38605 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
38606 grub_stop().
38607
af58ab3d 38608 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
38609 prevent warnings.
38610
1759aa57 38611 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
38612 pointer, which can cause warnings. Support 64-bit addresses.
38613
fdecb8fd 38614 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
38615 of sizeof(long). This fixes PowerPC image generation on x86_64.
38616
8516d2a8 386172008-07-04 Robert Millan <rmh@aybabtu.com>
38618
38619 This fixes a performance issue when pc & gpt partmap iterators
38620 didn't abort iteration even after our hook found what it was
fe987087 38621 looking for (often causing expensive probes of non-existent drives).
8516d2a8 38622
38623 Some callers relied on previous buggy behaviour, since they would
34c44600 38624 raise an error when their own hooks caused early abortion of its
8516d2a8 38625 iteration.
38626
38627 * kern/device.c (grub_device_open): Improve error message.
38628 * disk/lvm.c (grub_lvm_open): Likewise.
38629 * disk/raid.c (grub_raid_open): Likewise.
38630
38631 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
38632 when hook requests it, independently of grub_errno.
38633 (pc_partition_map_probe): Do not fail when find_func() caused
38634 early abortion of pc_partition_map_iterate().
38635
38636 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
38637 when hook requests it, independently of grub_errno.
38638 (gpt_partition_map_probe): Do not fail when find_func() caused
38639 early abortion of gpt_partition_map_iterate().
38640
38641 * kern/partition.c (grub_partition_iterate): Abort parent iteration
38642 when hook requests it, independently of grub_errno. Do not fail when
38643 part_map_iterate_hook() caused early abortion of p->iterate().
38644
38645 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
38646 when grub_partition_iterate() returned with non-zero.
38647
277d0de9 386482008-07-03 Pavel Roskin <proski@gnu.org>
38649
38650 * disk/ata.c (grub_ata_pio_write): Check status before writing,
38651 like we do in grub_ata_pio_read().
38652 (grub_ata_readwrite): Always write individual sectors. Fix the
38653 sector count for the remainder.
38654 (grub_ata_write): Enable writing to ATA devices. Correctly
38655 report error for ATAPI devices.
38656
d4c9b428 386572008-07-02 Pavel Roskin <proski@gnu.org>
38658
e43fc690 38659 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
38660 warning.
38661
f707af42 38662 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
38663 for every read sector, we already increment it for the whole
38664 batch. This fixes reading more than 256 sectors at once.
38665
11e16b15 38666 * util/grub-editenv.c (cmd_info): Cast argument to long
38667 explicitly. ptrdiff_t reduces to int on i386.
38668
cbabfdd4 38669 * util/grub-editenv.c (main): Be specific which parameter is
38670 missing.
38671
b8fbce0a 38672 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
38673 (memdisk): Make memdisk_orig_addr a pointer.
38674
c9c8e606 38675 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
38676 for file offsets, use grub_off_t instead. Fix printf format
38677 warnings.
38678
ca62e598 38679 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
38680 there. Real unexpected warnings should not drown in the noise
38681 about known problems.
38682
ce8d1766 38683 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
38684 grub_disk_addr_t for memory addresses.
38685
00c7a56a 38686 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
38687 explicitly to fix a warning.
38688
08d3ef09 38689 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
38690
cb71ba20 38691 * Makefile.in (MODULE_LDFLAGS): New variable.
38692 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
38693 the linker accepts --build-id=none.
38694 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
38695 MODULE_LDFLAGS.
38696 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
38697
d4c9b428 38698 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
38699 those in Linux XFS code. Provide a way to access 64-bit parent
38700 inode.
38701 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
38702 the end of struct grub_xfs_dir_header.
38703
d4156eee 387042008-07-02 Bean <bean123ch@gmail.com>
38705
38706 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
38707 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
38708 and GRUB_IEEE1275_FLAG_NO_ANSI.
38709
38710 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
38711 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
38712 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
38713
38714 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
38715 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
38716
38717 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
38718 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
38719
38720 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
38721 esc sequence on non ANSI terminal.
38722 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
38723
38724 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
38725 beginning of file.
38726
2270f77b 387272008-07-02 Bean <bean123ch@gmail.com>
38728
38729 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
38730 (grub_editenv_SOURCES): New variable.
38731 (pkglib_MODULES): Add loadenv.mod.
38732 (loadenv_mod_SOURCES): New variable.
38733 (loadenv_mod_CFLAGS): Likewise.
38734 (loadenv_mod_LDFLAGS): Likewise.
38735
38736 * include/grub/envblk.h: New file.
38737
38738 * util/envblk.c: New file.
38739
38740 * util/grub-editenv.c: New file.
38741
38742 * commands/loadenv.c: New file.
38743
0e9e51ec 387442008-07-01 Pavel Roskin <proski@gnu.org>
38745
d89b7634 38746 * include/multiboot2.h (struct multiboot_tag_module): Use char,
38747 not unsigned char. This fixes warnings and is consistent with
38748 other tags.
38749
bf1835b1 38750 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
38751
8222a04b 38752 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
38753
6a42d99d 38754 * term/tparm.c (analyze): Always set *popcount.
38755
10b159d1 38756 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
38757 cast to fix a warning.
38758
b8789f6c 38759 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
38760 cast to suppress a warning.
38761
29d7e38a 38762 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
38763 grub_fshelp_read_file() expects.
38764
f341f669 38765 * fs/fat.c: Fix UUID calculation on big-endian systems. We
38766 write uuid as a 32-bit value in CPU byte order, so declare and
38767 use it as such.
38768
0e9e51ec 38769 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
38770 long if the format specifier expects it.
38771 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
38772 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38773 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
38774 long to fix a warning.
38775 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
38776 grub_dprintf() arguments to fix warnings.
38777
3aefa857 387782008-06-30 Pavel Roskin <proski@gnu.org>
38779
56c7668b 38780 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
38781 install_bsd_part immediately before core.img is embedded or
38782 modified on disk. This fixes core.img verification if core.img
38783 cannot be embedded.
38784
3aefa857 38785 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
38786 core_path to calculate the blocklist.
38787 Patch from Javier Martín <lordhabbit@gmail.com>
38788
5444088d 387892008-06-29 Robert Millan <rmh@aybabtu.com>
38790
38791 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
38792 block to disk block.
38793 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
38794 Patch from Niels Böhm <bitbucket@arcor.de>
38795
674835c8 387962008-06-29 Robert Millan <rmh@aybabtu.com>
38797
38798 * util/update-grub_lib.in (font_path): Search for fonts in
38799 /boot/grub first, which is more likely to be readable (we aren't
38800 deciding where fonts live, just looking for them).
38801
f527dbc8 388022008-06-26 Pavel Roskin <proski@gnu.org>
38803
6c2d8df6 38804 * util/biosdisk.c (read_device_map): Don't leave dead map
38805 entries for devices failing stat() check.
38806
f527dbc8 38807 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
38808 core_path_dev for the core.img path on the target device.
38809
aebe3d13 388102008-06-26 Robert Millan <rmh@aybabtu.com>
38811
38812 * disk/fs_uuid.c: New file.
38813 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
38814 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
38815 (fs_uuid_mod_LDFLAGS): New variables.
38816 * include/grub/disk.h (grub_disk_dev_id): Add
38817 `GRUB_DISK_DEVICE_UUID_ID'.
38818 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
38819 implement iterate().
38820
37aaf354 388212008-06-26 Robert Millan <rmh@aybabtu.com>
38822
38823 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
38824 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
38825 Linux image includes no initrd.
38826
25ff262a 388272008-06-21 Javier Martín <lordhabbit@gmail.com>
38828
38829 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
38830 call to resolve the core image location that effectively appended the
38831 name twice.
38832
76a2bd44 388332008-06-21 Robert Millan <rmh@aybabtu.com>
38834
38835 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
38836 call from here ...
38837
38838 * util/grub.d/10_hurd.in: ... to here ...
38839 * util/grub.d/10_linux.in: ... and here.
38840
650e1c79 388412008-06-19 Robert Millan <rmh@aybabtu.com>
38842
fe987087 38843 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 38844 after it has been set by grub_machine_set_prefix().
38845
6ce63911 388462008-06-19 Robert Millan <rmh@aybabtu.com>
38847
38848 * commands/search.c (search_label, search_fs_uuid, search_file): Print
38849 search result when not saving to variable, not the other way around.
38850 When saving to variable, abort iteration as soon as a match is found.
38851
73940cec 388522008-06-19 Robert Millan <rmh@aybabtu.com>
38853
38854 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
38855 check for partition that provides /boot/grub. Its logic is flawed,
38856 as it prevents prepare_grub_to_access_device() from being called
38857 multiple times.
38858
3c62a39d 388592008-06-19 Robert Millan <rmh@aybabtu.com>
38860
38861 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
38862 "insmod" command directly when abstraction modules are needed,
fe987087 38863 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 38864 since it had already been processed).
38865
47395a42 388662008-06-19 Pavel Roskin <proski@gnu.org>
38867
38868 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
38869 changed. This is needed in case GRUB_LIBDIR changes.
38870 * conf/i386-ieee1275.rmk: Likewise.
38871 * conf/i386-linuxbios.rmk: Likewise.
38872 * conf/i386-pc.rmk: Likewise.
38873 * conf/powerpc-ieee1275.rmk: Likewise.
38874
a145ac2d 388752008-06-18 Pavel Roskin <proski@gnu.org>
38876
38877 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
38878 kernel_elf_symlist.c to symlist.c for consistency with other
38879 architectures. Update all users.
38880 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38881
7847c51e 388822008-06-18 Robert Millan <rmh@aybabtu.com>
38883
38884 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
38885 it in prefix.
38886
38887 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
38888 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
38889 a RAID device, run setup() for all members independently on whether
38890 LVM abstraction is being used.
38891 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
38892 If grub-mkimage has set `*install_dos_part == -2', don't override this
38893 value.
38894 Perform *install_dos_part adjustments independently on whether
38895 we're embedding or not.
38896 Clarify error message when image is too big for embedding.
38897 Remove duplicate *install_dos_part stanza.
38898
b23e5644 388992008-06-17 Robert Millan <rmh@aybabtu.com>
38900
38901 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
38902 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
38903 variables.
38904 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
38905 values in grub_ofconsole_normal_color and
38906 grub_ofconsole_highlight_color (they're not directly related to
38907 background and foreground).
38908 (grub_ofconsole_setcolorstate): Extract background and foreground
38909 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
38910
0aac2f79 389112008-06-17 Robert Millan <rmh@aybabtu.com>
38912
38913 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
38914 /boot/grub for the check in last commit, not /boot (they could be
38915 different partitions).
38916
3cca7ef3 389172008-06-16 Robert Millan <rmh@aybabtu.com>
38918
38919 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
38920 asked to setup access for the same partition that provides /boot,
38921 don't bother using UUIDs since our root already has the value we
38922 want.
38923
347396d8 389242008-06-16 Robert Millan <rmh@aybabtu.com>
38925
38926 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
38927 I2O devices.
38928 Patch from Sven Mueller <sven@debian.org>.
38929
991477f8 389302008-06-16 Robert Millan <rmh@aybabtu.com>
38931
38932 * util/update-grub.in: Check for $EUID instead of $UID.
38933 Reported by Vincent Zweije.
38934
d31a32a1 389352008-06-16 Bean <bean123ch@gmail.com>
38936
fe987087 38937 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 38938 (grub_ext2_read_block): Likewise.
38939 (grub_ext2_read_inode): Likewise.
38940 (grub_ext2_mount): Likewise.
38941 (grub_ext2_close): Likewise.
38942 (grub_ext3_get_journal): Removed.
38943
fe987087 38944 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 38945 (grub_reiserfs_read_symlink): Likewise.
38946 (grub_reiserfs_mount): Likewise.
38947 (grub_reiserfs_open): Likewise.
38948 (grub_reiserfs_read): Likewise.
38949 (grub_reiserfs_close): Likewise.
38950 (grub_reiserfs_get_journal): Removed.
38951
38952 * fs/fshelp.c (grub_fshelp_read): Removed.
38953 (grub_fshelp_map_block): Likewise.
38954
38955 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
38956 (grub_fshelp_journal): Likewise.
38957 (grub_fshelp_read): Likewise.
38958 (grub_fshelp_map_block): Likewise.
38959
3540a760 389602008-06-16 Pavel Roskin <proski@gnu.org>
38961
38962 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
38963 floating point anymore.
38964 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
38965
95614c84 389662008-06-15 Pavel Roskin <proski@gnu.org>
38967
38968 * commands/ls.c (grub_ls_list_files): Use integer calculations
38969 for human readable format, avoid floating point use.
38970 * kern/misc.c (grub_ftoa): Remove.
38971 (grub_vsprintf): Remove floating point support.
38972
50465dd6 389732008-06-15 Robert Millan <rmh@aybabtu.com>
38974
fe6b695a 38975 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 38976 devices.
38977 Reported by Max Vozeler.
38978
a9207284 389792008-06-15 Robert Millan <rmh@aybabtu.com>
38980
38981 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
38982 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
38983 skipped later.
38984 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
38985 the beginning of the prefix.
38986
38987 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
38988 It is assumed that if we have a memdisk, grub-mkimage has set
38989 grub_prefix to include the "(memdisk)" drive in it.
38990
a7cbd45a 389912008-06-15 Robert Millan <rmh@aybabtu.com>
38992
38993 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
38994 Initialize keyboard controller after registering the terminal, so that
38995 grub_printf() can be called from grub_keyboard_controller_init().
38996
21cf716a 389972008-06-15 Robert Millan <rmh@aybabtu.com>
38998
38999 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
39000 extent-btree which is written as big endian on disk.
39001 Reported by Alain Greppin <al@chilibi.org>.
39002
23a64d8e 390032008-06-14 Robert Millan <rmh@aybabtu.com>
39004
39005 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
39006 * util/i386/pc/grub-install.in (modules): Likewise.
39007
d687651c 390082008-06-13 Pavel Roskin <proski@gnu.org>
39009
39010 * commands/ls.c (grub_ls_list_files): Fix format warnings.
39011
dfe9ddd4 390122008-06-13 Bean <bean123ch@gmail.com>
39013
39014 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
39015
39016 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
39017
39018 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
39019 to indicate sparse block.
39020
16ae7781 390212008-06-12 Pavel Roskin <proski@gnu.org>
39022
e6d1a308 39023 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
39024 number, grub_fshelp_read() does it for us.
39025
16ae7781 39026 * fs/fshelp.c (grub_fshelp_read): New function. Implement
39027 linear disk read with journal translation.
39028 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
39029 * include/grub/fshelp.h: Declare grub_fshelp_read().
39030
40fd3a2b 390312008-06-09 Pavel Roskin <proski@gnu.org>
39032
39033 * fs/minix.c (grub_minix_mount): Handle error reading
39034 superblock.
39035
f5679726 390362008-06-08 Robert Millan <rmh@aybabtu.com>
39037
39038 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
39039 don't append the RAID prefix afterwards.
39040 Reported by Clint Adams.
39041
ce525529 390422008-06-08 Robert Millan <rmh@aybabtu.com>
39043
39044 Based on description from Pavel:
39045 * kern/disk.c (grub_disk_check_range): Rename to ...
39046 (grub_disk_adjust_range): ... this. Add a comment explaining the
39047 tasks performed by this function.
39048
ad4936a0 390492008-06-08 Robert Millan <rmh@aybabtu.com>
39050
39051 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
39052 `num_serial' (for consistency with other variables).
39053 (struct grub_ntfs_data): Add `uuid' member.
39054 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
39055 (grub_ntfs_uuid): New function.
39056 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
39057
dc20b0f9 390582008-06-07 Pavel Roskin <proski@gnu.org>
39059
39060 * util/biosdisk.c (open_device): Revert last change to the
39061 function, it broke installation. The sector needs to be
39062 different dependent on which device is opened.
39063
c5e3cfba 390642008-06-06 Robert Millan <rmh@aybabtu.com>
39065
39066 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
39067 rest of GRUB, and breakage doesn't happen if its value were modified.
39068
39069 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39070 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
39071 a constant (same value).
39072 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
39073 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
39074
26a1f8c4 390752008-06-06 Robert Millan <rmh@aybabtu.com>
39076
39077 * util/biosdisk.c (open_device): Do not modify sector offset when
39078 accessing a partition. kern/disk.c already handles this for us.
39079
25d6b327 390802008-06-06 Robert Millan <rmh@aybabtu.com>
39081
39082 * util/grub-emu.c (grub_machine_init): Move code in this function from
39083 here ...
39084 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
39085 segfault in case grub_printf() is called).
39086
39087 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
39088 grub_probe. Update all users not to explicitly add it again.
39089 (grub_device): New variable; contains corresponding device for grubdir.
39090 (fs_module, partmap_module, devabstraction_module): Pass
39091 `--device ${grub_device}' to grub_probe to avoid traversing /dev
39092 every time.
39093
9ece62fb 390942008-06-05 Robert Millan <rmh@aybabtu.com>
39095
39096 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
39097 is found, print it (same layout as with labels).
39098
1ad36d37 390992008-06-04 Robert Millan <rmh@aybabtu.com>
39100
39101 * util/biosdisk.c (get_drive): Rename to ...
39102 (find_grub_drive): ... this. Update all users.
39103
39104 (get_os_disk): Rename to ...
39105 (convert_system_partition_to_system_disk): ... this. Update all users.
39106
39107 (find_drive): Rename to ...
39108 (find_system_device): ... this. Update all users.
39109
e6a30859 391102008-06-04 Robert Millan <rmh@aybabtu.com>
39111
39112 * util/biosdisk.c (get_os_disk): Handle IDA devices.
39113 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39114 (make_device_map): Likewise.
39115
00c108a4 391162008-06-01 Robert Millan <rmh@aybabtu.com>
39117
39118 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
39119 before dereferencing it.
39120
39121 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
39122 union with fat12/fat16-specific ones. Add some new fields, including
39123 `num_serial' for both versions.
39124 (struct grub_fat_data): Add `uuid' member.
39125 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
39126 names. Initialize `data->uuid' using `num_serial'.
39127 (grub_fat_uuid): New function.
39128 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
39129
39130 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
39131 (grub_reiserfs_uuid): New function.
39132 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
39133 member.
39134
39135 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
39136 (grub_xfs_uuid): New function.
39137 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
39138
1385c5bb 391392008-06-01 Robert Millan <rmh@aybabtu.com>
39140
39141 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
39142 code that is backward compatible with pre-uuid search command.
39143
c682dfd7 391442008-05-31 Robert Millan <rmh@aybabtu.com>
39145
39146 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
39147 floppies after everything else, to ensure floppy drive isn't accessed
39148 unnecessarily (patch from Bean).
39149
b7db5d47 391502008-05-31 Robert Millan <rmh@aybabtu.com>
39151
39152 * commands/search.c (search_label, search_fs_uuid, search_file): Do
39153 not print device names when we were asked to set a variable.
39154
6e037aa9 391552008-05-31 Robert Millan <rmh@aybabtu.com>
39156
39157 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
39158 using "cursor-on" and "cursor-off" commands (understood at least by
39159 the Open Firmware flavour on OLPC).
39160
41305bc8 391612008-05-31 Michael Gorven <michael@gorven.za.net>
39162
39163 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
39164 on and off sequences.
39165
69ba137e 391662008-05-31 Robert Millan <rmh@aybabtu.com>
39167
39168 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
39169 * util/update-grub.in: Likewise.
39170
520ae21b 391712008-05-30 Pavel Roskin <proski@gnu.org>
39172
39173 * util/biosdisk.c (linux_find_partition): Simplify logic and
39174 make the code more universal. Keep special processing for
39175 devfs, but use a simple rule for all other devices. If the
39176 device ends with a number, append 'p' and the partition number.
39177 Otherwise, append only the partition number.
39178
5786569b 391792008-05-30 Robert Millan <rmh@aybabtu.com>
39180
39181 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
39182 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
39183 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
39184 the `root' parameter to Linux.
39185
51500452 391862008-05-30 Robert Millan <rmh@aybabtu.com>
39187
39188 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
39189 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
39190 --fs_uuid with --fs-uuid.
39191 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
39192 all filesystems support them).
39193
811d3878 391942008-05-30 Robert Millan <rmh@aybabtu.com>
39195
39196 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 39197 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 39198
cab63c95 391992008-05-30 Robert Millan <rmh@aybabtu.com>
39200
39201 * util/grub.d/00_header.in: Remove obsolete comment referencing
39202 convert_system_path_to_grub_path().
39203 * util/update-grub.in: Likewise.
39204 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
39205 (convert_system_path_to_grub_path): Add a warning message explaining
39206 that this function is deprecated. Rely on is_path_readable_by_grub()
39207 for the readability checks.
39208 (font_path): Use is_path_readable_by_grub() for the readability
39209 check rather than convert_system_path_to_grub_path().
39210
972e2f7a 392112008-05-30 Robert Millan <rmh@aybabtu.com>
39212
39213 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
39214 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
39215 converting it first.
39216 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
39217 grub.cfg for access to font file, and afterwards call it again to set
39218 the root device.
39219
62191274 392202008-05-30 Robert Millan <rmh@aybabtu.com>
39221
39222 * commands/search.c (options): Add --fs_uuid option.
39223 (search_fs_uuid): New function.
39224 (grub_cmd_search): Fix --set argument passing.
39225 Use search_fs_uuid() when requested via --fs_uuid.
39226 (grub_search_init): Update help message.
39227 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
39228 and redeclare it as an array of 16-bit words.
39229 (grub_ext2_uuid): New function.
39230 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
39231 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
39232 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
39233 (GRUB_DEVICE_BOOT_UUID): New variables.
39234 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
39235 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
39236 whenever possible.
39237 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
39238 just assume `root' variable has the right value.
39239 * util/grub.d/10_linux.in: Likewise.
39240 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
39241 via PRINT_FS_UUID.
39242 (main): Recognise `-t fs_uuid' argument.
39243
01b73ec8 392442008-05-30 Robert Millan <rmh@aybabtu.com>
39245
39246 * util/biosdisk.c (map): Redefine structure to hold information
39247 about GRUB drive name.
fe6b695a 39248 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 39249 drive names.
39250 (call_hook): Remove.
39251 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
39252 member. Assume drive has partitions.
39253 (grub_util_biosdisk_open): Access device names via `.device' struct
39254 member.
39255 (open_device): Likewise.
39256 (find_drive): Likewise.
39257 (read_device_map): Adjust map[] usage to match the new struct
39258 definition. Don't check for duplicates (still possible, but not cheap
39259 anymore).
39260 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
39261 (make_device_name): Remove assumption of BIOS-like drive names.
39262
22f16596 392632008-05-30 Pavel Roskin <proski@gnu.org>
39264
39265 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
39266 compiling execute.c doesn't need grub_script.tab.h anymore.
39267 (normal/command.c_DEPENDENCIES): Likewise.
39268 (normal/function.c_DEPENDENCIES): Likewise.
39269 * conf/i386-ieee1275.rmk: Likewise.
39270 * conf/i386-linuxbios.rmk: Likewise.
39271 * conf/i386-pc.rmk: Likewise.
39272 * conf/powerpc-ieee1275.rmk: Likewise.
39273 * conf/sparc64-ieee1275.rmk: Likewise.
39274
528ad8f2 392752008-05-29 Pavel Roskin <proski@gnu.org>
39276
d1dff95d 39277 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
39278 when scanning metadata for volume group name.
39279
528ad8f2 39280 * include/grub/script.h: Don't include grub_script.tab.h. It's
39281 a generated file, which may only be included from the files with
39282 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
39283 use union YYSTYPE, as the later allows forward declaration.
39284 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
39285
47248e08 392862008-05-29 Robert Millan <rmh@aybabtu.com>
39287
39288 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
39289 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
39290 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
39291 (grub_console_checkkey): Add grub_dprintf() call to report unknown
39292 scan codes.
39293
ee632529 392942008-05-29 Robert Millan <rmh@aybabtu.com>
39295
39296 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
39297 control key combinations.
39298
eee96e08 392992008-05-29 Robert Millan <rmh@aybabtu.com>
39300
39301 * util/powerpc/ieee1275/grub-install.in: Move from here ...
39302 * util/ieee1275/grub-install.in: ... to here.
39303 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
39304 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
39305 (grub_install_SOURCES): Likewise.
39306
da9a6a94 393072008-05-29 Robert Millan <rmh@aybabtu.com>
39308
39309 * fs/affs.c: Update copyright year.
39310 * fs/ext2.c: Likewise.
39311 * fs/fshelp.c: Likewise.
39312 * fs/hfsplus.c: Likewise.
39313 * fs/ntfs.c: Likewise.
39314 * fs/xfs.c: Likewise.
39315 * include/grub/fshelp.h: Likewise.
39316 * util/grub-mkdevicemap.c: Likewise.
39317
12e65f3a 393182008-05-28 Robert Millan <rmh@aybabtu.com>
39319
39320 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
39321 might need to be fatfs to support some firmware implementations
39322 (e.g. OFW or EFI).
39323
23023641 393242008-05-28 Robert Millan <rmh@aybabtu.com>
39325
39326 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
39327 devices.
39328 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39329 (make_device_map): Likewise.
39330
887d2619 393312008-05-20 Bean <bean123ch@gmail.com>
39332
39333 * fs/fshelp.c (grub_fshelp_map_block): New function.
39334 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
39335 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
39336
39337 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
39338 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
39339 (grub_fshelp_journal): New structure.
39340 (grub_fshelp_map_block): New function prototype.
39341 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
39342 (grub_fshelp_map_block): Likewise.
39343
39344 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
39345 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
39346 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
39347 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
39348 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
39349 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
39350 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
39351 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
39352 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
39353 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
39354 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
39355 (grub_ext2_sblock): New members for journal support.
39356 (grub_ext3_journal_header): New structure.
39357 (grub_ext3_journal_revoke_header): Likewise.
39358 (grub_ext3_journal_block_tag): Likewise.
39359 (grub_ext3_journal_sblock): Likewise.
39360 (grub_fshelp_node): New members logfile and journal.
39361 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
39362 grub_fshelp_map_block to get real block number.
39363 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
39364 number.
39365 (grub_ext2_read_inode): Likewise.
39366 (grub_ext3_get_journal): New function.
39367 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
39368 (grub_ext2_close): Release memory used by journal.
39369
39370 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
39371 (REISERFS_MAGIC_DESC_BLOCK): New macro.
39372 (grub_reiserfs_transaction_header): Renamed to
39373 grub_reiserfs_description_block, replace field data with real_blocks.
39374 (grub_reiserfs_commit_block): New structure.
39375 (grub_reiserfs_data): New member journal.
39376 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
39377 number.
39378 (grub_reiserfs_read_symlink): Likewise.
39379 (grub_reiserfs_iterate_dir): Likewise.
39380 (grub_reiserfs_open): Likewise.
39381 (grub_reiserfs_read): Likewise.
39382 (grub_reiserfs_get_journal): New function.
39383 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
39384 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
39385 using grub_reiserfs_get_journal.
39386 (grub_reiserfs_close): Release memory used by journal.
39387
39388 * fs/affs.c (grub_affs_read_block): Change block type to
39389 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
39390
39391 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
39392
39393 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
39394
39395 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
39396
39397 * fs/udf.c (grub_udf_read_block): Change block type to
39398 grub_disk_addr_t. Use type cast to avoid warning.
39399
39400 * fs/xfs.c (grub_xfs_read_block): Likewise.
39401
b7c6bed5 394022008-05-16 Christian Franke <franke@computer.org>
39403
39404 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
39405 to ensure that break with ESC will always work.
39406 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
39407 Remove ESC from keyboard queue.
39408
eedf167f 394092008-05-16 Christian Franke <franke@computer.org>
39410
39411 * util/biosdisk.c: [__CYGWIN__] Add includes.
39412 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
39413 (get_os_disk): Move variable declarations to OS specific
39414 parts to avoid warning.
39415 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
39416 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
39417 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
39418 Cygwin.
39419 * util/getroot.c: [__CYGWIN__] Add includes.
39420 (strip_extra_slashes): Fix "/" case.
39421 [__CYGWIN__] (get_win32_path): New function.
39422 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
39423 [__CYGWIN__] (find_root_device): Disable.
39424 [__CYGWIN__] (get_bootsec_serial): New function.
39425 [__CYGWIN__] (find_cygwin_root_device): Likewise.
39426 [__linux__] (grub_guess_root_device): Add early returns to simplify
39427 structure.
39428 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
39429 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
39430 check for Linux only.
39431
a079699e 394322008-05-15 Bean <bean123ch@gmail.com>
39433
39434 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
39435 keyboard hang problem in apple's intel mac.
39436
1cf4059a 394372008-05-09 Robert Millan <rmh@aybabtu.com>
39438
39439 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
39440 devices.
39441 * util/grub-mkdevicemap.c (get_virtio_disk_name)
39442 (make_device_map): Likewise.
39443 Reported by Aurelien Jarno <aurel32@debian.org>
39444
ed759390 394452008-05-07 Ian Campbell <ijc@hellion.org.uk>
39446
39447 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
39448 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
39449 (make_device_map): Output entries for xvd type disks.
39450
b56c4eaa 394512008-05-07 Robert Millan <rmh@aybabtu.com>
39452
39453 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
39454 devices.
39455 * util/grub-mkdevicemap.c (get_cciss_disk_name)
39456 (make_device_map): Likewise.
39457 Reported by Roland Dreier <rdreier@cisco.com>
39458
7f8866ed 394592008-05-07 Robert Millan <rmh@aybabtu.com>
39460
39461 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
39462 grub_strstr() call. Correct a few mistakes in failure path handling.
39463
b0346e0f 394642008-05-06 Robert Millan <rmh@aybabtu.com>
39465
39466 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39467 Do not print a trailing slash (therefore, the root directory is an
39468 empty string).
39469 (convert_system_path_to_grub_path): Do not remove trailing slash
39470 from make_system_path_relative_to_its_root() output.
39471
39472 * util/i386/pc/grub-install.in: Add trailing slash to output from
39473 make_system_path_relative_to_its_root().
39474
6cf12cbd 394752008-05-06 Robert Millan <rmh@aybabtu.com>
39476
39477 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
39478 ensures that output lines aren't intermangled with those sent to
39479 stderr (via grub_util_info()).
39480 * util/grub-probe.c (grub_refresh): Likewise.
39481 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
39482
0fbb3117 394832008-05-05 Christian Franke <franke@computer.org>
39484
39485 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
39486 Add Cygwin device names.
39487 (get_ide_disk_name) [__CYGWIN__]: Likewise.
39488 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
39489 (check_device): Return error instead of success on empty name.
39490 (make_device_map): Move label inside linux specific code to
39491 prevent compiler warning.
39492
8124cdb7 394932008-04-30 Robert Millan <rmh@aybabtu.com>
39494
39495 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
39496 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
39497 first boot option.
39498 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
39499
094c01d0 395002008-04-29 Robert Millan <rmh@aybabtu.com>
39501
39502 * docs/grub.cfg: New file (example GRUB configuration).
39503
f4b1fc02 395042008-04-26 Robert Millan <rmh@aybabtu.com>
39505
329ce2a5 39506 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
39507 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
39508 and `disk/ieee1275/nand.c'.
f4b1fc02 39509
25f16ec1 395102008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 39511
25f16ec1 39512 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
39513 i386-linuxbios.
39514
39515 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
39516 change the buffer size to 4096 for cdrom device.
39517
39518 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
39519 and nand.mod.
39520 (_linux_mod_SOURCES): New variable.
39521 (_linux_mod_CFLAGS): Likewise.
39522 (_linux_mod_LDFLAGS): Likewise.
39523 (linux_mod_SOURCES): Likewise.
39524 (linux_mod_CFLAGS): Likewise.
39525 (linux_mod_LDFLAGS): Likewise.
39526 (nand_mod_SOURCES): Likewise.
39527 (nand_mod_CFLAGS): Likewise.
39528 (nand_mod_LDFLAGS): Likewise.
39529
39530 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
39531 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
39532 type property. (nand device in olpc don't have this property)
39533
39534 * include/grub/disk.h (grub_disk_dev_id): New macro
39535 GRUB_DISK_DEVICE_NAND_ID.
39536
39537 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
39538 function prototype.
39539 (grub_rescue_cmd_initrd): Likewise.
39540
39541 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
39542 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
39543 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 39544
25f16ec1 39545 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
39546 GRUB_MACHINE_IEEE1275 is defined.
39547
39548 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
39549 Use NESTED_FUNC_ATTR attribute on the hook parameter.
39550
39551 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
39552 on nested function heap_init.
39553 (grub_upper_mem): New variable for i386-ieee1275.
39554 (grub_get_extended_memory): New function for i386-ieee1275.
39555 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
39556
39557 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
39558 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
39559 property.
f19dbdb7 39560
25f16ec1 39561 * loader/i386/ieee1275/linux.c: New file.
39562
39563 * loader/i386/ieee1275/linux_normal.c: New file.
39564
39565 * disk/ieee1275/nand.c: New file.
39566
e89d61e9 395672008-04-18 Thomas Schwinge <tschwinge@gnu.org>
39568
39569 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
39570 value.
39571 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
39572
602566f6 395732008-04-18 Robert Millan <rmh@aybabtu.com>
39574
39575 Restructures early code path on ieee1275 to unify grub_main() as
39576 the first C function that is executed in every platform.
39577
39578 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
39579 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
39580 cmain().
39581 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
39582 * kern/ieee1275/cmain.c (cmain): Rename to ...
39583 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
39584 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
39585 at the beginning.
39586
57490c2b 395872008-04-18 Robert Millan <rmh@aybabtu.com>
39588
39589 * util/update-grub.in: Fix syntax error when setting
39590 `GRUB_PRELOAD_MODULES'.
39591 Reported by Stephane Chazelas <stephane@artesyncp.com>
39592
1977517d 395932008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
39594
39595 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
39596 section into account, newer toolchains generate unique build ids
39597 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 39598 we want build ids to be preserved
1977517d 39599 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
39600 far from other sections don't cause the raw binary images grow
39601 size
39602
bfb1f1a2 396032008-04-15 Robert Millan <rmh@aybabtu.com>
39604
39605 * disk/lvm.c: Update copyright year.
39606 * kern/misc.c: Likewise.
39607
01979850 396082008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39609
39610 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 39611 there is no memory left for physical volume name.
01979850 39612
0a1150e2 396132008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39614
39615 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
39616 volume name mapping to support bigger than 9 character names properly.
39617
82ead3fe 396182008-04-13 Robert Millan <rmh@aybabtu.com>
39619
39620 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
39621 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
39622
e54a72f5 396232008-04-13 Christian Franke <franke@computer.org>
39624
39625 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
39626 to create a floppy emulation boot CD when non emulation mode
39627 does not work.
39628 Enable Joliet CD filesystem extension.
39629
9fe86034 396302008-04-13 Robert Millan <rmh@aybabtu.com>
39631
39632 * kern/misc.c (grub_strncat): Fix off-by-one error.
39633 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
39634
39635 * kern/env.c (grub_env_context_close): Clear current context, not
39636 previous one.
39637 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
39638
39639 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
39640
7ceeee39 396412008-04-13 Robert Millan <rmh@aybabtu.com>
39642
39643 Improve robustness when handling LVM.
39644
39645 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 39646 (and leave `*p' unmodified).
7ceeee39 39647 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
39648 through it.
39649 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
39650 iterating through it.
39651 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
39652 through it.
fe6b695a 39653 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 39654 when due) on each grub_lvm_getvalue() or grub_strstr() call.
39655 Don't assume `vg->pvs != NULL' when iterating through it.
39656
58cd3d85 396572008-04-13 Robert Millan <rmh@aybabtu.com>
39658
39659 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
39660 * genmk.rb (partmap): New variable.
39661 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
39662 (#{partmap}): New target rule.
39663 * genpartmaplist.sh: New file.
39664 * Makefile.in (pkglib_DATA): Add partmap.lst.
39665 (partmap.lst): New target rule.
39666 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
39667 modules (including all partition maps), instead of preloading them.
39668
78b51059 396692007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
39670
39671 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
39672 `linux-boot-prober' (if installed) to detect other operating
39673 systems which are installed on the computer and add them to
39674 the boot menu.
39675 * conf/common.rmk: Build and install 30_os-prober.
39676
a91627b4 396772008-04-12 Robert Millan <rmh@aybabtu.com>
39678
39679 * kern/powerpc/ieee1275/init.c: Move from here ...
39680 * kern/ieee1275/init.c: ... to here. Update all users.
39681
39682 * kern/powerpc/ieee1275/cmain.c: Move from here ...
39683 * kern/ieee1275/cmain.c: ... to here. Update all users.
39684
39685 * kern/powerpc/ieee1275/openfw.c: Move from here ...
39686 * kern/ieee1275/openfw.c: ... to here. Update all users.
39687
39688 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
39689 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
39690
322562ea 396912008-04-10 Pavel Roskin <proski@gnu.org>
39692
39693 * configure.ac: Always use "_cv_" in cache variables for
39694 compatibility with Autoconf 2.62.
39695
a02a73c5 396962008-04-07 Robert Millan <rmh@aybabtu.com>
39697
39698 Revert grub/machine/init.h addition by Pavel (since it breaks on
39699 i386-ieee1275 and others):
39700 * util/i386/pc/misc.c: Remove grub/machine/init.h.
39701 * util/powerpc/ieee1275/misc.c: Likewise.
39702
25c024b1 397032008-04-07 Robert Millan <rmh@aybabtu.com>
39704
39705 * util/grub-probe.c (probe): Improve error message.
39706
3cbd2f98 397072008-04-07 Robert Millan <rmh@aybabtu.com>
39708
39709 * util/biosdisk.c (read_device_map): Skip devices that don't exist
39710 (this prevents the presence of a bogus entry from ruining the whole
39711 thing).
39712
87a297bf 397132008-04-06 Pavel Roskin <proski@gnu.org>
39714
36747a62 39715 * util/biosdisk.c: Include grub/util/biosdisk.h.
39716 * util/grub-fstest.c (execute_command): Make static.
39717 * util/grub-mkdevicemap.c (check_device): Likewise.
39718 * util/i386/pc/misc.c: Include grub/machine/init.h.
39719 * util/powerpc/ieee1275/misc.c: Likewise.
39720 * util/lvm.c: Include grub/util/lvm.h.
39721 * util/misc.c: Include grub/kernel.h, grub/misc.h and
39722 grub/cache.h.
39723 * util/raid.c: Include grub/util/raid.h.
39724 (grub_util_getdiskname): Make static.
39725
87a297bf 39726 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
39727 grub_hostfs_fini(), as they are called from grub_init_all() and
39728 grub_fini_all() respectively. This fixes an infinite loop in
39729 grub-fstest due to double registration of hostfs.
39730 Reported by Christian Franke <Christian.Franke@t-online.de>
39731
f6ce7629 397322008-04-05 Pavel Roskin <proski@gnu.org>
39733
39734 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
39735 all 8 functions. Otherwise, probe function 0 only.
39736
070e49e4 397372008-04-04 Pavel Roskin <proski@gnu.org>
39738
8b088a4c 39739 * commands/lspci.c (grub_lspci_iter): Print the bus number
39740 correctly.
39741
4f657021 39742 * commands/lspci.c (grub_pci_classes): Fix typos.
39743 (grub_lspci_iter): Don't print func twice. Print vendor ID
39744 before device ID, as it's normally done.
39745
070e49e4 39746 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39747 Fix signedness warnings.
39748 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
39749 Likewise.
39750 * util/ieee1275/get_disk_name.c: Include config.h so that
39751 _GNU_SOURCE is defined and getline() is declared. Mark an
39752 unused argument as such. Fix a signedness warning.
39753
ba7328dc 397542008-04-02 Pavel Roskin <proski@gnu.org>
39755
26887f22 39756 * genkernsyms.sh.in: Use more robust assignments for CC and
39757 srcdir. Quote srcdir.
39758 * gensymlist.sh.in: Likewise. Assert at the compile time that
39759 the symbol table is not empty.
39760
ba7328dc 39761 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
39762 * fs/cpio.c (grub_cpio_read): Likewise.
39763
0f582c6b 397642008-04-01 Pavel Roskin <proski@gnu.org>
39765
4b6e1995 39766 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
39767 * disk/host.c (grub_host_open): Likewise.
39768 * disk/loopback.c (grub_loopback_open): Likewise.
39769 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
39770 disk->id as in disk/host.c, not a multi-character constant.
39771
828a2768 39772 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
39773 later is obsolete, potentially dangerous and sets a bad example.
39774 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
39775 * util/misc.c (grub_util_get_image_size): Likewise.
39776
2bb4fb47 39777 * disk/loopback.c (options): Improve help for "--partitions".
39778
0f582c6b 39779 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
39780 options to align them with the short options, e.g. "echo -e".
39781
a33224e0 397822008-03-31 Bean <bean123ch@gmail.com>
39783
39784 * video/reader/png.c (grub_png_data): New member is_16bit and
39785 image_data.
39786 (grub_png_decode_image_header): Detect 16 bit png image.
39787 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
39788 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
39789 (grub_video_reader_png): Release memory occupied by image_data.
39790
39791 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
39792 4096 bytes.
39793 (grub_nfs_mount): Skip the test for sector per cluster.
39794
39795 * include/grub/ntfs.h (MAX_SPC): Removed.
39796
86cb4f54 397972008-03-31 Bean <bean123ch@gmail.com>
39798
39799 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
39800 (grub_probe_SOURCES): Add fs/afs.c.
39801 (grub_fstest_SOURCES): Likewise.
39802 (afs_mod_SOURCES): New variable.
39803 (afs_mod_CFLAGS): Likewise.
39804 (afs_mod_LDFLAGS): Likewise.
39805
39806 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
39807 (grub_emu_SOURCES): Likewise.
39808
39809 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39810
39811 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39812
39813 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39814
39815 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39816
39817 * fs/afs.c: New file.
39818
17c74c21 398192008-03-30 Pavel Roskin <proski@gnu.org>
39820
4cb68e89 39821 * disk/host.c: Include grub/misc.h to fix a warning.
39822 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
39823 warnings about implicit declarations.
39824
8790bb04 39825 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
39826 variable.
39827 * include/grub/i386/loader.h: Change declaration of
39828 grub_linux_boot() to match what grub_loader_set() expects.
39829 * util/getroot.c (grub_guess_root_device): Return const char* to
39830 fix a warning.
39831 * util/grub-probe.c (probe): Fix a warning about uninitialized
39832 abstraction_name variable.
39833 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
39834 second argument as unused to fix a warning.
39835
9a3f3296 39836 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
39837 missing grub_error() call.
39838
0ecef90d 39839 * util/update-grub_lib.in: Define datarootdir, since Autoconf
39840 2.60 and newer uses it to define datadir.
39841
0bf6d401 39842 * commands/sleep.c: Fix warning about implicit declaration.
39843 * disk/memdisk.c: Likewise.
39844 * loader/aout.c: Likewise.
39845 * loader/i386/bsd_normal.c: Likewise.
39846 * util/grub-probe.c: Likewise.
39847
7cdacf97 39848 * commands/i386/cpuid.c (has_longmode): Make static.
39849 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
39850 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
39851
17c74c21 39852 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
39853 GDT. This is more robust, as %ds can change.
39854 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
39855 calling real_to_prot().
39856 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
39857
80a3e68b 398582008-03-28 Pavel Roskin <proski@gnu.org>
39859
39860 * kern/i386/pc/startup.S: Assert that uncompressed functions
39861 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
39862 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
39863 code, as they push parts of the code (error handlers) beyond
39864 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
39865 code as correctness and size.
39866
77bcd272 398672008-03-28 Pavel Roskin <proski@gnu.org>
39868
39869 * kern/i386/pc/startup.S
39870 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
39871 data block address to the real mode, keep offset minimal. This
39872 works around a bug in AWARD BIOS on old Athlon systems, which
39873 makes CD detection hang.
39874
c5dfd43b 398752008-03-26 Pavel Roskin <proski@gnu.org>
39876
39877 * normal/color.c (grub_parse_color_name_pair): Make `name' a
39878 const.
39879 * include/grub/normal.h: Add grub_parse_color_name_pair()
39880 declaration.
39881
bf962df2 398822008-03-24 Bean <bean123ch@gmail.com>
39883
39884 * disk/i386/pc/biosdisk.c (cd_start): Removed.
39885 (cd_count): Removed.
39886 (cd_drive): New variable.
39887 (grub_biosdisk_get_drive): Don't check for (cdN) device.
39888 (grub_biosdisk_call_hook): Likewise.
39889 (grub_biosdisk_iterate): Change cdrom detection method.
39890 (grub_biosdisk_open): Replace cd_start with cd_drive.
39891 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
39892 detect cdrom device.
39893
39894 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
39895 Removed.
39896 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
39897 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
39898 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
39899 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
39900 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
39901 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
39902 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
39903 (grub_biosdisk_cdrp): New structure.
39904 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
39905
39906 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
39907
39908 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
39909 device.
39910
39911 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
39912 New function.
39913
68e7fc7a 399142008-03-20 Robert Millan <rmh@aybabtu.com>
39915
39916 Remove 2 TiB limit in ata.mod.
39917 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
39918 (grub_ata_dumpinfo): Print sector count with 0x%llx.
39919 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
39920 grub_uint64_t instead of grub_uint32_t.
39921
38ad2cf5 399222008-03-05 Bean <bean123ch@gmail.com>
39923
39924 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
39925 (grub_multiboot): Set boot device.
39926
39927 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
39928
2b89344e 399292008-03-02 Bean <bean123ch@gmail.com>
39930
39931 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
39932 symlink_buffer.
39933
87a95d1f 399342008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
39935
39936 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
39937 texinfo.tex.
39938
39939 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
39940 modified.
39941
39942 * docs/fdl.texi: New file.
f19dbdb7 39943
87a95d1f 39944 * docs/mdate-sh: New file. Copied from gnulib.
39945 * docs/texinfo.tex: Likewise.
39946
39947 * config.guess: Updated from gnulib.
39948 * install-sh: Likewise.
39949
7dc15d8e 399502008-02-28 Robert Millan <rmh@aybabtu.com>
39951
39952 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
39953 (aout_mod_SOURCES): New variable.
39954 (aout_mod_CFLAGS): Likewise.
39955 (aout_mod_LDFLAGS): Likewise.
39956
39957 * conf/i386-ieee1275.rmk: Likewise.
39958
b00ab696 399592008-02-28 Robert Millan <rmh@aybabtu.com>
39960
39961 * util/update-grub.in: Reorganise terminal validity check. Accept
39962 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
39963 Based on suggestion by Franklin PIAT.
39964
79ca2d78 399652008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
39966
39967 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
39968 function.
39969 * util/getroot.c (grub_util_check_block_device): New function that
39970 returns the given argument if it is a block device and returns NULL else.
39971 * util/grub-probe.c (argument_is_device): New variable.
39972 (probe): Promote device_name from a variable to an argument. Receive
39973 device_name from grub_util_check_block_device() if path is NULL and from
39974 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 39975 (options): Introduce new parameter '-d, --device'.
79ca2d78 39976 (main): Add description of the new parameter to the help screen.
39977 Rename path variable to argument. Set argument_is_device if the '-d'
39978 option is given. Pass argument to probe() depending on
39979 argument_is_device.
39980
0d16e571 399812008-02-24 Bean <bean123ch@gmail.com>
39982
39983 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
39984 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
39985 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
39986 (GRUB_ISO9660_VOLDESC_PART): Likewise.
39987 (GRUB_ISO9660_VOLDESC_END): Likewise.
39988 (grub_iso9660_primary_voldesc): New member escape.
39989 (grub_iso9660_data): New member joliet.
39990 (grub_iso9660_convert_string): New function.
39991 (grub_iso9660_mount): Detect joliet extension.
39992 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
39993 (grub_iso9660_iso9660_label): Likewise.
39994
39995 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
39996 (grub_setup_SOURCES): Add fs/udf.c.
39997 (grub_fstest_SOURCES): Likewise.
39998 (udf_mod_SOURCES): New variable.
39999 (udf_mod_CFLAGS): Likewise.
40000 (udf_mod_LDFLAGS): Likewise.
40001
40002 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
40003 (grub_emu_SOURCES): Likewise.
40004
40005 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40006
40007 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40008
40009 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40010
40011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40012
40013 * fs/udf.c: New file.
40014
8a594a17 400152008-02-24 Robert Millan <rmh@aybabtu.com>
40016
40017 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
40018 (normal/lexer.c_DEPENDENCIES): New variables.
40019 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40020 (normal/lexer.c_DEPENDENCIES): Likewise.
40021 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
40022 (normal/lexer.c_DEPENDENCIES): Likewise.
40023 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
40024 (normal/lexer.c_DEPENDENCIES): Likewise.
40025 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40026 (normal/lexer.c_DEPENDENCIES): Likewise.
40027 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40028 (normal/lexer.c_DEPENDENCIES): Likewise.
40029
2dc33c03 400302008-02-23 Robert Millan <rmh@aybabtu.com>
40031
40032 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
40033 since they were intended to be in hex. This didn't break previously
40034 because of a bug in gpt_partition_map_iterate() (see below).
40035
40036 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
40037 when checking the validity of GPT header.
40038 Remove `partno', since it always provides the same information as `i'.
40039
f6f4cfb0 400402008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
40041
40042 * include/grub/efi/time.h: Fix a wrong comment.
40043
79ff665f 400442008-02-19 Pavel Roskin <proski@gnu.org>
40045
40046 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
40047 message.
40048
d38e24c2 400492008-02-19 Bean <bean123ch@gmail.com>
40050
40051 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
40052 (aout_mod_SOURCES): New variable.
40053 (aout_mod_CFLAGS): Likewise.
40054 (aout_mod_LDFLAGS): Likewise.
40055 (_bsd_mod_SOURCES): New variable.
40056 (_bsd_mod_CFLAGS): Likewise.
40057 (_bsd_mod_LDFLAGS): Likewise.
40058 (bsd_mod_SOURCES): New variable.
40059 (bsd_mod_CFLAGS): Likewise.
40060 (bsd_mod_LDFLAGS): Likewise.
40061
40062 * include/grub/aout.h: New file.
40063
40064 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
40065
40066 * include/grub/i386/bsd.h: New file.
40067
40068 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
40069 to make it public.
40070
40071 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
40072 function is called, so that it's possible to change it inside the hook.
40073 (grub_elf64_load): Likewise.
40074 (grub_elf_file): Don't close the file if elf header is not found.
40075 (grub_elf_close): Close the file if grub_elf_file fails (The new
40076 grub_elf_file won't close it).
40077 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
40078 (grub_elf64_size): Likewise.
40079
40080 * kern/i386/loader.S (grub_unix_real_boot): New function.
40081
40082 * loader/aout.c: New file.
40083
40084 * loader/i386/bsd.c: New file.
40085
40086 * loader/i386/bsd_normal.c: New file.
40087
40088 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
40089
40090 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 40091 can test other formats.
d38e24c2 40092
b93bdb0f 400932008-02-19 Robert Millan <rmh@aybabtu.com>
40094
40095 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
40096 (grub_gpt_partition_type_empty): Redefine with macro from
40097 `<grub/gpt_partition.h>'.
40098 (gpt_partition_map_iterate): Adjust partition type comparison.
40099
40100 Export `entry' as partmap-specific `part.data' struct.
40101 (grub_gpt_header, grub_gpt_partentry): Move from here ...
40102
40103 * include/grub/gpt_partition.h (grub_gpt_header)
40104 (grub_gpt_partentry): ... to here (new file).
40105
40106 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
40107
40108 (grub_gpt_partition_type_bios_boot): New const variable, defined
40109 with macro from `<grub/gpt_partition.h>'.
40110
40111 (setup): Replace `first_start' with `embed_region', which keeps
40112 track of the embed region (and is partmap-agnostic).
40113
40114 Replace find_first_partition_start() with find_usable_region(),
40115 which finds a usable region for embedding using partmap-specific
40116 knowledge (supports PC/MSDOS and GPT).
40117
40118 Fix all assumptions that the embed region start at sector 1, using
40119 `embed_region.start' from now on. Similarly, use `embed_region.end'
40120 rather than `first_start' to calculate available size.
40121
40122 In grub_util_info() message, replace "into after the MBR" with an
40123 indication of the specific sector our embed region starts at.
40124
66cb40f6 401252008-02-19 Robert Millan <rmh@aybabtu.com>
40126
40127 * DISTLIST: Replace `commands/ieee1275/halt.c' and
40128 `commands/ieee1275/reboot.c' with `commands/halt.c' and
40129 `commands/reboot.c'.
40130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40131 (halt_mod_SOURCES): Likewise.
40132 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40133 (halt_mod_SOURCES): Likewise.
40134
b7202015 401352008-02-17 Christian Franke <franke@computer.org>
40136
40137 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
40138
32b0fc49 401392008-02-17 Robert Millan <rmh@aybabtu.com>
40140
40141 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40142 set `first_start' to 0 for non-PC/MSDOS partition maps.
40143
aca63502 401442008-02-16 Robert Millan <rmh@aybabtu.com>
40145
40146 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40147 do not assume partition map is PC/MSDOS before performing checks that
40148 are specific to that layout.
40149
0de8be86 401502008-02-13 Robert Millan <rmh@aybabtu.com>
40151
40152 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
40153 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
40154 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
40155
c3db8364 401562008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
40157
40158 * configure.ac: Only a cosmetic change on the handling of
40159 -fno-stack-protector.
40160
f714229e 401612008-02-12 Alexandre Boeglin <alex@boeglin.org>
40162
c3db8364 40163 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
40164 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
40165 reboot.c.
f714229e 40166 (grub_install_SOURCES): Add halt.mod and reboot.mod.
40167 (halt_mod_SOURCES): New variable.
40168 (halt_mod_CFLAGS): Likewise.
40169 (halt_mod_LDFLAGS): Likewise.
40170 (reboot_mod_SOURCES): Likewise.
40171 (reboot_mod_CFLAGS): Likewise.
40172 (reboot_mod_LDFLAGS): Likewise.
40173
c3db8364 40174 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
40175 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
40176 reboot.c.
f714229e 40177 (halt_mod_SOURCES): Likewise.
40178 (reboot_mod_SOURCES): Likewise.
40179
c3db8364 40180 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
40181 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 40182 (reboot_mod_SOURCES): Likewise.
40183
40184 * commands/i386/pc/reboot.c: merge this file ...
40185
40186 * commands/ieee1275/reboot.c: ... and this file ...
40187
40188 * commands/reboot.c: ... to this file.
c3db8364 40189 Add some precompiler directive to include the correct header for
40190 each machine.
f714229e 40191
40192 * commands/ieee1275/halt.c: move this file ...
40193
40194 * commands/halt.c: ... to here.
c3db8364 40195 Add some precompiler directive to include the correct header for
40196 each machine.
f714229e 40197
40198 * include/grub/efi/efi.h (grub_reboot): New function declaration.
40199 (grub_halt): Likewise.
40200
40201 * kern/efi/efi.c (grub_reboot): New function.
40202 (grub_halt): Likewise.
40203
c74493e0 402042008-02-12 Robert Millan <rmh@aybabtu.com>
40205
40206 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
40207 /dev (like it is done for /dev/mapper). This doesn't provide support
40208 for EVMS, but at least it is now easy to identify the problem when it
40209 arises.
40210
d0db4b04 402112008-02-11 Robert Millan <rmh@aybabtu.com>
40212
40213 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
40214 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
40215 comparing it with -1, not 0.
40216
bf748642 402172008-02-10 Robert Millan <rmh@aybabtu.com>
40218
40219 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
40220 `disk/lvm.c'.
40221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40222 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
40223
40224 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
40225 `disk/lvm.c' to the end of the list.
40226 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40227 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40228
b5db202a 402292008-02-10 Robert Millan <rmh@aybabtu.com>
40230
40231 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
40232 grub_print_error() instead. This will let user know why we're entering
40233 rescue mode.
40234 Based on suggestions from Sam Morris.
40235
83abee31 402362008-02-10 Alexandre Boeglin <alex@boeglin.org>
40237
40238 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
40239 on remaining N args, instead of "--" arg N times.
40240
78d5a08b 402412008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
40242
40243 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
40244 (fill_with_default_glyph): Changed to use unknown_glyph for fill
40245 pattern for unknown glyphs.
40246
68807e5f 402472008-02-09 Robert Millan <rmh@aybabtu.com>
40248
40249 * configure.ac: Probe for `help2man'.
40250 * Makefile.in (builddir): New variable.
40251 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
40252 or otherwise add a few flags/options to it.
40253 (install-local): For every executable utility or script that is
40254 installed, invoke $(HELP2MAN) to install a manpage based on --help
40255 output.
40256
40257 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
40258 that it doesn't prevent --help from working in build tree.
40259
40260 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
40261 with `bug-grub@gnu.org'.
40262 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
40263 * util/update-grub.in (usage): New function.
40264 Implement proper argument check, with support for --help and --version
40265 (as well as existing -y).
40266
402672008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 40268
40269 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
40270 avoid overwriting previous output.
40271 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
40272
c1962162 402732008-02-09 Robert Millan <rmh@aybabtu.com>
40274
40275 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
40276 drawing the menu.
40277
3dac2e3f 402782008-02-09 Robert Millan <rmh@aybabtu.com>
40279
40280 * commands/sleep.c: New file.
40281 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
40282 (sleep_mod_SOURCES): New variable.
40283 (sleep_mod_CFLAGS): Likewise.
40284 (sleep_mod_LDFLAGS): Likewise.
40285
7a634e08 402862008-02-09 Robert Millan <rmh@aybabtu.com>
40287
40288 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
40289 situations in which we can deduce the RAID size and the superblock
40290 doesn't match it.
40291
b92f0c18 402922008-02-09 Robert Millan <rmh@aybabtu.com>
40293
40294 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
40295 and return a grub_diskmemberlist_t composed of LVM physical volumes.
40296 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
40297
40298 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
40299 and return a grub_diskmemberlist_t composed of physical array members.
40300 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
40301
40302 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
40303 prototype.
40304 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
40305 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
40306 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
40307
40308 * util/grub-probe.c (probe): Move partmap probing code from here ...
40309 (probe_partmap): ... to here.
40310 (probe): Use probe_partmap() once for the disk we're probing, and
40311 additionally, when such disk contains a memberlist() struct member,
40312 once for each disk that is contained in the structure returned by
40313 memberlist().
40314
91a4bf68 403152008-02-09 Robert Millan <rmh@aybabtu.com>
40316
40317 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
40318 environment variable to 'all' in order to obtain debug output from
40319 non-util/ code.
40320 * util/i386/pc/grub-setup.c (main): Likewise.
40321
a96f9caa 403222008-02-08 Robert Millan <rmh@aybabtu.com>
40323
40324 * disk/raid.c (grub_raid_scan_device): Check for
40325 `array->device[sb.this_disk.number]' rather than for
40326 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 40327 guaranteed to be accessible.
a96f9caa 40328
b37a9222 403292008-02-08 Robert Millan <rmh@aybabtu.com>
40330
40331 * disk/raid.c: Update copyright.
40332 * fs/cpio.c: Likewise.
40333 * include/grub/raid.h: Likewise.
40334 * loader/i386/pc/multiboot.c: Likewise.
40335 * util/hostfs.c: Likewise.
40336
5626aee1 403372008-02-08 Robert Millan <rmh@aybabtu.com>
40338
40339 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
40340 to a grub_disk_t array.
40341 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
40342 `device[x]'.
40343 (grub_raid_scan_device): Replace `device[x].name' accesses with
40344 `device[x]->name'. Simplify initialization of `array->device[x]'.
40345
554f0187 403462008-02-08 Robert Millan <rmh@aybabtu.com>
40347
40348 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
40349 grub_dprintf() calls.
40350 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
40351 error message.
40352
1ec8425d 403532008-02-07 Christian Franke <franke@computer.org>
40354
40355 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
40356 instead of fseek and ftell to support large files.
40357 (grub_hostfs_read): Likewise.
40358
f2156fda 403592008-02-07 Robert Millan <rmh@aybabtu.com>
40360
40361 Patch from Jeroen Dekkers.
40362 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 40363 failure, since successfully reading all array members might not be
f2156fda 40364 required.
40365
9216e0e7 403662008-02-06 Robert Millan <rmh@aybabtu.com>
40367
40368 * util/grub-probe.c (probe): Simplify partmap probing (with the
40369 assumption that the first word up to the underscore equals to
40370 the module name).
40371
b0dfd29a 403722008-02-06 Christian Franke <franke@computer.org>
40373
40374 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
40375 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
40376 last block of a cpio or tar stream.
40377 Check for "TRAILER!!!" instead of any empty data
40378 block to detect last block of a cpio stream.
40379 (grub_cpio_dir): Fix constness of variable np.
40380 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
40381 cpio or tar trailer is detected. This fixes a crash
40382 on open of a non existing file.
40383
c32865bf 403842008-02-05 Bean <bean123ch@gmail.com>
40385
40386 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
40387 address of entry.
40388 (grub_multiboot_load_elf64): Likewise.
40389 (grub_multiboot): Initialize mbi structure.
40390
40391 * util/grub-fstest.c: Don't include unused header file script.h.
40392
fe6b695a 40393 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 40394 of file.
40395 (grub_fstest_SOURCES): Likewise.
40396
409480b7 403972008-02-05 Robert Millan <rmh@aybabtu.com>
40398
40399 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
40400 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
40401 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
40402 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
40403
40404 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
40405 (translation_table): Replace hardcoded values with macros
40406 provided by `<grub/term.h>'.
40407
40408 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
40409 (keyboard_map): Correct/add a few values, with macros provided
40410 by `<grub/term.h>'.
40411 (keyboard_map_shift): Zero values that don't differ from their
40412 `keyboard_map' equivalents.
40413 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
40414 Discard the second scan code that is always sent by Caps lock.
40415 Only use `keyboard_map_shift' when it provides a non-zero value,
40416 otherwise fallback to `keyboard_map'.
40417
99fadbaa 404182008-02-04 Bean <bean123ch@gmail.com>
40419
40420 * Makefile.in (enable_grub_fstest): New variable.
40421
40422 * conf/common.rmk (grub_fstest_init.lst): New rule.
40423 (grub_fstest_init.h): Likewise.
40424 (grub_fstest_init.c): Likewise.
40425 (util/grub-fstest.c_DEPENDENCIES): New variable.
40426 (grub_fstest_SOURCES): Likewise.
40427
40428 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
40429
40430 * util/grub-fstest.c: New file.
40431
bf567c50 404322008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40433
40434 Make grub-setup handle a separate root device.
f19dbdb7 40435
bf567c50 40436 * util/i386/pc/grub-setup.c (setup): Always open the root device,
40437 so that the root device can be compared with the destination
40438 device.
40439 When embedding the core image, if the root and destination devices
40440 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
40441 0xFF.
40442 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 40443
9be6b98b 404442008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40445
40446 Add support for having a grub directory in a different drive. This
40447 is still only the data handling part.
f19dbdb7 40448
9be6b98b 40449 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
40450 (codestart): Save %dh in GRUB_ROOT_DRIVE.
40451 (grub_root_drive): New variable.
40452
40453 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
40454 instead of GRUB_BOOT_DRIVE to construct a device name. Set
40455 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
40456 as it was.
40457
40458 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
40459
40460 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
40461 macro.
40462 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
40463
40464 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
40465 is bogus, because PXE booting does not specify any drive
40466 correctly.
40467
40468 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
40469 am not sure if this is really correct.
40470
40471 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
40472 is always identical to the boot drive when booting from a CD.
40473
40474 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
40475 longer.
40476 (root_drive): New variable.
40477 (real_start): Unconditionally set %dh to ROOT_DRIVE.
40478 (setup_sectors): Push %dx right after popping it, because %dh will
40479 be modified later.
40480 (copy_buffer): Restore %dx.
40481
e0ca0677 404822008-02-03 Robert Millan <rmh@aybabtu.com>
40483
40484 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
40485 use `cdboot.img' for cdrom images.
40486
3b3f6629 404872008-02-03 Robert Millan <rmh@aybabtu.com>
40488
40489 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
40490 only setup gfxterm when `font' command has succeeded.
40491
d42b3672 404922008-02-03 Robert Millan <rmh@aybabtu.com>
40493
40494 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
40495 (grub_rescue_cmd_multiboot_loader)
40496 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
40497
fa370ea6 404982008-02-03 Pavel Roskin <proski@gnu.org>
40499
e0c5dacb 40500 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 40501 %edx and %esi from stack only after grub_gate_a20() is called.
40502 grub_gate_a20() clobbers %edx.
40503
f2a76e1d 405042008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40505
40506 * configure.ac (AC_INIT): Bumped to 1.96.
40507
40508 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
40509 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
40510 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
40511 video/readers/png.c.
40512
90fd32d1 405132008-02-03 Bean <bean123ch@gmail.com>
9be665dd 40514
40515 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
40516 (cdboot_img_SOURCES): New variable.
40517 (cdboot_img_ASFLAGS): New variable.
40518 (cdboot_img_LDFLAGS): New variable.
40519
40520 * boot/i386/pc/cdboot.S: New file.
40521
40522 * disk/i386/pc/biosdisk.c (cd_start): New variable.
40523 (cd_count): Likewise.
40524 (grub_biosdisk_get_drive): Add support for cd device.
40525 (grub_biosdisk_call_hook): Likewise.
40526 (grub_biosdisk_iterate): Likewise.
40527 (grub_biosdisk_open): Likewise.
40528 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
40529 (grub_biosdisk_rw): Support reading from cd device.
40530 (GRUB_MOD_INIT): Iterate cd devices.
40531
40532 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
40533 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
40534 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
40535
40536 * kern/i386/pc/init.c (make_install_device): Check for cd device.
40537
4020aa53 405382008-02-02 Robert Millan <rmh@aybabtu.com>
40539
40540 * commands/read.c: New file.
40541 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
40542 (read_mod_SOURCES): New variable.
40543 (read_mod_CFLAGS): Likewise.
40544 (read_mod_LDFLAGS): Likewise.
40545
e03a1132 405462008-02-02 Robert Millan <rmh@aybabtu.com>
40547
40548 * normal/main.c (grub_normal_execute): Check for `menu->size' when
40549 determining whether menu has to be displayed.
40550
58c69220 405512008-02-02 Marco Gerards <marco@gnu.org>
40552
40553 * bus/pci.c: New file.
40554
40555 * include/grub/pci.h: Likewise.
40556
40557 * include/grub/i386/pc/pci.h: Likewise.
40558
40559 * commands/lspci.c: Likewise.
40560
40561 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
40562 `lspci.mod'.
40563 (pci_mod_SOURCES): New variable.
40564 (pci_mod_CFLAGS): Likewise.
40565 (pci_mod_LDFLAGS): Likewise.
40566 (lspci_mod_SOURCES): Likewise.
40567 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 40568 (lspci_mod_LDFLAGS): Likewise.
58c69220 40569
c004e1b4 405702008-02-02 Bean <bean123ch@gmail.com>
40571
40572 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
40573 (grub_ufs_get_file_block): Fix indirect block calculation problem.
40574
40575 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
40576 (grub_xfs_btree_node): New structure.
40577 (grub_xfs_btree_root): New structure.
40578 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
40579 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
40580 (GRUB_XFS_EXTENT_BLOCK): Likewise.
40581 (GRUB_XFS_EXTENT_SIZE): Likewise.
40582 (grub_xfs_read_block): Support btree format type.
40583 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
40584 Use directory block as basic unit.
40585
40586 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
40587
40588 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
40589 __attribute__ ((__regparm__ (1))).
40590
f95562bf 405912008-02-01 Robert Millan <rmh@aybabtu.com>
40592
40593 Correct a mistake in previous commit.
40594
40595 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
40596 top.
40597 (normal/command.c_DEPENDENCIES): New variable.
40598
7d31f41f 405992008-02-01 Robert Millan <rmh@aybabtu.com>
40600
40601 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
40602 top.
40603 (normal/command.c_DEPENDENCIES): New variable.
40604 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
40605 * conf/i386-ieee1275.rmk: Likewise.
40606 * conf/i386-linuxbios.rmk: Likewise.
40607 * conf/i386-pc.rmk: Likewise.
40608 * conf/sparc64-ieee1275.rmk: Likewise.
40609 * conf/powerpc-ieee1275.rmk: Likewise.
40610 (grub_emu_SOURCES): Add `fs/fshelp.c'.
40611
40612 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
40613
60b6be74 406142008-02-01 Robert Millan <rmh@aybabtu.com>
40615
40616 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
40617 call at beginning of function.
40618
078522ab 406192008-01-31 Pavel Roskin <proski@gnu.org>
40620
40621 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 40622 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
40623 (grub_mkrescue_SOURCES): Likewise.
078522ab 40624 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
40625
ccaa8a5f 406262008-01-30 Robert Millan <rmh@aybabtu.com>
40627
40628 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
40629 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
40630 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
40631 (grub_probe_SOURCES): ... to here.
40632
40633 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
40634 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
40635 * conf/i386-ieee1275.rmk: Likewise.
40636 * conf/i386-linuxbios.rmk: Likewise.
40637 * conf/powerpc-ieee1275.rmk: Likewise.
40638
ae5a9cd7 406392008-01-30 Tristan Gingold <gingold@free.fr>
40640
40641 * kern/rescue.c: Silently accept empty lines.
40642
70bc2ef2 406432008-01-29 Bean <bean123ch@gmail.com>
40644
40645 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
40646 (real_code_2): Code cleanup and change comment style.
40647 (move_memory): Avoid using 32-bit address mode.
40648
6a4d50ea 406492008-01-29 Bean <bean123ch@gmail.com>
40650
40651 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
40652 (png_mod_SOURCES): New variable.
40653 (png_mod_CFLAGS): Likewise.
40654 (png_mod_LDFLAGS): Likewise.
40655
40656 * video/readers/png.c: New file.
40657
11cc30ac 406582008-01-28 Robert Millan <rmh@aybabtu.com>
40659
40660 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
40661 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
40662 `ifndef GRUB_MOD_GAP' hack.
40663 * util/elf/grub-mkimage.c (add_segments): Likewise.
40664
3abc589f 406652008-01-27 Robert Millan <rmh@aybabtu.com>
40666
40667 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
40668 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 40669 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 40670
e1907778 406712008-01-27 Robert Millan <rmh@aybabtu.com>
40672
40673 Get grub-emu to build again (including parallel builds).
40674
40675 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
40676 Split into ...
40677 (util/grub-emu.c_DEPENDENCIES): ... this, ...
40678 (normal/execute.c_DEPENDENCIES): ... this, ...
40679 (grub-emu_DEPENDENCIES): ... and this.
40680
40681 * conf/i386-efi.rmk: Likewise.
40682 * conf/i386-linuxbios.rmk: Likewise.
40683 * conf/i386-ieee1275.rmk: Likewise.
40684 * conf/powerpc-ieee1275.rmk: Likewise.
40685 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
40686
2216b101 406872008-01-27 Robert Millan <rmh@aybabtu.com>
40688
40689 * NEWS: Add a few items.
40690
f75172d9 406912008-01-27 Robert Millan <rmh@aybabtu.com>
40692
40693 Fix parallel builds with grub-emu. Based on earlier commit for
40694 grub-probe and grub-setup.
40695
40696 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40697 (util/grub-emu.c_DEPENDENCIES): ... this.
40698 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40699 (util/grub-emu.c_DEPENDENCIES): ... this.
40700 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40701 (util/grub-emu.c_DEPENDENCIES): ... this.
40702 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40703 (util/grub-emu.c_DEPENDENCIES): ... this.
40704 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40705 (util/grub-emu.c_DEPENDENCIES): ... this.
40706
3f51de77 407072008-01-27 Pavel Roskin <proski@gnu.org>
40708
40709 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
40710 to create a gap between _end and the modules added to the image
40711 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
40712 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
40713 * util/elf/grub-mkimage.c (add_segments): Likewise.
40714
2033f53e 407152008-01-26 Pavel Roskin <proski@gnu.org>
40716
40717 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
40718 just return an error.
40719
22da1f6f 407202008-01-26 Bean <bean123ch@gmail.com>
40721
40722 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
40723 (grub_reiserfs_get_item): Save offset of the next item.
40724 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
40725
2a9525e6 407262008-01-25 Robert Millan <rmh@aybabtu.com>
40727
40728 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
40729 make all filesystem sources appear together (possibly fixing omissions
40730 while at it).
40731 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40732 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40733 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40735
40736 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
40737 add `kern/file.c'.
40738 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
40739 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
40740 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
40741 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
40742
40743 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
40744 (probe): Add a sanity check to make sure of our ability to read
40745 requested files when probing for filesystem type.
40746
40747 * genmk.rb: Update copyright year (2007).
40748
40749 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
40750 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
40751 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
40752 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
40753 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
40754 : Remove function prototypes.
40755
b95f71b5 407562008-01-25 Robert Millan <rmh@aybabtu.com>
40757
40758 Revert my previous commits (based on wrong assumption of how grub_errno
40759 works).
40760
fe6b695a 40761 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 40762 * kern/file.c (grub_file_open): Likewise.
40763
d08bbb49 407642008-01-24 Pavel Roskin <proski@gnu.org>
40765
40766 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
40767 that hang if GRUB tries to setup colors.
40768 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
40769 colors for firmwares that don't support it.
40770 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
40771 Recognize Open Hack'Ware, set flags to work around its
40772 limitations.
40773
605e36ed 407742008-01-24 Robert Millan <rmh@aybabtu.com>
40775
40776 * kern/file.c (grub_file_open): Do not account previous failures of
40777 unrelated functions when grub_errno is checked for.
40778 Reported by Oleg Strikov.
40779
bac332a1 407802008-01-24 Bean <bean123ch@gmail.com>
40781
40782 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
40783 (grub_ufs_sblock): New member volume name.
40784 (grub_ufs_find_file): Fix string copy bug.
40785 (grub_ufs_label): Implement this function properly.
40786
40787 * fs/hfs.c (grub_hfs_cnid_type): New enum.
40788 (grub_hfs_iterate_records): Use the correct file number for extents
40789 and catalog file. Fix problem in next index calculation.
40790 (grub_hfs_find_node): Replace recursive function call with loop.
40791 (grub_hfs_iterate_dir): Replace recursive function call with loop.
40792
15c80c09 407932008-01-23 Robert Millan <rmh@aybabtu.com>
40794
40795 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
40796 `<grub/symbol.h>' and `<grub/multiboot.h>'.
40797 (grub_multiboot2_real_boot): New function prototype.
40798
40799 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
40800 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
40801
40802 * kern/i386/ieee1275/init.c (grub_os_area_addr)
40803 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
40804
305338fd 408052008-01-23 Robert Millan <rmh@aybabtu.com>
40806
40807 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
40808 #ifdef'ed out grub_printf().
40809
3ea52685 408102008-01-23 Robert Millan <rmh@aybabtu.com>
40811
40812 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
40813 grub_dprintf calls, since they make "debug=all" mode unusable.
40814 (grub_console_checkkey): Likewise.
40815
5882ae4b 408162008-01-23 Robert Millan <rmh@aybabtu.com>
40817
40818 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40819 `term/i386/pc/at_keyboard.c'.
40820 (pkglib_MODULES): Add `serial.mod'.
40821 (serial_mod_SOURCES): New variable.
40822 (serial_mod_CFLAGS): Likewise.
40823 (serial_mod_LDFLAGS): Likewise.
40824
40825 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
40826 `<grub/powerpc/ieee1275/console.h>'.
40827 (grub_keyboard_controller_init): New function prototype.
40828 (grub_console_checkkey): Likewise.
40829 (grub_console_getkey): Likewise.
40830
40831 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
40832 keyboard on i386.
40833
40834 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
40835 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
40836
06ab5303 408372008-01-23 Robert Millan <rmh@aybabtu.com>
40838
40839 * kern/i386/pc/init.c (make_install_device): When memdisk image is
40840 present, "(memdisk)/boot/grub" becomes the default prefix.
40841
40842 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
40843 a memdisk tarball with all the modules. Add --overlay=DIR option that
40844 allows users to overlay additional files into the image.
40845
dbb475a4 408462008-01-23 Robert Millan <rmh@aybabtu.com>
40847
40848 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
40849 and `machine/memory.h'.
40850 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
40851 (_multiboot_mod_SOURCES): New variable.
40852 (_multiboot_mod_CFLAGS): Likewise.
40853 (_multiboot_mod_LDFLAGS): Likewise.
40854 (multiboot_mod_SOURCES): Likewise.
40855 (multiboot_mod_CFLAGS): Likewise.
40856 (multiboot_mod_LDFLAGS): Likewise.
40857
40858 * include/grub/i386/ieee1275/loader.h: New file.
40859
40860 * include/grub/i386/ieee1275/machine.h: Likewise.
40861
40862 * include/grub/i386/ieee1275/memory.h: Likewise.
40863
40864 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
40865 variable declaration.
40866 (grub_os_area_size): Likewise.
40867
40868 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
40869 (grub_lower_mem, grub_upper_mem): New variables.
40870 (grub_stop_floppy): New function (just to make
40871 grub_multiboot2_real_boot() happy).
40872
40873 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
40874 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
40875 (grub_stop): New function.
40876 Include `"../realmode.S"' and `"../loader.S"'.
40877
40878 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
40879 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
40880
40881 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
40882 rely on grub_multiboot2_real_boot() for final boot.
40883
25638629 408842008-01-22 Robert Millan <rmh@aybabtu.com>
40885
40886 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
40887 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
40888 device that doesn't look like an SD card.
40889 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
40890 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
40891 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
40892 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
40893 found.
40894
9dad816d 408952008-01-22 Robert Millan <rmh@aybabtu.com>
40896
40897 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
40898 avoid claiming over our own code.
40899
34842f2d 409002008-01-22 Bean <bean123ch@gmail.com>
40901
40902 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
40903 (jpeg_mod_SOURCES): New variable.
40904 (jpeg_mod_CFLAGS): Likewise.
40905 (jpeg_mod_LDFLAGS): Likewise.
40906
40907 * video/readers/jpeg.c : New file.
40908
44023a28 409092008-01-22 Bean <bean123ch@gmail.com>
40910
40911 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
40912 there are no more items.
40913
bc2d8ac6 409142008-01-21 Robert Millan <rmh@aybabtu.com>
40915
40916 * kern/mm.c (grub_mm_init_region): Improve debug message.
40917
261bd4bc 409182008-01-21 Robert Millan <rmh@aybabtu.com>
40919
40920 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
40921 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
40922 address.
40923 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
40924 a C macro.
40925 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
40926 Indicates start of upper memory.
40927 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
40928 (generate_image): Abort when image size is big enough to corrupt
40929 upper memory.
40930
40931 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
40932 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
40933 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
40934 instead of hardcoding 0xA0000.
40935 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
40936 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
40937 instead of hardcoding 0xA0000.
40938
f970b55e 409392008-01-21 Robert Millan <rmh@aybabtu.com>
40940
40941 * disk/memdisk.c (memdisk_size): New variable.
40942 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
40943 `memdisk_size'.
40944 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
40945 image to dynamic memory.
40946 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
40947 `memdisk_size'. Free memdisk block.
40948
1a8b0526 409492008-01-21 Robert Millan <rmh@aybabtu.com>
40950
40951 Fix detection of very small filesystems (like tar).
40952
40953 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
40954 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
40955 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
40956 a problem with this disk).
40957
6e9b4aab 409582008-01-21 Robert Millan <rmh@aybabtu.com>
40959
40960 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
40961 on grub_biosdisk_rw_standard() error.
40962
0d8837b2 409632008-01-21 Robert Millan <rmh@aybabtu.com>
40964
40965 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
40966 recent changes.
40967 * kern/elf.c: Likewise.
40968 * kern/ieee1275/ieee1275.c: Likewise.
40969 * kern/powerpc/ieee1275/openfw.c: Likewise.
40970 * term/ieee1275/ofconsole.c: Likewise.
40971
ffd36e34 409722008-01-21 Robert Millan <rmh@aybabtu.com>
40973
40974 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
40975
3f0093d0 40976 * include/grub/kernel.h (grub_arch_memdisk_addr)
40977 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 40978
3f0093d0 40979 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
40980 (grub_arch_memdisk_size): ... to here.
ffd36e34 40981
6c391b21 409822008-01-21 Robert Millan <rmh@aybabtu.com>
40983
40984 Mostly based on bugfix from Bean.
40985
40986 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
40987 attribute with hook() parameter.
40988 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
40989 declaration.
40990 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
40991 attribute with hook() parameter.
40992 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
40993 declaration.
40994
55a581dc 409952008-01-21 Robert Millan <rmh@aybabtu.com>
40996
40997 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
40998 (pkglib_MODULES): Add `memdisk.mod'.
40999 (memdisk_mod_SOURCES): New variable.
41000 (memdisk_mod_CFLAGS): Likewise.
41001 (memdisk_mod_LDFLAGS): Likewise.
41002
41003 * disk/memdisk.c: New file.
41004
41005 * include/grub/disk.h (grub_disk_dev_id): Add
41006 `GRUB_DISK_DEVICE_MEMDISK_ID'.
41007
41008 * include/grub/i386/pc/kernel.h
41009 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
41010 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
41011 (grub_kernel_image_size): New variable declaration.
41012 (grub_total_module_size): Likewise.
41013 (grub_memdisk_image_size): Likewise.
41014
41015 * include/grub/i386/pc/memory.h
41016 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
41017
41018 * include/grub/kernel.h: Include `<grub/symbol.h>'.
41019 (grub_arch_memdisk_addr): New variable declaration.
41020 (grub_arch_memdisk_size): Likewise.
41021
41022 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
41023 (grub_arch_memdisk_size): Likewise.
41024
41025 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
41026 (codestart): Replace hardcoded `0x100000' with
41027 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
41028
41029 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
41030 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
41031 not NULL, append the contents of the file it refers to, at the end of
41032 the compressed kernel image. Initialize `grub_memdisk_image_size'
41033 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
41034 (options): Add "memdisk"|'m' option.
41035 (main): Parse --memdisk|-m option, and pass user-provided path as
41036 parameter to generate_image().
41037
3d7f54c9 410382008-01-20 Robert Millan <rmh@aybabtu.com>
41039
41040 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
41041 grub_dprintf() calls from here ...
41042 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
41043
0bf74728 410442008-01-20 Robert Millan <rmh@aybabtu.com>
41045
41046 Fix detection of "real mode" when /options/real-mode? doesn't exist.
41047
41048 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
41049 declaration.
41050 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
41051 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
41052 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 41053 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 41054 property).
41055 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
41056 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
41057
33bf70a7 410582008-01-19 Robert Millan <rmh@aybabtu.com>
41059
fe6b695a 41060 Get rid of confusing function (superseded by
33bf70a7 41061 `grub_ieee1275_get_integer_property')
41062 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
41063 prototype.
41064 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
41065 function.
41066 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
41067 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 41068 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 41069
e2da7d26 410702008-01-19 Robert Millan <rmh@aybabtu.com>
41071
41072 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
41073 command after "shut-down", since implementations differ on which
41074 the command for halt is.
41075
59f1fd8d 410762008-01-19 Robert Millan <rmh@aybabtu.com>
41077
41078 * include/grub/i386/linuxbios/console.h: Add header protection.
41079 (grub_keyboard_controller_init): New function prototype.
41080 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
41081 (KEYBOARD_COMMAND_READ): Likewise.
41082 (KEYBOARD_COMMAND_WRITE): Likewise.
41083 (KEYBOARD_SCANCODE_SET1): Likewise.
41084 (grub_keyboard_controller_write): New function.
41085 (grub_keyboard_controller_read): Likewise.
41086 (grub_keyboard_controller_init): Likewise.
41087
41088 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
41089 (grub_console_init): On coreboot/LinuxBIOS, call
41090 grub_keyboard_controller_init().
41091
5f5a7c15 410922008-01-19 Robert Millan <rmh@aybabtu.com>
41093
41094 PowerPC changes provided by Pavel Roskin.
41095
41096 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
41097 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
41098 don't rely on cmain() doing it.
41099 * kern/i386/ieee1275/startup.S (_start): Store %eax in
41100 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
41101
1210e168 411022008-01-16 Robert Millan <rmh@aybabtu.com>
41103
41104 * include/grub/i386/linuxbios/memory.h
41105 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
41106 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
41107 receive `table_header' as argument. Instead, probe for it in the
41108 known memory ranges where it can be present.
41109 (grub_available_iterate): Do not pass a fixed `table_header' address
41110 to grub_linuxbios_table_iterate().
41111
3d04eab8 411122008-01-15 Robert Millan <rmh@aybabtu.com>
41113
41114 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
41115 * conf/i386-ieee1275.rmk: New file.
41116 * include/grub/i386/ieee1275/console.h: Likewise.
41117 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
41118 * include/grub/i386/ieee1275/kernel.h: Likewise.
41119 * include/grub/i386/ieee1275/time.h: Likewise.
41120 * kern/i386/ieee1275/init.c: Likewise.
41121 * kern/i386/ieee1275/startup.S: Likewise.
41122
d1bc1b73 411232008-01-15 Robert Millan <rmh@aybabtu.com>
41124
41125 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
41126 when pointers are 32-bit (but still do set it to one when they are
41127 64-bit).
41128
66a65807 411292008-01-15 Robert Millan <rmh@aybabtu.com>
41130
41131 * include/grub/ieee1275/ieee1275.h
41132 (grub_ieee1275_get_integer_property): New function prototype.
41133
41134 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
41135 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 41136 grub_ieee1275_get_property() to handle endianness.
66a65807 41137
41138 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
41139 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 41140 where appropriate.
66a65807 41141 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
41142 (grub_map): Likewise.
41143 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
41144
a83ccafd 411452008-01-15 Bean <bean123ch@gmail.com>
41146
41147 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
41148 (grub_script_execute_cmdline): Reset grub_errno.
41149
41150 * normal/main.c (read_config_file): Reset grub_errno.
41151
41152 * normal/parse.y (script_init): New.
41153 (script): Move function and menuentry here.
41154 (delimiter): New.
41155 (command): Add delimiter at the end of command.
41156 (commands): Adjust to match the new command.
41157 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 41158 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 41159 (if): Use the new commands.
41160
41161 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
41162
df6ecfc6 411632008-01-15 Robert Millan <rmh@aybabtu.com>
41164
41165 * normal/menu.c (run_menu): Move timeout message from here ...
41166 (print_timeout): ... to here.
41167 (run_menu): Use print_timeout() once during initial draw to print
41168 the whole message, and again in every clock tick to update only
41169 the number of seconds.
41170
87ae25eb 411712008-01-15 Robert Millan <rmh@aybabtu.com>
41172
41173 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
41174 actual size of `available' from grub_ieee1275_get_property(), and
41175 restrict parsing to that bound.
41176
47bf09a4 411772008-01-15 Christian Franke <franke@computer.org>
41178
41179 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
41180 (argp_program_version): Remove variable.
41181 (argp_program_bug_address): Likewise.
41182 (options): Convert from struct argp_option to struct option.
41183 (struct arguments): Remove.
41184 (parse_opt): Remove.
41185 (usage): New function.
41186 (main): Replace struct args members by simple variables.
41187 Replace argp_parse() by getopt_long().
41188 Add switch to evaluate options.
41189 Add missing "(...)" around root_dev in prefix string.
41190
c86f1469 411912008-01-14 Robert Millan <rmh@aybabtu.com>
41192
41193 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
41194 for grub_ieee1275_exit(), in order to improve portability.
41195
e622c559 411962008-01-14 Robert Millan <rmh@aybabtu.com>
41197
41198 * util/grub.d/10_linux.in (prefix): Define.
41199 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
41200
44cb1ec8 412012008-01-13 Pavel Roskin <proski@gnu.org>
41202
41203 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
41204 grub_errno if no errors have been detected.
41205
1eb8c802 412062008-01-12 Robert Millan <rmh@aybabtu.com>
41207
41208 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
41209 (grub_util_get_dev_abstraction): New function prototype.
41210
41211 * util/getroot.c: Include `<grub/util/getroot.h>'
41212 (grub_util_get_grub_dev): Move detection of abstraction type to ...
41213 (grub_util_get_dev_abstraction): ... here (new function).
41214
41215 * util/grub-probe.c: Convert PRINT_* to an enum. Add
41216 `PRINT_ABSTRACTION'.
41217 (probe): Probe for abstraction type when requested.
41218 (main): Understand `--target=abstraction'.
41219
41220 * util/i386/efi/grub-install.in: Add abstraction module to core
41221 image when it is found to be necessary.
41222 * util/i386/pc/grub-install.in: Likewise.
41223 * util/powerpc/ieee1275/grub-install.in: Likewise.
41224
41225 * util/update-grub_lib.in (font_path): Return system path without
41226 converting to GRUB path.
41227 * util/update-grub.in: Convert system path returned by font_path()
41228 to a GRUB path. Use `grub-probe -t abstraction' to determine what
41229 abstraction module is needed for loading fonts (if any). Export
41230 that as `GRUB_PRELOAD_MODULES'.
41231 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
41232 insmod commands).
41233
52bd3de9 412342008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
41235
41236 Remove some unused code from reiserfs.
f19dbdb7 41237
52bd3de9 41238 * fs/reiserfs.c (struct grub_reiserfs_key)
41239 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
41240 (struct grub_reiserfs_node_body): Removed.
41241 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41242 Likewise.
41243 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41244 Likewise.
41245 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41246 Likewise.
41247 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41248 Likewise.
41249 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41250 Likewise.
41251 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
41252 Likewise.
41253 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41254 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41255 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41256
2f80039d 412572008-01-10 Robert Millan <rmh@aybabtu.com>
41258
41259 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
41260 Determines if a file is garbage left by packaging systems, etc.
41261 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
41262 for processing /etc/grub.d scripts.
41263 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
41264 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
41265 as a condition for processing Linux images.
41266
87888032 412672008-01-10 Pavel Roskin <proski@gnu.org>
41268
41269 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
41270 to compile reiserfs.c on PowerPC.
41271
7e54fced 412722008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 41273
41274 * kern/device.c (grub_device_iterate): Do not abort device iteration
41275 when one of the devices cannot be opened.
41276 * kern/disk.c (grub_disk_open): Do not account previous failures of
41277 unrelated functions when grub_errno is checked for.
41278
5aa541e6 412792008-01-08 Robert Millan <rmh@aybabtu.com>
41280
41281 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
41282 `! grub_linux_is_bzimage', change order of address comparison to make
41283 it more intuitive, and improve "too big zImage" error message.
41284
7076340d 412852008-01-08 Robert Millan <rmh@aybabtu.com>
41286
41287 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
41288 `$(update-grub_DATA)'.
41289 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
41290 targets.
41291
9ca70333 412922008-01-07 Robert Millan <rmh@aybabtu.com>
41293
41294 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
41295 which instruction is modified by grub-setup during installation
41296 (since it wasn't obvious by only looking at this file).
41297
38ccf575 412982008-01-07 Robert Millan <rmh@aybabtu.com>
41299
41300 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
41301 listing actual TODO items.
41302
f5db4291 413032008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41304
868967cf 41305 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
41306 correctly.
41307 (grub_reiserfs_get_key_offset): Likewise.
41308 (grub_reiserfs_set_key_offset): Likewise.
41309 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 41310 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 41311
41312 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
41313 better to remove the bitfield version completely.
f19dbdb7 41314
868967cf 413152008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41316
f5db4291 41317 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
41318 allocated from the heap, due to the fshelp implementation.
41319 (grub_reiserfs_dir): Free NODE, due to the same reason.
41320
492e6d9d 413212008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41322
41323 Mostly from Vincent Pelletier:
f19dbdb7 41324
492e6d9d 41325 * fs/reiserfs.c: New file.
f19dbdb7 41326
492e6d9d 41327 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
41328 (reiserfs_mod_SOURCES): New variable.
41329 (reiserfs_mod_CFLAGS): Likewise.
41330 (reiserfs_mod_LDFLAGS): Likewise.
41331
41332 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
41333 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
41334 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
41335 normal/color.c.
41336
9ce3e7c1 413372008-01-06 Robert Millan <rmh@aybabtu.com>
41338
41339 * normal/color.c: Remove `<grub/env.h>'.
41340
f3b58148 413412008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
41342
41343 * include/grub/normal.h: Include <grub/env.h>.
41344
7ac3bcfa 413452008-01-05 Robert Millan <rmh@aybabtu.com>
41346
41347 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
41348 usage example with `(hd0,1)'.
fb358190 41349 Reported by Samuel Thibault.
7ac3bcfa 41350
c8ee99d7 413512008-01-05 Robert Millan <rmh@aybabtu.com>
41352
41353 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
41354 (grub_linux_boot_zimage): Rename to ...
41355 (grub_linux_boot): ... this.
41356 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
41357 (grub_linux_boot_zimage): Conditionalize zImage copy.
41358
41359 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
41360 (grub_linux_boot_bzimage): Remove prototype.
41361 (grub_linux_boot_zimage): Rename to ...
41362 (grub_linux_boot): ... this.
41363
41364 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
41365 (grub_linux_boot): Remove function.
41366
0ece25b1 413672008-01-05 Robert Millan <rmh@aybabtu.com>
41368
41369 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
41370 (grub_env_write_color_highlight): Likewise.
41371 (grub_wait_after_message): Likewise.
41372
41373 * normal/color.c: New file.
41374
41375 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41376 (normal_mod_DEPENDENCIES): Likewise.
41377
41378 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41379 (normal_mod_DEPENDENCIES): Likewise.
41380
41381 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41382 (normal_mod_DEPENDENCIES): Likewise.
41383
41384 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41385 (normal_mod_DEPENDENCIES): Likewise.
41386
41387 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
41388 for waiting after a message is printed.
41389 * normal/main.c (read_config_file): Likewise.
41390 (grub_normal_init): Register grub_env_write_color_normal() and
41391 grub_env_write_color_highlight() hooks. Mark `color_normal' and
41392 `color_highlight' variables as global.
41393
41394 * normal/menu.c (grub_wait_after_message): New function.
41395 (grub_color_menu_normal): New variable. Replaces ...
41396 (GRUB_COLOR_MENU_NORMAL): ... this macro.
41397 (grub_color_menu_highlight): New variable. Replaces ...
41398 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
41399 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
41400 `GRUB_TERM_COLOR_STANDARD'.
41401 (print_message): Use `grub_setcolorstate' to reload colors. Rename
41402 `normal_code' and `highlight_code' to `old_color_normal' and
41403 `old_color_highlight', respectively.
41404 (grub_menu_init_page): Update colors when drawing the menu, based on
41405 `menu_color_normal' and `menu_color_highlight' variables.
41406 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
41407 a message is printed.
41408
182dd4e5 414092008-01-05 Robert Millan <rmh@aybabtu.com>
41410
41411 * kern/env.c (grub_env_context_open): Propagate hooks for global
41412 variables to new context.
41413
41414 * kern/main.c (grub_set_root_dev): Export `root' variable.
41415
ddf8f6ad 414162008-01-05 Robert Millan <rmh@aybabtu.com>
41417
41418 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 41419 discs unconditionally, since udev and others have options to provide
ddf8f6ad 41420 them.
41421
d8b43d9b 414222008-01-05 Robert Millan <rmh@aybabtu.com>
41423
41424 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
41425
2bff2de3 414262008-01-04 Christian Franke <franke@computer.org>
41427
41428 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
41429 of eisa_mmap.
41430
97eab917 414312008-01-03 Pavel Roskin <proski@gnu.org>
41432
41433 * kern/i386/linuxbios/init.c: Put "void" to all function
41434 declarations with no arguments.
41435 * kern/powerpc/ieee1275/init.c: Likewise.
41436 * term/i386/pc/at_keyboard.c: Likewise.
41437 * term/i386/pc/vga_text.c: Likewise.
41438 * util/grub-mkdevicemap.c: Likewise.
41439
b9416d00 414402008-01-02 Robert Millan <rmh@aybabtu.com>
41441
41442 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
41443 message when loaded image is out of bounds.
41444 (grub_multiboot_load_elf64): Likewise.
41445
92695df9 414462008-01-02 Pavel Roskin <proski@gnu.org>
41447
41448 * util/grub.d/10_linux.in: Try version without ".old" when
41449 looking for initrd. It's better to use initrd from the newer
41450 kernel of the same version than no initrd at all.
41451
d98d9cad 414522008-01-01 Robert Millan <rmh@aybabtu.com>
41453
41454 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
41455
dbfdce36 414562008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
41457
f19dbdb7 41458 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 41459 grub_video_get_active_render_target.
41460 (grub_video_adapter): Added unmap_color and get_active_render_target.
41461
f19dbdb7 41462 * video/video.c: Added grub_video_unmap_color and
dbfdce36 41463 grub_video_get_active_render_target.
41464 (grub_video_get_info): Changed method to accept NULL pointer as an
41465 argument to allow detection of active video adapter.
41466
41467 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
41468 grub_video_vbe_unmap_color_int.
41469 Added grub_video_vbe_unmap_color and
41470 grub_video_vbe_get_active_render_target.
41471 (grub_video_vbe_adapter): Added unmap_color and
41472 get_active_render_target.
41473
f19dbdb7 41474 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 41475 with grub_video_vbe_unmap_color_int.
41476
41477 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
41478 (DEFAULT_NORMAL_COLOR): Likewise.
41479 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
41480 (DEFAULT_FG_COLOR): Removed.
41481 (DEFAULT_BG_COLOR): Likewise.
41482 (DEFAULT_CURSOR_COLOR): Changed value.
41483 (grub_virtual_screen): Added standard_color_setting,
41484 normal_color_setting, highlight_color_setting and term_color.
41485 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
41486 (bitmap_width): Added.
41487 (bitmap_height): Likewise.
41488 (bitmap): Likewise.
41489 (set_term_color): Likewise.
41490 (grub_virtual_screen_setup): Changed to use new terminal coloring
41491 settings.
41492 (grub_gfxterm_init): Added init for bitmap.
41493 (grub_gfxterm_fini): Added destroy for bitmap.
41494 (redraw_screen_rect): Updated to use background bitmap and new
41495 terminal coloring.
41496 (scroll_up): Added optimization for case when there is no bitmap.
41497 (grub_gfxterm_cls): Fixed to use correct background color.
41498 (grub_virtual_screen_setcolorstate): Changed to use new terminal
41499 coloring.
41500 (grub_virtual_screen_setcolor): Likewise.
41501 (grub_virtual_screen_getcolor): Added.
41502 (grub_gfxterm_background_image_cmd): Likewise.
41503 (grub_video_term): Added setcolor and getcolor.
41504 (MOD_INIT): Added registration of background_image command.
41505 (MOD_TERM): Added unregistration for background_image command.
41506
c3c20931 415072007-12-30 Pavel Roskin <proski@gnu.org>
41508
41509 * loader/multiboot_loader.c: Fix multiboot command
41510 unregistration. Fix all typos in the word "multiboot".
41511
df266716 415122007-12-29 Pavel Roskin <proski@gnu.org>
94239199 41513
41514 * util/grub.d/10_linux.in: Refactor search for initrd. Add
41515 support for initrd names used in Fedora.
41516
fc6e896c 415172007-12-26 Bean <bean123ch@gmail.com>
41518
41519 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
41520 (cpio_mod_SOURCES): New variable.
41521 (cpio_mod_CFLAGS): Likewise.
41522 (cpio_mod_LDFLAGS): Likewise.
41523
41524 * fs/cpio.c: New file.
41525
41526 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
41527
41528 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41529
41530 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41531
41532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41533
533110ad 415342007-12-25 Robert Millan <rmh@aybabtu.com>
41535
41536 * include/grub/term.h (struct grub_term): Add `getcolor' function.
41537 (grub_getcolor): New function.
41538
41539 * kern/term.c (grub_getcolor): New function.
41540 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
41541 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
41542 (print_entry): Set normal and highlight colors to
41543 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
41544 respectively, before printing and restore them to old
41545 values afterwards.
41546 (grub_menu_init_page): Likewise. Fill an additional colored space
41547 that would otherwise be left blank.
41548
41549 * term/efi/console.c (grub_console_getcolor): New function.
41550 (struct grub_console_term.getcolor): New variable.
41551 * term/i386/pc/console.c (grub_console_getcolor): New function.
41552 (struct grub_console_term.getcolor): New variable.
41553 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
41554 (struct grub_console_term.getcolor): New variable.
41555
41556 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
41557 (struct grub_console_term.setcolor): Remove variable.
41558 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
41559 (struct grub_console_term.setcolor): Remove variable.
41560 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
41561 (struct grub_console_term.setcolor): Remove variable.
41562 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
41563 (struct grub_console_term.setcolor): Remove variable.
41564
4931827f 415652007-12-25 Robert Millan <rmh@aybabtu.com>
41566
41567 * configure.ac: Search for possible unifont.hex locations, and
41568 define UNIFONT_HEX if found.
41569
41570 * Makefile.in (UNIFONT_HEX): Define variable.
41571 (DATA): Rename to ...
41572 (PKGLIB): ... this. Update all users.
41573 (PKGDATA): New variable.
41574 (pkgdata_IMAGES): Rename to ...
41575 (pkglib_IMAGES): ... this. Update all users.
41576 (pkgdata_MODULES): Rename to ...
41577 (pkglib_MODULES): ... this. Update all users.
41578 (pkgdata_PROGRAMS): Rename to ...
41579 (pkglib_PROGRAMS): ... this. Update all users.
41580 (pkgdata_DATA): Rename to ...
41581 (pkglib_DATA): ... this. Update all users.
41582 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
41583 (unicode.pff, ascii.pff): New rules.
41584 (all-local): Add `$(PKGDATA)' dependency.
41585 (install-local): Process `$(PKGDATA)'.
41586
41587 * util/update-grub_lib.in (font_path): Search for *.pff files in
41588 a few more locations, including `${pkgdata}'.
41589
57e57e31 415902007-12-23 Robert Millan <rmh@aybabtu.com>
41591
41592 Patch from Bean <bean123ch@gmail.com>:
41593 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
41594 `size'.
41595
4bc72aa9 415962007-12-21 Bean <bean123ch@gmail.com>
41597
41598 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
41599 (ntfscomp_mod_SOURCES): New variable.
41600 (ntfscomp_mod_CFLAGS): Likewise.
41601 (ntfscomp_mod_LDFLAGS): Likewise.
41602
41603 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
41604 (grub_probe_SOURCES): Likewise.
41605 (grub_emu_SOURCES): Likewise.
41606
41607 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41608 (grub_emu_SOURCES): Likewise.
41609
41610 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41611 (grub_emu_SOURCES): Likewise.
41612
41613 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41614 (grub_emu_SOURCES): Likewise.
41615
41616 * fs/ntfs.c (grub_ntfscomp_func): New variable.
41617 (read_run_list): Renamed to grub_ntfs_read_run_list.
41618 (decomp_nextvcn): Moved to ntfscomp.c.
41619 (decomp_getch): Likewise.
41620 (decomp_get16): Likewise.
41621 (decomp_block): Likewise.
41622 (read_block): Likewise.
41623 (read_data): Partially moved to ntfscomp.c.
41624 (fixup): Change unsigned to grub_uint16_t.
41625 (read_mft): Change unsigned long to grub_uint32_t.
41626 (read_attr): Likewise.
41627 (read_data): Likewise.
41628 (read_run_data): Likewise.
41629 (read_run_list): Likewise.
41630 (read_mft): Likewise.
41631
41632 * fs/ntfscomp.c: New file.
41633
41634 * include/grub/ntfs.h: New file.
41635
af680a87 416362007-12-16 Robert Millan <rmh@aybabtu.com>
41637
41638 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
41639 IDE disk check, since Linux is known to support 20 IDE disks.
41640 Reported by Colin Watson.
41641
84be7599 416422007-12-15 Bean <bean123ch@gmail.com>
41643
41644 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
41645 (lnxboot_img_SOURCES): New variable.
41646 (lnxboot_img_ASFLAGS): Likewise.
41647 (lnxboot_img_LDFLAGS): Likewise.
41648
41649 * boot/i386/pc/lnxboot.S: New file.
41650
6af9db01 416512007-11-24 Pavel Roskin <proski@gnu.org>
41652
41653 * configure.ac: Test if '--build-id=none' is supported by the
41654 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
41655 objcopy to generate incorrect binary files (binutils
41656 2.17.50.0.18-1 as shipped by Fedora 8).
41657 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
41658 linking, so that build ID doesn't break the test.
41659
7361cfe6 416602007-11-24 Pavel Roskin <proski@gnu.org>
41661
41662 * include/grub/i386/time.h: use "void" in the argument list
41663 of grub_cpu_idle().
41664 * include/grub/powerpc/time.h: Likewise.
41665 * include/grub/sparc64/time.h: Likewise.
41666
1593e10c 416672007-11-18 Christian Franke <franke@computer.org>
41668
41669 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
41670 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
41671 This fixes the problem that function keys did not work in grub-emu.
41672
3b8db1a8 416732007-11-18 Christian Franke <franke@computer.org>
41674
41675 * disk/host.c (grub_host_open): Remove attribute unused from
41676 name parameter. Add check for "host". This fixes the problem
41677 that grub-emu does not find partitions.
41678
2e29408d 416792007-11-18 Christian Franke <franke@computer.org>
41680
41681 * util/hostfs.c (is_dir): New function.
41682 (grub_hostfs_dir): Handle missing dirent.d_type case.
41683 (grub_hostfs_read): Add missing fseek().
41684 (grub_hostfs_label): Clear label pointer. This fixes a crash
41685 of grub-emu on "ls (host)".
41686
398cd047 416872007-11-18 Christian Franke <franke@computer.org>
41688
41689 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
41690 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
41691 to 64 bit boundary by default.
41692
c405c391 416932007-11-18 Bean <bean123ch@gmail.com>
41694
41695 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
41696 (hexdump_mod_SOURCES): New variable.
41697 (hexdump_mod_CFLAGS): Likewise.
41698 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 41699
c405c391 41700 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41701
41702 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41703
41704 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41705
41706 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41707
41708 * include/grub/hexdump.h: New file.
41709
41710 * commands/hexdump.c: New file.
41711
5cced7fd 417122007-11-10 Robert Millan <rmh@aybabtu.com>
41713
41714 * commands/i386/pc/play.c (beep_off): Switch order of arguments
41715 in grub_outb() calls.
41716 (beep_on): Likewise.
41717
8b714eb0 417182007-11-10 Christian Franke <franke@computer.org>
41719
41720 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
41721 (grub_menu_run): Likewise.
41722
ce0f1839 417232007-11-10 Robert Millan <rmh@aybabtu.com>
41724
41725 * include/grub/i386/efi/machine.h: New file.
41726 * include/grub/i386/linuxbios/machine.h: Likewise.
41727 * include/grub/i386/pc/machine.h: Likewise.
41728 * include/grub/powerpc/ieee1275/machine.h: Likewise.
41729 * include/grub/sparc64/ieee1275/machine.h: Likewise.
41730
41731 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
41732 (serial_hw_io_addr): New variable.
41733 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
41734 instead of `(unsigned short *) 0x400'.
41735
270c237d 417362007-11-10 Bean <bean123ch@gmail.com>
41737
41738 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
41739
a87783bf 417402007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
41741
41742 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
41743 (vga_mod_SOURCES): Added.
41744 (vga_mod_CFLAGS): Likewise.
41745 (vga_mod_LDFLAGS): Likewise.
41746
41747 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
41748 grub_outb() calls.
41749 (set_map_mask): Likewise.
41750 (set_read_map): Likewise.
41751 (set_read_address): Likewise.
41752 (vga_font): Removed variable.
41753 (get_vga_glyph): Removed function.
41754 (invalidate_char): Likewise.
41755 (write_char): Changed to use grub_font_get_glyph() for font
41756 information.
41757 (grub_vga_putchar): Likewise.
41758 (grub_vga_getcharwidth): Likewise.
41759
6433b448 417602007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
41761
41762 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
41763 flags.
41764 (pxeboot_img_LDFLAGS): Likewise.
41765 (diskboot_img_LDFLAGS): Likewise.
41766 (kernel_img_LDFLAGS): Likewise.
41767
49178511 417682007-11-06 Robert Millan <rmh@aybabtu.com>
41769
41770 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
41771 in grub_outb() calls.
41772 (serial_hw_init): Likewise.
41773
53b052de 417742007-11-05 Robert Millan <rmh@aybabtu.com>
41775
41776 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
41777 spaces. Skip non-regular files.
41778
5ab33bba 417792007-11-05 Robert Millan <rmh@aybabtu.com>
41780
41781 * kern/disk.c (grub_disk_firmware_fini)
41782 (grub_disk_firmware_is_tainted): New variables.
41783
41784 * include/grub/disk.h (grub_disk_firmware_fini)
41785 (grub_disk_firmware_is_tainted): Likewise.
41786
41787 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
41788 (grub_disk_biosdisk_fini): ... to here.
41789 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
41790 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
41791 is set. Register grub_disk_biosdisk_fini() in
41792 `grub_disk_firmware_fini'.
41793
41794 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
41795 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
41796 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
41797 to finish existing firmware disk interface.
41798
41799 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
41800 (ata_mod_SOURCES): New variable.
41801 (ata_mod_CFLAGS): Likewise.
41802 (ata_mod_LDFLAGS): Likewise.
41803
0149ab7c 418042007-11-05 Robert Millan <rmh@aybabtu.com>
41805
41806 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
41807 (grub_ata_wait): Reimplement using grub_millisleep().
41808
41809 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
41810 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
41811
be7ac41e 418122007-11-03 Marco Gerards <marco@gnu.org>
41813
41814 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
41815 (CRTC_ADDR_PORT): New macro.
41816 (CRTC_DATA_PORT): Likewise.
41817 (CRTC_CURSOR): Likewise.
41818 (CRTC_CURSOR_ADDR_HIGH): Likewise.
41819 (CRTC_CURSOR_ADDR_LOW): Likewise.
41820 (update_cursor): New function.
41821 (grub_console_real_putchar): Call `update_cursor'.
41822 (grub_console_gotoxy): Likewise.
41823 (grub_console_cls): Set the default color when clearing the
41824 screen.
41825 (grub_console_setcursor): Implemented.
41826
bb06ab2e 418272007-11-03 Marco Gerards <marco@gnu.org>
41828
41829 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
41830 become activate.
41831 (grub_ata_pio_write): Likewise.
41832
41833 (grub_atapi_identify): Wait after issuing an ATA command.
41834 (grub_atapi_packet): Likewise.
41835 (grub_ata_identify): Likewise.
41836 (grub_ata_readwrite): Likewise.
41837
cf8f780b 418382007-11-03 Marco Gerards <marco@gnu.org>
41839
41840 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
41841 (grub_ata_pio_write): Likewise.
41842 (grub_ata_readwrite): Use `grub_error', instead of
41843 returning `grub_errno'.
41844
ed649e54 418452007-11-03 Marco Gerards <marco@gnu.org>
41846
41847 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
41848 grub_ata_pio_write once for every single sector, instead of for
41849 multiple sectors.
41850
ca25d8f0 418512007-10-31 Robert Millan <rmh@aybabtu.com>
41852
41853 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
41854
41855 * conf/i386-linuxbios.rmk: New file.
41856
41857 * kern/i386/pc/hardware.c: Likewise.
41858 * term/i386/pc/at_keyboard.c: Likewise.
41859 * term/i386/pc/vga_text.c: Likewise.
41860
41861 * include/grub/i386/linuxbios/boot.h: Likewise.
41862 * include/grub/i386/linuxbios/console.h: Likewise.
41863 * include/grub/i386/linuxbios/init.h: Likewise.
41864 * include/grub/i386/linuxbios/kernel.h: Likewise.
41865 * include/grub/i386/linuxbios/loader.h: Likewise.
41866 * include/grub/i386/linuxbios/memory.h: Likewise.
41867 * include/grub/i386/linuxbios/serial.h: Likewise.
41868 * include/grub/i386/linuxbios/time.h: Likewise.
41869
41870 * kern/i386/linuxbios/init.c: Likewise.
41871 * kern/i386/linuxbios/startup.S: Likewise.
41872 * kern/i386/linuxbios/table.c: Likewise.
41873
e911ecc1 418742007-10-31 Marco Gerards <marco@gnu.org>
41875
41876 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
41877 (ata_mod_SOURCES): New variable.
41878 (ata_mod_CFLAGS): Likewise.
41879 (ata_mod_LDFLAGS): Likewise.
41880
41881 * disk/ata.c: New file.
41882
41883 * include/grub/disk.h (grub_disk_dev_id): Add
41884 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 41885
7f66d0e0 418862007-10-31 Robert Millan <rmh@aybabtu.com>
41887
41888 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
41889 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
41890
41891 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
41892 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
41893
41894 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
41895 `<grub/types.h>'.
41896
41897 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
41898
5cd7dd46 418992007-10-27 Robert Millan <rmh@aybabtu.com>
41900
3236ca65 41901 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 41902
2ebfc90f 419032007-10-22 Robert Millan <rmh@aybabtu.com>
41904
41905 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
41906 `"../realmode.S"'.
41907 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
41908
73fcb0f3 419092007-10-22 Robert Millan <rmh@aybabtu.com>
41910
41911 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
41912 (pkgdata_MODULES): Add `biosdisk.mod'.
41913 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
41914 variables.
41915
41916 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
41917 (grub_biosdisk_init): Replace with ...
41918 (GRUB_MOD_INIT(biosdisk)): ... this.
41919 (grub_biosdisk_fini): Replace with ...
41920 (GRUB_MOD_FINI(biosdisk)): ... this.
41921
41922 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
41923 (grub_machine_init): Remove call to grub_biosdisk_init().
41924 (grub_machine_fini): Remove call to grub_machine_fini().
41925
41926 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
41927
3381d274 419282007-10-22 Robert Millan <rmh@aybabtu.com>
41929
41930 * include/grub/time.h: New file.
41931 * include/grub/i386/time.h: Likewise.
41932 * include/grub/powerpc/time.h: Likewise.
41933 * include/grub/sparc64/time.h: Likewise.
41934
41935 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
41936 instances to ...
41937 (KERNEL_MACHINE_TIME_HEADER): ... this.
41938 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
41939 instances to ...
41940 (KERNEL_MACHINE_TIME_HEADER): ... this.
41941 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
41942 instances to ...
41943 (KERNEL_MACHINE_TIME_HEADER): ... this.
41944
41945 * kern/i386/efi/init.c: Include `<grub/time.h>'.
41946 (grub_millisleep): New function.
41947 * kern/i386/pc/init.c: Include `<grub/time.h>'.
41948 (grub_millisleep): New function.
41949 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
41950 Remove `grub/machine/time.h' include.
41951 (grub_millisleep): New function.
41952 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
41953 Remove `grub/machine/time.h' include.
41954 (grub_millisleep): New function.
41955
41956 * include/grub/misc.h (grub_div_roundup): New function.
41957
41958 * kern/misc.c: Include `<grub/time.h>'.
41959 (grub_millisleep_generic): New function.
41960
41961 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
41962 Add `time.h'.
41963 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
41964 Add `time.h'.
41965 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
41966 `machine/time.h'. Add `time.h'.
41967 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41968
a39a0312 419692007-10-21 Robert Millan <rmh@aybabtu.com>
41970
41971 * include/grub/misc.h (grub_max): New function.
41972
2aad70e2 419732007-10-21 Robert Millan <rmh@aybabtu.com>
41974
41975 * util/misc.c (grub_util_info): Call fflush() before returning.
41976
54b71c4b 419772007-10-20 Robert Millan <rmh@aybabtu.com>
41978
41979 * genmk.rb (Image): Copy `extra_flags' from here ...
41980 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
41981
41982 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
41983 to `argc' and `args' arguments.
41984
a979f513 419852007-10-17 Robert Millan <rmh@aybabtu.com>
41986
41987 * kern/i386/loader.S: New file.
41988
41989 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
41990 * kern/i386/loader.S (grub_linux_prot_size)... to here.
41991 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
41992 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
41993 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
41994 * kern/i386/loader.S (grub_linux_real_addr)... to here.
41995 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
41996 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
41997 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
41998 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
41999 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
42000 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
42001 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
42002 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
42003
42004 * kern/i386/realmode.S: New file.
42005
42006 * kern/i386/pc/startup.S (protstack): Moved from here ...
42007 * kern/i386/realmode.S (protstack)... to here.
42008 * kern/i386/pc/startup.S (gdt): Moved from here ...
42009 * kern/i386/realmode.S (gdt)... to here.
42010 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
42011 * kern/i386/realmode.S (prot_to_real)... to here.
42012
42013 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
42014 `kern/i386/realmode.S'.
42015
825fc8fd 420162007-10-17 Robert Millan <rmh@aybabtu.com>
42017
42018 * include/grub/i386/loader.h: New file.
42019
42020 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
42021 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42022 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42023 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42024 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
42025 * include/grub/i386/loader.h (grub_linux_prot_size)
42026 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42027 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42028 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42029 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
42030
42031 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
42032
e179b2f4 420332007-10-15 Robert Millan <rmh@aybabtu.com>
42034
42035 * normal/misc.c (grub_normal_print_device_info): Do not probe for
42036 filesystem when dev->disk is unset.
42037 Do probe for filesystem even when dev->disk->has_partitions is set.
42038 In case a filesystem is found, always report it.
42039 In case it isn't, if dev->disk->has_partitions is set, report that
42040 a partition table was found instead of reporting that no filesystem
42041 could be identified.
42042
5db82af6 420432007-10-12 Robert Millan <rmh@aybabtu.com>
42044
42045 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
42046 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
42047
68f6ac74 42048 * include/grub/types.h (grub_host_to_target16): New macro.
42049 (grub_host_to_target32): Likewise.
42050 (grub_host_to_target64): Likewise.
42051 (grub_target_to_host16): Likewise.
42052 (grub_target_to_host32): Likewise.
42053 (grub_target_to_host64): Likewise.
5db82af6 42054
42055 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42056 Renamed from to ...
42057 (GRUB_MOD_ALIGN): ...this. Update all users.
42058
68f6ac74 42059 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
42060 grub_host_to_target32.
42061 Replace grub_be_to_cpu32 with grub_target_to_host32.
42062 (load_modules): Likewise.
42063 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
42064 Replace grub_be_to_cpu32 with grub_target_to_host32.
42065 Replace grub_cpu_to_be16 with grub_host_to_target16.
42066 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 42067
3cf497cc 420682007-10-12 Robert Millan <rmh@aybabtu.com>
42069
42070 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
42071 * util/elf/grub-mkimage.c: ... here.
42072
42073 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
42074 `util/powerpc/ieee1275/grub-mkimage.c'.
42075
c8cc3692 420762007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 42077
c8cc3692 42078 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
42079 and make it easier to figure out.
42080 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
42081 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
42082 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
42083 leave us with less than HEAP_MIN_SIZE total heap.
42084 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 42085
5c58b791 420862007-10-03 Robert Millan <rmh@aybabtu.com>
42087
42088 * include/grub/i386/io.h: New file.
42089 * commands/i386/pc/play.c (inb): Removed.
42090 (outb): Removed.
42091 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42092 with grub_outb().
afcd2ef8 42093 * term/i386/pc/serial.c (inb): Removed.
42094 (outb): Removed.
42095 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42096 with grub_outb().
42097 * term/i386/pc/vga.c (inb): Removed.
42098 (outb): Removed.
42099 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42100 with grub_outb().
5c58b791 42101
1a477ed6 421022007-10-02 Robert Millan <rmh@aybabtu.com>
42103
42104 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
42105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42106 Reported by Marcin Kurek.
42107
6b5d80fa 421082007-09-07 Robert Millan <rmh@aybabtu.com>
42109
42110 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
42111 SmartFirmware version updates (as released by Sven Luther), and avoid
42112 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
42113 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
42114 known broken.
42115
5618afbf 421162007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42117
42118 From Hitoshi Ozeki:
42119 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
42120 when merging two regions.
42121
6139dcd9 421222007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42123
508e39ee 42124 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
42125 * normal/completion.c (grub_normal_do_completion): Likewise.
42126 Reported by Hitoshi Ozeki.
42127
421282007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42129
6139dcd9 42130 Do not use devices at boot in chainloading.
f19dbdb7 42131
6139dcd9 42132 * loader/i386/pc/chainloader.c (boot_drive): New variable.
42133 (boot_part_addr): Likewise.
42134 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
42135 with BOOT_DRIVE and BOOT_PART_ADDR.
42136 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
42137 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
42138
38da6516 421392007-08-29 Robert Millan <rmh@aybabtu.com>
42140
42141 Patch from Simon Peter <dn.tlp@gmx.net>:
42142 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
42143 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
42144 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
42145 util/i386/pc/grub-setup.c_DEPENDENCIES.
42146 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
42147 util/grub-probe.c_DEPENDENCIES.
42148 * conf/powerpc-ieee1275.rmk: Likewise.
42149
29d0928c 421502007-08-28 Robert Millan <rmh@aybabtu.com>
42151
42152 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
42153 to tell grub-mkdevicemap how to name devices.
42154 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
42155 feature).
42156
42157 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
42158 util/i386/get_disk_name.c.
42159 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
42160 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
42161 util/ieee1275/get_disk_name.c.
42162
42163 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
42164
42165 * DISTLIST: Add util/i386/get_disk_name.c and
42166 util/ieee1275/get_disk_name.c.
42167
42168 * util/grub-mkdevicemap.c: Replace device naming logic with
42169 grub_util_get_disk_name() calls.
42170
5a0d3cca 421712007-08-20 Robert Millan <rmh@aybabtu.com>
42172
42173 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
42174 (so that it works for both plural and singular quantities).
42175
8b72db2f 421762007-08-05 Robert Millan <rmh@aybabtu.com>
42177
42178 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
42179 so that [xz] isn't taken into account when determining order.
42180
352466bf 421812007-08-02 Marco Gerards <marco@gnu.org>
42182
42183 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
42184 `include/multiboot2.h', `include/grub/elfload.h',
42185 `include/multiboot.h', `include/grub/multiboot.h',
42186 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
42187 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
42188 `kern/elf.c', `loader/multiboot_loader.c',
42189 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
42190 `loader/i386/pc/multiboot2.c',
42191 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
42192 `util/i386/pc/grub-mkrescue.in'. Remove
42193 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
42194 `include/grub/i386/pc/util/biosdisk.h' and
42195 `include/grub/powerpc/ieee1275/multiboot.h'.
42196
8f096014 421972007-08-02 Bean <bean123ch@gmail.com>
42198
42199 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
42200 (ntfs_mod_SOURCES): New variable.
42201 (ntfs_mod_CFLAGS): Likewise.
42202 (ntfs_mod_LDFLAGS): Likewise.
42203
42204 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
42205 (grub_probe_SOURCES): Likewise.
42206 (grub_emu_SOURCES): Likewise.
42207
42208 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42209 (grub_emu_SOURCES): Likewise.
42210
42211 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42212 (grub_emu_SOURCES): Likewise.
f19dbdb7 42213
8f096014 42214 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
42215
42216 * fs/ntfs.c: New file.
42217
9959f7db 422182007-08-02 Bean <bean123ch@gmail.com>
42219
42220 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
42221
42222 * file.h (grub_file): Likewise.
42223
42224 * fshelp.h (grub_fshelp_read_file): Likewise.
42225
42226 * util/i386/pc/grub-setup.c (setup): Likewise.
42227 (save_first_sector): Likewise.
42228 (save_blocklists): Likewise.
f19dbdb7 42229
9959f7db 42230 * fs/affs.c (grub_affs_read_file): Likewise.
42231
42232 * fs/ext2.c (grub_ext2_read_file): Likewise.
42233
42234 * fs/fat.c (grub_fat_read_data): Likewise.
42235
42236 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
42237
42238 * fs/hfs.c (grub_hfs_read_file): Likewise.
42239
42240 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42241
42242 * fs/jfs.c (grub_jfs_read_file): Likewise.
42243
42244 * fs/minix.c (grub_minix_read_file): Likewise.
42245
42246 * fs/sfs.c (grub_sfs_read_file): Likewise.
42247
42248 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 42249
9959f7db 42250 * fs/xfs.c (grub_xfs_read_file): Likewise.
42251
42252 * command/blocklist.c (read_blocklist): Likewise.
42253 (print_blocklist): Likewise.
42254
0a203f83 422552007-08-02 Marco Gerards <marco@gnu.org>
42256
42257 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
42258 `util/hostfs.c'.
42259
42260 * disk/host.c: New file.
42261
42262 * util/hostfs.c: Likewise.
42263
42264 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
42265 return `GRUB_ERR_BAD_FS'.
42266 * fs/sfs.c (grub_sfs_mount): Likewise.
42267 * fs/xfs.c (grub_xfs_mount): Likewise.
42268
42269 * include/grub/disk.h (enum grub_disk_dev_id): Add
42270 `GRUB_DISK_DEVICE_HOST_ID'.
42271
42272 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
42273
e5dfe777 422742007-07-24 Jerone Young <jerone@gmail.com>
42275
f19dbdb7 42276 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 42277 modules for compilation.
42278 * conf/powerpc-ieee1275.rmk: Likewise.
42279
42280 * include/multiboot.h: Move multiboot definitions to one file. Rename
42281 many definitions to not get grub specific.
42282 * include/multiboot2.h: Create header with multiboot 2 definitions.
42283 * include/grub/multiboot.h: Header for grub specific function
42284 prototypes and definitions.
42285 * include/grub/multiboot2.h: Likewise.
42286 * include/grub/multiboot_loader.h: Likewise.
42287 * include/grub/i386/pc/multiboot.h: Removed.
42288 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
42289
42290 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
42291 and 2 to allow for one multiboot and module commands.
42292 * loader/multiboot2.c: Add multiboot2 functionality.
42293 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
42294 and definition names.
42295 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
42296 2 functions.
42297 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
42298 ieee1275 specific multiboot2 code.
42299
42300 * kern/i386/pc/startup.S: Change headers and definition names for
42301 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
42302
daf0f0ba 423032007-07-22 Robert Millan <rmh@aybabtu.com>
42304
42305 * geninitheader.sh: Process file specified in first parameter rather
42306 than hardcoding grub_modules_init.lst.
fe6b695a 42307 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 42308 than hardcoding grub_modules_init.h.
42309
42310 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
42311 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
42312 grub_probe_init.[ch] and grub_setup_init.[ch].
42313
42314 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
42315 grub_modules_init.h with grub_emu_init.h.
42316 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
42317 grub_probe_init.[ch] files.
42318 * conf/i386-efi.rmk: Likewise.
42319 * conf/i386-pc.rmk: Likewise.
42320 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
42321 grub_setup_init.[ch] files.
42322
42323 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
42324 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
42325 to initialize modules rather than a list of hardcoded functions.
42326 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
42327 grub_init_all() to initialize modules rather than a list of hardcoded
42328 functions.
42329
54cdc1cc 423302007-07-22 Robert Millan <rmh@aybabtu.com>
42331
42332 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
42333 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
42334
ad0686cc 423352007-07-22 Robert Millan <rmh@aybabtu.com>
42336
42337 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42338 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
42339 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
42340 flag when running on SmartFirmware.
42341 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
42342 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
42343 was set.
42344
42345 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42346 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
42347 rather than decreasing it.
42348
42349 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
42350 there's not enough space to do it, fail in the same way as when it
42351 can't be done because there are no partitions.
42352
42353 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
42354 when nvsetenv failed.
42355
969c02ec 423562007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42357
42358 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
42359 because this rule is automatically generated.
42360 (grub-mkrescue): Removed for the same reason as above.
42361
5a79f472 423622007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42363
42364 Migrate to GNU General Public License Version 3.
f19dbdb7 42365
5a79f472 42366 * COPYING: Replaced with the plain text version of GPLv3.
42367
42368 * config.guess: Updated from gnulib.
42369 * config.sub: Likewise.
42370
42371 * geninit.sh: Output a GPLv3 copyright notice.
42372 * geninitheader.sh: Likewise.
42373 * genmodsrc.sh: Likewise.
42374 * gensymlist.sh.in: Likewise.
42375
42376 * boot/i386/pc/boot.S: Upgraded to GPLv3.
42377 * boot/i386/pc/diskboot.S: Likewise.
42378 * boot/i386/pc/pxeboot.S: Likewise.
42379 * commands/blocklist.c: Likewise.
42380 * commands/boot.c: Likewise.
42381 * commands/cat.c: Likewise.
42382 * commands/cmp.c: Likewise.
42383 * commands/configfile.c: Likewise.
42384 * commands/echo.c: Likewise.
42385 * commands/help.c: Likewise.
42386 * commands/ls.c: Likewise.
42387 * commands/search.c: Likewise.
42388 * commands/terminal.c: Likewise.
42389 * commands/test.c: Likewise.
42390 * commands/videotest.c: Likewise.
42391 * commands/i386/cpuid.c: Likewise.
42392 * commands/i386/pc/halt.c: Likewise.
42393 * commands/i386/pc/play.c: Likewise.
42394 * commands/i386/pc/reboot.c: Likewise.
42395 * commands/i386/pc/vbeinfo.c: Likewise.
42396 * commands/i386/pc/vbetest.c: Likewise.
42397 * commands/ieee1275/halt.c: Likewise.
42398 * commands/ieee1275/reboot.c: Likewise.
42399 * commands/ieee1275/suspend.c: Likewise.
42400 * disk/loopback.c: Likewise.
42401 * disk/lvm.c: Likewise.
42402 * disk/raid.c: Likewise.
42403 * disk/efi/efidisk.c: Likewise.
42404 * disk/i386/pc/biosdisk.c: Likewise.
42405 * disk/ieee1275/ofdisk.c: Likewise.
42406 * font/manager.c: Likewise.
42407 * fs/affs.c: Likewise.
42408 * fs/ext2.c: Likewise.
42409 * fs/fat.c: Likewise.
42410 * fs/fshelp.c: Likewise.
42411 * fs/hfs.c: Likewise.
42412 * fs/hfsplus.c: Likewise.
42413 * fs/iso9660.c: Likewise.
42414 * fs/jfs.c: Likewise.
42415 * fs/minix.c: Likewise.
42416 * fs/sfs.c: Likewise.
42417 * fs/ufs.c: Likewise.
42418 * fs/xfs.c: Likewise.
42419 * hello/hello.c: Likewise.
42420 * include/grub/acorn_filecore.h: Likewise.
42421 * include/grub/arg.h: Likewise.
42422 * include/grub/bitmap.h: Likewise.
42423 * include/grub/boot.h: Likewise.
42424 * include/grub/cache.h: Likewise.
42425 * include/grub/device.h: Likewise.
42426 * include/grub/disk.h: Likewise.
42427 * include/grub/dl.h: Likewise.
42428 * include/grub/elfload.h: Likewise.
42429 * include/grub/env.h: Likewise.
42430 * include/grub/err.h: Likewise.
42431 * include/grub/file.h: Likewise.
42432 * include/grub/font.h: Likewise.
42433 * include/grub/fs.h: Likewise.
42434 * include/grub/fshelp.h: Likewise.
42435 * include/grub/gzio.h: Likewise.
42436 * include/grub/hfs.h: Likewise.
42437 * include/grub/kernel.h: Likewise.
42438 * include/grub/loader.h: Likewise.
42439 * include/grub/lvm.h: Likewise.
42440 * include/grub/misc.h: Likewise.
42441 * include/grub/mm.h: Likewise.
42442 * include/grub/net.h: Likewise.
42443 * include/grub/normal.h: Likewise.
42444 * include/grub/parser.h: Likewise.
42445 * include/grub/partition.h: Likewise.
42446 * include/grub/pc_partition.h: Likewise.
42447 * include/grub/raid.h: Likewise.
42448 * include/grub/rescue.h: Likewise.
42449 * include/grub/script.h: Likewise.
42450 * include/grub/setjmp.h: Likewise.
42451 * include/grub/symbol.h: Likewise.
42452 * include/grub/term.h: Likewise.
42453 * include/grub/terminfo.h: Likewise.
42454 * include/grub/tparm.h: Likewise.
42455 * include/grub/types.h: Likewise.
42456 * include/grub/video.h: Likewise.
42457 * include/grub/efi/api.h: Likewise.
42458 * include/grub/efi/chainloader.h: Likewise.
42459 * include/grub/efi/console.h: Likewise.
42460 * include/grub/efi/console_control.h: Likewise.
42461 * include/grub/efi/disk.h: Likewise.
42462 * include/grub/efi/efi.h: Likewise.
42463 * include/grub/efi/pe32.h: Likewise.
42464 * include/grub/efi/time.h: Likewise.
42465 * include/grub/i386/linux.h: Likewise.
42466 * include/grub/i386/setjmp.h: Likewise.
42467 * include/grub/i386/types.h: Likewise.
42468 * include/grub/i386/efi/kernel.h: Likewise.
42469 * include/grub/i386/efi/loader.h: Likewise.
42470 * include/grub/i386/efi/time.h: Likewise.
42471 * include/grub/i386/pc/biosdisk.h: Likewise.
42472 * include/grub/i386/pc/boot.h: Likewise.
42473 * include/grub/i386/pc/chainloader.h: Likewise.
42474 * include/grub/i386/pc/console.h: Likewise.
42475 * include/grub/i386/pc/init.h: Likewise.
42476 * include/grub/i386/pc/kernel.h: Likewise.
42477 * include/grub/i386/pc/loader.h: Likewise.
42478 * include/grub/i386/pc/memory.h: Likewise.
42479 * include/grub/i386/pc/multiboot.h: Likewise.
42480 * include/grub/i386/pc/serial.h: Likewise.
42481 * include/grub/i386/pc/time.h: Likewise.
42482 * include/grub/i386/pc/vbe.h: Likewise.
42483 * include/grub/i386/pc/vbeblit.h: Likewise.
42484 * include/grub/i386/pc/vbefill.h: Likewise.
42485 * include/grub/i386/pc/vbeutil.h: Likewise.
42486 * include/grub/i386/pc/vga.h: Likewise.
42487 * include/grub/ieee1275/ieee1275.h: Likewise.
42488 * include/grub/ieee1275/ofdisk.h: Likewise.
42489 * include/grub/powerpc/libgcc.h: Likewise.
42490 * include/grub/powerpc/setjmp.h: Likewise.
42491 * include/grub/powerpc/types.h: Likewise.
42492 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
42493 * include/grub/powerpc/ieee1275/console.h: Likewise.
42494 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
42495 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
42496 * include/grub/powerpc/ieee1275/loader.h: Likewise.
42497 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
42498 * include/grub/powerpc/ieee1275/time.h: Likewise.
42499 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
42500 * include/grub/sparc64/libgcc.h: Likewise.
42501 * include/grub/sparc64/setjmp.h: Likewise.
42502 * include/grub/sparc64/types.h: Likewise.
42503 * include/grub/sparc64/ieee1275/console.h: Likewise.
42504 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42505 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42506 * include/grub/sparc64/ieee1275/time.h: Likewise.
42507 * include/grub/util/biosdisk.h: Likewise.
42508 * include/grub/util/getroot.h: Likewise.
42509 * include/grub/util/lvm.h: Likewise.
42510 * include/grub/util/misc.h: Likewise.
42511 * include/grub/util/raid.h: Likewise.
42512 * include/grub/util/resolve.h: Likewise.
42513 * io/gzio.c: Likewise.
42514 * kern/device.c: Likewise.
42515 * kern/disk.c: Likewise.
42516 * kern/dl.c: Likewise.
42517 * kern/elf.c: Likewise.
42518 * kern/env.c: Likewise.
42519 * kern/err.c: Likewise.
42520 * kern/file.c: Likewise.
42521 * kern/fs.c: Likewise.
42522 * kern/loader.c: Likewise.
42523 * kern/main.c: Likewise.
42524 * kern/misc.c: Likewise.
42525 * kern/mm.c: Likewise.
42526 * kern/parser.c: Likewise.
42527 * kern/partition.c: Likewise.
42528 * kern/rescue.c: Likewise.
42529 * kern/term.c: Likewise.
42530 * kern/efi/efi.c: Likewise.
42531 * kern/efi/init.c: Likewise.
42532 * kern/efi/mm.c: Likewise.
42533 * kern/i386/dl.c: Likewise.
42534 * kern/i386/efi/init.c: Likewise.
42535 * kern/i386/efi/startup.S: Likewise.
42536 * kern/i386/pc/init.c: Likewise.
42537 * kern/i386/pc/lzo1x.S: Likewise.
42538 * kern/i386/pc/startup.S: Likewise.
42539 * kern/ieee1275/ieee1275.c: Likewise.
42540 * kern/powerpc/cache.S: Likewise.
42541 * kern/powerpc/dl.c: Likewise.
42542 * kern/powerpc/ieee1275/cmain.c: Likewise.
42543 * kern/powerpc/ieee1275/crt0.S: Likewise.
42544 * kern/powerpc/ieee1275/init.c: Likewise.
42545 * kern/powerpc/ieee1275/openfw.c: Likewise.
42546 * kern/sparc64/cache.S: Likewise.
42547 * kern/sparc64/dl.c: Likewise.
42548 * kern/sparc64/ieee1275/init.c: Likewise.
42549 * kern/sparc64/ieee1275/openfw.c: Likewise.
42550 * loader/efi/chainloader.c: Likewise.
42551 * loader/efi/chainloader_normal.c: Likewise.
42552 * loader/i386/efi/linux.c: Likewise.
42553 * loader/i386/efi/linux_normal.c: Likewise.
42554 * loader/i386/pc/chainloader.c: Likewise.
42555 * loader/i386/pc/chainloader_normal.c: Likewise.
42556 * loader/i386/pc/linux.c: Likewise.
42557 * loader/i386/pc/linux_normal.c: Likewise.
42558 * loader/i386/pc/multiboot.c: Likewise.
42559 * loader/i386/pc/multiboot_normal.c: Likewise.
42560 * loader/powerpc/ieee1275/linux.c: Likewise.
42561 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42562 * normal/arg.c: Likewise.
42563 * normal/cmdline.c: Likewise.
42564 * normal/command.c: Likewise.
42565 * normal/completion.c: Likewise.
42566 * normal/execute.c: Likewise.
42567 * normal/function.c: Likewise.
42568 * normal/lexer.c: Likewise.
42569 * normal/main.c: Likewise.
42570 * normal/menu.c: Likewise.
42571 * normal/menu_entry.c: Likewise.
42572 * normal/misc.c: Likewise.
42573 * normal/parser.y: Likewise.
42574 * normal/script.c: Likewise.
42575 * normal/i386/setjmp.S: Likewise.
42576 * normal/powerpc/setjmp.S: Likewise.
42577 * normal/sparc64/setjmp.S: Likewise.
42578 * partmap/acorn.c: Likewise.
42579 * partmap/amiga.c: Likewise.
42580 * partmap/apple.c: Likewise.
42581 * partmap/gpt.c: Likewise.
42582 * partmap/pc.c: Likewise.
42583 * partmap/sun.c: Likewise.
42584 * term/gfxterm.c: Likewise.
42585 * term/terminfo.c: Likewise.
42586 * term/efi/console.c: Likewise.
42587 * term/i386/pc/console.c: Likewise.
42588 * term/i386/pc/serial.c: Likewise.
42589 * term/i386/pc/vesafb.c: Likewise.
42590 * term/i386/pc/vga.c: Likewise.
42591 * term/ieee1275/ofconsole.c: Likewise.
42592 * util/biosdisk.c: Likewise.
42593 * util/console.c: Likewise.
42594 * util/genmoddep.c: Likewise.
42595 * util/getroot.c: Likewise.
42596 * util/grub-emu.c: Likewise.
42597 * util/grub-mkdevicemap.c: Likewise.
42598 * util/grub-probe.c: Likewise.
42599 * util/lvm.c: Likewise.
42600 * util/misc.c: Likewise.
42601 * util/raid.c: Likewise.
42602 * util/resolve.c: Likewise.
42603 * util/update-grub.in: Likewise.
42604 * util/update-grub_lib.in: Likewise.
42605 * util/grub.d/00_header.in: Likewise.
42606 * util/grub.d/10_hurd.in: Likewise.
42607 * util/grub.d/10_linux.in: Likewise.
42608 * util/i386/efi/grub-install.in: Likewise.
42609 * util/i386/efi/grub-mkimage.c: Likewise.
42610 * util/i386/pc/grub-install.in: Likewise.
42611 * util/i386/pc/grub-mkimage.c: Likewise.
42612 * util/i386/pc/grub-mkrescue.in: Likewise.
42613 * util/i386/pc/grub-setup.c: Likewise.
42614 * util/i386/pc/misc.c: Likewise.
42615 * util/powerpc/ieee1275/grub-install.in: Likewise.
42616 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
42617 * util/powerpc/ieee1275/misc.c: Likewise.
42618 * video/bitmap.c: Likewise.
42619 * video/video.c: Likewise.
42620 * video/i386/pc/vbe.c: Likewise.
42621 * video/i386/pc/vbeblit.c: Likewise.
42622 * video/i386/pc/vbefill.c: Likewise.
42623 * video/i386/pc/vbeutil.c: Likewise.
42624 * video/readers/tga.c: Likewise.
42625
3572d015 426262007-07-02 Robert Millan <rmh@aybabtu.com>
42627
42628 * conf/i386-efi.rmk: Replace obsolete reference to
42629 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
42630 with util/getroot.c.
42631 * conf/powerpc-ieee1275.rmk: Likewise.
42632 * conf/sparc64-ieee1275.rmk: Likewise.
42633
42634 * util/grub-emu.c (main): Fix unchecked pointer handling.
42635
2c2a681b 426362007-07-02 Robert Millan <rmh@aybabtu.com>
42637
42638 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
42639 invocation to fail, in order to support partition-less media.
42640
42641 * util/i386/pc/grub-install.in: Likewise.
42642
42643 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
42644 which fs or partmap modules are needed (akin to its sister scripts).
42645
42646 Also use grub-probe to get rid of unportable /proc/mounts check.
42647
42648 Print the same informational message that the other scripts do, before
fe6b695a 42649 exiting.
2c2a681b 42650
6193defe 426512007-06-23 Robert Millan <rmh@aybabtu.com>
42652
fe6b695a 42653 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 42654 a font file can be found and, if so, echo the GRUB path to it.
42655
42656 * util/update-grub.in: Handle multiple terminals depending on user
42657 input, platform availability and font file presence. Propagate
42658 variables of our findings to /etc/grub.d/ children.
42659
42660 * util/grub.d/00_header.in: Handle multiple terminals, based on
42661 environment setup by update-grub.
42662
eface1dc 426632007-06-23 Robert Millan <rmh@aybabtu.com>
42664
ba50d28f 42665 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 42666
bf697e28 426672007-06-21 Robert Millan <rmh@aybabtu.com>
42668
42669 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
42670 indicate end of data section in kernel image.
42671 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
42672 GRUB_KERNEL_MACHINE_DATA_END.
42673
42674 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
42675 space for it.
42676 * kern/i386/efi/startup.S: Likewise.
42677
42678 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
42679 during image generation. Implement --prefix option to override this
42680 patch.
42681 * util/i386/efi/grub-mkimage.c: Likewise.
42682
42683 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
42684 code to make path relative to its root into a separate function.
42685
42686 * util/i386/pc/grub-install.in: Use newly provided
42687 make_system_path_relative_to_its_root() to convert ${grubdir}, then
42688 pass the result to grub-install --prefix.
42689
baa574b4 426902007-06-13 Robert Millan <rmh@aybabtu.com>
42691
42692 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
42693 DEFAULT_DEVICE_MAP.
42694 * util/grub-emu.c: Use above definitions from misc.h instead of
42695 defining them.
42696 * util/grub-mkdevicemap.c: Likewise.
42697 * util/i386/pc/grub-setup.c: Likewise.
42698 * util/grub-probe.c: Likewise.
42699 (probe): Abort with grub_util_error() when either
42700 grub_guess_root_device or grub_util_get_grub_dev fails.
42701
0215dcbf 427022007-06-12 Robert Millan <rmh@aybabtu.com>
42703
42704 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
42705 "pager" assignment.
42706 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
42707 "pcdata".
42708 * util/grub-probe.c (probe): Likewise for "drive_name".
42709
8af2ab7b 427102007-06-11 Robert Millan <rmh@aybabtu.com>
42711
42712 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
42713 not just the cdrom one.
42714
59d31694 427152007-06-11 Robert Millan <rmh@aybabtu.com>
42716
42717 * util/i386/pc/grub-mkrescue.in: Add "set -e".
42718 Add --pkglibdir=DIR option to override pkglibdir.
42719 Mention --image-type=TYPE in help output.
42720 Fix --grub-mkimage (it was a no-op).
fe6b695a 42721 Abort gracefully when no parameter is given.
59d31694 42722
7ee367e4 427232007-06-11 Robert Millan <rmh@aybabtu.com>
42724
42725 * util/i386/pc/grub-mkrescue.in: New file.
42726 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
42727 * Makefile.in: Handle bin_SCRIPTS.
42728
29b0ed46 427292007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
42730
42731 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
42732 list of video modes.
42733
c0f90770 427342007-06-06 Robert Millan <rmh@aybabtu.com>
42735
42736 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
42737 file doesn't exist, or if it is in a filesystem grub can't read.
42738
42739 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
42740 not abort if GRUB_DRIVE could not be defined. Rearrange generated
42741 header comment to fit in 80 columns when the variables are resolved.
42742
42743 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
42744 could be identified by update-grub. Remove redundant check for
fe6b695a 42745 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 42746 handles that).
42747
fb36dc26 427482007-06-04 Robert Millan <rmh@aybabtu.com>
42749
42750 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
42751
42752 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
42753
42754 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
42755
0c68c93e 427562007-06-04 Robert Millan <rmh@aybabtu.com>
42757
42758 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
42759
42760 * include/grub/partition.h: Declare grub_apple_partition_map_init and
42761 grub_apple_partition_map_fini.
42762
42763 * util/biosdisk.c
42764 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
42765 to access >2 TiB disks).
42766
42767 Print disk->total_sectors with %llu instead of %lu, since this
42768 variable is always 64-bit (prevents wrong disk size from being displayed
42769 on either >2 TiB disk or big-endian CPU).
42770
42771 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
42772 into a generic case that supports all (sane) partition maps.
42773
42774 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
42775 breaks big-endian.
42776
42777 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
42778 and grub_apple_partition_map_fini() after that.
42779
0f23eb74 427802007-06-01 Robert Millan <rmh@aybabtu.com>
42781
42782 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
42783
42784 * util/grub.d/00_header.in: Only enable gfxterm when
42785 convert_system_path_to_grub_path() succeeds.
42786
42c71976 427872007-05-20 Robert Millan <rmh@aybabtu.com>
42788
42789 * util/update-grub_lib.in: New file.
42790 * DISTLIST: Add update-grub_lib.in.
42791 * conf/common.rmk: Generate update-grub_lib and install it in
42792 $(lib_DATA).
42793 * Makefile.in: Add install routine for $(lib_DATA).
42794
42795 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
42796 function provided by update-grub_lib to support arbitrary paths of
42797 unifont.pff.
42798 * util/update-grub.in: Use convert_system_path_to_grub_path() to
42799 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
42800
5beb2291 428012007-05-19 Robert Millan <rmh@aybabtu.com>
42802
42803 * commands/i386/cpuid.c: New module.
42804 * DISTLIST: Add it.
42805 * conf/i386-efi.rmk: Enable cpuid.mod.
42806 * conf/i386-pc.rmk: Likewise.
42807
7262eca1 428082007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
42809
42810 * kern/disk.c (grub_disk_read): Check return value of
42811 grub_realloc().
42812
260ba823 428132007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
42814
42815 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
42816 arrays.
42817 * disk/raid.c (grub_raid_open): Likewise.
42818
1ecb6cf2 428192007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
42820
42821 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
42822 stack instead of on the heap.
42823
42824 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
42825 before doing a read on it.
42826
42827 * configure.ac: Only use -fno-stack-protector for the target
42828 environment.
f19dbdb7 42829
21c8cbb1 428302007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
42831
42832 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
42833 __attribute_ ((unused)) to mode_type argument.
42834
42835 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 42836
21c8cbb1 42837 * kern/misc.c (memcmp): Fix prototype.
42838
42839 * include/grub/partition.h [GRUB_UTIL]
42840 (grub_gpt_partition_map_init): Add prototype.
42841 (grub_gpt_partition_map_fini): Likewise.
42842
42843 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
42844 at the right place.
42845
42846 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
42847 (grub_fat_read_data): Likewise.
42848 (grub_fat_find_dir): Likewise.
42849
42850 * font/manager.c (find_glyph): Make table a const.
42851 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 42852
849d55d3 428532007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
42854
42855 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
42856 code, first search for device in /dev/mapper, then in /dev.
42857 (grub_util_get_grub_dev): New function.
42858 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
42859 prototype.
42860 * util/grub-probe.c (probe): Remove check for RAID, call
42861 grub_util_get_grub_dev() instead of
42862 grub_util_biosdisk_get_grub_dev().
42863 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
42864 grub_util_biosdisk_get_grub_dev().
42865 * util/i386/pc/grub-setup.c (main): Likewise.
42866
8fff7c2f 428672007-05-16 Robert Millan <rmh@aybabtu.com>
42868
42869 * DISTLIST: Update for the latest changes.
42870 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
42871 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
42872 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
42873 grub/util/biosdisk.h.
42874 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
42875 grub/util/biosdisk.h.
42876
48e12b52 428772007-05-16 Robert Millan <rmh@aybabtu.com>
42878
42879 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
42880
46b9d128 428812007-05-16 Robert Millan <rmh@aybabtu.com>
42882
42883 * util/i386/efi/grub-install.in: New.
42884 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
42885 newly added grub-install.
42886 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
42887 include.
42888 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
42889 grub/util/biosdisk.h.
42890 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
42891 grub/util/biosdisk.h.
42892
2d1a40a9 428932007-05-16 Robert Millan <rmh@aybabtu.com>
42894
42895 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
42896 * include/grub/util/biosdisk.h: ... here.
42897 * util/i386/pc/biosdisk.c: Moved to ...
42898 * util/biosdisk.c: ... here.
42899 * util/i386/pc/getroot.c: Moved to ...
42900 * util/getroot.c: ... here.
42901 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
42902 * util/grub-mkdevicemap.c: ... here.
42903 * util/i386/pc/grub-probe.c: Moved to ...
42904 * util/grub-probe.c: ... here.
42905
9e26e3bc 429062007-05-15 Robert Millan <rmh@aybabtu.com>
42907
42908 * util/update-grub.in: Remove duplicated line in grub.cfg header
42909 message.
42910
57f96397 429112007-05-13 Robert Millan <rmh@aybabtu.com>
42912
42913 * util/update-grub.in: Fix a few assumptions about the devices holding
42914 /, /boot and /boot/grub being the same.
42915 * util/grub.d/00_header.in: Likewise.
42916 * util/grub.d/10_hurd.in: Likewise.
42917 * util/grub.d/10_linux.in: Likewise.
42918
42919 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
42920 patterns. Use that to define the `.old' suffix as older than `'.
42921
42922 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
42923
42924 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
42925 the grub.cfg header message.
42926
2e610d62 429272007-05-11 Robert Millan <rmh@aybabtu.com>
42928
42929 * util/update-grub.in: Create device.map if it doesn't already exist,
42930 before attempting to run grub-probe.
42931 Check for grub-probe and grub-mkdevicemap with the same code
42932 grub-install is using.
42933 Remove test mode.
42934
3f6a10ef 429352007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
42936
42937 * Makefile.in: Add the datarootdir autoconf variable.
42938
02e7b75e 429392007-05-09 Robert Millan <rmh@aybabtu.com>
42940
42941 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 42942 fail gracefully if dev->disk->partition == NULL.
02e7b75e 42943
75f396cc 429442007-05-07 Robert Millan <rmh@aybabtu.com>
42945
42946 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
42947 determine partition map module.
42948 * util/i386/pc/grub-install.in: Use this feature to decide which
42949 partition module to load, instead of hardcoding pc and gpt.
42950
da65cb36 429512007-05-07 Robert Millan <rmh@aybabtu.com>
42952
42953 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
42954 source directory differs from build directory.
42955
b57d6a91 429562007-05-05 Robert Millan <rmh@aybabtu.com>
42957
42958 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
42959 initialisation.
42960
509d00f1 429612007-05-05 Robert Millan <rmh@aybabtu.com>
42962
42963 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
42964
c48f23ef 429652007-05-05 Robert Millan <rmh@aybabtu.com>
42966
42967 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
42968 command-line arguments via ${GRUB_CMDLINE_LINUX}.
42969
20b97658 429702007-05-05 Robert Millan <rmh@aybabtu.com>
42971
42972 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
42973 (grub_probe_SOURCES): Likewise.
42974 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
42975 GPT and initialize dos_part and bsd_part accordingly.
42976 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
42977 install_bsd_part.
42978 (main): Activate gpt module for use during partition identification,
42979 and deactivate it afterwards.
42980 * util/i386/pc/grub-install.in: Add gpt module to core.img.
42981 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
42982 partition identification, and deactivate it afterwards.
42983
99123174 429842007-05-05 Robert Millan <rmh@aybabtu.com>
42985
42986 * term/i386/pc/console.c (grub_console_fini): Call
42987 grub_term_set_current() before grub_term_unregister().
42988
ebd97f6e 429892007-05-04 Robert Millan <rmh@aybabtu.com>
42990
42991 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
42992 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
42993 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
42994 and update-grub_DATA.
42995 * conf/common.rmk: Build and install update-grub components.
42996 * conf/common.mk: Regenerate.
42997 * util/update-grub.in: New. Core of update-grub.
42998 * util/grub.d/00_header.in: New. Generates grub.cfg header.
42999 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
43000 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
43001 * util/grub.d/README: New. Document grub.d directory layout.
43002
b06a264d 430032007-05-01 Robert Millan <rmh@aybabtu.com>
43004
43005 * util/grub-emu.c: Move initialization functions
43006 grub_util_biosdisk_init() and grub_init_all() before
43007 grub_util_biosdisk_get_grub_dev(), which relies on them.
43008
41f0050e 430092007-04-19 Robert Millan <rmh@aybabtu.com>
43010
43011 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
43012 it is used later.
43013
04582bb3 430142007-04-18 Jerone Young <jerone@gmail.com>
43015
f19dbdb7 43016 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 43017 stanza.
43018
08db4632 430192007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 43020
08db4632 43021 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
43022 continue on and look for device node with real device name.
43023
801b76be 430242007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 43025
fe6b695a 43026 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 43027 ability.
43028 * Makefile.in: Add autoconf package transformation code.
43029 * util/i386/pc/grub-install.in: Likewise.
43030 * util/powerpc/ieee1275/grub-install.in: Likewise.
43031
6795c4e1 430322007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43033
43034 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
43035 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
43036 (EXT2_REVISION): Likewise.
43037 (EXT2_INODE_SIZE): Likewise.
43038 (struct grub_ext2_block_group): Added a missing member
43039 "used_dirs".
43040 (grub_ext2_read_inode): Divide by the inode size in a superblock
43041 instead of 128 to obtain INODES_PER_BLOCK.
43042 Use the macro EXT2_INODE_SIZE instead of directly using
43043 SBLOCK->INODE_SIZE.
43044
d70af616 430452007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43046
43047 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
43048 superblock instead of the structure size to compute an
43049 offset. This fixes the problem that GRUB could not read a
43050 filesystem when inode size is different from 128-byte.
43051
3b801603 430522007-03-05 Marco Gerards <marco@gnu.org>
43053
43054 * normal/main.c (read_config_file): When "menu" is not set, create
43055 an initial context.
43056
4785bfe4 430572007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43058
43059 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
43060 (HEAP_LIMIT): New macro.
43061 (grub_claim_heap): Claim memory up to `heaplimit'.
43062
a0cbb023 430632007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43064
43065 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
43066 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
43067 (_start): Likewise.
43068 (grub_arch_modules_addr): Return address after `_end'.
43069 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
43070 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
43071 (add_segments): Calculate `_end' from phdr size and location.
43072 (ALIGN_UP): Moved to ...
43073 * include/grub/misc.h: here.
43074 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43075 New macro.
43076 (GRUB_IEEE1275_MODULE_BASE): Removed.
43077
fd7d8eba 430782007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43079
43080 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
43081 loop boundary.
43082
9b09e6fc 430832007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43084
43085 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
43086 All users updated.
43087 (grub_elf64_load_hook_t): Likewise.
43088 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
43089 debug output.
43090
3ce27299 430912007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43092
43093 * kern/mm.c: Update copyright.
43094 (grub_mm_debug): Correct syntax error.
43095 (grub_mm_dump_free): New function.
43096 (grub_debug_free): Call `grub_free'.
43097 * include/grub/mm.h: Update copyright.
43098 (grub_mm_dump_free): Add declaration.
43099
077d5fee 431002007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43101
43102 * include/grub/ieee1275/ieee1275.h: Update copyright.
43103 * kern/powerpc/ieee1275/init.c: Likewise.
43104 * kern/powerpc/ieee1275/openfw.c: Likewise.
43105
43106 * loader/powerpc/ieee1275/linux.c: Likewise.
43107 * include/grub/elfload.h: Likewise.
43108 * kern/elf.c: Likewise.
43109 (grub_elf32_load): Pass `base' and `size' parameters. Update all
43110 callers.
43111 (grub_elf64_load): Likewise.
43112 (grub_elf32_load_segment): Move to a nested function.
43113 (grub_elf64_load_segment): Likewise.
43114
dc946850 431152007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43116
43117 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
43118 prototype.
43119 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
43120 (grub_heap_len): Likewise.
43121 (HEAP_SIZE): New macro.
43122 (grub_claim_heap): New function.
43123 (grub_machine_init): Don't claim heap directly. Call
43124 `grub_claim_heap'.
43125 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
43126 (grub_available_iterate): New function.
43127
baa2a121 431282007-02-03 Thomas Schwinge <tschwinge@gnu.org>
43129
43130 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
43131 * configure.ac: Use it for testing the HOST and TARGET compilers.
43132
4fe9862e 431332006-12-13 Thomas Schwinge <tschwinge@gnu.org>
43134
43135 * Makefile.in (enable_grub_emu): New variable.
43136 * configure.ac (--enable-grub-emu): New option.
43137 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
43138 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
43139 * conf/i386-pc.rmk: Likewise.
43140 * conf/powerpc-ieee1275.rmk: Likewise.
43141 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
43142
a8aa5762 431432006-12-12 Marco Gerards <marco@gnu.org>
43144
43145 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
43146
43147 * kern/env.c (grub_env_unset): Don't free the member `value' when
43148 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
43149 pointer.
43150
43151 * normal/main.c (current_menu): Removed.
43152 (free_menu): Unset the `menu' environment variable.
43153 (grub_normal_menu_addentry): Make use of the environment variable
43154 `menu', instead of using the global `current_menu'. Allocate
43155 memory for the sourcecode of this entry.
43156 (read_config_file): New argument `nested', changed all callers.
43157 Only in the case of a new context, initialize a new menu. Set the
43158 `menu' environment variable.
43159 (grub_normal_execute): Don't set and unset the environment
43160 variable `menu' here anymore. Only free the menu when leaving the
43161 context.
43162
43163 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
43164 leak.
43165
957b3a3e 431662006-12-11 Marco Gerards <marco@gnu.org>
43167
43168 * normal/menu_entry.c (run): Fix off by one bug so the last line
43169 is executed. Move the loader check to outside the loop.
43170
ef875714 431712006-12-08 Hollis Blanchard <hollis@penguinppc.org>
43172
43173 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
43174
4e739985 431752006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
43176
43177 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
43178 the number of sectors. Reported by Andrey Shuvikov
43179 <mr_hyro@yahoo.com>.
f19dbdb7 43180
790707f2 431812006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
43182
43183 * kern/disk.c (grub_disk_read): When there is a read error, always
43184 try to read only the necessary data.
f19dbdb7 43185
790707f2 43186 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
43187 disk/raid.c.
43188 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
43189 prototype.
43190 [GRUB_UTIL] (grub_raid_fini): Likewise.
43191 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 43192 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 43193 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
43194 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
43195 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
43196 and grub_raid_fini().
f19dbdb7 43197
03e58196 431982006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43199
43200 * include/grub/types.h (__unused): Rename to UNUSED.
43201 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
43202 (grub_elf64_size): Likewise.
f19dbdb7 43203
ae4f23bf 432042006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43205
43206 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
43207 grub_error_push and grub_error_pop in the error-handling path.
43208 (grub_elf32_load_segment): Only call grub_file_read with non-zero
43209 length.
43210
2166cc83 432112006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43212
43213 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
43214 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43215 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43216 (kernel_elf_SOURCES): Likewise.
43217 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
43218 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
43219 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43220 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43221 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
43222 (elf_mod_SOURCES): New variable.
43223 (elf_mod_CFLAGS): Likewise.
43224 (elf_mod_LDFLAGS): Likewise.
43225 * include/grub/types.h (__unused): New macro.
43226 * include/grub/elfload.h: New file.
43227 * kern/elf.c: Likewise.
43228 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
43229 (ELF32_LOADMASK): New macro.
43230 (ELF64_LOADMASK): Likewise.
43231 (vmlinux): Removed.
43232 (grub_linux_load32): New function.
43233 (grub_linux_load64): Likewise.
43234 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
43235 Use grub_elf_t instead of grub_file_t.
43236
a09d5aa5 432372006-11-02 Hollis Blanchard <hollis@penguinppc.org>
43238
43239 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
43240 `catch_result' to struct set_color_args.
43241
d976fc51 432422006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43243
43244 * normal/menu.c: Include grub/script.h.
43245 * normal/menu_entry.c: Likewise.
43246 * include/grub/normal.h: Do not include grub/script.h.
43247
67507549 432482006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43249
43250 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
43251
69203a99 432522006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43253
43254 * kern/disk.c (grub_disk_open): Print debug messages when opening a
43255 disk.
43256 (grub_disk_close): Print debug messages when closing a disk.
43257 (grub_disk_read): Print debug messages when disk read fails.
43258 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
43259 filesystem type.
43260 * kern/partition.c: Include misc.h.
43261 (grub_partition_iterate): Print debug messages when detecting
43262 partition type.
43263
e2b8278c 432642006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43265
43266 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
43267 is negative.
43268 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
43269
97b2f2ff 432702006-10-26 Hollis Blanchard <hollis@penguinppc.org>
43271
43272 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43273 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
43274
6555d655 432752006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
43276
43277 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
43278 instead of sizeof(lv). Patch by Michael Guntsche.
43279
4d42b77f 432802006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
43281
43282 * disk/lvm.c: Rename VGS to VG_LIST.
43283 (grub_lvm_iterate): Change VGS->LV to VG-LV.
43284 (grub_lvm_open): Likewise.
43285 Thanks to Michael Guntsche for finding this bug.
43286
5d74d927 432872006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43288
43289 * configure.ac (AC_INIT): Bumped to 1.95.
43290
a1bb27e4 432912006-10-14 Robert Millan <rmh@aybabtu.com>
43292
43293 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
43294 with "/dev/.static/dev/md".
43295
e0994b8b 432962006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43297
43298 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
43299 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
43300 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
43301 DRIVE_NAME are always freed.
43302
43303 * util/i386/pc/biosdisk.c (make_device_name): Add one into
43304 DOS_PART, as a DOS partition is counted from one instead of zero
43305 now. Reported by Robert Millan.
43306
ddd5cee9 433072006-10-14 Robert Millan <rmh@aybabtu.com>
43308
43309 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
43310 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
43311 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
43312 string returned by grub_guess_root_device.
43313 * util/i386/pc/grub-setup.c: Likewise.
43314 * util/i386/pc/grub-probefs.c: Likewise.
43315
43316 * util/i386/pc/grub-probefs.c: Rename to ...
43317 * util/i386/pc/grub-probe.c: ... this.
43318 * DISTLIST: Remove grub-probefs, add grub-probe.
43319 * conf/i386-efi.rmk: Likewise.
43320 * conf/i386-pc.rmk: Likewise.
43321 * util/i386/pc/grub-install.in: Likewise.
43322
43323 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
43324 choose which information we want to print.
43325
2b002173 433262006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43327
43328 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
43329 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
43330 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
43331 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
43332 video/readers/tga.c and video/i386/pc/vbeutil.c.
43333
433342006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
43335
43336 Added support for RAID and LVM.
f19dbdb7 43337
2b002173 43338 * disk/lvm.c: New file.
43339 * disk/raid.c: Likewise.
43340 * include/grub/lvm.h: Likewise.
f19dbdb7 43341 * include/grub/raid.h: Likewise.
2b002173 43342 * include/grub/util/lvm.h: Likewise.
43343 * include/grub/util/raid.h: Likewise.
43344 * util/lvm.c: Likewise.
43345 * util/raid.c: Likewise.
43346
43347 * include/grub/disk.h (grub_disk_dev_id): Add
43348 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
43349 (grub_disk_get_size): New prototype.
43350 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
43351 returns a partition.
43352 (grub_disk_get_size): New function.
f19dbdb7 43353
2b002173 43354 * kern/i386/pc/init.c (make_install_device): Copy the prefix
43355 verbatim if grub_install_dos_part is -2.
43356
43357 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
43358 and LVM devices.
43359
43360 * util/i386/pc/grub-setup.c (setup): New argument
43361 MUST_EMBED. Force embedding of GRUB when the argument is
43362 true. Close FILE before returning.
43363 (main): Add support for RAID and LVM.
f19dbdb7 43364
2b002173 43365 * conf/common.rmk: Add RAID and LVM modules.
43366 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
43367 util/lvm.c.
43368 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
43369
43370 * kern/misc.c (grub_strstr): New function.
43371 * include/grub/misc.h (grub_strstr): New prototype.
43372
050548d0 433732006-10-10 Tristan Gingold <tristan.gingold@bull.net>
43374
43375 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
43376
da849d2d 433772006-10-05 Tristan Gingold <tristan.gingold@bull.net>
43378
43379 * kern/misc.c (grub_strtoull): Guess the base only if not
43380 specified.
43381
97b2f2ff 433822006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 43383
43384 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
43385 PowerMac support.
43386
97b2f2ff 433872006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 43388
43389 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
43390
43391 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
43392 Remove `flags' argument. All callers changed.
43393 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
43394 (IEEE1275_IHANDLE_INVALID): New variable.
43395 (IEEE1275_CELL_INVALID): New variable.
43396 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
43397 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
43398 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
43399 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
43400 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
43401 codes from Open Firmware. All callers updated.
43402 (grub_ieee1275_next_property): Directly return Open Firmware return
43403 code.
43404 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43405 Standardize error checking from `grub_ieee1275_get_property'.
43406 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
43407 `devalias' to `aliases'. Correct comments. Consolidate error paths.
43408
97b2f2ff 434092006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 43410
43411 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
43412 `instance_to_package_args' to `instance_to_path_args'.
43413
43414 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
43415 `grub_ieee1275_chosen'.
43416
43417 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
43418 `grub_ieee1275_interpret'.
43419
97b2f2ff 434202006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 43421
43422 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
43423
97b2f2ff 434242006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 43425
43426 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
43427 (__cmpdi): Likewise.
43428
43429 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
43430 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
43431 `grub_ssize_t'.
43432
02bb8acc 43433 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 43434
43435 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
43436 to type `grub_ssize_t'.
43437 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
43438
7f9a8531 434392006-09-22 Marco Gerards <marco@gnu.org>
43440
43441 * normal/script.c (grub_script_create_cmdmenu): Skip leading
43442 newlines.
43443
b5ef1102 434442006-09-22 Marco Gerards <marco@gnu.org>
43445
43446 * commands/echo.c: New file.
43447
43448 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
43449
43450 * conf/common.rmk (echo_mod_SOURCES): New variable.
43451 (echo_mod_CFLAGS): Likewise.
43452 (echo_mod_LDFLAGS): Likewise.
43453
2cff3677 434542006-09-22 Marco Gerards <marco@gnu.org>
43455
43456 * normal/main.c (get_line): Malloc memory instead of using
43457 preallocated memory. Removed the arguments `cmdline' and
43458 `max_len'. Updated all callers.
43459
6ba4688b 434602006-09-22 Marco Gerards <marco@gnu.org>
43461
43462 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
43463 (normal_mod_DEPENDENCIES): Likewise.
43464
43465 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
43466 (normal_mod_DEPENDENCIES): Likewise.
43467
43468 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
43469
e02ac02c 434702006-09-22 Johan Rydberg <jrydberg@gnu.org>
43471
43472 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
43473 programs.
43474 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
43475 (normal_mod_DEPENDENCIES): Likewise.
43476 * conf/i386-pc.mk: Regenerate.
43477 * conf/i386-efi.mk: Likewise
43478 * conf/common.mk: Likewise.
43479 * conf/powerpc-ieee1275.mk: Likewise.
43480 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43481
8d252e44 434822006-09-22 Robert Millan <rmh@aybabtu.com>
43483
43484 Sync with i386 version.
43485 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
43486 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
43487
209bf7ac 434882006-09-21 Robert Millan <rmh@aybabtu.com>
43489
43490 Import from GRUB Legacy (lib/device.c):
43491 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
43492 (init_device_map) [__linux__]: Add support for I2O devices.
43493
6b146090 434942006-09-14 Marco Gerards <marco@gnu.org>
43495
43496 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
43497 `-melf_i386'.
43498
e38600a8 434992006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 43500
43501 * util/i386/pc/grub-install.in: Skip menu.lst when removing
43502 /boot/grub/*.lst.
78fa1790 43503
2952da5d 43504 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 43505
2952da5d 43506 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
43507 before adding it to device.map.
43508
01b82a64 435092006-08-15 Johan Rydberg <jrydberg@gnu.org>
43510
fe6b695a 43511 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 43512 compiles a file; using the -MD option.
43513 * conf/common.mk: Regenerate.
43514 * conf/i386-pc.mk: Likewise.
43515 * conf/i386-efi.mk: Likewise.
43516 * conf/powerpc-ieee1275.mk: Likewise.
43517 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43518
1064790d 435192006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
43520
43521 Move the prototypes of grub_setjmp and grub_longjmp to
43522 cpu/setjmp.h, so that each architecture may specify different
43523 attributes.
f19dbdb7 43524
1064790d 43525 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
43526 (grub_longjmp): Likewise.
43527 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
43528 (grub_longjmp): Likewise.
43529 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
43530 (grub_longjmp): Likewise.
43531
43532 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
43533 [!GRUB_UTIL] (grub_longjmp): Removed.
43534
29dda3ed 435352006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
43536
43537 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
43538 "color!" method does not return any value.
43539
ad2a06ed 435402006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43541
43542 * include/grub/bitmap.h: New file.
43543
43544 * include/grub/i386/pc/vbeutil.h: Likewise.
43545
43546 * video/bitmap.c: Likewise.
43547
43548 * video/readers/tga.c: Likewise.
43549
43550 * video/i386/pc/vbeutil.c: Likewise.
43551
43552 * commands/videotest.c: Code cleanup and updated to reflect to new
43553 video API.
43554
43555 * term/gfxterm.c: Likewise.
43556
43557 * video/video.c: Likewise.
43558
43559 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
43560 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
43561 (bitmap_mod_SOURCES): New entry.
43562 (bitmap_mod_CFLAGS): Likewise.
43563 (bitmap_mod_LDFLAGS): Likewise.
43564 (tga_mod_SOURCES): Likewise.
43565 (tga_mod_CFLAGS): Likewise.
43566 (tga_mod_LDFLAGS): Likewise.
43567
43568 * include/grub/video.h (grub_video_blit_operators): New enum type.
43569 (grub_video_render_target): Changed as forward declaration and moved
43570 actual definition to be video driver specific.
43571 (grub_video_adapter.blit_bitmap): Added blitting operator.
43572 (grub_video_adapter.blit_render_target): Likewise.
43573 (grub_video_blit_bitmap): Likewise.
43574 (grub_video_blit_render_target): Likewise.
43575
43576 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
43577 driver specific render target definition.
43578 (grub_video_vbe_map_rgba): Added driver internal helper.
43579 (grub_video_vbe_unmap_color): Updated to use
43580 grub_video_i386_vbeblit_info.
43581 (grub_video_vbe_get_video_ptr): Likewise.
43582
43583 * include/grub/i386/pc/vbeblit.h
43584 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
43585 grub_video_i386_vbeblit_info.
43586 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
43587 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
43588 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
43589 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
43590 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
43591 (grub_video_i386_vbeblit_index_index): Likewise.
43592 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
43593 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
43594 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
43595 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
43596 operator.
43597 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
43598 operator.
43599
43600 * video/i386/pc/vbeblit.c: Updated to reflect changes on
43601 include/grub/i386/pc/vbeblit.h.
43602
43603 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
43604 Updated to use grub_video_i386_vbeblit_info.
43605 (grub_video_i386_vbefill_R8G8B8): Likewise.
43606 (grub_video_i386_vbefill_index): Likewise.
43607 (grub_video_i386_vbefill): Added generic filler.
43608
43609 * video/i386/pc/vbefill.c: Updated to reflect changes on
43610 include/grub/i386/pc/vbefill.h.
43611
43612 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
43613 grub_video_i386_vbeblit_info.
43614 (grub_video_vbe_unmap_color): Likewise.
43615 (grub_video_vbe_blit_glyph): Likewise.
43616 (grub_video_vbe_scroll): Likewise.
43617 (grub_video_vbe_draw_pixel): Removed function.
43618 (grub_video_vbe_get_pixel): Likewise.
43619 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
43620 updated code to use it.
43621 (common_blitter): Added common blitter for render target and bitmap.
43622 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
43623 (grub_video_vbe_blit_render_target): Likewise.
43624
bc8c036d 436252006-07-30 Johan Rydberg <jrydberg@gnu.org>
43626
43627 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
43628 is in text mode if there is no console control protocol instance
43629 available.
43630
684a8eff 436312006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43632
43633 * include/grub/video.h: Code cleanup.
43634
43635 * include/grub/i386/pc/vbe.h: Likewise.
43636
43637 * video/i386/pc/vbe.c: Likewise.
43638
43639 * video/i386/pc/vbeblit.c: Likewise.
43640
43641 * video/i386/pc/vbefill.c: Likewise.
43642
43643 * video/video.c: Likewise. Also added more comments.
43644
5915059b 436452006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43646
43647 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
43648 (struct grub_biosdisk_dap): Likewise.
43649
43650 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
43651 linkage settings for all functions.
43652
90ce5d56 436532006-07-12 Marco Gerards <marco@gnu.org>
43654
43655 * configure.ac (--enable-mm-debug): Fix typo.
43656
43657 * genkernsyms.sh.in: Use proper quoting for `CC'.
43658
43e7f879 436592006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
43660
43661 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
43662 (normal_mod_ASFLAGS): Remove "-m32".
43663
4889bdec 436642006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
43665
43666 * util/misc.c: Include config.h.
43667 [!HAVE_MEMALIGN]: Do not include malloc.h.
43668 (grub_memalign): Use posix_memalign, if present. Then, use
43669 memalign, if present. Otherwise, emit an error.
43670
43671 * util/grub-emu.c: Do not include malloc.h.
43672
43673 * include/grub/util/misc.h: Include unistd.h. This is required for
43674 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
43675 D. Eades III <hde@foobar-qux.org>.
43676
43677 * configure.ac (AC_GNU_SOURCE): Added.
43678 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
43679 type.
43680
fd39d4da 436812006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
43682
43683 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
43684 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
43685
b786f3b5 436862006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
43687
43688 * include/grub/types.h (grub_host_addr_t): Rename to
43689 grub_target_addr_t.
43690 (grub_host_off_t): Rename to grub_target_off_t.
43691 (grub_host_size_t): Rename to grub_target_size_t.
43692 (grub_host_ssize_t): Rename to grub_target_ssize_t.
43693 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
43694
43695 * include/grub/kernel.h (struct grub_module_header): Change type
43696 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
43697 (grub_module_info): Likewise.
f19dbdb7 43698
051988bb 436992006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
43700
43701 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
43702 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
43703 Velazquez <jesus.velazquez@gmail.com>.
43704
deae281b 437052006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
43706
43707 Count partitions from 1 instead of 0 in the string representation
43708 of partitions. Still use 0-based internally.
f19dbdb7 43709
deae281b 43710 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
43711 (sun_partition_map_iterate): Use grub_partition_t instead of
43712 struct grub_partition *. Cast DESC->START_CYLINDER to
43713 grub_uint64_t after converting the endian.
43714 (sun_partition_map_probe): Subtract 1 for PARTNUM.
43715 (sun_partition_map_get_name): Add 1 to P->INDEX.
43716
43717 * partmap/pc.c (grub_partition_parse): Subtract 1 for
43718 PCDATA->DOS_PART.
43719 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
43720
43721 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
43722 zero instead of one.
43723 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
43724 (gpt_partition_map_get_name): Add 1 into P->INDEX.
43725
43726 * partmap/apple.c (apple_partition_map_iterate): Change the type
43727 of POS to unsigned.
43728 (apple_partition_map_probe): Subtract 1 for PARTNUM.
43729 (apple_partition_map_get_name): Add 1 into P->INDEX.
43730
43731 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
43732 of POS to unsigned.
43733 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
43734 calculate the offset of a partition.
43735 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
43736 (amiga_partition_map_get_name): Add 1 into P->INDEX.
43737
43738 * partmap/acorn.c (acorn_partition_map_find): Change the type of
43739 SECTOR to grub_disk_addr_t.
43740 (acorn_partition_map_iterate): Likewise.
43741 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
43742 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
43743 top.
43744 (acorn_partition_map_get_name): Add 1 into P->INDEX.
43745
43746 * kern/i386/pc/init.c (make_install_device): Add 1 into
43747 GRUB_INSTALL_DOS_PART.
43748
43749 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
43750 conditional.
43751
524a1e6a 437522006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
43753
43754 Clean up the code to support 64-bit addressing in disks and
43755 files. This change is not enough for filesystems yet.
f19dbdb7 43756
524a1e6a 43757 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
43758 type of "start" to grub_uint64_t.
43759 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
43760 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
43761 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
43762 convert addresses.
43763
43764 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
43765 to grub_disk_addr_t.
43766
43767 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
43768 string.
43769
43770 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43771
43772 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
43773 to char *.
43774
43775 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
43776
43777 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
43778
43779 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
43780
43781 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
43782 to grub_off_t, to detect an error from grub_file_seek.
43783 (grub_multiboot_load_elf32): Likewise.
43784
43785 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
43786 maximum unsigned long value when an overflow is detected.
43787 (grub_strtoull): New function.
43788 (grub_divmod64): Likewise.
43789 (grub_lltoa): use grub_divmod64.
43790
43791 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
43792 grub_disk_addr_t.
43793 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
43794 the pointer to next character. Use grub_strtoull instead of
43795 grub_strtoul.
43796 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
43797 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
43798 respectively.
43799
fe6b695a 43800 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 43801 return value is signed.
43802 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
43803 test if OFFSET is less than zero, as OFFSET is unsigned now.
43804
43805 * kern/disk.c (struct grub_disk_cache): Change the type of
43806 "sector" to grub_disk_addr_t.
43807 (grub_disk_cache_get_index): Change the type of SECTOR to
43808 grub_disk_addr_t. Calculate the hash with SECTOR casted to
43809 unsigned after shifting.
43810 (grub_disk_cache_invalidate): Change the type of SECTOR to
43811 grub_disk_addr_t.
43812 (grub_disk_cache_unlock): Likewise.
43813 (grub_disk_cache_store): Likewise.
43814 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
43815 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
43816 grub_disk_addr_t and grub_uint64_t, respectively.
43817 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
43818 body, as the value of OFFSET is tweaked by
43819 grub_disk_check_range. Change the types of START_SECTOR, LEN and
43820 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
43821 respectively.
43822 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
43823 body, as the value of OFFSET is tweaked by
43824 grub_disk_check_range. Change the types of LEN and N to
43825 grub_size_t.
43826
43827 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
43828 and "saved_offset" to grub_off_t.
43829 (test_header): Cast BUF to char *.
43830 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
43831 to char *.
43832 (grub_gzio_read): Change the types of OFFSET and SIZE to
43833 grub_off_t and grub_size_t, respectively.
43834
43835 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
43836 Removed.
43837 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
43838 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
43839 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
43840 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
43841 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
43842
43843 * include/grub/types.h (grub_off_t): Unconditionally set to
43844 grub_uint64_t.
43845 (grub_disk_addr_t): Changed to grub_uint64_t.
43846
43847 * include/grub/partition.h (struct grub_partition): Change the
43848 types of "start", "len" and "offset" to grub_disk_addr_t,
43849 grub_uint64_t and grub_disk_addr_t, respectively.
43850 (grub_partition_get_start): Return grub_disk_addr_t.
43851 (grub_partition_get_len): Return grub_uint64_t.
43852
43853 * include/grub/misc.h (grub_strtoull): New prototype.
43854 (grub_divmod64): Likewise.
43855
43856 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
43857 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
43858 grub_off_t, respectively.
43859 All callers and references changed.
43860
43861 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
43862 grub_size_t in "read".
43863 All callers and references changed.
43864
43865 * include/grub/file.h (struct grub_file): Change the types of
43866 "offset" and "size" to grub_off_t and grub_off_t,
43867 respectively. Change the type of SECTOR to grub_disk_addr_t in
43868 "read_hook".
43869 (grub_file_read): Change the type of LEN to grub_size_t.
43870 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
43871 grub_off_t.
43872 (grub_file_size): Return grub_off_t.
43873 (grub_file_tell): Likewise.
43874 All callers and references changed.
43875
43876 * include/grub/disk.h (struct grub_disk_dev): Change the types of
43877 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
43878 "write".
43879 (struct grub_disk): Change the type of "total_sectors" to
43880 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 43881 "read_hook".
524a1e6a 43882 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
43883 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
43884 (grub_disk_write): Likewise.
43885 All callers and references changed.
43886
43887 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
43888 char * for grub_strncmp to silence gcc.
43889 (grub_iso9660_mount): Likewise.
43890 (grub_iso9660_mount): Likewise.
43891 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
43892 return statement.
43893 (grub_iso9660_iterate_dir): Likewise.
43894 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
43895
43896 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
43897 LEN to grub_disk_addr_t and grub_size_t, respectively.
43898
43899 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43900
43901 * fs/jfs.c (grub_jfs_read_file): Likewise.
43902
43903 * fs/minix.c (grub_jfs_read_file): Likewise.
43904
43905 * fs/sfs.c (grub_jfs_read_file): Likewise.
43906
43907 * fs/ufs.c (grub_jfs_read_file): Likewise.
43908
43909 * fs/xfs.c (grub_jfs_read_file): Likewise.
43910
43911 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
43912 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
43913 respectively.
43914
43915 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
43916 BLKNR to -1 instead of returning GRUB_ERRNO.
43917 (grub_ext2_read_file): Change the types of SECTOR and
43918 LEN to grub_disk_addr_t and grub_size_t, respectively.
43919
43920 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
43921 LEN to grub_disk_addr_t and grub_size_t, respectively.
43922
43923 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
43924 grub_file_read.
43925
43926 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
43927 string. Do not cast SECTOR explicitly.
43928
43929 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
43930 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
43931 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
43932 grub_disk_addr_t and grub_size_t, respectively. If the sector is
43933 over 2TB and LBA mode is not supported, raise an error.
43934 (get_safe_sectors): New function.
43935 (grub_biosdisk_read): Use get_safe_sectors.
43936 (grub_biosdisk_write): Likewise.
43937
43938 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
43939 (grub_efidisk_write): Likewise.
43940
43941 * disk/loopback.c (delete_loopback): Cosmetic changes.
43942 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
43943 correctly.
43944 (grub_loopback_open): Likewise.
43945 (grub_loopback_read): Likewise. Also, change the type of POS to
43946 grub_off_t, and fix the usage of grub_memset.
43947
43948 * commands/i386/pc/play.c: Include grub/machine/time.h.
43949
43950 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
43951 print FILE->SIZE.
43952
43953 * commands/configfile.c: Include grub/env.h.
43954
43955 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
43956 GRUB_ERRNO directly instead. Change the type of POS to
43957 grub_off_t. Follow the coding standard.
43958
43959 * commands/blocklist.c: Include grub/partition.h.
43960 (grub_cmd_blocklist): Return an error if the underlying device is
43961 not a disk. Take the starting sector of a partition into account,
43962 if a partition is used.
43963
43964 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
43965 a length field.
43966 (lba_mode): Support 64-bit addresses.
43967 (chs_mode): Likewise.
43968 (copy_buffer): Adapted to the new offsets of a length field and a
43969 segment field.
43970 (blocklist_default_start): Allocate 64-bit space.
43971
43972 * boot/i386/pc/boot.S (force_lba): Removed.
43973 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 43974 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 43975 space.
43976 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
43977 is useless.
43978 (lba_mode): Refactored to support a 64-bit address. More size
43979 optimization.
43980 (setup_sectors): Likewise.
43981
53af98ad 439822006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
43983
43984 * DISTLIST: Added include/grub/i386/linux.h. Removed
43985 include/grub/i386/pc/linux.h
43986
43987 * configure.ac (AC_INIT): Bumped to 1.94.
43988
43989 * config.guess: Updated from gnulib.
43990 * config.sub: Likewise.
43991 * install-sh: Likewise.
43992 * mkinstalldirs: Likewise.
43993
b4c1940a 439942006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
43995
43996 * conf/common.rmk (grub_modules_init.lst): Depended on
43997 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
43998 MODSRCFILES.
43999
44000 * genmk.rb (PModule::rule): Reverted the previous change.
44001
cfca1cfd 440022006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44003
44004 * conf/common.rmk (grub_modules_init.lst): Depends on
44005 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
44006 that the target does not exist before producing.
44007 (grub_modules_init.h): Remove the target before generating.
44008 (grub_emu_init.c): Likewise.
44009
44010 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
44011
aa6d7826 440122006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
44013
44014 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
44015 for the target-specific tests. Make sure that we also have the
44016 up-to-date target variables for those tests.
44017
26c607b9 440182006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44019
44020 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
44021 (PModule::rule): Likewise.
44022
0162321a 440232006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44024
44025 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
44026 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
44027 target-specific flags should be prefixed.
44028 (PModule::rule): Likewise.
44029
6c826348 440302006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
44031
44032 * configure.ac (CMP): Check if cmp is available explicitly.
44033
b977bf01 440342006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
44035
44036 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
44037 (target_cpu): New variable.
44038 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 44039
b977bf01 44040 * util/i386/pc/grub-install.in (host_cpu): Removed.
44041 (target_cpu): New variable.
44042 (pkglibdir): Use target_cpu instead of host_cpu.
44043
44044 * util/genmoddep.c: Removed.
f19dbdb7 44045
b977bf01 44046 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
44047 instead of GRUB_HOST_SIZEOF_VOID_P.
44048 * kern/dl.c: Likewise.
44049
44050 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
44051 ...
44052 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44053 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44054 (GRUB_TARGET_SIZEOF_LONG): ... this.
44055 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44056 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44057 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44058 to ...
44059 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44060 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44061 (GRUB_TARGET_SIZEOF_LONG): ... this.
44062 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44063 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44064 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44065 to ...
44066 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44067 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44068 (GRUB_TARGET_SIZEOF_LONG): ... this.
44069 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44070 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44071
44072 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
44073 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
44074 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
44075 instead of GRUB_HOST_SIZEOF_LONG.
44076 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
44077 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
44078 GRUB_CPU_WORDS_BIGENDIAN.
44079 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
44080 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
44081 grub_host_ssize_t.
44082
44083 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
44084 (genmoddep_SOURCES): Likewise.
44085 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
44086 (genmoddep_SOURCES): Likewise.
44087 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
44088 (genmoddep_SOURCES): Likewise.
44089 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
44090 Likewise.
44091 (genmoddep_SOURCES): Likewise.
44092
44093 * genmoddep.awk: New file.
44094
44095 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
44096 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
44097 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
44098 (PModule::rule): Likewise.
44099 (Program::rule): Likewise.
44100 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
44101 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
44102 respectively.
44103
44104 * configure.ac: Rewritten intensively to use host and target
44105 instead of build and host, respectively.
44106
44107 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
44108 (host_cpu): Removed.
44109 (target_cpu): New variable.
44110 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
44111 (BUILD_CC): Removed.
44112 (BUILD_CFLAGS): Likewise.
44113 (BUILD_CPPFLAGS): Likewise.
44114 (TARGET_CC): New variable.
44115 (TARGET_CFLAGS): Likewise.
44116 (TARGET_CPPFLAGS): Likewise.
44117 (TARGET_LDFLAGS): Likewise.
44118 (AWK): Likewise.
44119 (include): Use target_cpu instead of host_cpu.
44120 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 44121
b977bf01 44122 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
44123
f09771a1 441242006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
44125
44126 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
44127 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
44128 field 'false' to 'exec_on_false'.
44129 (grub_script_create_cmdif): Renamed argument names to reflect above
44130 changes.
44131
44132 * normal/execute.c (grub_script_execute_cmdif): Likewise.
44133
44134 * normal/script.c (grub_script_create_cmdif): Likewise.
44135
118f4fb3 441362006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
44137
44138 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
44139 top.
44140 (grub_hfsplus_btree_recptr): Likewise.
44141 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
44142 FILEBLOCK both to pass a block number and store next block
44143 number.
44144 (grub_hfsplus_read_block): Rewritten heavily to support an extent
44145 overflow file correctly. Specify errors appropriately, because
44146 fshelp expects that GRUB_ERRNO is set when fails. Reuse
44147 grub_hfsplus_btree_recptr to get the pointer to a found key.
44148 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
44149 is found.
44150
44151 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
44152 linux.mod.
44153 (_linux_mod_SOURCES): New variable.
44154 (_linux_mod_CFLAGS): Likewise.
44155 (_linux_mod_LDFLAGS): Likewise.
44156 (linux_mod_SOURCES): Likewise.
44157 (linux_mod_CFLAGS): Likewise.
44158 (linux_mod_LDFLAGS): Likewise.
44159
44160 * DISTLIST: Added loader/i386/efi/linux.c,
44161 loader/i386/efi/linux_normal.c and
44162 include/grub/i386/efi/loader.h.
44163
44164 * loader/i386/efi/linux.c: New file.
44165 * loader/i386/efi/linux_normal.c: Likewise.
44166 * include/grub/i386/efi/loader.h: Likewise.
44167
89a7d726 441682006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
44169
44170 * commands/blocklist.c: New file.
44171
44172 * DISTLIST: Added commands/blocklist.c.
44173
44174 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 44175 color for the background, and a darker color for the foreground.
89a7d726 44176 (grub_console_checkkey): Return READ_KEY.
44177 (grub_console_cls): Set the background to
44178 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
44179
44180 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
44181
44182 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
44183 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
44184
44185 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
44186 prototype.
44187
44188 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
44189 BG. The spec is wrong again.
44190
44191 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
44192 prototype.
44193 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
44194
44195 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44196 commands/blocklist.c.
44197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 44198
89a7d726 44199 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
44200 (blocklist_mod_SOURCES): New variable.
44201 (blocklist_mod_CFLAGS): Likewise.
44202 (blocklist_mod_LDFLAGS): Likewise.
44203
75c8f258 442042006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
44205
44206 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
44207 duplication.
44208 (lba_mode): Use %eax more intensively to reduce the code size.
44209
da2eb181 442102006-05-20 Marco Gerards <marco@gnu.org>
44211
44212 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
44213
44214 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
44215 for `menuentry'.
44216 (script): Accept leading newlines.
44217 (newlines): New rule to describe 0 or more newlines.
44218 (commands): Accept `command' with trailing newline. Fixed the
44219 order in which arguments were passed to `grub_script_add_cmd'.
44220 Accept commands separated by newlines.
44221 (function): Changed to accept newlines.
44222 (menuentry) Rewritten.
44223
44224 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
44225 front of the list, instead of to the end.
44226
577b4050 442272006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
44228
44229 * util/i386/pc/grub-install.in (bindir): New variable.
44230 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
44231 Shaver <lbgwjl@gmail.com>.
44232
0d6e1189 442332006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
44234
44235 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
44236 grub/machine/linux.h
44237 * loader/i386/pc/linux.c: Likewise.
44238
44239 * include/grub/i386/pc/linux.h: Moved to ...
44240 * include/grub/i386/linux.h: ... here.
44241
44242 * include/grub/i386/linux.h (struct linux_kernel_params): New
44243 struct.
f19dbdb7 44244
31b86e9f 442452006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
44246
44247 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
44248 checking.
44249 (grub_video_vbe_blit_glyph): Likewise.
44250 (grub_video_vbe_blit_bitmap): Likewise.
44251 (grub_video_vbe_blit_render_target): Likewise.
44252
83b984de 442532006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
44254
44255 * configure.ac (--with-platform): Properly quote the square
44256 brackets.
44257
5f0413bd 442582006-05-08 Marco Gerards <marco@gnu.org>
44259
44260 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
44261 this...
44262 (kernel_elf_HEADERS): ...to this. Updated all users.
44263 (grubof_symlist.c): Renamed from this...
44264 (kernel_elf_symlist.c): ...to this. Updated all users.
44265 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44266 (grubof_SOURCES): Renamed from this...
44267 (kernel_elf_SOURCES): ...to this.
44268 (grubof_HEADERS): Renamed from this...
44269 (kernel_elf_HEADERS): ...to this.
44270 (grubof_CFLAGS): Renamed from this...
44271 (kernel_elf_CFLAGS): ...to this.
44272 (grubof_ASFLAGS): Renamed from this...
44273 (kernel_elf_ASFLAGS): ...to this.
44274 (grubof_LDFLAGS): Renamed from this...
44275 (kernel_elf_LDFLAGS): ...to this.
44276
44277 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
44278 this...
44279 (kernel_elf_HEADERS): ...to this. Updated all users.
44280 (grubof_symlist.c): Renamed from this...
44281 (kernel_elf_symlist.c): ...to this. Updated all users.
44282 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44283 (grubof_SOURCES): Renamed from this...
44284 (kernel_elf_SOURCES): ...to this.
44285 (grubof_HEADERS): Renamed from this...
44286 (kernel_elf_HEADERS): ...to this.
44287 (grubof_CFLAGS): Renamed from this...
44288 (kernel_elf_CFLAGS): ...to this.
44289 (grubof_ASFLAGS): Renamed from this...
44290 (kernel_elf_ASFLAGS): ...to this.
44291 (grubof_LDFLAGS): Renamed from this...
44292 (kernel_elf_LDFLAGS): ...to this.
44293
44294 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
44295 `kernel.elf' instead of `grubof'.
44296
05568c2e 442972006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
44298
44299 Add --with-platform to configure. Use pkglibdir instead of
44300 pkgdatadir. This is reported by Roger Leigh.
44301
44302 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
44303 (host_vendor): Likewise.
44304 (host_os): Likewise.
44305 (pkgdatadir): Likewise.
44306 (platform): New variable.
44307 (pkglibdir): Likewise.
44308 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 44309
05568c2e 44310 * util/i386/pc/grub-install.in (datadir): Removed.
44311 (host_vendor): Likewise.
44312 (host_os): Likewise.
44313 (pkgdatadir): Likewise.
44314 (platform): New variable.
44315 (pkglibdir): Likewise.
44316 Use PKGLIBDIR instead of PKGDATADIR.
44317
44318 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
44319 instead of GRUB_DATADIR.
44320 (main): Likewise.
44321 * util/i386/pc/grub-mkimage.c (usage): Likewise.
44322 (main): Likewise.
44323 * util/i386/efi/grub-mkimage.c (usage): Likewise.
44324 (main): Likewise.
44325
44326 * configure.ac (--with-platform): New option.
44327 Use PLATFORM instead of HOST_VENDOR to specify a platform.
44328
44329 * Makefile.in: Include a makefile based on PLATFORM instead of
44330 HOST_VENDOR.
44331 (pkgdatadir): Not appended by the machine type.
44332 (pkglibdir): Appended by the machine type.
44333 (host_vendor): Removed.
44334 (platform): New variable.
44335 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
44336 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
44337 (uninstall): Likewise.
44338
4e93851c 443392006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
44340
44341 Use the environment context in the menu. Remove the commands
44342 "default" and "timeout", and use variables instead.
f19dbdb7 44343
4e93851c 44344 * normal/menu.c: Include grub/env.h.
44345 (print_entry): Cast TITLE to silence gcc.
44346 (get_timeout): New function.
44347 (set_timeout): Likewise.
44348 (get_entry_number): Likewise.
44349 (run_menu): Use a default entry, a fallback entry and a timeout
44350 in the environment variables "default", "fallback" and
44351 "timeout". Also, tweak the default entry if it is not within the
44352 current menu entries.
44353 (grub_menu_run): Use a fallback entry in the environment variable
44354 "fallback".
44355
44356 * normal/main.c (read_config_file): Do not initialize
44357 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
44358 NEWMENU->TIMEOUT.
44359 (grub_normal_execute): Use a data slot to store the menu.
44360
44361 * include/grub/normal.h (struct grub_menu): Removed default_entry,
44362 fallback_entry and timeout.
44363 (struct grub_menu_list): Removed.
44364 (grub_menu_list_t): Likewise.
44365 (struct grub_context): Likewise.
44366 (grub_context_t): Likewise.
44367 (grub_context_get): Likewise.
44368 (grub_context_get_current_menu): Likewise.
44369 (grub_context_push_menu): Likewise.
44370 (grub_context_pop_menu): Likewise.
44371 (grub_default_init): Likewise.
44372 (grub_default_fini): Likewise.
44373 (grub_timeout_init): Likewise.
44374 (grub_timeout_fini): Likewise.
44375
44376 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
44377 and timeout.mod.
44378 (normal_mod_SOURCES): Removed normal/context.c.
44379
44380 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
44381 commands/default.c, commands/timeout.c and normal/context.c.
44382 (normal_mod_SOURCES): Removed normal/context.c.
44383
44384 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
44385 commands/timeout.c and normal/context.c.
44386 (normal_mod_SOURCES): Removed normal/context.c.
44387
44388 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
44389 commands/default.c, commands/timeout.c and normal/context.c.
44390 (normal_mod_SOURCES): Removed normal/context.c.
44391
44392 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
44393 timeout.mod.
44394 (default_mod_SOURCES): Removed.
44395 (default_mod_CFLAGS): Likewise.
44396 (default_mod_LDFLAGS): Likewise.
44397 (timeout_mod_SOURCES): Removed.
44398 (timeout_mod_CFLAGS): Likewise.
44399 (timeout_mod_LDFLAGS): Likewise.
44400
44401 * DISTLIST: Removed commands/default.c, commands/timeout.c and
44402 normal/context.c.
44403
44404 * commands/default.c: Removed.
44405 * commands/timeout.c: Likewise.
44406 * normal/context.c: Likewise.
44407
1eb9cc1d 444082006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
44409
44410 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
44411
385bd9c1 444122006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
44413
44414 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
44415 "next" to "prev" for readability.
44416 (struct grub_env_sorted_var): New struct.
44417 (grub_env_context): Renamed to ...
44418 (initial_context): ... this.
44419 (grub_env_var_context): Renamed to ...
44420 (current_context): ... this.
44421 (grub_env_find): Look only at CURRENT_CONTEXT.
44422 (grub_env_context_open): Rewritten to copy exported variables from
44423 previous context.
44424 (grub_env_context_close): Rewritten according to the new
44425 scheme. Also, add an assertion to prevent the initial context from
44426 removed.
44427 (grub_env_insert): Removed the code for the sorted list.
44428 (grub_env_remove): Likewise.
44429 (grub_env_export): Simply mark the variable with
44430 GRUB_ENV_VAR_GLOBAL.
44431 (grub_env_set): A cosmetic change for naming consistency.
44432 (grub_env_get): Likewise.
44433 (grub_env_unset): Likewise.
44434 (grub_env_iterate): Rewritten to sort variables within this
44435 function.
44436 (grub_register_variable_hook): Fixed for naming consistency. Call
44437 grub_env_find again, only if NAME is not found at the first time.
44438 (mangle_data_slot_name): New function.
44439 (grub_env_set_data_slot): Likewise.
44440 (grub_env_get_data_slot): Likewise.
44441 (grub_env_unset_data_slot): Likewise.
44442
44443 * include/grub/env.h (grub_env_var_type): New enum.
44444 (GRUB_ENV_VAR_LOCAL): New constant.
44445 (GRUB_ENV_VAR_GLOBAL): Likewise.
44446 (GRUB_ENV_VAR_DATA): Likewise.
44447 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
44448 "type".
44449 (grub_env_set): Replace VAR with NAME for consistency.
44450 (grub_register_variable_hook): Likewise.
44451 (grub_env_export): Specify the name of the argument.
44452 (grub_env_set_data_slot): New prototype.
44453 (grub_env_get_data_slot): Likewise.
44454 (grub_env_unset_data_slot): Likewise.
44455
7f362539 444562006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44457
44458 Extend the loader so that GRUB can accept a loader which comes
44459 back to GRUB when a loaded image exits. Also, this change adds
44460 support for a chainloader on EFI.
f19dbdb7 44461
7f362539 44462 * term/efi/console.c: Include grub/misc.h.
44463 (grub_console_checkkey): Display a scan code on the top for
44464 debugging. This will be removed once the EFI port gets stable.
44465 Correct the scan code mapping.
44466
44467 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
44468 allocate memory from larger regions, in order to reduce the number
44469 of allocated regions. Otherwise, the MacOSX loader panics.
44470 (filter_memory_map): Avoid less than 1MB for compatibility with
44471 other loaders.
44472 (add_memory_regions): Allocate from the tail of a region, if
44473 possible, to avoid allocating a region near to 1MB, for the MacOSX
44474 loader.
44475
44476 * kern/efi/init.c (grub_efi_set_prefix): Specify
44477 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
44478
44479 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
44480 argument IMAGE_HANDLE and specify it to get a loaded image.
44481 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
44482 grub_efi_get_loaded_image.
fe6b695a 44483 (grub_efi_get_filename): Divide the length by the size of
7f362539 44484 grub_efi_char16_t.
44485 (grub_efi_get_device_path): New function.
44486 (grub_efi_print_device_path): Print End Device Path nodes. Divide
44487 the length by the size of grub_efi_char16_t for a file path device
44488 path node.
44489
44490 * kern/loader.c (grub_loader_noreturn): New variable.
44491 (grub_loader_set): Accept a new argument NORETURN. Set
44492 GRUB_LOADER_NORETURN to NORETURN.
44493 All callers changed.
44494 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
44495 grub_machine_fini.
44496
44497 * include/grub/efi/efi.h (grub_efi_get_device_path): New
44498 prototype.
44499 (grub_efi_get_loaded_image): Take an argument to specify an image
44500 handle.
44501
44502 * include/grub/loader.h (grub_loader_set): Added one more argument
44503 NORETURN.
44504
44505 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
44506 instead of grub_efi_open_protocol.
44507 (grub_efidisk_get_device_name): Likewise.
44508 (grub_efidisk_close): Print a newline.
44509 (grub_efidisk_get_device_handle): Fixed to use
44510 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
44511 GRUB_EFI_DEVICE_PATH_TYPE.
44512
44513 * disk/efi/efidisk.c (device_path_guid): Moved to ...
44514 * kern/efi/efi.c (device_path_guid): ... here.
44515
44516 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
44517 chain.mod.
44518 (kernel_mod_HEADERS): Added efi/disk.h.
44519 (_chain_mod_SOURCES): New variable.
44520 (_chain_mod_CFLAGS): Likewise.
44521 (_chain_mod_LDFLAGS): Likewise.
44522 (chain_mod_SOURCES): Likewise.
44523 (chain_mod_CFLAGS): Likewise.
44524 (chain_mod_LDFLAGS): Likewise.
44525
44526 * DISTLIST: Added include/grub/efi/chainloader.h,
44527 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
44528
44529 * include/grub/efi/chainloader.h: New file.
44530 * loader/efi/chainloader.c: Likewise.
44531 * loader/efi/chainloader_normal.c: Likewise.
44532
c0111d6e 445332006-04-30 Marco Gerards <marco@gnu.org>
44534
44535 * commands/configfile.c (grub_cmd_source): New function.
44536 (GRUB_MOD_INIT): Register the commands `source' and `.'.
44537 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
44538
df5341da 445392006-04-30 Marco Gerards <marco@gnu.org>
44540
44541 * normal/execute.c (grub_script_execute_cmd): Change the return
44542 type to `grub_err_t'. Correctly return the error.
44543 (grub_script_execute_cmdline): In case a command line is not a
44544 command or a function, try to interpret it as an assignment.
44545
f85934bd 445462006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44547
44548 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
44549 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
44550 skip a node whose name is obviously invalid as UTF-16,
44551 i.e. contains a NUL character. Stop the iteration when the last
44552 directory entry is found. Instead of using the return value of
44553 grub_hfsplus_btree_iterate_node, store the value in RET and use
44554 it, because the iterator can be stopped by the last directory
44555 entry.
44556
8f8a2cf8 445572006-04-30 Marco Gerards <marco@gnu.org>
44558
44559 * include/grub/env.h (grub_env_export): New prototype. Reported
44560 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
44561
a27e84ce 445622006-04-30 Marco Gerards <marco@gnu.org>
44563
44564 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
44565 size of the extents in a catalog file record.
44566
eaef0553 445672006-04-29 Marco Gerards <marco@gnu.org>
44568
44569 * commands/configfile.c (grub_cmd_configfile): Execute the
44570 configfile within its own context.
44571
44572 * include/grub/env.h (grub_env_context_open): New prototype.
44573 (grub_env_context_close): Likewise.
44574
44575 * kern/env.c (grub_env): Removed.
44576 (grub_env_sorted): Likewise.
44577 (grub_env_context): New variable.
44578 (grub_env_var_context): Likewise.
44579 (grub_env_find): Search both the active context and the global
44580 context.
44581 (grub_env_context_open): New function.
44582 (grub_env_context_close): Likewise.
44583 (grub_env_insert): Likewise.
44584 (grub_env_remove): Likewise.
44585 (grub_env_export): Likewise.
44586 (grub_env_set): Changed to use helper functions to avoid code
44587 duplication.
44588 (grub_env_iterate): Rewritten so both the current context and the
44589 global context are being used.
44590
44591 * normal/command.c (export_command): New function.
44592 (grub_command_init): Register the `export' function.
44593
7b455f4d 445942006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
44595
44596 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
44597 explicitly to suppress gcc's warnings.
44598 * fs/fat.c (grub_fat_find_dir): Likewise.
44599 (grub_fat_label): Likewise.
44600 * fs/xfs.c (grub_xfs_read_inode): Likewise.
44601 (grub_xfs_mount): Likewise.
44602 (grub_xfs_label): Likewise.
44603 * fs/affs.c (grub_affs_mount): Likewise.
44604 (grub_affs_label): Likewise.
44605 (grub_affs_iterate_dir): Likewise.
44606 * fs/sfs.c (grub_sfs_mount): Likewise.
44607 (grub_sfs_iterate_dir): Likewise.
44608 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
44609 * fs/hfs.c (grub_hfs_mount): Likewise.
44610 (grub_hfs_cmp_catkeys): Likewise.
44611 (grub_hfs_find_dir): Likewise.
44612 (grub_hfs_dir): Likewise.
44613 (grub_hfs_label): Likewise.
44614 * fs/jfs.c (grub_jfs_mount): Likewise.
44615 (grub_jfs_opendir): Likewise.
44616 (grub_jfs_getent): Likewise.
44617 (grub_jfs_lookup_symlink): Likewise.
44618 (grub_jfs_label): Likewise.
44619 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
44620 (grub_hfsplus_iterate_dir): Likewise.
44621 (grub_hfsplus_btree_iterate_node): Made static.
44622
44623 * util/grub-emu.c (prefix): New variable.
44624 (grub_machine_set_prefix): New function.
44625 (main): Do not set the environment variable "prefix" here. Only
44626 set PREFIX, which is used later by grub_machine_set_prefix.
44627
44628 * include/grub/video.h: Do not include grub/symbol.h.
44629 (grub_video_register): Not exported. This symbol is not defined in
44630 the kernel.
44631 (grub_video_unregister): Likewise.
44632 (grub_video_iterate): Likewise.
44633 (grub_video_setup): Likewise.
44634 (grub_video_restore): Likewise.
44635 (grub_video_get_info): Likewise.
44636 (grub_video_get_blit_format): Likewise.
44637 (grub_video_set_palette): Likewise.
44638 (grub_video_get_palette): Likewise.
44639 (grub_video_set_viewport): Likewise.
44640 (grub_video_get_viewport): Likewise.
44641 (grub_video_map_color): Likewise.
44642 (grub_video_map_rgb): Likewise.
44643 (grub_video_map_rgba): Likewise.
44644 (grub_video_fill_rect): Likewise.
44645 (grub_video_blit_glyph): Likewise.
44646 (grub_video_blit_bitmap): Likewise.
44647 (grub_video_blit_render_target): Likewise.
44648 (grub_video_scroll): Likewise.
44649 (grub_video_swap_buffers): Likewise.
44650 (grub_video_create_render_target): Likewise.
44651 (grub_video_delete_render_target): Likewise.
44652 (grub_video_set_active_render_target): Likewise.
44653
44654 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
44655 Undefined.
44656 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
44657
44658 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
44659 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44660 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44661 instead of $(srcdir)/genkernsyms.sh.
44662
44663 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
44664 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44665 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44666 instead of $(srcdir)/genkernsyms.sh.
44667
44668 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
44669 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44670 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44671 instead of $(srcdir)/genkernsyms.sh.
44672
44673 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
44674 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44675 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44676 instead of $(srcdir)/genkernsyms.sh.
44677
44678 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
44679 genkernsyms.sh.
44680
44681 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
44682 genkernsyms.sh.
44683 (gensymlist.sh): New target.
44684 (genkernsyms.sh): Likewise.
44685
44686 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
44687 genkernsyms.sh.in and gensymlist.sh.in.
44688
44689 * genkernsyms.sh: Removed.
44690 * gensymlist.sh: Likewise.
f19dbdb7 44691
7b455f4d 44692 * genkernsyms.sh.in: New file.
44693 * gensymlist.sh.in: Likewise.
44694
1885bb27 446952006-04-25 Hollis Blanchard <hollis@penguinppc.org>
44696
44697 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
44698 clobber "prefix", since we may have already set it manually.
44699
71538dff 447002006-04-25 Hollis Blanchard <hollis@penguinppc.org>
44701
44702 * kern/misc.c (abort): New alias for grub_abort.
44703
2965c7cc 447042006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
44705
44706 A new machine-specific function "grub_machine_set_prefix" is
44707 defined. This is called after loading modules, so that a prefix
44708 initialization can use modules. Also, this change adds an
44709 intensive debugging feature for the memory manager via the
44710 configure option "--enable-mm-debug".
f19dbdb7 44711
2965c7cc 44712 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
44713 PART.LEN.
44714
44715 * kern/sparc64/ieee1275/init.c (abort): Removed.
44716 (grub_stop): Likewise.
44717 (grub_exit): New function.
44718 (grub_set_prefix): Renamed to ...
44719 (grub_machine_set_prefix): ... this.
44720 (grub_machine_init): Do not call grub_set_prefix.
44721
44722 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
44723 (grub_machine_set_prefix): ... this.
44724 (grub_machine_init): Do not call grub_set_prefix.
44725
44726 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
44727 (grub_machine_init): Do not set the prefix here.
44728
44729 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
44730
44731 * kern/efi/init.c: Include grub/mm.h.
44732 (grub_efi_set_prefix): New function.
44733
44734 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
44735 (grub_efi_get_filename): New function.
44736 (grub_print_device_path): Renamed to ...
44737 (grub_efi_print_device_path): ... this.
44738
44739 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
44740 [MM_DEBUG] (grub_realloc): Likewise.
44741 [MM_DEBUG] (grub_free): Likewise.
44742 [MM_DEBUG] (grub_memalign): Likewise.
44743 [MM_DEBUG] (grub_mm_debug): New variable.
44744 [MM_DEBUG] (grub_debug_malloc): New function.
44745 [MM_DEBUG] (grub_debug_free): New function.
44746 [MM_DEBUG] (grub_debug_realloc): New function.
44747 [MM_DEBUG] (grub_debug_memalign): New function.
44748
44749 * kern/misc.c (grub_abort): Print a newline to distinguish
44750 the message.
44751
44752 * kern/main.c (grub_main): Call grub_machine_set_prefix and
44753 grub_set_root_dev after loading modules. This is necessary when
44754 setting a prefix depends on modules.
44755
44756 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
44757 (grub_efi_print_device_path): ... this.
44758 (grub_efi_get_filename): New prototype.
44759 (grub_efi_set_prefix): Likewise.
44760
44761 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
44762 and grub/disk.h.
44763 (grub_efidisk_get_device_handle): New prototype.
44764 (grub_efidisk_get_device_name): Likewise.
44765
44766 * include/grub/mm.h: Include config.h.
44767 (MM_DEBUG): Removed.
44768 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
44769 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
44770 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
44771 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
44772 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
44773 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
44774 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
44775 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
44776 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
44777
44778 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
44779
44780 * disk/efi/efidisk.c: Include grub/partition.h.
44781 (iterate_child_devices): New function.
44782 (add_device): First, compare only last device path nodes, so that
44783 devices are sorted by the types.
44784 (grub_efidisk_get_device_handle): New function.
44785 (grub_efidisk_get_device_name): Likewise.
44786
44787 * configure.ac (--enable-mm-debug): New option to enable the
44788 memory manager debugging feature. This makes the binary much
44789 bigger, so is disabled by default.
44790
9cacaa17 447912006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
44792
44793 Use grub_abort instead of grub_stop, and grub_exit must be
44794 define in each architecture now. Also, this change adds support
44795 for EFI disks.
f19dbdb7 44796
9cacaa17 44797 * util/i386/pc/grub-probefs.c: Include grub/term.h.
44798 (grub_getkey): New function.
44799 (grub_term_get_current): Likewise.
44800
44801 * util/i386/pc/grub-setup.c: Include grub/term.h.
44802 (grub_getkey): New function.
44803 (grub_term_get_current): Likewise.
44804
44805 * util/misc.c (grub_stop): Renamed to ...
44806 (grub_exit): ... this.
44807
44808 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
44809 (grub_exit): ... this.
44810 (grub_machine_init): Use grub_abort instead of abort.
44811 (grub_stop): Removed.
44812
44813 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
44814 abort.
44815
44816 * kern/i386/pc/startup.S (grub_exit): New function.
44817 (cold_reboot): New label.
44818
44819 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
44820 (grub_efi_init): Call grub_efidisk_init.
44821 (grub_efi_fini): Call grub_efidisk_fini.
44822
44823 * kern/efi/efi.c: Include grub/mm.h.
44824 (grub_efi_console_control_guid): Renamed to ...
44825 (console_control_guid): ... this.
44826 (grub_efi_loaded_image_guid): Renamed to ...
44827 (loaded_image_guid): ... this.
44828 (grub_efi_locate_handle): New function.
44829 (grub_efi_open_protocol): Likewise.
44830 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
44831 GRUB_EFI_CONSOLE_CONTROL_GUID.
44832 (grub_efi_exit): Removed.
44833 (grub_stop): Likewise.
44834 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
44835 (grub_exit): New function.
44836 (grub_print_device_path): Likewise.
44837
44838 * kern/rescue.c (grub_rescue_cmd_exit): New function.
44839 (grub_enter_rescue_mode): Register "exit".
44840
44841 * kern/misc.c (grub_real_dprintf): A cosmetic change.
44842 (grub_abort): New function.
44843
44844 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
44845
44846 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
44847
44848 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
44849
44850 * include/grub/efi/efi.h (grub_efi_exit): Removed.
44851 (grub_print_device_path): New prototype.
44852 (grub_efi_locate_handle): Likewise.
44853 (grub_efi_open_protocol): Likewise.
44854
44855 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
44856 * disk/efi/efidisk.c: Likewise.
44857
44858 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
44859
44860 * include/grub/efi/console_control.h
44861 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
44862
44863 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
44864 last 8 bytes as an array.
44865 (GRUB_EFI_DISK_IO_GUID): New macro.
44866 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
44867 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
44868 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
44869 grub_uint8_t.
44870 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
44871 (struct grub_efi_device_path): Rename the member "sub_type" to
44872 "subtype".
44873 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
44874 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
44875 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
44876 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
44877 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
44878 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
44879 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
44880 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
44881 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
44882 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
44883 (struct grub_efi_pci_device_path): New structure.
44884 (grub_efi_pci_device_path_t): New type.
44885 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
44886 (struct grub_efi_pccard_device_path): New structure.
44887 (grub_efi_pccard_device_path_t): New type.
44888 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
44889 (struct grub_efi_memory_mapped_device_path): New structure.
44890 (grub_efi_memory_mapped_device_path_t): New type.
44891 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
44892 (struct grub_efi_vendor_device_path): New structure.
44893 (grub_efi_vendor_device_path_t): New type.
44894 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
44895 (struct grub_efi_controller_device_path): New structure.
44896 (grub_efi_controller_device_path_t): New type.
44897 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
44898 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
44899 (struct grub_efi_acpi_device_path): New structure.
44900 (grub_efi_acpi_device_path_t): New type.
44901 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
44902 (struct grub_efi_expanded_acpi_device_path): New structure.
44903 (grub_efi_expanded_acpi_device_path_t): New type.
44904 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
44905 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
44906 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
44907 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
44908 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
44909 (struct grub_efi_atapi_device_path): New structure.
44910 (grub_efi_atapi_device_path_t): New type.
44911 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
44912 (struct grub_efi_fibre_channel_device_path): New structure.
44913 (grub_efi_fibre_channel_device_path_t): New type.
44914 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
44915 (struct grub_efi_1394_device_path): New structure.
44916 (grub_efi_1394_device_path_t): New type.
44917 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
44918 (struct grub_efi_usb_device_path): New structure.
44919 (grub_efi_usb_device_path_t): New type.
44920 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
44921 (struct grub_efi_usb_class_device_path): New structure.
44922 (grub_efi_usb_class_device_path_t): New type.
44923 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
44924 (struct grub_efi_i2o_device_path): New structure.
44925 (grub_efi_i2o_device_path_t): New type.
44926 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
44927 (struct grub_efi_mac_address_device_path): New structure.
44928 (grub_efi_mac_address_device_path_t): New type.
44929 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
44930 (struct grub_efi_ipv4_device_path): New structure.
44931 (grub_efi_ipv4_device_path_t): New type.
44932 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
44933 (struct grub_efi_ipv6_device_path): New structure.
44934 (grub_efi_ipv6_device_path_t): New type.
44935 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
44936 (struct grub_efi_infiniband_device_path): New structure.
44937 (grub_efi_infiniband_device_path_t): New type.
44938 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
44939 (struct grub_efi_uart_device_path): New structure.
44940 (grub_efi_uart_device_path_t): New type.
44941 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
44942 (struct grub_efi_vendor_messaging_device_path): New structure.
44943 (grub_efi_vendor_messaging_device_path_t): New type.
44944 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
44945 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
44946 (struct grub_efi_hard_drive_device_path): New structure.
44947 (grub_efi_hard_drive_device_path_t): New type.
44948 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
44949 (struct grub_efi_cdrom_device_path): New structure.
44950 (grub_efi_cdrom_device_path_t): New type.
44951 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
44952 (struct grub_efi_vendor_media_device_path): New structure.
44953 (grub_efi_vendor_media_device_path_t): New type.
44954 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
44955 (struct grub_efi_file_path_device_path): New structure.
44956 (grub_efi_file_path_device_path_t): New type.
44957 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
44958 (struct grub_efi_protocol_device_path): New structure.
44959 (grub_efi_protocol_device_path_t): New type.
44960 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
44961 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
44962 (struct grub_efi_bios_device_path): New structure.
44963 (grub_efi_bios_device_path_t): New type.
44964 (struct grub_efi_disk_io): New structure.
44965 (grub_efi_disk_io_t): New type.
44966 (struct grub_efi_block_io_media): New structure.
44967 (grub_efi_block_io_media_t): New type.
44968 (struct grub_efi_block_io): New structure.
44969 (grub_efi_block_io_t): New type.
44970
44971 * include/grub/misc.h (grub_stop): Removed.
44972 (grub_exit): New prototype.
44973 (grub_abort): Likewise.
44974
44975 * include/grub/disk.h (enum grub_disk_dev_id): Added
44976 GRUB_DISK_DEVICE_EFIDISK_ID.
44977
44978 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
44979 disk/efi/efidisk.c.
44980 (kernel_syms.lst): Remove the target if an error occurs.
44981
49986a9f 449822006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
44983
44984 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
44985 as it was simply too buggy.
44986
970d3b8a 449872006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
44988
44989 * kern/misc.c (grub_lltoa): New function.
44990 (grub_vsprintf): Added support for the long long suffix,
44991 i.e. "ll".
44992
ff04ec24 449932006-04-20 Hollis Blanchard <hollis@penguinppc.org>
44994
44995 * Makefile.in (LDFLAGS): Add variable.
44996 (LD): Remove variable.
44997 * configure.ac: Add -m32 to LDFLAGS.
44998 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
44999 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
45000 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
45001 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
45002 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
45003 variables.
45004 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
45005 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
45006 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
45007
37e5e1a4 450082006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
45009
45010 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
45011 length for unknown glyph.
45012
c352d8dd 450132006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
45014
2eab1c0d 45015 Add support for pre-loaded modules into the EFI port.
f19dbdb7 45016
2eab1c0d 45017 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
45018 completely. Accept one more argument DIR. The caller has changed.
45019
45020 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
45021
45022 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
45023 (grub_efi_loaded_image_guid): New variable.
45024 (grub_efi_get_loaded_image): New function.
45025 (grub_arch_modules_addr): Likewise.
45026
45027 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
45028 prototype.
45029
45030 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
45031 (struct grub_efi_loaded_image): New structure.
45032 (grub_efi_loaded_image_t): New type.
45033
450342006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45035
c352d8dd 45036 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
45037 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
45038 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
45039
6d01d6b4 450402006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
45041
45042 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
45043
976a4ea0 450442006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
45045
45046 * DISTLIST: Added include/grub/efi/console.h,
45047 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
45048 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45049
45050 * include/grub/efi/console.h: New file.
45051 * include/grub/efi/time.h: Likewise.
45052 * include/grub/i386/efi/kernel.h: Likewise.
45053 * kern/efi/init.c: Likewise.
45054 * kern/efi/mm.c: Likewise.
45055 * term/efi/console.c: Likewise.
f19dbdb7 45056
976a4ea0 45057 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
45058 (grub_stop): Removed.
45059 (grub_get_rtc): Likewise.
45060 (grub_machine_init): Simply call grub_efi_init.
45061 (grub_machine_fini): Call grub_efi_fini.
45062
45063 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
45064 (grub_efi_output_string): Removed.
45065 (grub_efi_stall): New function.
45066 (grub_stop): Likewise.
45067 (grub_get_rtc): Likewise.
45068
45069 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
45070 (grub_efi_stall): New prototype.
45071 (grub_efi_allocate_pages): Likewise.
45072 (grub_efi_free_pages): Likewise.
45073 (grub_efi_get_memory_map): Likewise.
45074 (grub_efi_mm_init): Likewise.
45075 (grub_efi_mm_fini): Likewise.
45076 (grub_efi_init): Likewise.
45077 (grub_efi_fini): Likewise.
45078
45079 * include/grub/i386/efi/time.h: Do not include
45080 grub/symbol.h. Include grub/efi/time.h.
45081 (GRUB_TICKS_PER_SECOND): Removed.
45082 (grub_get_rtc): Likewise.
45083
45084 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
45085 Added padding. The EFI spec is buggy.
45086 (GRUB_EFI_BLACK): New macro.
45087 (GRUB_EFI_BLUE): Likewise.
45088 (GRUB_EFI_GREEN): Likewise.
45089 (GRUB_EFI_CYAN): Likewise.
45090 (GRUB_EFI_RED): Likewise.
45091 (GRUB_EFI_MAGENTA): Likewise.
45092 (GRUB_EFI_BROWN): Likewise.
45093 (GRUB_EFI_LIGHTGRAY): Likewise.
45094 (GRUB_EFI_BRIGHT): Likewise.
45095 (GRUB_EFI_DARKGRAY): Likewise.
45096 (GRUB_EFI_LIGHTBLUE): Likewise.
45097 (GRUB_EFI_LIGHTGREEN): Likewise.
45098 (GRUB_EFI_LIGHTCYAN): Likewise.
45099 (GRUB_EFI_LIGHTRED): Likewise.
45100 (GRUB_EFI_LIGHTMAGENTA): Likewise.
45101 (GRUB_EFI_YELLOW): Likewise.
45102 (GRUB_EFI_WHITE): Likewise.
45103 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
45104 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
45105 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
45106 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
45107 (GRUB_EFI_BACKGROUND_RED): Likewise.
45108 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
45109 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
45110 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
45111 (GRUB_EFI_TEXT_ATTR): Likewise.
45112
45113 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
45114 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45115 (kernel_mod_HEADERS): Added efi/time.h.
45116
83709125 451172006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
45118
45119 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
45120 include/grub/efi/api.h, include/grub/efi/console_control.h,
45121 include/grub/efi/efi.h, include/grub/efi/pe32.h,
45122 include/grub/i386/efi/time.h, kern/efi/efi.c,
45123 kern/i386/efi/init.c, kern/i386/efi/startup.S,
45124 and util/i386/efi/grub-mkimage.c.
45125
45126 * Makefile.in (RMKFILES): Added i386-efi.rmk.
45127
45128 * genmk.rb (PModule#rule): Do not export symbols if
45129 #{prefix}_EXPORTS is set to "no".
45130
45131 * conf/i386-efi.mk: New file.
45132 * conf/i386-efi.rmk: Likewise.
45133 * include/grub/efi/api.h: Likewise.
45134 * include/grub/efi/console_control.h: Likewise.
45135 * include/grub/efi/efi.h: Likewise.
45136 * include/grub/efi/pe32.h: Likewise.
45137 * include/grub/i386/efi/time.h: Likewise.
45138 * kern/efi/efi.c: Likewise.
45139 * kern/i386/efi/init.c: Likewise.
45140 * kern/i386/efi/startup.S: Likewise.
45141 * util/i386/efi/grub-mkimage.c: Likewise.
45142
451432006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 45144
45145 * include/grub/script.h: Include <grub/parser.h> and
45146 "grub_script.tab.h".
45147 (struct grub_lexer_param): New struct.
45148 (struct grub_parser_param): Likewise.
45149 (grub_script_create_arglist): Pass the state in an argument.
45150 (grub_script_add_arglist): Likewise.
45151 (grub_script_create_cmdline): Likewise.
45152 (grub_script_create_cmdblock): Likewise.
45153 (grub_script_create_cmdif): Likewise.
45154 (grub_script_create_cmdmenu): Likewise.
45155 (grub_script_add_cmd): Likewise.
45156 (grub_script_arg_add): Likewise.
45157 (grub_script_lexer_ref): Likewise.
45158 (grub_script_lexer_deref): Likewise.
45159 (grub_script_lexer_record_start): Likewise.
45160 (grub_script_lexer_record_stop): Likewise.
45161 (grub_script_mem_record): Likewise.
45162 (grub_script_mem_record_stop): Likewise.
45163 (grub_script_malloc): Likewise.
45164 (grub_script_yylex): Likewise.
45165 (grub_script_yyparse): Likewise.
45166 (grub_script_yyerror): Likewise.
45167 (grub_script_yylex): Likewise.
45168 (grub_script_lexer_init): Return the state.
45169
45170 * normal/lexer.c (grub_script_lexer_state): Removed variable.
45171 (grub_script_lexer_done): Likewise.
45172 (grub_script_lexer_getline): Likewise.
45173 (grub_script_lexer_refs): Likewise.
45174 (script): Likewise.
45175 (newscript): Likewise.
45176 (record): Likewise.
45177 (recording): Likewise.
45178 (recordpos): Likewise.
45179 (recordlen): Likewise.
45180 (grub_script_lexer_init): Return the state instead of setting
45181 global variables.
45182 (grub_script_lexer_ref): Use the newly added argument for state
45183 instead of globals.
45184 (grub_script_lexer_deref): Likewise.
45185 (grub_script_lexer_record_start): Likewise.
45186 (grub_script_lexer_record_stop): Likewise.
45187 (recordchar): Likewise.
45188 (nextchar): Likewise.
45189 (grub_script_yylex2): Likewise.
45190 (grub_script_yylex): Likewise.
45191 (grub_script_yyerror): Likewise.
45192
45193 * normal/parser.y (func_mem): Removed variable.
45194 (menu_entry): Likewise.
45195 (err): Likewise.
45196 (%lex-param): New parser option.
45197 (%parse-param): Likewise.
45198 (script): Always return the AST.
45199 (argument): Pass the state around.
45200 (arguments): Likewise.
45201 (grubcmd): Likewise.
45202 (commands): Likewise.
45203 (function): Likewise.
45204 (menuentry): Likewise.
45205 (if_statement): Likewise.
45206 (if): Likewise.
45207
45208 * normal/script.c (grub_script_memused): Removed variable.
45209 (grub_script_parsed): Likewise.
45210 (grub_script_malloc): Added a state argument. Use that instead of
45211 global variables.
45212 (grub_script_mem_record): Likewise.
45213 (grub_script_mem_record_stop): Likewise.
45214 (grub_script_arg_add): Likewise.
45215 (grub_script_add_arglist): Likewise.
45216 (grub_script_create_cmdline): Likewise.
45217 (grub_script_create_cmdif): Likewise.
45218 (grub_script_create_cmdmenu): Likewise.
45219 (grub_script_add_cmd): Likewise.
45220 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 45221
e2a8c904 452222006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 45223
45224 * normal/command.c (grub_command_init): Remove the title command.
45225
45226 * normal/lexer.c (grub_script_yylex): Renamed from this...
45227 (grub_script_yylex2): ... to this.
45228 (grub_script_yylex): New function. Temporary
45229 introduced to filter some tokens.
45230 (grub_script_yyerror): Print a newline.
45231
45232 * normal/main.c (read_config_file): Output information about the
45233 lines that contain errors. Wait for a key after all lines have
45234 been processed. Don't return an empty menu.
45235
45236 * normal/parser.y (func_mem): Don't initialize.
45237 (menu_entry): Likewise.
45238 (err): New variable.
45239 (script): Don't return anything when an error was encountered.
45240 (ws, returns): Removed rules.
45241 (argument): Disabled concatenated variable support.
45242 (arguments): Remove explicit separators.
45243 (grubcmd): Likewise.
45244 (function): Likewise.
45245 (menuentry): Likewise.
45246 (if): Likewise.
45247 (commands): Likewise. Add error handling.
45248
45249 * normal/script.c (grub_script_create_cmdline): If
45250 `grub_script_parsed' is 0, assume the parser encountered an error.
45251
c9a86192 452522006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
45253
45254 * configure.ac: Add support for EFI. Fix the typo
45255 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
45256
70f3b243 452572006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45258
45259 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
45260 foreign multibyte characters should be shown correctly.
45261
65f201ad 452622006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45263
45264 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
45265 calculation.
45266 (read_config_file): Made it to close file before returning.
45267
b4b93674 452682006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
45269
45270 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
45271 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
45272 video/i386/pc/vbefill.c.
45273
45274 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
45275 video/i386/pc/vbefill.c.
45276
45277 * include/grub/video.h (grub_video_blit_format): New enum.
45278 (grub_video_mode_info): Added new member blit_format.
45279 (grub_video_get_blit_format): New function prototype.
45280
45281 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
45282 function prototype.
45283 (grub_video_vbe_map_rgb): Likewise.
45284 (grub_video_vbe_unmap_color): Likewise.
45285
45286 * include/grub/i386/pc/vbeblit.h: New file.
45287
45288 * include/grub/i386/pc/vbefill.h: New file.
45289
45290 * video/video.c (grub_video_get_blit_format): New function.
45291 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
45292 (grub_video_vbe_map_rgb): Likewise.
45293 (grub_video_vbe_unmap_color): Likewise.
45294
45295 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
45296 optimized fills.
45297 (grub_video_vbe_blit_render_target): Changed to use more optimized
45298 blits.
45299 (grub_video_vbe_setup): Added detection for optimized settings.
45300 (grub_video_vbe_create_render_target): Likewise.
45301
45302 * video/i386/pc/vbeblit.c: New file.
45303
45304 * video/i386/pc/vbefill.c: New file.
45305
c2379b9c 453062006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
45307
45308 * font/manager.c (grub_font_get_glyph): Removed font fixup from
45309 here...
45310
45311 * util/unifont2pff.rb: ... and moved it to here. Improved argument
45312 parsing to support both hex and dec ranges. If filename was missing
45313 show usage information.
45314
bd0d7896 453152006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
45316
45317 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
45318 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
45319
45320 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
45321 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
45322 (video_mod_SOURCES): Added.
45323 (video_mod_CFLAGS): Likewise.
45324 (video_mod_LDFLAGS): Likewise.
45325 (gfxterm_mod_SOURCES): Likewise.
45326 (gfxterm_mod_CFLAGS): Likewise.
45327 (gfxterm_mod_LDFLAGS): Likewise.
45328 (videotest_mod_SOURCES): Likewise.
45329 (videotest_mod_CFLAGS): Likewise.
45330 (videotest_mod_LDFLAGS): Likewise.
45331 (vesafb_mod_SOURCES): Removed.
45332 (vesafb_mod_CFLAGS): Likewise.
45333 (vesafb_mod_LDFLAGS): Likewise.
45334 (vga_mod_SOURCES): Likewise.
45335 (vga_mod_CFLAGS): Likewise.
45336 (vga_mod_LDFLAGS): Likewise.
45337
45338 * commands/videotest.c: New file.
45339
45340 * font/manager.c (fill_with_default_glyph): Modified to use
45341 grub_font_glyph.
45342 (grub_font_get_glyph): Likewise.
45343 (fontmanager): Renamed from this...
45344 (font_manager): ... to this.
45345
45346 * include/grub/font.h (grub_font_glyph): Added new structure.
45347 (grub_font_get_glyph): Modified to use grub_font_glyph.
45348
45349 * include/grub/misc.h (grub_abs): Added as inline function.
45350
45351 * include/grub/video.h: New file.
45352
45353 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
45354 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
45355 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
45356 (grub_vbe_get_controller_info): Renamed from this...
45357 (grub_vbe_bios_get_controller_info): ... to this.
45358 (grub_vbe_get_mode_info): Renamed from this...
45359 (grub_vbe_bios_get_mode_info): ... to this.
45360 (grub_vbe_set_mode): Renamed from this...
45361 (grub_vbe_bios_set_mode): ... to this.
45362 (grub_vbe_get_mode): Renamed from this...
45363 (grub_vbe_bios_get_mode): ... to this.
45364 (grub_vbe_set_memory_window): Renamed from this...
45365 (grub_vbe_bios_set_memory_window): ... to this.
45366 (grub_vbe_get_memory_window): Renamed from this...
45367 (grub_vbe_bios_get_memory_window): ... to this.
45368 (grub_vbe_set_scanline_length): Renamed from this...
45369 (grub_vbe_set_scanline_length): ... to this.
45370 (grub_vbe_get_scanline_length): Renamed from this...
45371 (grub_vbe_bios_get_scanline_length): ... to this.
45372 (grub_vbe_set_display_start): Renamed from this...
45373 (grub_vbe_bios_set_display_start): ... to this.
45374 (grub_vbe_get_display_start): Renamed from this...
45375 (grub_vbe_bios_get_display_start): ... to this.
45376 (grub_vbe_set_palette_data): Renamed from this...
45377 (grub_vbe_bios_set_palette_data): ... to this.
45378 (grub_vbe_set_pixel_rgb): Removed.
45379 (grub_vbe_set_pixel_index): Likewise.
45380
45381 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
45382 from this...
45383 (grub_vbe_bios_get_controller_info): ... to this.
45384 (grub_vbe_get_mode_info): Renamed from this...
45385 (grub_vbe_bios_get_mode_info): ... to this.
45386 (grub_vbe_set_mode): Renamed from this...
45387 (grub_vbe_bios_set_mode): ... to this.
45388 (grub_vbe_get_mode): Renamed from this...
45389 (grub_vbe_bios_get_mode): ... to this.
45390 (grub_vbe_set_memory_window): Renamed from this...
45391 (grub_vbe_bios_set_memory_window): ... to this.
45392 (grub_vbe_get_memory_window): Renamed from this...
45393 (grub_vbe_bios_get_memory_window): ... to this.
45394 (grub_vbe_set_scanline_length): Renamed from this...
45395 (grub_vbe_set_scanline_length): ... to this.
45396 (grub_vbe_get_scanline_length): Renamed from this...
45397 (grub_vbe_bios_get_scanline_length): ... to this.
45398 (grub_vbe_set_display_start): Renamed from this...
45399 (grub_vbe_bios_set_display_start): ... to this.
45400 (grub_vbe_get_display_start): Renamed from this...
45401 (grub_vbe_bios_get_display_start): ... to this.
45402 (grub_vbe_set_palette_data): Renamed from this...
45403 (grub_vbe_bios_set_palette_data): ... to this.
45404 (grub_vbe_bios_get_controller_info): Fixed problem with registers
45405 getting corrupted after calling it. Added more pushes and pops.
45406 (grub_vbe_bios_set_mode): Likewise.
45407 (grub_vbe_bios_get_mode): Likewise.
45408 (grub_vbe_bios_get_memory_window): Likewise.
45409 (grub_vbe_bios_set_scanline_length): Likewise.
45410 (grub_vbe_bios_get_scanline_length): Likewise.
45411 (grub_vbe_bios_get_display_start): Likewise.
45412 (grub_vbe_bios_set_palette_data): Likewise.
45413
45414 * normal/cmdline.c (cl_set_pos): Refresh the screen.
45415 (cl_insert): Likewise.
45416 (cl_delete): Likewise.
45417
45418 * term/gfxterm.c: New file.
45419
45420 * term/i386/pc/vesafb.c: Removed file.
45421
45422 * video/video.c: New file.
45423
45424 * video/i386/pc/vbe.c (real2pm): Added new function.
45425 (grub_video_vbe_draw_pixel): Likewise.
45426 (grub_video_vbe_get_video_ptr): Likewise.
45427 (grub_video_vbe_get_pixel): Likewise
45428 (grub_video_vbe_init): Likewise.
45429 (grub_video_vbe_fini): Likewise.
45430 (grub_video_vbe_setup): Likewise.
45431 (grub_video_vbe_get_info): Likewise.
45432 (grub_video_vbe_set_palette): Likewise.
45433 (grub_video_vbe_get_palette): Likewise.
45434 (grub_video_vbe_set_viewport): Likewise.
45435 (grub_video_vbe_get_viewport): Likewise.
45436 (grub_video_vbe_map_color): Likewise.
45437 (grub_video_vbe_map_rgb): Likewise.
45438 (grub_video_vbe_map_rgba): Likewise.
45439 (grub_video_vbe_unmap_color): Likewise.
45440 (grub_video_vbe_fill_rect): Likewise.
45441 (grub_video_vbe_blit_glyph): Likewise.
45442 (grub_video_vbe_blit_bitmap): Likewise.
45443 (grub_video_vbe_blit_render_target): Likewise.
45444 (grub_video_vbe_scroll): Likewise.
45445 (grub_video_vbe_swap_buffers): Likewise.
45446 (grub_video_vbe_create_render_target): Likewise.
45447 (grub_video_vbe_delete_render_target): Likewise.
45448 (grub_video_vbe_set_active_render_target): Likewise.
45449 (grub_vbe_set_pixel_rgb): Remove function.
45450 (grub_vbe_set_pixel_index): Likewise.
45451 (index_color_mode): Remove static variable.
45452 (active_mode): Likewise.
45453 (framebuffer): Likewise.
45454 (bytes_per_scan_line): Likewise.
45455 (grub_video_vbe_adapter): Added new static variable.
45456 (framebuffer): Likewise.
45457 (render_target): Likewise.
45458 (initial_mode): Likewise.
45459 (mode_in_use): Likewise.
45460 (mode_list): Likewise.
45461
5f97350b 454622006-03-10 Marco Gerards <marco@gnu.org>
45463
45464 * configure.ac (AC_INIT): Bumped to 1.93.
45465
45466 * DISTLIST: Added `include/grub/hfs.h'.
45467
a3c5c6f8 454682006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
45469
45470 * boot/i386/pc/boot.S (general_error): Before looping, try INT
45471 18H, which might help the BIOS falling back to next boot media.
45472
6de53d26 454732006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
45474
45475 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
45476 Poe Chen <poe.poechen@gmail.com>.
45477
77c4a393 454782006-01-17 Marco Gerards <marco@gnu.org>
45479
45480 * include/grub/normal.h: Include <grub/script.h>.
45481 (grub_command_list): Removed struct.
45482 (grub_command_list_t): Removed type.
45483 (grub_menu_entry): Remove members `num' and `command_list'. Add
45484 members `commands' and `sourcecode'.
45485 * include/grub/script.h: Add inclusion guards.
45486 (grub_script_cmd_menuentry): New struct.
45487 (grub_script_execute_menuentry): New prototype.
45488 (grub_script_lexer_record_start): Likewise.
45489 (grub_script_lexer_record_stop): Likewise.
45490 * normal/execute.c (grub_script_execute_menuentry): New function.
45491 * normal/lexer.c (record, recording, recordpos, recordlen): New
45492 variables.
45493 (grub_script_lexer_record_start): New function.
45494 (grub_script_lexer_record_stop): Likewise.
45495 (recordchar): Likewise.
45496 (nextchar): Likewise.
45497 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
45498 2048 as the buffer size. Add the tokens `menuentry' and `@'.
45499 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
45500 (current_menu): New variable.
45501 (free_menu): Mainly rewritten.
45502 (grub_normal_menu_addentry): New function.
45503 (read_config_file): Rewritten.
45504 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 45505 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 45506 the menu entry.
45507 (run): Mainly rewritten.
45508 * normal/parser.y (menu_entry): New variable.
45509 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
45510 (menuentry): New rule.
45511 (command): Add `menuentry'.
45512 (if_statement): Allow additional returns before `fi'.
45513 * normal/script.c (grub_script_create_cmdmenu): New function.
45514
144f1f98 455152006-01-03 Marco Gerards <marco@gnu.org>
45516
45517 * INSTALL: GNU Bison is required.
45518 * configure.ac: Rewritten the test to detect Bison.
45519 * Makefile.in (YACC): New variable. Reported by Xun Sun
45520 <xun.sun.cn@gmail.com>.
45521
af4b2d89 455222006-01-03 Marco Gerards <marco@gnu.org>
45523
45524 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
45525 the HFS+ filesystem to filesystem blocks.
45526 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
45527 GCC warning is silenced.
45528
15643b71 455292006-01-03 Marco Gerards <marco@gnu.org>
45530
45531 * partmap/apple.c (apple_partition_map_iterate): Convert the data
45532 read from disk from big endian to host byte order.
45533
00905879 455342006-01-03 Hollis Blanchard <hollis@penguinppc.org>
45535
45536 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
45537 documentation.
45538 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
45539 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
45540 embedded HFS+ filesystem.
45541 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
45542 (grub_hfs_sblock): Move from here...
45543 * include/grub/hfs.h: To here... New file.
45544 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
45545 documentation.
45546 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
45547 New macros.
45548 (grub_hfsplus_volheader): Change type of member `magic' to
45549 `grub_uint16_t'.
45550 (grub_hfsplus_data): Add new member `embedded_offset'.
45551 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
45552 returned block.
45553 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
45554 Calculate the offset.
45555
8899bc3e 455562005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45557
45558 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
45559 Removed.
45560 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
45561
ae8c0277 455622005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45563
45564 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
45565 ENV->NAME is NULL after allocating ENV->VALUE.
45566
07084456 455672005-12-25 Marco Gerards <marco@gnu.org>
45568
45569 * kern/env.c (grub_env_set): Rewritten the error handling code.
45570
4750f5f1 455712005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45572
45573 * geninit.sh: Made more robust, and more portable.
45574
50214199 455752005-12-25 Marco Gerards <marco@gnu.org>
45576
45577 Add support for Apple HFS+ filesystems.
f19dbdb7 45578
50214199 45579 * fs/hfsplus.c: New file.
45580
45581 * DISTLIST: Added `fs/hfsplus.c'.
45582
45583 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
45584 (hfsplus_mod_SOURCES): New variable.
45585 (hfsplus_mod_CFLAGS): Likewise.
45586 (hfsplus_mod_LDFLAGS): Likewise.
45587 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
45588 (grub_setup_SOURCES): Likewise.
45589 (grub_mkdevicemap_SOURCES): Likewise.
45590 (grub_emu_SOURCES): Likewise.
45591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45592
45593 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
45594
45595 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
45596
befaed6c 455972005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45598
45599 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
45600 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
45601 include/grub/parser.h, include/grub/script.h, kern/parser.c,
45602 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
45603 normal/lexer.c, normal/parser.y, normal/script.c, and
45604 partmap/gpt.c.
45605 Removed kern/sparc64/cache.c.
45606
45607 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
45608 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
45609 grub_emu_init.c.
45610
45611 * configure.ac (AC_INIT): Bumped to 1.92.
45612
6a124103 456132005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
45614
45615 * kern/err.c (grub_error_push): Added new function to support error
45616 stacks.
45617 (grub_error_pop): Likewise.
45618 (grub_error_stack_items): New local variable to support error stacks.
45619 (grub_error_stack_pos): Likewise.
45620 (grub_error_stack_assert): Likewise.
45621 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
45622 stack depth.
45623 (grub_print_error): Added support to print errors from error stack.
45624
45625 * include/grub/err.h (grub_error_push): Added function prototype.
45626 (grub_error_pop): Likewise.
45627
be973c1b 456282005-12-09 Hollis Blanchard <hollis@penguinppc.org>
45629
45630 * configure.ac: Accept `powerpc64' as host_cpu.
45631 (amd64): Rename to `biarch32'.
45632
45633 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
45634 non-cacheline-aligned addresses.
45635
45636 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
45637 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
45638 if `size' is non-zero.
45639
b04216ab 456402005-12-03 Marco Gerards <mgerards@xs4all.nl>
45641
45642 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
45643 and `cd' to make sure the filename is not prefixed with a
45644 directory name.
45645 (pkgdata_MODULES): Add `gpt.mod'.
45646 (gpt_mod_SOURCES): New variable.
45647 (gpt_mod_CFLAGS): Likewise.
45648 (gpt_mod_LDFLAGS): Likewise.
45649
45650 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
45651
45652 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
45653 New macro.
45654
45655 * partmap/gpt.c: New file.
45656
45657 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
45658 GPT partition map is detected.
45659
41730ed9 456602005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
45661
45662 * commands/i386/pc/play.c: New file.
45663 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
45664 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
45665 macros.
f19dbdb7 45666
95dc3643 456672005-11-27 Marco Gerards <mgerards@xs4all.nl>
45668
45669 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
45670 ((unused))' to silence gcc warning.
45671
1569ec51 456722005-11-26 Hollis Blanchard <hollis@penguinppc.org>
45673
45674 * configure.ac: Correct `AC_PROG_YACC' test.
45675
9abde152 456762005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45677
45678 * util/powerpc/ieee1275/grub-install.in: Run the mount point
45679 check before installing files.
45680
44b83271 456812005-11-22 Mike Small <smallm@panix.com>
45682
45683 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
45684 number regex so multidigit numbers are recognized correctly.
45685
456862005-11-22 Mike Small <smallm@panix.com>
45687
45688 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
45689 debugging message before attempting to claim memory.
45690 (grub_rescue_cmd_initrd): Add a claim debugging message and try
45691 multiple addresses in case of failure.
45692
9c12956b 456932005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45694
45695 * term/tparm.c (get_space): Remove empty `if' statement.
45696
45697 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
45698
45699 * kern/parser.c (check_varstate): Rename `state' to 's'.
45700
aeaf81d9 457012005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45702
45703 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
45704 variable definitions to the beginning of each function. Sort stack
45705 variables by size.
45706 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
45707 `buf' argument to `char *'.
45708
79bbb63f 457092005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45710
45711 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
45712 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 45713 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 45714 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
45715 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
45716 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
45717 configfile.mod, search.mod, gzio.mod and test.mod.
45718 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
45719 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
45720 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
45721 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
45722 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
45723 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
45724 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
45725 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
45726 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
45727 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
45728 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45729 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45730 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
45731 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
45732 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
45733 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
45734 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45735 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
45736 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
45737 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
45738 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
45739 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
45740 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
45741
45742 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
45743 `grep --include'.
45744 (pkgdata_MODULES): Add test.mod.
45745
233b1628 457462005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45747
45748 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
45749 appending to variables with "+=".
45750 (PModule): Use full pathname to generate *.lst filenames.
45751
45752 * Makefile.in: Fixed list rules moved from genmk.rb.
45753 (.DELETE_ON_ERROR): New special target.
45754 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
45755
45756 * conf/i386-pc.rmk: Include conf/common.mk.
45757 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 45758 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 45759 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
45760 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
45761 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
45762 configfile.mod, search.mod, gzio.mod and test.mod.
45763 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
45764 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
45765 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
45766 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
45767 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
45768 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
45769 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
45770 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
45771 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
45772 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
45773 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45774 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45775 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
45776 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
45777 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
45778 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
45779 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45780 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
45781 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
45782 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
45783 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
45784 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
45785 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
45786 here...
45787 * conf/common.rmk: ... to here. New file.
45788
45789 * conf/common.mk: New file.
45790
16f820c8 457912005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
45792
45793 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
45794 (grub_script.tab.c): ... here.
45795
45796 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
45797 (grub_script.tab.c): ... here.
45798
45799 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
45800 (grub_script.tab.c): ... here.
45801
45802 * normal/command.c (grub_command_find): Fixed a memory leak of
45803 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
45804
63ba1554 458052005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45806
45807 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
45808 "@" which marks the start of a comment on ARM.
45809 (VARIABLE): Likewise.
45810
7f67dc13 458112005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45812
79bbb63f 45813 Add support for Linux/ADFS partition tables.
7f67dc13 45814
45815 * partmap/acorn.c: New file.
45816
45817 * include/grub/acorn_filecore.h: Likewise.
45818
45819 * DISTLIST: Added `partmap/acorn.c' and
45820 `include/grub/acorn_filecore.h'.
f19dbdb7 45821
7f67dc13 45822 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45823 `partmap/acorn.c'.
45824 (pkgdata_MODULES): Add `acorn.mod'.
45825 (acorn_mod_SOURCES): New variable.
45826 (acorn_mod_CFLAGS): Likewise.
45827
45828 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
45829 `partmap/acorn.c'.
45830 (pkgdata_MODULES): Add `acorn.mod'.
45831 (acorn_mod_SOURCES): New variable.
45832 (acorn_mod_CFLAGS): Likewise.
45833
45834 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
45835 (pkgdata_MODULES): Add `acorn.mod'.
45836 (acorn_mod_SOURCES): New variable.
45837 (acorn_mod_CFLAGS): Likewise.
45838 (acorn_mod_LDFLAGS): Likewise.
45839
45840 * include/types.h (grub_disk_addr_t): New typedef.
45841
6d099807 458422005-11-13 Marco Gerards <mgerards@xs4all.nl>
45843
45844 * geninit.sh: New file.
45845
45846 * geninitheader.sh: Likewise.
45847
45848 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
45849 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
45850 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
45851 * commands/configfile.c (grub_configfile_init)
45852 (grub_configfile_fini): Likewise.
45853 * commands/default.c (grub_default_init, grub_default_fini):
45854 Likewise.
45855 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
45856 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
45857 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
45858 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
45859 Likewise.
45860 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
45861 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
45862 Likewise.
45863 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 45864 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 45865 Likewise.
45866 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
45867 Likewise.
fe6b695a 45868 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 45869 Likewise.
45870 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
45871 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
45872 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
45873 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
45874 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
45875 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
45876 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
45877 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
45878 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
45879 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
45880 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
45881 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
45882 * partmap/amiga.c (grub_amiga_partition_map_init)
45883 (grub_amiga_partition_map_fini): Likewise.
45884 * partmap/apple.c (grub_apple_partition_map_init)
45885 (grub_apple_partition_map_fini): Likewise.
45886 * partmap/pc.c (grub_pc_partition_map_init)
45887 (grub_pc_partition_map_fini): Likewise.
45888 * partmap/sun.c (grub_sun_partition_map_init,
45889 grub_sun_partition_map_fini): Likewise.
45890 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
45891 Likewise.
45892
45893 * util/grub-emu.c: Include <grub_modules_init.h>.
45894 (main): Don't initialize and de-initialize any modules directly,
45895 use `grub_init_all' and `grub_fini_all' instead.
45896
45897 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
45898 `grub_vesafb_mod_init'.
45899 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
45900 all users.
45901 * term/i386/pc/vga.c (grub_vga_init): Renamed to
45902 `grub_vga_mod_init'. Updated all users.
45903 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 45904
6d099807 45905 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
45906 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
45907 rules.
45908
45909 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
45910 Generate a function to initialize the module in utilities.
45911 Updated all callers.
45912 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
45913 initialize the module in utilities. Updated all callers.
45914
9046bcf0 459152005-11-09 Hollis Blanchard <hollis@penguinppc.org>
45916
45917 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
45918 escape sequence and a literal ^L to clear the screen.
45919
45920 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
45921 when returning from Open Firmware.
45922
d13ea639 459232005-11-09 Hollis Blanchard <hollis@penguinppc.org>
45924
45925 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
45926 (grub_ofconsole_height): Likewise.
45927 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
45928 manually insert a '\n'.
45929 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
45930 `grub_ofconsole_height'. Return early if these are already set.
45931
a8fcf206 459322005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
45933
45934 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
45935 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
45936 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
45937 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
45938 and `normal/script.c'.
45939 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45940 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45941 (test_mod_SOURCES): New variable.
45942 (test_mod_CFLAGS): Likewise.
45943 (test_mod_LDFLAGS): Likewise.
45944 (pkgdata_MODULES): Add `test.mod'.
45945 (grub_script.tab.c): New rule.
45946 (grub_script.tab.h): Likewise.
45947
b6b32745 459482005-11-07 Marco Gerards <mgerards@xs4all.nl>
45949
45950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45951 `commands/test.c', `normal/execute.c', `normal/lexer.c',
45952 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45953 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45954 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45955 (test_mod_SOURCES): New variable.
45956 (test_mod_CFLAGS): Likewise.
45957 (pkgdata_MODULES): Add `test.mod'.
45958 (grub_script.tab.c): New rule.
45959 (grub_script.tab.h): Likewise.
45960
daac212a 459612005-11-06 Marco Gerards <mgerards@xs4all.nl>
45962
45963 Add initial scripting support.
45964
45965 * commands/test.c: New file.
45966 * include/grub/script.h: Likewise.
45967 * normal/execute.c: Likewise.
45968 * normal/function.c: Likewise.
45969 * normal/lexer.c: Likewise.
45970 * normal/parser.y: Likewise.
45971 * normal/script.c: Likewise.
45972
45973 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 45974
daac212a 45975 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
45976 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
45977 `normal/function.c' and `normal/script.c'.
45978 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45979 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 45980 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
45981 variables.
daac212a 45982 (pkgdata_MODULES): Add `test.mod'.
45983 (grub_script.tab.c): New rule.
45984 (grub_script.tab.h): Likewise.
45985
45986 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
45987
45988 * include/grub/normal.h (grub_test_init): New prototype.
45989 (grub_test_fini): Likewise.
f19dbdb7 45990
daac212a 45991 * normal/command.c: Include <grub/script.h>.
45992 (grub_command_execute): Rewritten.
f19dbdb7 45993
daac212a 45994 * util/grub-emu.c (main): Call `grub_test_init' and
45995 `grub_test_fini'.
45996
77500b2b 459972005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45998
45999 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
46000 to 0.
46001 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
46002 there are no pending characters.
46003
e45deb9e 460042005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46005
46006 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
46007 `grub_strndup' to drop device arguments. Replace unnecessary
46008 `grub_strndup' with `grub_strdup'.
46009
4ce32619 460102005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46011
46012 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
46013 `debug' environment variable has been set.
46014
460152005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 46016
4ce32619 46017 * Makefile.in (install-local): Use $(DATA).
46018 (uninstall): Likewise.
46019 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
46020 (sbin_UTILITIES): ... to here.
46021 (sbin_SCRIPTS): New variable.
46022 (grub_install_SOURCES): New variable.
46023 * util/powerpc/ieee1275/grub-install.in: New file.
46024 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
46025 variable.
46026 (add_segments): Call `grub_util_get_path'.
46027
25fe6f03 460282005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46029
46030 From Timothy Baldwin:
46031 * commands/ls.c (grub_ls_list_files): Close FILE with
46032 grub_file_close.
46033 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
46034
04ccf3ec 460352005-10-24 Marco Gerards <mgerards@xs4all.nl>
46036
46037 * include/grub/parser.h: New file.
46038
46039 * kern/parser.c: Likewise.
46040
46041 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
46042 (grub_setup_SOURCES): Likewise.
46043 (grub_probefs_SOURCES): Likewise.
46044 (grub_emu_SOURCES): Likewise.
46045 (kernel_img_HEADERS): Add `parser.h'.
46046
46047 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46048 (grub_emu_SOURCES): Add `kern/parser.c'.
46049 (grubof_SOURCES): Likewise.
46050
46051 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46052 (grubof_SOURCES): Add `kern/parser.c'.
46053
46054 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
46055
46056 * kern/misc.c (grub_split_cmdline): Removed function.
46057
46058 * kern/rescue.c: Include <grub/parser.h>.
46059 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
46060 of `grub_split_cmdline'.
46061
46062 * normal/command.c: Include <grub/parser.h>.
46063 (grub_command_execute): Use `grub_parser_split_cmdline' instead
46064 of `grub_split_cmdline'.
46065
46066 * normal/completion.c: Include <grub/parser.h>.
46067 (cmdline_state): New variable.
46068 (iterate_dir): End the filename with a quote depending on the
46069 command line state.
46070 (get_state): new function.
46071 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
46072 split the arguments and determine the current argument. When the
46073 argument string is not quoted, escape all spaces.
46074
6d8f4b0e 460752005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46076
46077 * normal/sparc64/setjmp.S: New file.
46078
15cf03ed 460792005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46080
46081 * include/grub/sparc64/libgcc.h: New file.
46082 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
46083 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
46084 normal/sparc64/setjmp.c.
46085
03e8661a 460862005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46087
46088 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
46089 * kern/sparc64/cache.S: New file.
46090 * kern/sparc64/cache.c: Removed.
46091 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
46092 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
46093 -mtune=ultrasparc.
46094 (COMMON_LDFLAGS): Add -melf64_sparc.
46095 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
46096 (grubof_SOURCES): Use cache.S instead of cache.c.
46097 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
46098 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
46099 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
46100 commented though.
46101 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
46102 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
46103 (linux_mod_CFLAGS): Commented out.
46104 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
46105 out because module isn't built.
46106 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
46107 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
46108 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
46109 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
46110 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
46111 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46112 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46113 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
46114 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
46115 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
46116 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46117 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46118 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
46119 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
46120
34eeec8a 461212005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
46122
46123 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
46124 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
46125 longer, because HFS should not be used on PC.
46126
708367a3 461272005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46128
46129 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
46130 consistently within the loop.
46131
6fa1251a 461322005-10-15 Marco Gerards <mgerards@xs4all.nl>
46133
46134 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
46135 directory can not be read.
46136
4801580b 461372005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46138
46139 * configure.ac (AC_INIT): Increase the version number to 1.91.
46140
46141 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
46142 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
46143 term/i386/pc/serial.c.
46144
219ad426 461452005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46146
46147 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
46148 file size must be permitted.
46149
46150 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
46151 between %ah and %al.
46152
688e5699 461532005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46154
46155 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
46156 grub_uint64_t.
46157 Call the hook with a NUL-terminated filename.
46158 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
46159 grub_cpu_to_be32.
46160
46161 * kern/term.c (cursor_state): New variable.
46162 (grub_term_set_current): Reset the cursor state on a new
46163 terminal.
46164 (grub_setcursor): Rewritten to use CURSOR_STATE.
46165 (grub_getcursor): New function.
46166
46167 * include/grub/term.h (grub_getcursor): New prototype.
46168
46169 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
46170 integers on ARM. Reported by Timothy Baldwin
46171 <T.E.Baldwin99@members.leeds.ac.uk>.
46172
bb34586c 461732005-10-11 Marco Gerards <mgerards@xs4all.nl>
46174
46175 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
46176 allocated.
46177 (grub_sfs_dir): Likewise.
46178
9a909877 461792005-10-09 Marco Gerards <mgerards@xs4all.nl>
46180
46181 Add support for the SFS filesystem.
46182
46183 * fs/sfs.c: New file.
46184
46185 * DISTLIST: Added `fs/sfs.c'.
46186
46187 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
46188 (grub_probefs_SOURCES): Likewise.
46189 (grub_emu_SOURCES): Likewise.
46190 (pkgdata_MODULES): Add `sfs.mod'.
46191 (sfs_mod_SOURCES): New variable.
46192 (sfs_mod_CFLAGS): Likewise.
46193 (sfs_mod_LDFLAGS): Likewise.
46194
46195 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
46196 (pkgdata_MODULES): Add `sfs.mod'.
46197 (sfs_mod_SOURCES): New variable.
46198 (sfs_mod_CFLAGS): Likewise.
46199
46200 * util/grub-emu.c (main): Call `grub_sfs_init' and
46201 `grub_sfs_fini'.
46202
46203 * include/grub/fs.h (grub_sfs_init): New prototype.
46204 (grub_sfs_fini): Likewise.
46205
57bdbde3 462062005-10-07 Marco Gerards <mgerards@xs4all.nl>
46207
46208 Add support for the AFFS filesystem.
46209
46210 * fs/affs.c: New file.
46211
46212 * DISTLIST: Added `fs/affs.c'.
46213
46214 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
46215 (grub_probefs_SOURCES): Likewise.
46216 (grub_emu_SOURCES): Likewise.
46217 (pkgdata_MODULES): Add `affs.mod'.
46218 (affs_mod_SOURCES): New variable.
46219 (affs_mod_CFLAGS): Likewise.
46220 (affs_mod_LDFLAGS): Likewise.
46221
46222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
46223 (pkgdata_MODULES): Add `affs.mod'.
46224 (affs_mod_SOURCES): New variable.
46225 (affs_mod_CFLAGS): Likewise.
46226
46227 * util/grub-emu.c (main): Call `grub_affs_init' and
46228 `grub_affs_fini'.
46229
46230 * include/grub/fs.h (grub_affs_init): New prototype.
46231 (grub_affs_fini): Likewise.
46232
047b67e0 462332005-10-01 Marco Gerards <mgerards@xs4all.nl>
46234
46235 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
46236
59b8208a 462372005-10-01 Marco Gerards <mgerards@xs4all.nl>
46238
46239 * configure.ac: Accept `x86_64' as host_cpu. In that case add
46240 `-m32' to CFLAGS.
46241
46242 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
46243 linking.
f19dbdb7 46244
59b8208a 46245 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
46246 (COMMON_LDFLAGS): New variable.
46247 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
46248 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
46249 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
46250 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
46251 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
46252 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
46253 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
46254 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
46255 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
46256 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
46257 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46258 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46259 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
46260 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
46261 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
46262 variables.
46263 (normal_mod_ASFLAGS): Add `-m32'.
46264
46265 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
46266 (grub_host_size_t, grub_host_ssize_t): New types.
46267 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 46268 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 46269 `GRUB_HOST_SIZEOF_VOID_P'.
46270
46271 * include/grub/kernel.h (struct grub_module_header): Type of
46272 member offset changed to `grub_host_off_t'. Type of member size
46273 changed to `grub_host_size_t'.
46274 (struct grub_module_info): Type of member offset changed to
46275 `grub_host_off_t'. Type of member size changed to
46276 `grub_host_size_t'.
46277
b4093103 462782005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
46279
46280 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 46281
b4093103 46282 * kern/i386/pc/startup.S (multiboot_header): New label.
46283 (multiboot_entry): Likewise.
46284 (multiboot_trampoline): Likewise.
46285
46286 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46287 Increased to 0x4A0.
46288
46289 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
46290 put parentheses after a question mark.
46291 [!GRUB_UTIL] (my_mod): New variable.
46292
46293 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
46294
b2499b29 462952005-09-28 Marco Gerards <mgerards@xs4all.nl>
46296
46297 Adds support for the XFS filesystem. Btrees are not supported
46298 yet.
46299
46300 * fs/xfs.c: New file.
46301
46302 * DISTLIST: Added `fs/xfs.c'.
46303
46304 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
46305 (grub_probefs_SOURCES): Likewise.
46306 (grub_emu_SOURCES): Likewise.
46307 (pkgdata_MODULES): Add `xfs.mod'.
46308 (xfs_mod_SOURCES): New variable.
46309 (xfs_mod_CFLAGS): Likewise.
46310
46311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
46312 (pkgdata_MODULES): Add `xfs.mod'.
46313 (xfs_mod_SOURCES): New variable.
46314 (xfs_mod_CFLAGS): Likewise.
46315
46316 * util/grub-emu.c (main): Call `grub_xfs_init' and
46317 `grub_xfs_fini'.
46318
46319 * include/grub/fs.h (grub_xfs_init): New prototype.
46320 (grub_xfs_fini): Likewise.
46321
f19dbdb7 46322
83d37a62 463232005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
46324
46325 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
46326 color modes, allow greater than 16 colors to be configured as
46327 a default palette.
46328
47d2d65e 463292005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46330
46331 * normal/completion.c (complete_arguments): Add the qualifier
46332 const into OPTIONS.
46333
46334 From Omniflux <omniflux+lists@omniflux.com>:
46335 * include/grub/terminfo.h: New file.
46336 * include/grub/tparm.h: Likewise.
46337 * include/grub/i386/pc/serial.h: Likewise.
46338 * term/terminfo.c: Likewise.
46339 * term/tparm.c: Likewise.
46340 * term/i386/pc/serial.c: Likewise.
46341 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
46342 serial.mod.
46343 (terminfo_mod_SOURCES): New variable.
46344 (terminfo_mod_CFLAGS): Likewise.
46345 (serial_mod_SOURCES): Likewise.
46346 (serial_mod_CFLAGS): Likewise.
46347
48b671ff 463482005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
46349
46350 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
46351 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
46352 and kern/powerpc/ieee1275/cmain.c, respectively.
46353
46354 * boot/powerpc/ieee1275/crt0.S: Moved to ...
46355 * kern/powerpc/ieee1275/crt0.S: ... here.
46356
46357 * boot/powerpc/ieee1275/cmain.c: Moved to ...
46358 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 46359
48b671ff 46360 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
46361 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
46362 instead of boot/powerpc/ieee1275/crt0.S and
46363 boot/powerpc/ieee1275/cmain.c, respectively.
46364
46365 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
46366 sectors. It was not used anyway.
46367
09fc77a7 463682005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46369
46370 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
46371 `unused parameter' warning.
46372
003789c7 463732005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46374
46375 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
46376 function.
46377 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
46378 getcharwidth.
46379
67f44c86 463802005-08-28 Marco Gerards <metgerards@student.han.nl>
46381
46382 * include/grub/normal.h (enum grub_completion_type): Added
46383 `GRUB_COMPLETION_TYPE_ARGUMENT'.
46384
46385 * normal/cmdline.c (print_completion): Handle
46386 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
46387 * normal/menu_entry.c (store_completion): Likewise.
46388
46389 * normal/completion.c (complete_arguments): New function.
46390 (grub_normal_do_completion): Call `complete_arguments' when the
46391 current words start with a dash.
46392
0b5abe02 463932005-08-27 Marco Gerards <metgerards@student.han.nl>
46394
46395 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
46396 `gzio.mod' instead of `io.mod').
46397
d9864ee1 463982005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
46399
46400 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
46401 (DISTDIRS): Added io and video.
46402 Rewrite the search routine to make an output consistently.
46403
46404 * DISTLIST: Added conf/sparc64-ieee1275.mk,
46405 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
46406 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
46407 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
46408 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
46409 util/powerpc/ieee1275/misc.c.
f19dbdb7 46410
d9864ee1 46411 * include/grub/gzio.h: New file.
46412 * io/gzio.c: Likewise.
f19dbdb7 46413
d9864ee1 46414 * kern/file.c (grub_file_close): Call grub_device_close only if
46415 FILE->DEVICE is not NULL.
46416
46417 * include/grub/mm.h [!NULL] (NULL): New macro.
46418
46419 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
46420
46421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
46422 (pkgdata_MODULES): Added gzio.mod.
46423 (gzio_mod_SOURCES): New variable.
46424 (gzio_mod_CFLAGS): Likewise.
46425
46426 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
46427 (pkgdata_MODULES): Added gzio.mod.
46428 (gzio_mod_SOURCES): New variable.
46429 (gzio_mod_CFLAGS): Likewise.
46430
46431 * commands/cat.c: Include grub/gzio.h.
46432 (grub_cmd_cat): Use grub_gzfile_open instead of
46433 grub_file_open.
f19dbdb7 46434
d9864ee1 46435 * commands/cmp.c: Include grub/gzio.h.
46436 (grub_cmd_cmp): Use grub_gzfile_open instead of
46437 grub_file_open.
46438
46439 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
46440 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
46441 grub_file_open.
46442 (grub_rescue_cmd_module): Likewise.
46443
fa46f4b5 464442005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46445
46446 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
46447 kern/sparc64/ieee1275/init.c because it contains _start.
46448 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
46449
e9211b5d 464502005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46451
46452 * configure.ac: Add support for sparc64 host with ieee1275
46453 firmware.
46454 * configure: Generated from configure.ac.
46455 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
46456 instead of int.
46457 (grub_ofdisk_read): Likewise.
46458 (grub_ofdisk_open): Use %p to print pointer values, and cast the
46459 pointers as (void *) to remove a warning.
46460 (grub_ofdisk_close): Likewise.
46461 (grub_ofdisk_read): Likewise.
46462 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
46463 returns, so make it return void to remove a warning.
46464 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
46465 Corresponding prototype change.
46466 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
46467 values, and cast the pointers as (void *) to remove a warning.
46468 (grub_mm_dump): Likewise.
46469 * conf/sparc64-ieee1275.mk: New file.
46470 * conf/sparc64-ieee1275.rmk: Likewise.
46471 * include/grub/sparc64/setjmp.h: Likewise.
46472 * include/grub/sparc64/types.h: Likewise.
46473 * include/grub/sparc64/ieee1275/console.h: Likewise.
46474 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46475 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46476 * include/grub/sparc64/ieee1275/time.h: Likewise.
46477 * kern/sparc64/cache.c: Likewise.
46478 * kern/sparc64/dl.c: Likewise.
46479 * kern/sparc64/ieee1275/init.c: Likewise.
46480 * kern/sparc64/ieee1275/openfw.c: Likewise.
46481
385c6a92 464822005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46483
46484 * util/console.c (grub_ncurses_putchar): If C is greater than
46485 0x7f, set C to a question mark.
46486 (grub_ncurses_getcharwidth): New function.
46487 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
46488 getcharwidth.
46489
46490 * normal/menu.c (print_entry): Made aware of Unicode. First,
46491 convert TITLE to UCS-4, and predict the cursor position by
46492 grub_getcharwidth.
46493
46494 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
46495 const to SRC.
46496 * kern/misc.c (grub_utf16_to_utf8): Likewise.
46497
16ccb8b1 464982005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46499
46500 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
46501 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46502 grub_strcat.
46503
46504 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
46505 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46506 grub_strcpy and grub_strlen. Take it into account that a space
46507 character is inserted as a delimiter.
46508
6a85ce79 465092005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46510
46511 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 46512 invalid magic in the error.
6a85ce79 46513
46514 * commands/search.c: New file.
f19dbdb7 46515
6a85ce79 46516 * util/grub-emu.c (main): Call grub_search_init and
46517 grub_search_fini.
46518
46519 * kern/rescue.c (grub_rescue_print_disks): Removed.
46520 (grub_rescue_print_devices): New function.
46521 (grub_rescue_cmd_ls): Use grub_device_iterate with
46522 grub_rescue_print_devices instead of grub_disk_dev_iterate with
46523 grub_rescue_print_disks.
46524
46525 * kern/partition.c (grub_partition_iterate): Return the result of
46526 PARTMAP->ITERATE instead of GRUB_ERRNO.
46527
46528 * kern/device.c: Include grub/partition.h.
46529 (grub_device_iterate): New function.
46530
46531 * include/grub/partition.h (grub_partition_iterate): Return int
46532 instead of grub_err_t.
46533
46534 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
46535 prototype.
46536 [GRUB_UTIL] (grub_search_fini): Likewise.
46537
46538 * include/grub/device.h (grub_device_iterate): New prototype.
46539
46540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46541 commands/search.c.
46542 (pkgdata_MODULES): Added search.mod.
46543 (search_mod_SOURCES): New variable.
46544 (search_mod_CFLAGS): Likewise.
46545
46546 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
46547 (pkgdata_MODULES): Added search.mod.
46548 (search_mod_SOURCES): New variable.
46549 (search_mod_CFLAGS): Likewise.
46550
46551 * commands/ls.c (grub_ls_list_disks): Renamed to ...
46552 (grub_ls_list_devices): ... this, and use grub_device_iterate.
46553 All callers changed.
46554
46555 * DISTLIST: Added commands/search.c.
46556
ef095434 465572005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46558
46559 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
46560 conversion.
46561 (grub_getcharwidth): New function.
46562
46563 * kern/misc.c (grub_utf8_to_ucs4): New function.
46564
46565 * include/grub/term.h (struct grub_term): Added a new member
46566 "getcharwidth".
46567 (grub_getcharwidth): New prototype.
46568
46569 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
46570
46571 * term/i386/pc/console.c (map_char): New function. Segregated from
46572 grub_console_putchar.
46573 (grub_console_putchar): Use map_char.
46574 (grub_console_getcharwidth): New function.
46575 (grub_console_term): Specified grub_console_getcharwidth as
46576 getcharwidth.
46577
46578 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
46579 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
46580
46581 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
46582 GRUB_ERRNO.
46583 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
46584 on grub_strtoul completely.
46585 (write_char): Declare local variables in the beginning of the
46586 function.
46587 (grub_vesafb_getcharwidth): New function.
46588 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
46589 getcharwidth.
46590
1f0a95e4 465912005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
46592
46593 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
46594 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
46595 commands/i386/pc/vbetest.c.
46596
46597 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
46598 call grub_vbe_get_controller_info again, because the returned
46599 information is volatile.
46600 (grub_vbe_set_video_mode): Mostly rewritten.
46601 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
46602 grub_vbe_status_t correctly.
46603 (grub_vbe_get_video_mode_info): Likewise.
46604 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
46605 several if statements.
46606
46607 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
46608 * commands/i386/pc/vbeinfo.c: ... this.
46609
46610 * commands/i386/pc/vbe_test.c: Renamed to ...
46611 * commands/i386/pc/vbetest.c: ... this.
46612
46613 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
46614 ...
46615 (grub_cmd_vbeinfo): ... this. Save video modes before
46616 iterating. Skip a video mode, if it is not available, not enough
46617 information is given or it is monochrome. Show the memory
46618 model. Leave the interpretation of MODEVAR to grub_strtoul
46619 completely.
46620 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
46621 (GRUB_MOD_FINI): Likewise.
46622
46623 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
46624 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
46625 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
46626 duplicated grub_env_get. Leave the interpretation of MODEVAR to
46627 grub_strtoul completely.
46628 (real2pm): Removed.
46629 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
46630 (GRUB_MOD_FINI): Likewise.
46631
46632 * normal/misc.c: Include grub/mm.h.
46633
46634 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
46635 vbe_list_modes with vbetest.mod and vbeinfo.mod.
46636 (vbe_list_modes_mod_SOURCES): Removed.
46637 (vbe_list_modes_mod_CFLAGS): Likewise.
46638 (vbe_test_mod_SOURCES): Likewise.
46639 (vbe_test_mod_CFLAGS): Likewise.
46640 (vbeinfo_mod_SOURCES): New variable.
46641 (vbeinfo_mod_CFLAGS): Likewise.
46642 (vbetest_mod_SOURCES): Likewise.
46643 (vbetest_mod_CFLAGS): Likewise.
46644
992ffbbe 466452005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
46646
46647 * normal/misc.c: New file.
46648
46649 * DISTLIST: Added normal/misc.c.
f19dbdb7 46650
992ffbbe 46651 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
46652 DISK to HOOK. Call HOOK with DISK.
46653 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46654 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46655 * partmap/sun.c (sun_partition_map_iterate): Likewise.
46656
46657 * normal/menu_entry.c (struct screen): Added a new member
46658 "completion_shown".
46659 (completion_buffer): New global variable.
46660 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
46661 (store_completion): New function.
46662 (complete): Likewise.
46663 (clear_completions): Likewise.
46664 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
46665 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
46666 a tab, call complete.
46667
46668 * normal/completion.c (disk_dev): Removed.
46669 (print_simple_completion): Likewise.
46670 (print_partition_completion): Likewise.
46671 (print_func): New global variable.
46672 (add_completion): Do not take the arguments WHAT or PRINT any
46673 longer. Added a new argument TYPE. Instead of printing directly,
46674 call PRINT_FUNC if not NULL.
46675 All callers changed.
46676 (complete_device): Use a local variable DEV instead of
46677 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
46678 (grub_normal_do_completion): Take a new argument HOOK. Do not
46679 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
46680 empty string, return NULL instead.
46681 All callers changed.
46682
46683 * normal/cmdline.c (print_completion): New function.
46684
46685 * kern/partition.c (grub_partition_iterate): Add an argument DISK
46686 to HOOK.
46687 All callers changed.
46688
46689 * kern/disk.c (grub_print_partinfo): Removed.
46690
46691 * include/grub/partition.h (struct grub_partition_map): Add a new
46692 argument DISK into HOOK of ITERATE.
46693 (grub_partition_iterate): Add a new argument DISK to HOOK.
46694
46695 * include/grub/normal.h (enum grub_completion_type): New enum.
46696 (grub_completion_type_t): New type.
46697 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
46698 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
46699 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
46700 (GRUB_COMPLETION_TYPE_FILE): Likewise.
46701 (grub_normal_do_completion): Added a new argument HOOK.
46702 (grub_normal_print_device_info): New prototype.
46703
46704 * include/grub/disk.h (grub_print_partinfo): Removed.
46705
46706 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
46707 (normal_mod_SOURCES): Likewise.
46708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46709 (normal_mod_SOURCES): Likewise.
46710
46711 * commands/ls.c (grub_ls_list_disks): Use
46712 grub_normal_print_device_info instead of grub_print_partinfo. Free
46713 PNAME.
46714 (grub_ls_list_files): Use grub_normal_print_device_info instead of
46715 duplicating the code.
46716
0bd41162 467172005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
46718
46719 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 46720 follow GCS more precisely.
46721 * commands/i386/pc/vbe_test.c: Likewise.
46722 * include/grub/i386/pc/vbe.h: Likewise.
46723 * term/i386/pc/vesafb.c: Likewise.
46724 * video/i386/pc/vbe.c: Likewise.
0bd41162 46725
6323696a 467262005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
46727
46728 * DISTLIST: Added term/i386/pc/vesafb.c
46729 DISTLIST: Added video/i386/pc/vbe.c
46730 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
46731 DISTLIST: Added commands/i386/pc/vbe_test.c.
46732 * commands/i386/pc/vbe_list_modes.c: New file.
46733 * commands/i386/pc/vbe_test.c: Likewise.
46734 * term/i386/pc/vesafb.c: Likewise.
46735 * video/i386/pc/vbe.c: Likewise.
46736 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
46737 (grub_vbe_probe) Added prototype.
46738 (grub_vbe_set_video_mode) Likewise.
46739 (grub_vbe_get_video_mode) Likewise.
46740 (grub_vbe_get_video_mode_info) Likewise.
46741 (grub_vbe_set_pixel_rgb) Likewise.
46742 (grub_vbe_set_pixel_index) Likewise.
46743 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
46744 (pkgdata_MODULES): Added vesafb.mod.
46745 (pkgdata_MODULES): Added vbe_list_modes.mod.
46746 (pkgdata_MODULES): Added vbe_test.mod.
46747 (vbe_mod_SOURCES): Added.
46748 (vbe_mod_CFLAGS): Likewise.
46749 (vesafb_mod_SOURCES): Likewise.
46750 (vesafb_mod_CFLAGS): Likewise.
46751 (vbe_list_modes_mod_SOURCES): Likewise.
46752 (vbe_list_modes_mod_CFLAGS): Likewise.
46753 (vbe_test_mod_SOURCES): Likewise.
46754 (vbe_test_mod_CFLAGS): Likewise.
46755
0a74e62f 467562005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
46757
0a74e62f 46758 * normal/command.c (grub_command_execute): If INTERACTIVE is
46759 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
46760 CMDLINE. Disable the pager if INTERACTIVE is true.
46761 All callers are changed.
46762
46763 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
46764 before reading a config file.
46765 * normal/main.c (read_config_file): Even if a command is not
46766 found, register it if it is within an entry.
46767
46768 * util/grub-emu.c: Include sys/types.h and unistd.h.
46769 (options): Added --hold.
46770 (struct arguments): Added a new member "hold".
46771 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
46772 missing.
46773 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
46774 cleared by a debugger, if it is not zero.
46775
46776 * include/grub/normal.h (grub_command_execute): Add an argument
46777 INTERACTIVE.
46778
e51f85ae 467792005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
46780
46781 * DISTLIST: Added include/grub/i386/pc/vbe.h.
46782
e9c6f39b 467832005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
46784
46785 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
46786 program with another one, because the old one didn't detect a bug
46787 in gcc-3.4. Always use regparm 2, because the new test is still
46788 not enough for gcc-4.0. Someone must investigate a simple test
46789 case which detects a bug in gcc-4.0.
46790
8de3495c 467912005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
46792
46793 * DISTLIST: Added normal/completion.c.
46794
46795 * normal/completion.c: New file.
f19dbdb7 46796
8de3495c 46797 * term/i386/pc/console.c (grub_console_getwh): New function.
46798 (grub_console_term): Assign grub_console_getwh to getwh.
46799
46800 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
46801 function is defined in normal/completion.c as
46802 grub_normal_do_completion.
46803 (grub_cmdline_get): Use grub_normal_do_completion instead of
46804 grub_tab_complete.
46805
46806 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
46807 returns non-zero, otherwise return 0.
46808 (grub_partition_iterate): First, probe the partition map. Then,
46809 call ITERATE only for this partition map.
46810
46811 * kern/misc.c (grub_strncmp): Rewritten.
46812
46813 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
46814 returns non-zero. Otherwise return 0.
46815
46816 * include/grub/partition.h (grub_partition_map_iterate): Return
46817 int instead of void.
46818
46819 * include/grub/normal.h (grub_normal_do_completion): New prototype.
46820
46821 * include/grub/misc.h (grub_strncmp): Change the type of N to
46822 grub_size_t.
46823
46824 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
46825 of void.
46826
46827 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 46828 unsigned explicitly before comparing it with I.
8de3495c 46829
46830 * kern/main.c (grub_env_write_root): Add the attribute unused into
46831 VAR.
46832
46833 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46834 normal/completion.c.
46835 (normal_mod_SOURCES): Likewise.
46836 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46837 (normal_mod_SOURCES): Likewise.
46838
46839 * normal/command.c (grub_iterate_commands): If ITERATE returns
46840 non-zero, return one immediately.
46841
e85e144b 468422005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
46843
46844 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
46845 * kern/i386/pc/startup.S: Updated Global Descriptor table's
46846 descriptions.
46847 (grub_vbe_get_controller_info): New function.
46848 (grub_vbe_get_mode_info): Likewise.
46849 (grub_vbe_set_mode): Likewise.
46850 (grub_vbe_get_mode): Likewise.
46851 (grub_vbe_set_memory_window): Likewise.
46852 (grub_vbe_get_memory_window): Likewise.
46853 (grub_vbe_set_scanline_length): Likewise.
46854 (grub_vbe_get_scanline_length): Likewise.
46855 (grub_vbe_set_display_start): Likewise.
46856 (grub_vbe_get_display_start): Likewise.
46857 (grub_vbe_set_palette_data): Likewise.
46858 * include/grub/i386/pc/vbe.h: New file.
46859
c46153d2 468602005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46861
46862 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
46863 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
46864 * DISTLIST: Likewise.
46865 * kern/ieee1275/of.c: Moved to ...
46866 * kern/ieee1275/ieee1275.c: ... here.
46867
0cb90c45 468682005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46869
46870 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
46871 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
46872 Pass 0 as `end' parameter to grub_strtoul().
46873
a19fb360 468742005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46875
46876 * include/grub/powerpc/ieee1275/console.h: Do not include
46877 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
46878 ifdef.
46879 (grub_console_cur_color): Remove i386-specific prototype.
46880 (grub_console_real_putchar): Likewise.
46881 (grub_console_checkkey): Likewise.
46882 (grub_console_getkey): Likewise.
46883 (grub_console_getxy): Likewise.
46884 (grub_console_gotoxy): Likewise.
46885 (grub_console_cls): Likewise.
46886 (grub_console_setcursor): Likewise.
46887 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
46888 Include <grub/machine/console.h>.
46889 * term/ieee1275/ofconsole.c: Likewise.
46890
4ac9bd04 468912005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
46892
46893 * Makefile.in (LIBLZO): New variable.
46894
46895 * configure.ac: Check for LZO version 2.
46896
46897 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
46898 lzo/lzo1x.h instead of lzo1x.h.
46899
46900 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
46901 of -llzo.
46902
46903 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
46904 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
46905
46906 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
46907 copying the data from PARTITION to P.
46908
f4917dfd 469092005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46910
46911 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
46912 negative, unload the module.
46913
46914 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
46915 map is "pc_partition_map" but not "pc".
46916 (usage): Fix the description. The options are --boot-image and
46917 --core-image but not --boot-file or --core-file.
46918 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
46919 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
46920 DEFAULT_DIRECTORY.
46921
46922 * util/i386/pc/grub-install.in: Do not specify --boot-file or
46923 --core-file. Specify INSTALL_DEVICE as an argument.
46924
46925 * util/console.c: Include config.h.
46926 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
46927 [HAVE_NCURSES_H]: Include ncurses.h.
46928 [HAVE_CURSES_H]: Include curses.h.
46929 [!A_NORMAL] (A_NORMAL): Defined as zero.
46930 [!A_STANDOUT] (A_STANDOUT): Likewise.
46931
46932 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
46933 -lncurses.
46934 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
46935
46936 * configure.ac: Check for curses libraries and headers.
46937
46938 * Makefile.in (LIBCURSES): New variable.
46939
46940 * genmk.rb (Script::rule): Set the executable bits.
46941
46942 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
46943 name of the PC partition map is "pc_partition_map" but not "pc".
46944
0e143073 469452005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46946
46947 * util/i386/pc/grub-install.in (grub_probefs): New variable.
46948 (modules): Likewise.
46949 (usage): Added descriptions for --modules and --grub-probefs.
46950 Handle --modules and --grub-probefs. Save the arguments in MODULES
46951 and GRUB_PROBEFS, respectively.
46952 Auto-detect a filesystem module against GRUBDIR. If the result is
46953 empty and modules are not specified explicitly, abort the
46954 installation. Add the result to MODULES.
46955
46956 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
46957 disk/powerpc/ieee1275/ofdisk.c,
46958 include/grub/powerpc/ieee1275/init.h and
46959 term/powerpc/ieee1275/ofconsole.c.
46960 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
46961 term/ieee1275/ofconsole.c.
46962
46963 * include/grub/powerpc/ieee1275/console.h: Resurrected.
46964
46965 * COPYING: Upgraded to the latest version. Only the address of the
46966 FSF office has changed.
f19dbdb7 46967
efd6e6d5 469682005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46969
46970 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
46971 kern/ieee1275.c with kern/ieee1275/of.c.
46972
46973 * kern/ieee1275.c: Moved to ...
46974 * kern/ieee1275/of.c: ... here.
46975
8ceafda2 469762005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
46977
46978 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 46979 readability.
8ceafda2 46980
46981 * config.guess: Updated to the latest version from gnulib.
46982 * config.sub: Likewise.
46983 * install.sh: Likewise.
46984 * mkinstalldirs: Likewise.
46985
46986 * include/grub/console.h: Removed. This file is arch-specific. Do
46987 not put this in include/grub.
46988
46989 * include/grub/i386/pc/console.h: Resurrected.
46990
46991 * util/console.c: Include grub/machine/console.h instead of
46992 grub/console.h.
46993 * util/grub-emu.c: Likewise.
46994
267f6cd9 469952005-08-04 Marco Gerards <metgerards@student.han.nl>
46996
46997 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
46998 hardcoded value.
f19dbdb7 46999
267f6cd9 47000 From Vincent Pelletier <subdino2004@yahoo.fr>
47001 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
47002 Redefined to use grub_getwh.
47003 (grub_term): New member named getwh.
47004 (grub_getwh): New prototype.
47005 * kern/term.c (grub_getwh): New function.
47006 * term/i386/pc/console.c (grub_console_getwh): New function.
47007 (grub_console_term): New member `getwh'.
47008 * term/i386/pc/vga.c (grub_vga_getwh): New function.
47009 (grub_vga_term): New member `getwh'.
0b5abe02 47010 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 47011 grub_ssize_t.
47012 (grub_ofconsole_getw): New function.
47013 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
47014 (grub_ofconsole_term): New field named getwh and new initial
47015 value.
47016
3be7266d 470172005-08-03 Hollis Blanchard <hollis@penguinppc.org>
47018
47019 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
47020 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
47021 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
47022 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
47023 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
47024 of <grub/machine/ieee1275.h>.
47025 * commands/ieee1275/reboot.c: Likewise.
47026 * boot/powerpc/ieee1275/ieee1275.c: Move ...
47027 * kern/ieee1275.c: ... to here. All users updated. Change all
47028 parameter structs to use new type `grub_ieee1275_cell_t'.
47029 * term/powerpc/ieee1275/ofconsole.c: Move ...
47030 * term/ieee1275/ofconsole.c: ... to here. All users updated.
47031 * disk/powerpc/ieee1275/ofdisk.c: Move ...
47032 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
47033 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
47034 to return int.
47035 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
47036 Remove unused prototypes. All users updated.
47037 * include/grub/powerpc/ieee1275/console.h: Removed.
47038 * include/grub/powerpc/ieee1275/ieee1275.h: Define
47039 `grub_ieee1275_cell_t'.
47040 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
47041 Cast comparisons with -1 to the correct type.
47042 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
47043 type to match `grub_ieee1275_entry_fn'.
47044
8b5f3938 470452005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
47046
47047 * DISTLIST: Added util/i386/pc/grub-probefs.c.
47048
47049 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
47050 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
47051 partmap/sun.c.
47052 (grub_probefs_SOURCES): New variable.
47053
47054 * util/i386/pc/grub-probefs.c: New file.
47055
47056 * util/i386/pc/grub-setup.c (main): Call
47057 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
47058 grub_hfs_init and grub_jfs_init to initialize the system. Call
47059 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
47060 grub_pc_partition_map_fini to finish the system.
47061
ea409713 470622005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
47063
47064 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
47065 function.
47066 (grub_multiboot_load_elf32): Likewise.
47067 (grub_multiboot_is_elf64): Likewise.
47068 (grub_multiboot_load_elf64): Likewise.
47069 (grub_multiboot_load_elf): Likewise.
47070 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
47071 an ELF32 or ELF64 file.
47072 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
47073
47074 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
47075 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
47076 NULL before calling FS->LABEL.
47077 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
47078 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
47079 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
47080 before calling FS->LABEL.
47081
141a288b 470822005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
47083
47084 * util/i386/pc/grub-install.in (datadir): New variable.
47085 (libdir): Removed.
47086 (pkgdatadir): New variable.
47087 (pkglibdir): Removed.
47088
0d5f8a54 470892005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
47090
47091 * DISTLIST: Added util/i386/pc/grub-install.in.
47092
47093 * util/i386/pc/grub-install.in: New file.
47094
47095 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
47096 (grub_install_SOURCES): Likewise.
47097
47098 * genmk.rb: Added support for scripts.
47099 (Script): New class.
47100 (scripts): New variable.
47101
47102 * Makefile.in (install-local): Install sbin_SCRIPTS by
47103 INSTALL_SCRIPT.
47104 (uninstall): Remove sbin_SCRIPTS.
47105
47106 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
47107 device, try to get a GRUB device by
47108 grub_util_biosdisk_get_grub_dev.
47109 Free DEST_DEV.
47110
47111 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
47112 description for --device-map.
47113
5f968e1e 471142005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47115
47116 Change the semantics of variable hooks. They now return strings
47117 instead of error values.
f19dbdb7 47118
5f968e1e 47119 * util/i386/pc/grub-setup.c: Include grub/env.h.
47120 (setup): Use grub_device_set_root instead of grub_env_set.
47121
47122 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
47123 grub_env_get instead of grub_device_set_root and
47124 grub_device_get_root, respectively.
47125
47126 * kern/main.c (grub_env_write_root): New function.
47127 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
47128 grub_env_set instead of grub_device_set_root.
47129
47130 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
47131 many variables.
47132 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
47133 rather than calling ENV->WRITE_HOOK afterwards.
47134 (grub_env_get): Return the result of ENV->READ_HOOK rather than
47135 passing a pointer of a pointer.
47136 (grub_register_variable_hook): Change the types of "read_hook" and
47137 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
47138 respectively.
47139 Allocate the default empty string on the heap, because this string
47140 may be freed later.
47141
47142 * kern/device.c: Include grub/env.h.
47143 (grub_device_set_root): Removed.
47144 (grub_device_get_root): Likewise.
47145 (grub_device_open): Use grub_env_get instead of
47146 grub_device_get_root.
47147
47148 * include/grub/env.h (grub_env_read_hook_t): New type.
47149 (grub_env_write_hook_t): Likewise.
47150 (grub_env_var): Change the types of "read_hook" and "write_hook"
47151 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
47152 (grub_register_variable_hook): Likewise.
47153
47154 * include/grub/device.h (grub_device_set_root): Removed.
47155 (grub_device_set_root): Likewise.
47156
47157 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
47158 make sure that DIRNAME terminates with '/', so that
47159 grub_fat_find_dir will fail if PATH is not a directory.
47160
47161 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
47162 from DIRNAME.
47163 Use the qualifier auto for print_files and print_files_long.
47164 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
47165 as a regular file.
47166 Put a newline only if there is no error.
47167 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
47168 used.
47169
896f0afd 471702005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47171
47172 * kern/partition.c (grub_partition_probe): Initialize PART to
47173 NULL. Otherwise, when no partition map is registered, this returns
47174 a garbage.
47175
b28b81b2 471762005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
47177
47178 * partmap/apple.c (apple_partition_map_iterate): Check if POS
47179 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
47180 valid.
47181
5f3607e0 471822005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
47183
47184 * commands/ls.c (grub_ls_list_disks): Print the filesystem
47185 information on each device, if it does not have partitions. Print
47186 "Device" instead of "Disk", because this function is not specific
47187 to disk devices.
47188
47189 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
47190 static to ensure that it is put on the memory rather than a
47191 register.
47192
502c87e8 471932005-07-17 Yoshinori Okuji <okuji@enbug.org>
47194
47195 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
47196 (grub_cat_init): Likewise.
47197 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
47198 (options): Likewise.
47199 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
47200 (grub_configfile_init): Likewise.
47201 * font/manager.c (GRUB_MOD_INIT): Likewise.
47202 * commands/help.c (GRUB_MOD_INIT): Likewise.
47203 (grub_help_init): Likewise.
47204 * normal/command.c (grub_command_init): Likewise.
47205 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
47206 * disk/loopback.c (grub_loop_init): Likewise.
47207 (GRUB_MOD_INIT): Likewise.
47208 * commands/ls.c (grub_ls_init): Likewise.
47209 (GRUB_MOD_INIT): Likewise.
47210 (options): Likewise.
47211 * commands/boot.c (grub_boot_init): Likewise.
47212 (GRUB_MOD_INIT): Likewise.
47213 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
47214 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
47215 (GRUB_MOD_INIT): Likewise.
47216 * commands/cmp.c (grub_cmp_init): Likewise.
47217 (GRUB_MOD_INIT): Likewise.
47218
47219 * normal/arg.c: Use <> instead of "" to include header files.
47220 (SHORT_ARG_HELP): New macro.
47221 (SHORT_ARG_USAGE): Likewise.
47222 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
47223 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
47224 descriptions.
47225 (find_short): Check if C is 'h' or 'u' explicitly.
47226 (grub_arg_show_help): Use space characters instead of tabs. Treat
47227 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
47228 are shown with --help and --usage only if they are not used for
47229 the command itself.
47230 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
47231 'h' and 'u'.
47232
47233 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
47234 const into "longarg". Change the type of "shortarg" to int.
47235
f806d18e 472362005-07-17 Yoshinori Okuji <okuji@enbug.org>
47237
47238 * boot/i386/pc/boot.S (boot_drive_check): New label.
47239
47240 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
47241 macro.
47242
47243 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
47244 which do not pass a boot drive correctly. Copied from GRUB Legacy.
47245
e293232b 472462005-07-17 Yoshinori Okuji <okuji@enbug.org>
47247
47248 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
47249 When turning off Gate A20, skip the check and return immediately,
47250 because this is not fatal usually.
47251
ebedfd00 472522005-07-17 Yoshinori Okuji <okuji@enbug.org>
47253
47254 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
47255 be 0x7C00 instead of 0x8000.
47256
47257 * boot/i386/pc/pxeboot.S: Rewritten.
47258
47259 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
47260 EXT_C.
47261 (gate_a20_check_state): Read a byte from 0x108000. Invert the
47262 result.
47263
654fc59f 472642005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
47265
47266 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
47267 robustness. This routine now supports a BIOS call and System
47268 Control Port A to modify the gate A20.
47269
47270 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47271 Increased to 0x440.
47272
09f9923f 472732005-07-12 Hollis Blanchard <hollis@penguinppc.org>
47274
47275 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
47276 device path and resulting ihandle.
47277 (grub_ofdisk_close): dprintf the ihandle being closed.
47278 (grub_ofdisk_read): dprintf function parameters.
47279 * kern/mm.c (grub_mm_init_region): Likewise.
47280 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
47281 (grub_linux_boot): dprintf the Linux entry point, initrd address and
47282 size, and boot arguments.
47283 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
47284 before loading into memory.
47285 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
47286 before loading into memory.
47287
7ef504d8 472882005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
47289
47290 * kern/mm.c: Added much documentation.
47291 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
47292 8, set to 5 instead of 8.
47293
e0f050c2 472942005-07-10 Yoshinori Okuji <okuji@enbug.org>
47295
47296 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
47297
47298 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
47299 (grub_mkdevicemap_SOURCES): New variable.
47300
47301 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
47302 lib/device.c of GRUB Legacy.
47303
7224189a 473042005-07-10 Yoshinori Okuji <okuji@enbug.org>
47305
47306 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
47307 instead of PATH is NULL.
47308
68c864eb 473092005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
47310
47311 * commands/cmp.c (BUFFER_SIZE): New macro.
47312 (grub_cmd_cmp): Close the right file at the right time. Compare
47313 only data just read. Don't report files of different size as
47314 identical. Dynamically allocate buffers. Move variable
47315 declarations at the beginning of function.
47316
e6f3e614 473172005-07-09 Yoshinori Okuji <okuji@enbug.org>
47318
47319 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
47320 reverse.
47321
f8f1559a 473222004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
47323
47324 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
47325 when backspace is pressed at beginning of line.
47326
39c9d41d 473272005-07-03 Yoshinori Okuji <okuji@enbug.org>
47328
47329 * DISTLIST: Added genfslist.sh.
47330
47331 * normal/main.c (fs_module_list): New variable.
47332 (autoload_fs_module): New function.
47333 (read_fs_list): Likewise.
47334 (grub_normal_execute): Call read_fs_list.
47335
47336 * kern/fs.c (grub_fs_autoload_hook): New variable.
47337 (grub_fs_probe): Added support for auto-loading.
47338
47339 * include/grub/normal.h (struct grub_fs_module_list): New struct.
47340 (grub_fs_module_list_t): New type.
47341
47342 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
47343 (grub_fs_autoload_hook): New prototype.
47344
47345 * genfslist.sh: New file.
f19dbdb7 47346
39c9d41d 47347 * genmk.rb: Added a rule to generate a filesystem list.
47348
121c1d83 473492005-06-30 Marco Gerards <metgerards@student.han.nl>
47350
47351 * configure.ac: Fix the test for cross-compiling.
47352
47353 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
47354 define GRUB_UTIL anymore.
47355
47356 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
47357 so this function works on other systems than just big endian.
47358 (load_modules): Likewise.
47359 (add_segments): Likewise.
47360
e75d76e1 473612005-06-23 Hollis Blanchard <hollis@penguinppc.org>
47362
47363 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
47364 contains `l' modifier, get a long from va_arg().
47365
50b5a0a7 473662005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
47367
47368 * kern/mm.c (grub_free): If the next free block which is being
47369 merged is the first free block, set the first block to the block
47370 being freed.
47371 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
47372
89371b20 473732005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47374
47375 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
47376 `grub_ieee1275_chosen'.
47377
168d6e58 473782005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47379
47380 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
47381 (grub_ieee1275_chosen): New variable.
47382 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
47383 `chosen'.
47384 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
47385 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47386 Rename first argument to `phandle' for consistency.
47387 (grub_ieee1275_get_property_length): Likewise.
47388 (grub_ieee1275_next_property): Likewise. Change type of first argument
47389 to grub_ieee1275_phandle_t.
47390 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
47391 Move export next to declaration.
47392 (grub_ieee1275_chosen): New variable.
47393 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
47394 Correct cosmetic typo.
47395 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
47396 `grub_ieee1275_chosen'.
47397 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
47398 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
47399 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
47400 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
47401 `grub_ieee1275_chosen'.
47402
ca5baa3f 474032005-05-10 Hollis Blanchard <hollis@penguinppc.org>
47404
47405 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
47406 /chosen/bootargs.
47407 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
47408 /chosen/bootargs as "variable=value" pairs.
47409
708b345f 474102005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
47411
47412 * include/grub/misc.h (grub_dprintf): New macro.
47413 (grub_real_dprintf): New prototype.
47414 (grub_strword): Likewise.
47415 (grub_iswordseparator): Likewise.
47416 * kern/misc.c (grub_real_dprintf): New function.
47417 (grub_strword): Likewise.
47418 (grub_iswordseparator): Likewise.
47419
f4c5e67c 474202005-04-30 Hollis Blanchard <hollis@penguinppc.org>
47421
47422 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
47423 (roundup): Remove macro.
47424 (grub_ieee1275_flags): Make static.
47425 (grub_ieee1275_realmode): Remove.
47426 (grub_ieee1275_test_flag): New function.
47427 (grub_ieee1275_set_flag): Likewise.
47428 (find_options): Rename to `grub_ieee1275_find_options'; update
47429 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
47430 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
47431 (cmain): New prototype.
47432 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
47433 `grub_ieee1275_flags' directly.
47434 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
47435 machine/biosdisk.h.
47436 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
47437 Don't include grub/machine/init.h.
47438 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
47439 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47440 Remove prototype.
47441 (grub_ieee1275_realmode): Likewise.
47442 (grub_ieee1275_flag): New enum.
47443 (grub_ieee1275_test_flag): New prototype.
47444 (grub_ieee1275_set_flag): New prototype.
47445 * include/grub/powerpc/ieee1275/init.h: Remove file.
47446 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
47447 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
47448 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
47449 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
47450 comment.
47451 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
47452 `grub_ieee1275_test_flag'.
47453 (grub_ieee1275_encode_devname): Likewise.
47454
ed16607e 474552005-04-21 Hollis Blanchard <hollis@penguinppc.org>
47456
47457 * include/grub/powerpc/ieee1275/ieee1275.h
47458 (grub_ieee1275_encode_devname): New prototype.
47459 (grub_ieee1275_get_filename): Likewise.
47460 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
47461 function.
47462 (grub_set_prefix): Likewise.
47463 (grub_machine_init): Call grub_set_prefix.
47464 * kern/powerpc/ieee1275/openfw.c: Fix typos.
47465 (grub_parse_type): New enum.
47466 (grub_ieee1275_get_devargs): New function.
47467 (grub_ieee1275_get_devname): Likewise.
47468 (grub_ieee1275_parse_args): Likewise.
47469 (grub_ieee1275_get_filename): Likewise.
47470 (grub_ieee1275_encode_devname): Likewise.
47471
be369920 474722005-03-30 Marco Gerards <metgerards@student.han.nl>
47473
47474 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
47475 `grub_loader_unset'.
47476
a5ce3a4a 474772005-03-26 Hollis Blanchard <hollis@penguinppc.org>
47478
47479 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
47480 instead of grub_ieee1275_interpret.
47481 (grub_halt_init): New function.
47482 (grub_halt_fini): Likewise.
47483 (GRUB_MOD_INIT): Correct message grammar.
47484 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
47485 instead of grub_ieee1275_interpret.
47486 (grub_reboot_init): New function.
47487 (grub_reboot_fini): Likewise.
47488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
47489 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
47490 util/i386/pc/misc.c with commands/ieee1275/halt.c,
47491 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
47492 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
47493 function.
47494 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
47495 Add prototype.
47496 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
47497 prototype.
47498 (grub_halt): Likewise.
47499 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
47500 (cmain): Remove __attribute__((unused)).
47501 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
47502 (grub_heap_len): Likewise.
47503 (grub_machine_fini): New function.
47504 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
47505 (grub_halt): Likewise.
47506 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
47507 function.
47508 * util/powerpc/ieee1275/misc.c: New file.
47509
0058f771 475102005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47511
47512 * DISTLIST: New file.
47513 * gendistlist.sh: Likewise.
f19dbdb7 47514
0058f771 47515 * Makefile.in (COMMON_DISTFILES): Removed.
47516 (BOOT_DISTFILES): Likewise.
47517 (CONF_DISTFILES): Likewise.
47518 (DISK_DISTFILES): Likewise.
47519 (FS_DISTFILES): Likewise.
47520 (INCLUDE_DISTFILES): Likewise.
47521 (KERN_DISTFILES): Likewise.
47522 (LOADER_DISTFILES): Likewise.
47523 (TERM_DISTFILES): Likewise.
47524 (UTIL_DISTFILES): Likewise.
47525 (DISTFILES): Likewise.
47526 (uninstall): Uninstall files in $(pkgdata_DATA).
47527 (DISTLIST): New target.
47528 (distdir): Use the contents of the file DISTLIST to get a list of
47529 distributed files.
47530
46b3b8a5 475312005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47532
47533 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
47534 descriptor. This is ported from GRUB Legacy.
47535
47536 * gencmdlist.sh: Added an extra semicolon to make it work with
47537 old sed versions. Reported by Robert Bihlmeyer
47538 <robbe@orcus.priv.at>.
47539
5822ff87 475402005-03-08 Yoshinori Okuji <okuji@enbug.org>
47541
47542 Automatic loading of commands is supported.
f19dbdb7 47543
5822ff87 47544 * normal/main.c (read_command_list): New function.
47545 (grub_normal_execute): Call read_command_list.
47546
47547 * normal/command.c (grub_register_command): Return zero or CMD.
47548 Allocate CMD->NAME from the heap.
47549 Initialize CMD->MODULE_NAME to zero.
47550 Find the same name as well. If the same command is found and it is
47551 a dummy command, overwrite members. If it is not a dummy command,
47552 return zero.
47553 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
47554 (grub_command_find): If a dummy command is found, load a module
47555 and retry to find a command only once.
47556
47557 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
47558 make sure that each command is loaded.
47559
47560 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
47561 macro.
47562 (struct grub_command): Remove const from the member `name'.
47563 Add a new member `module_name'.
47564 (grub_register_command): Return grub_command_t.
47565
47566 * commands/help.c (grub_cmd_help): Call grub_command_find to make
47567 sure that each command is loaded.
47568
47569 * genmk.rb (PModule::rule): Specify a module name without the
47570 suffix ".mod" to gencmdlist.sh.
47571
7b1f4b57 475722005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47573
47574 * gencmdlist.sh: New file.
f19dbdb7 47575
7b1f4b57 47576 * genmk.rb (PModule::rule): Generate a rule for a command list.
47577 Clean command.lst.
47578 Generate command.lst from $(COMMANDFILES).
47579
47580 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
47581 (DATA): Added $(pkgdata_DATA).
47582 (install-local): Install files in $(pkgdata_DATA).
47583
062aaf39 475842005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47585
47586 * term/i386/pc/vga.c (debug_command): Removed.
47587 (GRUB_MOD_INIT): Do not register the command "debug".
47588
47589 From Hollis Blanchard:
47590 * commands/configfile.c: New file.
47591 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47592 commands/configfile.c.
47593 (pkgdata_MODULES): Added configfile.mod.
47594 (configfile_mod_SOURCES): New variable.
47595 (configfile_mod_CFLAGS): Likewise.
47596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47597 commands/configfile.c.
47598 (pkgdata_MODULES): Added configfile.mod.
47599 (configfile_mod_SOURCES): New variable.
47600 (configfile_mod_CFLAGS): Likewise.
47601 * util/grub-emu.c (main): Call grub_configfile_init and
47602 grub_configfile_fini.
47603 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
47604 prototype.
47605 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 47606
cee01aa6 476072005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47608
47609 * normal/arg.c (grub_arg_show_help): Do not show the bug report
47610 address.
47611
47612 * commands/help.c (grub_cmd_help): Do not print newlines after
47613 the last command in print_command_help.
47614
93f3a1d8 476152005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47616
47617 * commands/default.h: New file.
47618 * commands/timeout.h: Likewise.
47619 * normal/context.c: Likewise.
f19dbdb7 47620
93f3a1d8 47621 * util/misc.c: Do not include sys/times.h.
47622 Include sys/time.h and grub/machine/time.h.
47623 (grub_get_rtc): Rewritten with gettimeofday.
47624
47625 * util/grub-emu.c (main): Call grub_default_init and
47626 grub_timeout_init before grub_normal_init, and call
47627 grub_timeout_fini and grub_default_fini after grub_main.
47628
47629 * util/console.c (grub_ncurses_checkkey): Return the read
47630 character or -1.
47631
47632 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
47633 timeouts.
47634
47635 * normal/main.c (read_config_file): Push MENU. If this fails,
47636 print an error and wait for a user input.
47637 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
47638 If a menu is empty or an error occurs, pop MENU.
47639 (grub_normal_execute): Pop and free MENU after grub_menu_run
47640 returns.
47641
47642 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
47643
47644 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
47645 include time.h.
47646 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47647 without GRUB_UTIL.
47648 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
47649 time.h.
47650 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47651 without GRUB_UTIL.
47652
47653 * include/grub/normal.h (struct grub_menu_list): New struct.
47654 (grub_menu_list_t): New type.
47655 (struct grub_context): New struct.
47656 (grub_context_t): New type.
47657 (grub_register_command): Got rid of EXPORT_FUNC.
47658 (grub_unregister_command): Likewise.
47659 (grub_context_get): New prototype.
47660 (grub_context_get_current_menu): Likewise.
47661 (grub_context_push_menu): Likewise.
47662 (grub_context_pop_menu): Likewise.
47663 [GRUB_UTIL] (grub_default_init): Likewise.
47664 [GRUB_UTIL] (grub_default_fini): Likewise.
47665 [GRUB_UTIL] (grub_timeout_init): Likewise.
47666 [GRUB_UTIL] (grub_timeout_fini): Likewise.
47667
47668 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
47669 commands/timeout.c and normal/context.c.
47670 (pkgdata_MODULES): Added default.mod and timeout.mod.
47671 (normal_mod_SOURCES): Added normal/context.c.
47672 (default_mod_SOURCES): New variable.
47673 (default_mod_CFLAGS): Likewise.
47674 (timeout_mod_SOURCES): Likewise.
47675 (timeout_mod_CFLAGS): Likewise.
47676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
47677 conf/i386-pc.rmk.
47678 (pkgdata_MODULES): Added default.mod and timeout.mod.
47679 (normal_mod_SOURCES): Added normal/context.c.
47680 (default_mod_SOURCES): New variable.
47681 (default_mod_CFLAGS): Likewise.
47682 (timeout_mod_SOURCES): Likewise.
47683 (timeout_mod_CFLAGS): Likewise.
47684
47685 * Makefile.in (all-local): Added $(MKFILES).
47686
4ed2e1dd 476872005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
47688
47689 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
47690 (grub_emu_SOURCES): Likewise.
47691 (pkgdata_MODULES): Add `sun.mod'.
47692 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
47693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47694 `partmap/sun.c'.
47695 (pkgdata_MODULES): Add `sun.mod'.
47696 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
47697 * include/grub/partition.h (grub_sun_partition_map_init): New
47698 prototype.
47699 (grub_sun_partition_map_fini): Likewise.
47700 * partmap/sun.c: New file.
47701 * util/grub-emu.c (main): Initialize and de-initialize the sun
47702 partitionmap support.
47703
4d4e372e 477042005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
47705
47706 This implements an Emacs-like menu entry editor.
f19dbdb7 47707
4d4e372e 47708 * normal/menu_entry.c: New file.
f19dbdb7 47709
4d4e372e 47710 * util/console.c (grub_ncurses_putchar): Translate some Unicode
47711 characters to ASCII.
47712 (saved_char): New variable.
47713 (grub_ncurses_checkkey): Rewritten completely.
47714 (grub_ncurses_getkey): Likewise.
47715 (grub_ncurses_init): Call raw instead of cbreak.
47716
47717 * normal/menu.c (print_entry): Do not put a space.
47718 (init_page): Renamed to ...
47719 (grub_menu_init_page): ... this. All callers changed.
47720 (edit_menu_entry): Removed.
47721 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
47722
47723 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
47724
47725 * kern/misc.c (grub_vprintf): Call grub_refresh.
47726
47727 * normal/menu.c (DISP_LEFT): Renamed to ...
47728 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
47729 * normal/menu.c (DISP_UP): Renamed to ...
47730 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
47731 * normal/menu.c (DISP_RIGHT): Renamed to ...
47732 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
47733 * normal/menu.c (DISP_DOWN): Renamed to ...
47734 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
47735 * normal/menu.c (DISP_HLINE): Renamed to ...
47736 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
47737 * normal/menu.c (DISP_VLINE): Renamed to ...
47738 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
47739 * normal/menu.c (DISP_UL): Renamed to ...
47740 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
47741 * normal/menu.c (DISP_UR): Renamed to ...
47742 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
47743 * normal/menu.c (DISP_LL): Renamed to ...
47744 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
47745 * normal/menu.c (DISP_LR): Renamed to ...
47746 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
47747 * normal/menu.c (TERM_WIDTH): Renamed to ...
47748 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
47749 * normal/menu.c (TERM_HEIGHT): Renamed to ...
47750 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
47751 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
47752 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
47753 * normal/menu.c (TERM_MARGIN): Renamed to ...
47754 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
47755 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
47756 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
47757 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
47758 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
47759 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
47760 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
47761 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
47762 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
47763 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
47764 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
47765 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
47766 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
47767 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
47768 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
47769 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
47770 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
47771 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
47772 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
47773 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
47774 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
47775 All callers changed.
47776
47777 * include/grub/normal.h: New prototype.
47778
47779 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47780 normal/menu_entry.c.
47781 (normal_mod_SOURCES): Likewise.
47782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47783 (normal_mod_SOURCES): Likewise.
47784
e6b92c8a 477852005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
47786
47787 * include/grub/normal.h (grub_halt_init): New prototype.
47788 (grub_halt_fini): Likewise.
47789 (grub_reboot_init): Likewise.
47790 (grub_reboot_fini): Likewise.
47791
47792 * util/grub-emu.c: Include signal.h.
47793 (main_env): New global variable.
47794 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
47795 catch C-c.
47796 (grub_machine_fini): New function.
47797 (main): Call grub_halt_init and grub_reboot_init before
47798 grub_main, and grub_reboot_fini and grub_halt_fini after it.
47799 Call setjmp with MAIN_ENV to go back afterwards.
47800 Call grub_machine_fini right before return.
47801
47802 * include/grub/util/misc.h: Include setjmp.h.
47803 (main_env): New prototype.
47804
47805 * include/grub/kernel.h (grub_machine_fini): New prototype.
47806 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
47807 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
47808
47809 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
47810 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
47811 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 47812
e6b92c8a 47813 * util/i386/pc/misc.c: New file.
f19dbdb7 47814
e6b92c8a 47815 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47816 util/i386/pc/misc.c, commands/i386/pc/halt.c and
47817 commands/i386/pc/reboot.c.
47818
c642636f 478192005-02-14 Guillem Jover <guillem@hadrons.org>
47820
47821 * include/grub/dl.h (grub_dl_check_header): New prototype.
47822 (grub_arch_dl_check_header): Change return type to grub_err_t,
47823 remove size parameter and export function. Update all callers.
47824 * kern/dl.c (grub_dl_check_header): New function.
47825 (grub_dl_load_core): Use `grub_dl_check_header' instead of
47826 `grub_arch_dl_check_header'. Check ELF type. Check if sections
47827 are inside the core.
47828 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
47829 independent ELF header checks.
47830 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
47831 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
47832 `grub_dl_check_header' instead of explicit checks. Check for the
47833 ELF type.
47834 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
47835 `grub_dl_check_header' instead of explicit checks. Remove arch
47836 specific ELF header checks.
47837
e6b92c8a 47838 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
47839 argument SIZE.
47840
5eabe94b 478412005-02-13 Hollis Blanchard <hollis@penguinppc.org>
47842
47843 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
47844 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
47845
1b14a681 478462005-02-12 Hollis Blanchard <hollis@penguinppc.org>
47847
47848 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 47849 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 47850 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 47851 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 47852 * partmap/amiga.c (amiga_partition_map_iterate): Return
47853 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
47854 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47855
aca108aa 478562005-02-01 Guillem Jover <guillem@hadrons.org>
47857
47858 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
47859 help info.
47860
c9f9c556 478612005-01-31 Marco Gerards <metgerards@student.han.nl>
47862
47863 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
47864 Removed prototype.
47865 (grub_rescue_cmd_linux): New prototype.
47866 (grub_rescue_cmd_initrd): Likewise.
47867 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
47868 `bi_rec'.
47869 (grub_linux_release_mem): Release the memory for the initrd.
47870 (grub_load_linux): Renamed from this...
47871 (grub_rescue_cmd_linux): ...To this. Changed all callers.
47872 Changed `entry' not to be static. Loop over memory regions to
47873 find another one when the default fails.
47874 (grub_rescue_cmd_initrd): New function.
47875 (grub_linux_init): Remove function.
47876 (grub_linux_fini): Likewise.
47877 (GRUB_MOD_INIT): Register `initrd'.
47878 (GRUB_MOD_FINI): Unregister `initrd'.
47879 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
47880 Function removed.
47881 (grub_linux_normal_fini): Likewise.
47882 (GRUB_MOD_INIT): Register `initrd'.
47883 (GRUB_MOD_FINI): Unregister `initrd'.
47884
990cf3aa 478852005-01-31 Marco Gerards <metgerards@student.han.nl>
47886
47887 * commands/help.c: New file.
47888 * normal/arg.c (show_help): Renamed to...
47889 (grub_arg_show_help): ... this.
47890 * commands/i386/pc/halt.c: New file.
47891 * commands/i386/pc/reboot.c: Likewise.
47892 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
47893 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
47894 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
47895 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
47896 variables.
47897 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47898 `commands/help.c'.
47899 (pkgdata_MODULES): Add `help.mod'.
47900 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
47901 * grub/i386/pc/init.h (grub_reboot): New prototype.
47902 (grub_halt): Likewise.
47903 * include/grub/normal.h (grub_arg_show_help): New prototype.
47904 (grub_help_init): Likewise.
47905 (grub_help_fini): Likewise.
47906 * util/grub-emu.c (main): Initialize and deinitialize the help
47907 command.
47908
47909 * normal/cmdline.c (grub_cmdline_get): Doc fix.
47910
47911 * normal/command.c (grub_command_init): Fixed the description of
47912 the `set' and `unset' commands.
47913
479142005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 47915
47916 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
47917 function.
47918 * commands/ieee1275/halt.c: New file.
47919 * commands/ieee1275/reboot.c: Likewise.
47920 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
47921 `__attribute__ ((unused))'. Some GCS related fixed.
47922 (grub_suspend_init) [GRUB_UTIL]: Function removed.
47923 (grub_suspend_fini): Likewise.
47924 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
47925 and `halt.mod'.
47926 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
47927 (halt_mod_CFLAGS): New variables.
47928 * include/grub/powerpc/ieee1275/ieee1275.h
47929 (grub_ieee1275_interpret): New prototype.
47930
1ab09cc7 479312005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
47932
47933 * include/grub/misc.h (memmove): New prototype.
47934 (memcpy): Likewise.
47935
8b8cbdb2 479362005-01-22 Hollis Blanchard <hollis@penguinppc.org>
47937
47938 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
47939 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
47940
e3741a27 479412005-01-22 Marco Gerards <metgerards@student.han.nl>
47942
47943 * kern/misc.c (grub_strndup): Function rewritten.
47944
776bd780 479452005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
47946
47947 * normal/menu.c (TERM_WIDTH): Macro redefined.
47948 (TERM_TOP_BORDER_Y): Likewise.
47949 (draw_border): Replaced while-loop by a for-loop. Make the number
47950 of lines consistent with the number of lines displayed in
47951 print_entries. Added a margin below the rectangle.
47952 (print_entry): Make the entry fit in the rectangle.
47953 (print_entries): Display the scroll arrows next to the right
47954 border.
47955
78026bce 479562005-01-21 Marco Gerards <metgerards@student.han.nl>
47957
47958 * fs/minix.c (grub_minix_find_file): Reserve more space for
47959 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
47960 `grub_strncpy' to copy `path' into it.
47961
67bbaf0f 479622005-01-21 Marco Gerards <metgerards@student.han.nl>
47963
47964 Add the loopback device, a device via which files can be accessed
47965 as devices.
f19dbdb7 47966
67bbaf0f 47967 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
47968 (pkgdata_MODULES): Add loopback.mod.
47969 (loopback_mod_SOURCES): New variable.
47970 (loopback_mod_CFLAGS): Likewise.
47971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47972 `disk/loopback.c'.
47973 (pkgdata_MODULES): Add loopback.mod.
47974 (loopback_mod_SOURCES): New variable.
47975 (loopback_mod_CFLAGS): Likewise.
47976 * disk/loopback.c: new file.
47977 * include/grub/normal.h (grub_loop_init): New prototype.
47978 (grub_loop_fini): New prototype.
47979 * util/grub-emu.c (main): Initialize and de-initialize loopback
47980 support.
47981 * include/grub/disk.h (grub_disk_dev_id): Add
47982 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
47983
6f1c18bd 479842005-01-20 Hollis Blanchard <hollis@penguinppc.org>
47985
47986 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
47987 function.
47988 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
47989 (suspend_mod_SOURCES): New variable.
47990 (suspend_mod_CFLAGS): Likewise.
47991 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
47992 New prototype.
47993 * commands/ieee1275/suspend.c: New file.
47994
b38551da 479952005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47996
47997 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 47998 ((unused))' to `__attribute__ ((used))'.
b38551da 47999 (GRUB_MOD_FINI): Likewise.
48000 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
48001 * genmk.rb (PModule): Assign space to common symbols when linking
48002 modules.
48003
777aff39 480042005-01-20 Marco Gerards <metgerards@student.han.nl>
48005
48006 * include/grub/mm.h (grub_mm_init_region): Change the type of the
48007 `unsigned' arguments to `grub_size_t'.
48008 (grub_malloc): Likewise.
48009 (grub_realloc): Likewise.
48010 (grub_memalign): Likewise.
48011 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
48012 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48013 * util/misc.c (grub_malloc): Likewise.
48014 (grub_realloc): Likewise.
48015 * kern/mm.c (get_header_from_pointer): Change the casts to
48016 `unsigned' into a cast to `grub_size_t'.
48017
48018 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
48019 point to `currnode' when `currnode' is changed.
48020
48021 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
48022 Schottelius <nico-linux@schottelius.org>.
48023
d0ff18e1 480242005-01-09 Hollis Blanchard <hollis@penguinppc.org>
48025
48026 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
48027 (note_path): Remove variable.
48028 (GRUB_IEEE1275_NOTE_NAME): New macro.
48029 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
48030 (grub_ieee1275_note_hdr): New structure.
48031 (grub_ieee1275_note_desc): Likewise.
48032 (grub_ieee1275_note): Likewise.
48033 (load_note): Remove `dir' argument. All callers updated. Remove
48034 `note_img' and `path'. Do not load a file from `note_path'.
48035 Initialize a struct grub_ieee1275_note and write that to `out'.
48036 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
48037
4ca7004c 480382005-01-05 Marco Gerards <metgerards@student.han.nl>
48039
48040 * util/misc.c (grub_util_read_image): Revert last change. It
48041 called `grub_util_read_at', which seeks from the beginning of the
48042 file.
48043
0b412211 480442005-01-04 Hollis Blanchard <hollis@penguinppc.org>
48045
48046 * TODO: Add note about endianness in grub-mkimage.
48047 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
48048 section.
48049 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
48050 (grub_mkimage_SOURCES): New target.
48051 * include/grub/kernel.h (grub_start_addr): Remove variable.
48052 (grub_end_addr): Likewise.
48053 (grub_total_module_size): Likewise.
48054 (grub_kernel_image_size): Likewise.
48055 (GRUB_MODULE_MAGIC): New constant.
48056 (grub_module_info): New structure.
48057 (grub_arch_modules_addr): New prototype.
48058 (grub_get_end_addr): Remove prototype.
48059 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
48060 * include/grub/powerpc/ieee1275/kernel.h: New file.
48061 * include/grub/util/misc.h (grub_util_get_fp_size): New
48062 prototype.
48063 (grub_util_read_at): Likewise.
48064 (grub_util_write_image_at): Likewise.
48065 * kern/main.c (grub_get_end_addr): Remove function.
48066 (grub_load_modules): Call grub_arch_modules_addr instead of using
48067 grub_end_addr. Look for a grub_module_info struct in memory. Use
48068 the grub_module_info fields instead of calling grub_get_end_addr
48069 as loop conditions. Move grub_add_unused_region code here.
48070 (grub_add_unused_region): Remove function.
48071 * kern/i386/pc/init.c: Include grub/cache.h.
48072 (grub_machine_init): Remove call to grub_get_end_addr. Remove
48073 one call to add_mem_region.
48074 (grub_arch_modules_addr): New function.
48075 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
48076 (grub_total_module_size): Likewise.
48077 Include grub/machine/kernel.h.
48078 (grub_arch_modules_addr): New function.
48079 * util/grub-emu.c (grub_end_addr): Remove variable.
48080 (grub_total_module_size): Likewise.
48081 (grub_arch_modules_addr): New function.
48082 * util/misc.c: Include unistd.h.
48083 (grub_util_get_fp_size): New function.
48084 (grub_util_read_at): Likewise.
48085 (grub_util_write_image_at): Likewise.
48086 (grub_util_read_image): Call grub_util_read_at.
48087 (grub_util_write_image): Call grub_util_write_image_at.
48088 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
48089 additional memory in kernel_img for a struct grub_module_info.
48090 Fill in that grub_module_info.
48091 * util/powerpc/ieee1275/grub-mkimage.c: New file.
48092
458786f8 480932005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48094
48095 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
48096 New function.
48097 * include/grub/powerpc/ieee1275/ieee1275.h
48098 (grub_ieee1275_milliseconds): New prototype.
48099 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
48100 Change to 1000.
48101 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
48102 grub_ieee1275_milliseconds.
48103
ac507d1b 481042005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48105
48106 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
48107 variable.
48108 (find_options): New function.
48109 (cmain): Call find_options.
48110 * include/grub/powerpc/ieee1275/ieee1275.h
48111 (grub_ieee1275_realmode): New extern variable.
48112 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
48113 grub_map if grub_ieee1275_realmode is false.
48114
6b8fd1c4 481152004-12-29 Marco Gerards <metgerards@student.han.nl>
48116
48117 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
48118 lines are inserted and make it work like readline. Reported by
48119 Vincent Pelletier <subdino2004@yahoo.fr>.
48120
8514a1e0 481212004-12-28 Marco Gerards <metgerards@student.han.nl>
48122
48123 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
48124
48125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
48126 `kern/powerpc/cache.S'.
48127
924b6140 481282004-12-27 Marco Gerards <metgerards@student.han.nl>
48129
48130 * genmk.rb: Handle the `Program' class in the main loop. Written
48131 by Johan Rydberg <jrydberg@gnu.org>.
48132 (Program): New class.
48133 (programs): New variable.
48134 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
48135 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
48136 instead of "grub/kernel.h". Include <grub/machine/init.h>.
48137 (help_arch): Function removed.
48138 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
48139 `powerpc/libgcc.h' and `loader.h'.
48140 (pkgdata_PROGRAMS): New variable.
48141 (sbin_UTILITIES): Variable removed.
48142 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
48143 (grubof_SOURCES): Variable re-defined so it only includes the
48144 core functionality.
48145 (grubof_CFLAGS): Remove `-DGRUBOF'.
48146 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
48147 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
48148 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
48149 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
48150 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
48151 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
48152 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
48153 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
48154 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
48155 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
48156 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48157 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
48158 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
48159 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
48160 (pc_mod_CFLAGS): New variables.
48161 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
48162 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
48163 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
48164 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
48165 Moved from here...
48166 * include/grub/i386/pc/init.h (grub_os_area_addr)
48167 (rub_os_area_size): ... to here.
48168 * include/grub/powerpc/ieee1275/ieee1275.h
48169 (grub_ieee1275_entry_fn): Export symbol.
48170 * include/grub/powerpc/ieee1275/init.h: New file.
48171 * include/grub/powerpc/libgcc.h: Likewise.
48172 * include/grub/cache.h: Likewise.
48173 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
48174 <hollis@penguinppc.org>.
48175 * kern/dl.c: Include <grub/cache.h>.
48176 (grub_dl_flush_cache): New function.
48177 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
48178 for this module.
48179 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
48180 (grub_console_init): Removed prototypes.
48181 (grub_machine_init): Don't initialize the modules anymore.
48182 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
48183 static.
48184 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
48185 Macro undef removed.
48186 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
48187 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
48188 relocation `R_PPC_REL32'. Return an error when the relocation is
48189 unknown.
48190 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
48191 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
48192 * util/misc.c (grub_arch_sync_caches): Likewise.
48193
e4b47e0c 481942004-12-19 Marco Gerards <metgerards@student.han.nl>
48195
48196 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
48197 `symlist.c', add `grubof_symlist.c'.
48198 (symlist.c): Variable removed.
48199 (grubof_HEADERS): Variable added.
48200 (grubof_symlist.c): New target.
48201 (kernel_syms.lst): Use `grubof_HEADERS' instead of
48202 `kernel_img_HEADERS'.
48203 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
48204 * kern/powerpc/dl.c: New file.
48205 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
48206 Function removed.
48207 (grub_arch_dl_relocate_symbols): Likewise.
48208 (grub_register_exported_symbols): Likewise.
48209
4ceb3636 482102004-12-13 Marco Gerards <metgerards@student.han.nl>
48211
48212 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
48213 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
48214 to fail instead. Reported by Vincent Pelletier
48215 <subdino2004@yahoo.fr>.
48216
48217 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
48218 it is not allocated. Reported by Vincent Pelletier
48219 <subdino2004@yahoo.fr>.
48220
48221 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
48222 output so the output looks better.
f19dbdb7 48223
3f1578fe 482242004-12-04 Marco Gerards <metgerards@student.han.nl>
48225
48226 Modulize the partition map support and add support for the amiga
48227 partition map.
f19dbdb7 48228
3f1578fe 48229 * commands/ls.c: Include <grub/partition.h> instead of
48230 <grub/machine/partition.h>.
48231 * kern/disk.c: Likewise.
48232 * kern/rescue.c: Likewise.
48233 * loader/i386/pc/chainloader.c: Likewise.
48234 * normal/cmdline.c: Likewise.
48235 * kern/powerpc/ieee1275/init.c: Likewise.
48236 (grub_machine_init): Call `grub_pc_partition_map_init',
48237 `grub_amiga_partition_map_init' and
48238 `grub_apple_partition_map_init'.
48239 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
48240 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
48241 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
48242 `partition.h' and `pc_partition.h'.
48243 (grub_setup_SOURCES): Remove
48244 `disk/i386/pc/partition.c'. Add `kern/partition.c',
48245 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48246 (grub_emu_SOURCES): Likewise.
48247 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
48248 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
48249 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
48250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48251 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
48252 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48253 (grubof_SOURCES): Likewise.
48254 * disk/i386/pc/partition.c: File removed.
48255 * disk/powerpc/ieee1275/partition.c: Likewise.
48256 * include/grub/powerpc/ieee1275/partition.h: Likewise.
48257 * include/grub/i386/pc/partition.h: Likewise.
48258 * kern/partition.c: New file.
48259 * partmap/amiga.c: Likewise.
48260 * partmap/apple.c: Likewise.
48261 * partmap/pc.c: Likewise.
48262 * include/grub/partition.h: Likewise..
48263 * include/grub/pc_partition.h: Likewise.
48264 * util/grub-emu.c: Include <grub/partition.h> instead of
48265 <grub/machine/partition.h>.
48266 (main): Call `grub_pc_partition_map_init',
48267 `grub_amiga_partition_map_init' and
48268 `grub_apple_partition_map_init' and deinitialize afterwards.
48269 * util/i386/pc/biosdisk.c: Include `#include
48270 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48271 `<grub/machine/partition.h>'.
48272 * util/i386/pc/grub-setup.c: Likewise.
48273 * util/i386/pc/biosdisk.c: Likewise.
48274 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
48275 partition information in case of a PC partition.
48276 * util/i386/pc/grub-setup.c: Include `#include
48277 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48278 `<grub/machine/partition.h>'.
48279 (setup): Only access the PC specific partition information in case
48280 of a PC partition.
48281
0ef4ced9 482822004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 48283
0ef4ced9 48284 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
48285 (grub_longjmp): Likewise.
48286 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
48287 20.
48288 * normal/powerpc/setjmp.S: New file.
48289 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48290 `normal/powerpc/setjmp.S'.
48291 (grubof_CFLAGS): Add `-DGRUBOF'.
48292 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
48293 [GRUB_UTIL && !GRUBOF].
f19dbdb7 48294
19950e29 482952004-11-16 Marco Gerards <metgerards@student.han.nl>
48296
48297 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
48298 property named `name'. Correctly handle the error returned by
48299 `grub_ieee1275_finddevice' if a device can not be opened.
48300
a2fea427 483012004-11-02 Hollis Blanchard <hollis@penguinppc.org>
48302
48303 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
48304 `actual' for negativity.
48305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48306 kern/fshelp.c.
48307
41ea0ea3 483082004-11-01 Marco Gerards <metgerards@student.han.nl>
48309
48310 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
48311 (PAGE_OFFSET): New macro.
48312 (CRTC_ADDR_PORT): Likewise.
48313 (CRTC_DATA_PORT): Likewise.
48314 (START_ADDR_HIGH_REGISTER): Likewise.
48315 (START_ADDR_LOW_REGISTER): Likewise.
48316 (GRAPHICS_ADDR_PORT): Likewise.
48317 (GRAPHICS_DATA_PORT): Likewise.
48318 (READ_MAP_REGISTER): Likewise.
48319 (INPUT_STATUS1_REGISTER): Likewise.
48320 (INPUT_STATUS1_VERTR_BIT): Likewise.
48321 (page): New variable.
48322 (wait_vretrace): New function.
48323 (set_read_map): Likewise.
48324 (set_start_address): Likewise.
48325 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
48326 the right page.
48327 (check_vga_mem): Take the page into account.
48328 (write_char): Likewise.
48329 (write_cursor): Likewise.
48330 (scroll_up): Likewise. Copy the page to the page that is not
48331 shown and switch between both pages.
48332 (grub_vga_putchar): Fix off by one error.
48333 (grub_vga_cls): Wait for the vertical retrace. Take the page into
48334 account.
48335
ad0bd20b 483362004-11-01 Marco Gerards <metgerards@student.han.nl>
48337
48338 Add support for iso9660 (including rockridge).
f19dbdb7 48339
ad0bd20b 48340 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48341 (iso9660_mod_SOURCES): New variable.
48342 (iso9660_mod_CFLAGS): Likewise.
48343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48344 * include/grub/fs.h (grub_iso9660_init): New prototype.
48345 * util/grub-emu.c (main): Call `grub_iso9660_init'.
48346 * fs/iso9660.c: New file.
48347
48348 * include/grub/misc.h (grub_strncat): New prototype.
48349 * kern/misc.c (grub_strncat): New function.
f19dbdb7 48350
ad0bd20b 48351 * fs/hfs.c (grub_hfs_mount): Translate the error
48352 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
48353 * fs/jfs.c (grub_jfs_mount): Likewise.
48354 * fs/ufs.c (grub_ufs_mount): Likewise.
48355
a5477a59 483562004-10-28 Hollis Blanchard <hollis@penguinppc.org>
48357
48358 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
48359 which initialized BAT registers.
48360 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
48361 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48362 Move from here...
48363 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
48364 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48365 ... to here.
48366 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
48367 (grub_mapclaim): Likewise.
48368 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
48369 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
48370 hand.
48371
9304c1f8 483722004-10-19 Hollis Blanchard <hollis@penguinppc.org>
48373
48374 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
48375 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
48376 -ffreestanding and -msoft-float.
48377
86f4ae25 483782004-10-15 Hollis Blanchard <hollis@penguinppc.org>
48379
48380 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
48381 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
48382 set in grub_ieee1275_flags.
48383
38912228 483842004-10-14 Hollis Blanchard <hollis@penguinppc.org>
48385
48386 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
48387 prototype.
48388 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
48389 grub_console_init first.
48390 Change the memory range used for grub_ieee1275_claim and
48391 grub_mm_init_region.
48392 Print an error message if the claim fails.
48393 Include <grub/misc.h>.
48394
d1923dc8 483952004-10-13 Hollis Blanchard <hollis@penguinppc.org>
48396
48397 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
48398 Call grub_children_iterate for device nodes of type `scsi',
48399 `ide', or `ata'.
48400 (grub_ofdisk_open): Remove manual device alias resolution.
48401 Fix memory leak when device cannot be opened.
f19dbdb7 48402 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 48403 (grub_children_iterate): New prototype.
48404 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
48405 New function.
48406 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48407 Return -1 if args.size was -1.
48408
4512e4f3 484092004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48410
48411 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
48412 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
48413 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
48414 Open Firmware's memory for it; claim memory from _start to _end.
48415 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
48416 (_end): New extern.
48417 (_start): Zero BSS from __bss_start to _end.
48418 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48419 New extern.
48420 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
48421
4d61feb0 484222004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48423
ad0bd20b 48424 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
48425 -1 if args.base was -1.
4d61feb0 48426
026fa2f9 484272004-10-08 Hollis Blanchard <hollis@penguinppc.org>
48428
48429 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
48430 escape sequence instead of a literal ^L. Also call
48431 grub_ofconsole_gotoxy.
48432
9f2220ef 484332004-10-03 Hollis Blanchard <hollis@penguinppc.org>
48434
48435 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
48436 void * arguments to grub_addr_t. All callers updated. Also make
48437 the `result' argument optional.
48438 (grub_ieee1275_release): change void * arguments to grub_addr_t.
48439 All callers updated.
48440
8a572cd7 484412004-09-22 Hollis Blanchard <hollis@penguinppc.org>
48442
48443 * commands/ls.c (grub_ls_list_files): Use the string following the
48444 initial ')', if present, as the filesystem path.
48445 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
48446
48447 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
48448
18aa81f2 484492004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
48450
48451 Make the source code of the menu interface more readable.
f19dbdb7 48452
18aa81f2 48453 * normal/menu.c: Include grub/mm.h.
48454 (TERM_WIDTH): New macro.
48455 (TERM_HEIGHT): Likewise.
48456 (TERM_INFO_HEIGHT): Likewise.
48457 (TERM_MARGIN): Likewise.
48458 (TERM_SCROLL_WIDTH): Likewise.
48459 (TERM_TOP_BORDER_Y): Likewise.
48460 (TERM_LEFT_BORDER_X): Likewise.
48461 (TERM_BORDER_WIDTH): Likewise.
48462 (TERM_MESSAGE_HEIGHT): Likewise.
48463 (TERM_BORDER_HEIGHT): Likewise.
48464 (TERM_NUM_ENTRIES): Likewise.
48465 (TERM_FIRST_ENTRY_Y): Likewise.
48466 (TERM_ENTRY_WIDTH): Likewise.
48467 (TERM_CURSOR_X): Likewise.
48468 (draw_border): Use macros instead of magic numbers.
48469 (print_entry): Likewise.
48470 (print_entries): Likewise.
48471 (run_menu): Likewise. Also, handle the key 'e'.
48472 (run_menu_entry): Ignore empty command lines.
48473 (print_message): Added a new argument EDIT. If EDIT is true,
48474 print a different message.
48475 (init_page): Likewise.
48476 (edit_menu_entry): New function. Not implemented yet.
48477
b47efe30 484782004-09-17 Marco Gerards <metgerards@student.han.nl>
48479
48480 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
48481 can be loaded from normal mode.
f19dbdb7 48482
b47efe30 48483 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
48484 `multiboot.mod'.
48485 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
48486 (multiboot_mod_CFLAGS): New variables.
48487 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 48488 * loader/i386/pc/multiboot_normal.c: Likewise.
48489
b47efe30 48490 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
48491 attribute `unused'.
f19dbdb7 48492
b47efe30 48493 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
48494 `fdiro' to read the mode information from instead of `diro'.
48495
48496 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
48497 looking up a symlink.
48498
48499 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
48500 macro.
48501 * normal/command.c (grub_command_execute): Don't parse the
48502 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
48503 flags of the command.
48504
48505 * normal/menu.c (grub_menu_run): Fix typo.
48506
da75ac71 485072004-09-14 Hollis Blanchard <hollis@penguinppc.org>
48508
48509 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
48510
48511 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
48512 `y + 1' instead of `y - 1'.
48513
48514 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 48515
062b24c2 485162004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
48517
48518 From Hollis Blanchard <hollis@penguinppc.org>:
48519 * kern/misc.c (memmove): New alias for grub_memmove.
48520 (memcmp): New alias for grub_memcmp.
48521 (memset): New alias for grub_memset.
f19dbdb7 48522 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 48523 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 48524 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 48525 (grub_ieee1275_get_property): Likewise.
f19dbdb7 48526
8ddad845 485272004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
48528
48529 Added normal mode command `chainloader' as module chain.mod, which
48530 depends on normal.mod and _chain.mod.
f19dbdb7 48531
8ddad845 48532 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
48533 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
48534 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
48535 Deleted prototype.
48536 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
48537 but arguments parsing moved to ...
48538 (grub_chainloader_cmd): ... here. New function.
48539 * include/grub/i386/pc/chainloader.h: New file.
48540 * loader/i386/pc/chainloader_normal.c: Likewise.
48541
2c1f4ce3 485422004-09-11 Marco Gerards <metgerards@student.han.nl>
48543
48544 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
48545 (grub_mkimage_LDFLAGS): Likewise.
48546 (grub_emu_SOURCES): Likewise.
48547 (kernel_img_HEADERS): Added fshelp.h.
48548 * fs/ext2.c: Include <grub/fshelp.h>.
48549 (FILETYPE_REG): New macro.
48550 (FILETYPE_INO_REG): Likewise.
48551 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
48552 Changed all users.
48553 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
48554 all users.
48555 (grub_fshelp_node): New struct.
48556 (grub_ext2_data): Added member `diropen'. Changed member `inode'
48557 to a pointer.
48558 (grub_ext2_get_file_block): Removed function.
48559 (grub_ext2_read_block): New function.
48560 (grub_ext2_read_file): Replaced parameter `data' by `node'.
48561 This function was written.
48562 (grub_ext2_mount): Read the root inode. Create a diropen struct.
48563 (grub_ext2_find_file): Removed function.
48564 (grub_ext2_read_symlink): New function.
48565 (grub_ext2_iterate_dir): Likewise.
48566 (grub_ext2_open): Rewritten.
48567 (grub_ext2_dir): Rewritten.
48568 * include/grub/fshelp.h: New file.
48569 * fs/fshelp.c: Likewise.
48570
3c52136a 485712004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
48572
48573 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
48574 (print_message): Add a missing newline.
48575 (run_menu): Added timeout support.
48576 (run_menu_entry): New local function.
48577 (grub_menu_run): Added support for booting.
48578
48579 * kern/loader.c (grub_loader_is_loaded): New function.
48580
48581 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
48582 (grub_get_rtc): Exported.
48583
48584 * include/grub/i386/pc/time.h: Include grub/symbol.h.
48585 (grub_get_rtc): Exported.
48586
48587 * include/grub/normal.h (struct grub_command_list): Remove
48588 constant from the member `command'.
48589
48590 * include/grub/loader.h (grub_loader_is_loaded): Declared.
48591
48592 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
48593
48594 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
48595
aa033560 485962004-08-28 Marco Gerards <metgerards@student.han.nl>
48597
48598 Add support for the JFS filesystem.
48599
48600 * fs/jfs.c: New file.
48601 * include/grub/fs.h (grub_jfs_init): New prototype.
48602 (grub_jfs_fini): New prototype.
48603 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
48604 (grub_emu_SOURCES): Likewise.
48605 (pkgdata_MODULES): Add jfs.mod.
48606 (jfs_mod_SOURCES): New variable.
48607 (jfs_mod_CFLAGS): Likewise.
48608 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
48609 (grubof_SOURCES): Likewise.
48610 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
48611
48612 * fs/fat.c (grub_fat_find_dir): Convert the filename little
48613 endian to the host endian.
48614 (grub_fat_utf16_to_utf8): Move function from there...
48615 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 48616 the endianness of the source string anymore.
aa033560 48617 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
48618
94bc45af 486192004-08-24 Marco Gerards <metgerards@student.han.nl>
48620
48621 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
48622 (grub_boot_fini) [GRUB_UTIL]: Likewise.
48623 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
48624 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 48625
94bc45af 48626 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
48627 (grub_hfs_iterate_dir): Make the function static. Add prototypes
48628 for `node_found' and `it_dir'.
48629 (grub_hfs_dir): Add prototype for `dir_hook'.
48630
48631 * fs/minix.c (grub_minix_get_file_block): Add prototype for
48632 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
48633 and `indir32' to silence a gcc warning.
48634
48635 * include/grub/fs.h (grub_hfs_init): New prototype.
48636 (grub_hfs_fini): Likewise.
f19dbdb7 48637
48638
97543f08 486392004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48640
48641 Each disk device has its own id now. This is useful to make use
48642 of multiple disk devices.
f19dbdb7 48643
97543f08 48644 * include/grub/disk.h (grub_disk_dev_id): New enum.
48645 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
48646 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
48647
48648 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
48649 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48650
48651 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
48652 GRUB_DISK_DEVICE_OFDISK_ID as an id.
48653
48654 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
48655 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48656
48657 * include/grub/disk.h (struct grub_disk_dev): Added a new member
48658 "id" which is used by the cache manager.
48659
48660 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
48661 of just "GRUB".
48662
64372eb4 486632004-08-18 Marco Gerards <metgerards@student.han.nl>
48664
48665 * fs/hfs.c: New file.
48666 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
48667 (grub_emu_SOURCES): Likewise.
48668 (pkgdata_MODULES): Add hfs.mod.
48669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
48670 (grubof_SOURCES): Likewise.
48671 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
48672
48673 * include/grub/misc.h (grub_strncasecmp): Add prototype.
48674 * kern/misc.c (grub_strncasecmp): Add function.
48675
cc61b58f 486762004-08-14 Marco Gerards <metgerards@student.han.nl>
48677
48678 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
48679 with parentheses.
48680
48681 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
48682 (grub_ext2_dir): In case the directory entry type is unknown, read
48683 it from the inode.
48684
0ef123f6 486852004-08-02 Peter Bruin <pjbruin@dds.nl>
48686
48687 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
48688 grub_load_linux instead of grub_rescue_cmd_linux as second
48689 argument of grub_rescue_register_command.
48690
48691 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
48692
a447c5df 486932004-07-27 Marco Gerards <metgerards@student.han.nl>
48694
48695 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
48696 function.
48697 * commands/boot.c: Remove the check for `GRUB_UTIL'.
48698 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48699 `loader/powerpc/ieee1275/linux.c',
48700 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
48701 * include/grub/powerpc/ieee1275/ieee1275.h
48702 (grub_ieee1275_release): New prototype.
48703 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
48704 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
48705 normal, boot, linux and linux_normal.
48706 * loader/powerpc/ieee1275/linux.c: New file.
48707 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
48708
5a9e3546 487092004-07-12 Marco Gerards <metgerards@student.han.nl>
48710
48711 * normal/arg.c (grub_arg_parse): Correct error handling after
48712 reallocating the argumentlist (check if `argl' is not null instead
48713 of checking if `args' is not null).
48714 * kern/mm.c (grub_realloc): Return the same pointer when using the
48715 same region, instead of returning the header address.
48716
e15199cb 487172004-07-11 Marco Gerards <metgerards@student.han.nl>
48718
48719 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
48720 one block instead of two when looking for the initial partition.
48721 (grub_partition_probe): Initialize the local variable `p' with 0.
48722 Use base 10 for the grub_strtoul call.
48723 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
48724 need for one local variable.
48725 (grub_strtoul): Don't add the new value to `num', instead of that
48726 just assign it.
48727
020616c2 487282004-07-11 Marco Gerards <metgerards@student.han.nl>
48729
48730 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
48731 (pxeboot_img_SOURCES): New variable.
48732 (pxeboot_img_ASFLAGS): Likewise.
48733 (pxeboot_img_LDFLAGS): Likewise.
48734 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
48735 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
48736 <lode_leroy@hotmail.com>.
48737
6c51eb64 487382004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48739
48740 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
48741 there was no input.
48742
cfb12aff 487432004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48744
48745 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
48746 the history buffer logic.
48747
6eabba74 487482004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48749
48750 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
48751 (FILETYPE_INO_SYMLINK): New macros.
48752 (grub_ext2_find_file): Check if the node is a directory using the
48753 inode stat information instead of using the filetype in the
48754 dirent. Exclude the first character of an absolute symlink.
48755 (grub_ext2_dir): Mask out the filetype part of the mode member of
48756 the inode.
48757
66e19ef8 487582004-05-24 Marco Gerards <metgerards@student.han.nl>
48759
48760 Add support for UFS version 1 and 2. Add support for the minix
48761 filesystem version 1 and 2, both the variants with 14 and 30 long
48762 filenames.
f19dbdb7 48763
66e19ef8 48764 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
48765 fs/minix.c.
48766 (grub_emu_SOURCES): Likewise.
48767 (pkgdata_MODULES): Add ufs.mod and minix.mod.
48768 (ufs_mod_SOURCES): New variable.
48769 (ufs_mod_CFLAGS): Likewise.
48770 (minix_mod_SOURCES): Likewise.
48771 (minix_mod_CFLAGS): Likewise.
48772 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
48773 fs/minix.c.
48774 (grubof_SOURCES): Likewise.
48775 * fs/ufs.c: New file.
48776 * fs/minix.c: New file.
48777 * include/grub/fs.h (grub_ufs_init): New prototype.
48778 (grub_ufs_fini): Likewise.
48779 (grub_minix_init): Likewise.
48780 (grub_minix_fini): Likewise.
48781 * util/grub-emu.c (main): Initialize and deinitialize UFS and
48782 minix fs.
48783
cc2e748a 487842004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
48785
48786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
48787 commands/ls.c, commands/terminal.c, commands/boot.c,
48788 commands/cmp.c and commands/cat.c.
48789 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
48790
48791 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
48792 "env.h"
48793
4b13b216 487942004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
48795
48796 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
48797 and grub_, respectively. Because the conversion is trivial and
48798 mechanical, I omit the details here. Please refer to the CVS
48799 if you need more information.
48800
6a142551 488012004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
48802
48803 * include/pupa: Renamed to ...
48804 * include/grub: ... this.
48805 * util/i386/pc/pupa-mkimage.c: Renamed to ...
48806 * util/i386/pc/grub-mkimage.c: ... this.
48807 * util/i386/pc/pupa-setup.c: Renamed to ...
48808 * util/i386/pc/grub-setup.c: ... this.
48809 * util/pupa-emu.c: Renamed to ...
48810 * util/grub-emu.c: ... this.
48811
e56cdf21 488122004-03-29 Marco Gerards <metgerards@student.han.nl>
48813
48814 Add support for the newworld apple macintosh (PPC). This has been
48815 tested on the powerbook 2000 only. It only adds support for
48816 generic ieee1275 functions, console and disk support. This should
48817 be easy to port to other architectures with support for Open
48818 Firmware.
f19dbdb7 48819
e56cdf21 48820 * configure.ac: Accept the powerpc as host_cpu. In the case of
48821 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
48822 specific tests are only executed while building for the i386.
48823 Inverse test for crosscompile.
48824 * genmk.rb (Utility): Allow assembler files.
48825 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
48826 * conf/powerpc-ieee1275.rmk: New file.
48827 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
48828 * disk/powerpc/ieee1275/partition.c: Likewise.
48829 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
48830 * include/pupa/powerpc/ieee1275/console.h: Likewise.
48831 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
48832 * include/pupa/powerpc/ieee1275/time.h: Likewise.
48833 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
48834 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
48835 * include/pupa/powerpc/ieee1275/loader.h
48836 * include/pupa/powerpc/setjmp.h: Likewise.
48837 * include/pupa/powerpc/types.h: Likewise.
48838 * kern/powerpc/ieee1275/init.c: Likewise.
48839 * kern/powerpc/ieee1275/openfw.c: Likewise.
48840 * term/powerpc/ieee1275/ofconsole.c: Likewise.
48841
48842 These files were written by Johan Rydberg
48843 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 48844
e56cdf21 48845 * boot/powerpc/ieee1275/cmain.c: New file.
48846 * boot/powerpc/ieee1275/crt0.S: Likewise.
48847 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
48848 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
48849
8c8cc205 488502004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
48851
48852 * Makefile.in: Update copyright.
48853 * genmodsrc.sh: Likewise.
48854 * gensymlist.sh: Likewise.
48855 * term/i386/pc/vga.c: Indent correctly.
48856
48857 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
48858 bugreporting address.
48859 * util/i386/pc/pupa-setup.c (usage): Likewise,
48860 (main): Call pupa_ext2_init and pupa_ext2_fini.
48861
f19dbdb7 48862 * fs/fat.c (log2): Renamed to ...
8c8cc205 48863 (fat_log2): ... this.
48864 All callers changed.
48865 * kern/misc.c (memcpy): Alias to pupa_memmove.
48866 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
48867 lvalue cast.
48868 * util/console.c (pupa_ncurses_fini): Return 0.
48869
48870 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
48871 Move fail label here.
48872 [__GNU__]: Don't warn when using stat.
48873 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
48874 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
48875 long int. Use strtol instead of strtoul.
f19dbdb7 48876
db1771cf 488772004-03-14 Marco Gerards <metgerards@student.han.nl>
48878
48879 * commands/boot.c: New file.
48880 * commands/cat.c: Likewise.
48881 * commands/cmp.c: Likewise.
48882 * commands/ls.c: Likewise.
48883 * commands/terminal.c: Likewise.
48884 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
48885 (pupa_register_command): Changed interface to match the new
48886 argument parser.
48887 (pupa_command_execute): Changed (almost rewritten) so it uses
48888 pupa_split_command. Added support for setting variables using the
48889 syntax `foo=bar'.
48890 (rescue_command): Changed to work with the new argument parser.
48891 (terminal_command): Moved from here to commands/terminal.c.
48892 (set_command): New function.
48893 (unset_command): New function.
48894 (insmod_command): New function.
48895 (rmmod_command): New function.
48896 (lsmod_command): New function.
48897 (pupa_command_init): Don't initialize the command terminal
48898 anymore. Initialize the commands set, unset, insmod, rmmod and
48899 lsmod.
48900 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
48901 (kernel_img_HEADERS): Add arg.h and env.h.
48902 (pupa_mkimage_LDFLAGS): Add kern/env.c.
48903 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
48904 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
48905 normal/arg.c.
48906 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
48907 terminal.mod.
48908 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
48909 (boot_mod_SOURCES): New variable.
48910 (terminal_mod_SOURCES): Likewise.
48911 (ls_mod_SOURCES): Likewise.
48912 (cmp_mod_SOURCES): Likewise.
48913 (cat_mod_SOURCES): Likewise.
48914
48915 * normal/arg.c: New file.
48916 * kern/env.c: Likewise.
48917 * include/pupa/arg.h: Likewise.
48918 * include/pupa/env.h: Likewise.
48919 * font/manager.c (font_command): Changed to match argument parsing
48920 interface changes.
48921 (PUPA_MOD_INIT): Likewise.
48922 * hello/hello.c (pupa_cmd_hello): Likewise.
48923 (PUPA_MOD_INIT): Likewise.
48924 * include/pupa/disk.h: Include <pupa/device.h>.
48925 (pupa_print_partinfo): New prototype.
48926 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
48927 (pupa_dl_get_prefix): Likewise.
48928 * include/pupa/misc.h: Include <pupa/err.h>.
48929 (pupa_isgraph): New prototype.
48930 (pupa_isdigit): Likewise.
48931 (pupa_split_cmdline): Likewise.
48932 * include/pupa/normal.h: Include <pupa/arg.h>.
48933 (pupa_command): Changed the prototype of the member `func' to
48934 match the argument parsing interface. Added member `options'.
48935 (pupa_register_command): Updated to match function.
48936 (pupa_arg_parse): New prototype.
48937 (pupa_hello_init) [PUPA_UTIL]: New prototype.
48938 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
48939 (pupa_ls_init) [PUPA_UTIL]: Likewise.
48940 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
48941 (pupa_cat_init) [PUPA_UTIL]: Likewise.
48942 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
48943 (pupa_boot_init) [PUPA_UTIL]: Likewise.
48944 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
48945 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
48946 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
48947 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
48948 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
48949 * kern/disk.c: Include <pupa/file.h>.
48950 (pupa_print_partinfo): New function.
48951 * kern/dl.c: Include <pupa/env.h>.
48952 (pupa_dl_dir): Variable removed.
48953 (pupa_dl_load): Use the environment variable `prefix' instead of
48954 the variable pupa_dl_dir.
48955 (pupa_dl_set_prefix): Function removed.
48956 (pupa_dl_get_prefix): Likewise.
48957 * kern/i386/pc/init.c: Include <pupa/env.h>.
48958 (pupa_machine_init): Use the environment variable `prefix' instead of
48959 using pupa_dl_set_prefix to set the prefix.
48960 * kern/main.c: Include <pupa/env.h>.
48961 (pupa_set_root_dev): Use the environment variable `prefix' instead of
48962 using pupa_dl_get_prefix to get the prefix.
48963 * kern/misc.c: Include <pupa/env.h>.
48964 (pupa_isdigit): New function.
48965 (pupa_isgraph): Likewise.
48966 (pupa_ftoa): Likewise.
48967 (pupa_vsprintf): Added support for printing values of the type
48968 `double'. Make it possible to format variable output when using
48969 formatting like `%1.2%f'.
48970 (pupa_split_cmdline): New function.
48971 * kern/rescue.c: Include <pupa/env.h>.
48972 (next_word): Removed function.
48973 (pupa_rescue_cmd_prefix): Likewise.
48974 (pupa_rescue_cmd_set): New function.
48975 (pupa_rescue_cmd_unset): New function.
48976 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
48977 split the command line instead of splitting it here. Added
48978 support for setting variables using the syntax `foo=bar'. Don't
48979 initialize the prefix command anymore. Initialized the set and
48980 unset commands.
48981 * normal/cmdline.c: Include <pupa/env.h>.
48982 (pupa_tab_complete): Added prototypes for print_simple_completion,
48983 print_partition_completion, add_completion, iterate_commands,
48984 iterate_dev, iterate_part and iterate_dir. Moved code to print
48985 partition information from here to kern/disk.c.
fe6b695a 48986 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 48987 * normal/main.c: Include <pupa/env.h>.
48988 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
48989 instead of using pupa_dl_get_prefix to get the prefix.
48990 * term/i386/pc/vga.c: Include <pupa/arg.h>.
48991 (check_vga_mem): Cast pointers to `void *' to silence a gcc
48992 warning.
48993 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
48994 (pupa_vga_setcolor): Declare unused variables with `__attribute__
48995 ((unused))' to silence a gcc warning.
48996 (pupa_vga_setcolor): Likewise.
48997 (debug_command): Changed to match argument parsing
48998 interface changes.
48999 * util/pupa-emu.c: Include <pupa/env.h>.
49000 (options): Added 0's for unused fields to silence a gcc warning.
49001 (argp): Likewise.
49002 (main): Use the environment variable `prefix' instead of using
49003 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
49004 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
49005 and terminal.
49006
49007 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
49008 * util/misc.c: Include <malloc.h>.
49009 (pupa_malloc): Rewritten so errors are correctly reported.
49010 (pupa_realloc): Likewise.
49011 (pupa_memalign): Likewise.
49012 (pupa_mm_init_region): Declare unused variables with
49013 `__attribute__ ((unused))' to silence a gcc warning.
49014 * normal/i386/setjmp.S: Remove tab at the end of the file to
49015 silence a gcc warning.
49016 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
49017 variables with `__attribute__ ((unused))' to silence a gcc
49018 warning.
49019 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
49020 local variable i unsigned to silence a gcc warning.
49021
49022 * kern/term.c: Include <pupa/misc.h>.
49023 (pupa_more_lines): New variable.
49024 (pupa_more): Likewise.
49025 (pupa_putcode): When the pager is active pause at the end of every
49026 screen.
49027 (pupa_set_more): New function.
49028 * include/pupa/term.h (pupa_set_more): New prototype.
49029
49030
3b1139cb 490312004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
49032
49033 Now this project is GRUB 2 rather than PUPA. The location of
49034 the CVS repository was moved to GRUB's.
f19dbdb7 49035
3b1139cb 49036 * configure.ac: Use bug-grub as the reporting address.
49037 Use GRUB instead of PUPA.
49038 Change the version number to 1.90.
49039
8367695c 490402004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
49041
49042 * genkernsyms.sh: Updated copyright information.
49043 * genmk.rb: Likewise.
49044 * genmodsrc.sh: Likewise.
49045 * gensymlist.sh: Likewise.
49046 * boot/i386/pc/boot.S: Likewise.
49047 * boot/i386/pc/diskboot.S: Likewise.
49048 * disk/i386/pc/biosdisk.c: Likewise.
49049 * disk/i386/pc/partition.c: Likewise.
49050 * font/manager.c: Likewise.
49051 * fs/ext2.c: Likewise.
49052 * fs/fat.c: Likewise.
49053 * include/pupa/boot.h: Likewise.
49054 * include/pupa/device.h: Likewise.
49055 * include/pupa/disk.h: Likewise.
49056 * include/pupa/dl.h: Likewise.
49057 * include/pupa/elf.h: Likewise.
49058 * include/pupa/err.h: Likewise.
49059 * include/pupa/file.h: Likewise.
49060 * include/pupa/font.h: Likewise.
49061 * include/pupa/fs.h: Likewise.
49062 * include/pupa/kernel.h: Likewise.
49063 * include/pupa/loader.h: Likewise.
49064 * include/pupa/misc.h: Likewise.
49065 * include/pupa/mm.h: Likewise.
49066 * include/pupa/net.h: Likewise.
49067 * include/pupa/normal.h: Likewise.
49068 * include/pupa/rescue.h: Likewise.
49069 * include/pupa/setjmp.h: Likewise.
49070 * include/pupa/symbol.h: Likewise.
49071 * include/pupa/term.h: Likewise.
49072 * include/pupa/types.h: Likewise.
49073 * include/pupa/i386/setjmp.h: Likewise.
49074 * include/pupa/i386/types.h: Likewise.
49075 * include/pupa/i386/pc/biosdisk.h: Likewise.
49076 * include/pupa/i386/pc/boot.h: Likewise.
49077 * include/pupa/i386/pc/console.h: Likewise.
49078 * include/pupa/i386/pc/init.h: Likewise.
49079 * include/pupa/i386/pc/kernel.h: Likewise.
49080 * include/pupa/i386/pc/linux.h: Likewise.
49081 * include/pupa/i386/pc/loader.h: Likewise.
49082 * include/pupa/i386/pc/memory.h: Likewise.
49083 * include/pupa/i386/pc/multiboot.h: Likewise.
49084 * include/pupa/i386/pc/partition.h: Likewise.
49085 * include/pupa/i386/pc/time.h: Likewise.
49086 * include/pupa/i386/pc/vga.h: Likewise.
49087 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
49088 * include/pupa/util/getroot.h: Likewise.
49089 * include/pupa/util/misc.h: Likewise.
49090 * include/pupa/util/resolve.h: Likewise.
49091 * kern/device.c: Likewise.
49092 * kern/disk.c: Likewise.
49093 * kern/dl.c: Likewise.
49094 * kern/err.c: Likewise.
49095 * kern/file.c: Likewise.
49096 * kern/fs.c: Likewise.
49097 * kern/loader.c: Likewise.
49098 * kern/main.c: Likewise.
49099 * kern/misc.c: Likewise.
49100 * kern/mm.c: Likewise.
49101 * kern/rescue.c: Likewise.
49102 * kern/term.c: Likewise.
49103 * kern/i386/dl.c: Likewise.
49104 * kern/i386/pc/init.c: Likewise.
49105 * kern/i386/pc/lzo1x.S: Likewise.
49106 * kern/i386/pc/startup.S: Likewise.
49107 * loader/i386/pc/chainloader.c: Likewise.
49108 * loader/i386/pc/linux.c: Likewise.
49109 * loader/i386/pc/multiboot.c: Likewise.
49110 * normal/cmdline.c: Likewise.
49111 * normal/command.c: Likewise.
49112 * normal/main.c: Likewise.
49113 * normal/menu.c: Likewise.
49114 * normal/i386/setjmp.S: Likewise.
49115 * term/i386/pc/console.c: Likewise.
49116 * term/i386/pc/vga.c: Likewise.
49117 * util/console.c: Likewise.
49118 * util/genmoddep.c: Likewise.
49119 * util/misc.c: Likewise.
49120 * util/pupa-emu.c: Likewise.
49121 * util/resolve.c: Likewise.
49122 * util/unifont2pff.rb: Likewise.
49123 * util/i386/pc/biosdisk.c: Likewise.
49124 * util/i386/pc/getroot.c: Likewise.
49125 * util/i386/pc/pupa-mkimage.c: Likewise.
49126 * util/i386/pc/pupa-setup.c: Likewise.
49127
e6eced71 491282004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
49129
49130 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
49131 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
49132 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
49133 reading and reset it after reading.
49134 (pupa_ext2_close): Return PUPA_ERR_NONE.
49135
49136 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
49137 Correct value.
49138 (struct linux_kernel_header): Add kernel_version and
49139 initrd_addr_max.
49140 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
49141 pupa_file_read succeeds.
49142 (pupa_rescue_cmd_initrd): Implement.
49143
5aded270 491442003-12-03 Marco Gerards <metgerards@student.han.nl>
49145
49146 * fs/ext2.c (pupa_ext2_label): New function.
49147 (pupa_ext2_fs): Added label.
49148 * fs/fat.c (pupa_fat_label): New function.
49149 (pupa_fat_fs): Added label.
49150 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
49151
49152 * kern/misc.c (pupa_strndup): New function.
49153 * include/pupa/misc.h (pupa_strndup): New prototype.
49154
49155 * include/pupa/normal.h: Include <pupa/err.h>.
49156 (pupa_set_history): New prototype.
49157 (pupa_iterate_commands): New prototype.
49158 * normal/cmdline.c: Include <pupa/machine/partition.h>,
49159 <pupa/disk.h>, <pupa/file.h>.
49160 (hist_size): New variable.
49161 (hist_lines): Likewise.
49162 (hist_end): Likewise.
49163 (hist_used): Likewise.
49164 (pupa_set_history): New function.
49165 (pupa_history_get): Likewise.
49166 (pupa_history_add): Likewise.
49167 (pupa_history_replace): Likewise.
49168 (pupa_tab_complete): Likewise.
49169 (pupa_cmdline_run): Added tab completion and history buffer. Tab
49170 completion shows partitionnames while completing partitions, this
49171 feature was suggested by Jeff Bailey.
49172 * normal/command.c (pupa_iterate_commands): New function.
49173 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
49174 (pupa_normal_init): Initialize history buffer.
49175 (PUPA_MOD_INIT): Likewise.
49176 (pupa_normal_fini): Free the history buffer.
49177 (PUPA_MOD_FINI): Likewise.
49178
49179 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
49180 key.
49181
49182 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
49183 * configure.ac [i386]: Check for regparam bug.
49184 (NESTED_FUNC_ATTR) [! i386]: Defined.
49185
1f7315a3 491862003-11-17 Marco Gerards <metgerards@student.han.nl>
49187
49188 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
49189 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
49190 (pupa_emu_SOURCES): New variable.
49191 (pupa_emu_LDFLAGS): Likewise.
49192 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
49193 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
49194 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
49195 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49196 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
49197 (pupa_jmp_buf): New typedef.
49198 (pupa_setjmp) [PUPA_UTIL]: New macro.
49199 (pupa_longjmp) [PUPA_UTIL]: Likewise.
49200 * include/pupa/term.h (struct pupa_term): New member `refresh'.
49201 (pupa_refresh): New prototype.
49202 * include/pupa/util/getroot.h: New file.
49203 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
49204 it.
49205 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
49206 (pupa_rescue_cmd_cat): Likewise.
49207 (pupa_rescue_cmd_ls): Likewise.
49208 (pupa_rescue_cmd_testload): Likewise.
49209 (pupa_rescue_cmd_lsmod): Likewise.
49210 * normal/cmdline.c (pupa_cmdline_get): Likewise.
49211 * normal/menu.c (run_menu): Likewise.
49212 * kern/term.c (pupa_cls): Likewise.
49213 (pupa_refresh): New function.
49214 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
49215 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49216 * util/console.c: New file.
f19dbdb7 49217
1f7315a3 49218 * util/i386/pc/getroot.c: New file.
49219 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
49220 (pupa_putchar): New function.
49221 (pupa_refresh): Likewise.
49222 (xgetcwd): Function moved to ...
49223 (strip_extra_slashes): Likewise.
49224 (get_prefix): Likewise.
f19dbdb7 49225 * util/i386/pc/getroot.c: ... here.
1f7315a3 49226 (find_root_device): Function moved and renamed to...
49227 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
49228 Changed all callers.
49229 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
49230 and renamed to...
49231 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
49232 Changed all callers.
49233 * util/misc.c (pupa_memalign): New function.
49234 (pupa_mm_init_region): Likewise.
49235 (pupa_register_exported_symbols): Likewise.
49236 (pupa_putchar): Function removed.
49237 * util/pupa-emu.c: New file.
49238
9a5c1ade 492392003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
49240
49241 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
49242 (_multiboot_mod_SOURCES): New variable.
49243 (_multiboot_mod_CFLAGS): Likewise.
49244 * loader/i386/pc/multiboot.c: New file.
49245 * include/pupa/i386/pc/multiboot.h: Likewise.
49246 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
49247 (pupa_multiboot_real_boot): New function.
49248 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
49249 (pupa_multiboot_real_boot): New prototype.
49250 (pupa_rescue_cmd_multiboot): Likewise
49251 (pupa_rescue_cmd_module): Likewise.
49252
49253 * kern/loader.c (pupa_loader_set): Continue when
49254 pupa_loader_unload_func() fails.
49255 (pupa_loader_unset): New function.
49256 * include/pupa/loader.h (pupa_loader_unset): New prototype.
49257
49258 * kern/misc.c (pupa_stpcpy): New function.
49259 * include/pupa/misc.h (pupa_stpcpy): New prototype.
49260
8e72a9c0 492612003-11-12 Marco Gerards <metgerards@student.han.nl>
49262
49263 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
49264 for available extensions.
49265
49266 * include/pupa/i386/pc/time.h: New file.
49267 * kern/disk.c: Include <pupa/machine/time.h>.
49268 (PUPA_CACHE_TIMEOUT): New macro.
49269 (pupa_last_time): New variable.
49270 (pupa_disk_open): Flush the cache when there was a timeout.
49271 (pupa_disk_close): Reset the timer.
49272 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
49273 pupa_currticks.
49274 * util/misc.c: Include <sys/times.h>
49275 (pupa_get_rtc): New function.
49276
c4adbd32 492772003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
49278
49279 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
49280 as blocks.
49281 (pupa_ext2_get_file_block): Use blocks member.
49282
49283 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
49284 first block. Return -1 instead of pupa_errno on error.
49285
bfd30f06 492862003-10-27 Marco Gerards <metgerards@student.han.nl>
49287
49288 * README: In the pupa-mkimage example use _chain instead of chain
49289 and ext2 instead of fat.
49290 * TODO: Replace ext2fs with jfs as an example. Add an item for
49291 adding journal playback for ext2fs.
49292 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
49293 (pkgdata_MODULES): Added ext2.mod.
49294 (ext2_mod_SOURCES): New variable.
49295 (ext2_mod_CFLAGS): Likewise.
49296 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
49297 * include/pupa/misc.h (pupa_strncpy): New prototype.
49298 (pupa_strcat): Likewise.
49299 (pupa_strncmp): Likewise.
49300 * kern/misc.c (pupa_strcat): Enable function.
49301 (pupa_strncpy): New function.
49302 (pupa_strncmp): Likewise.
49303 * fs/ext2.c: New file.
f19dbdb7 49304
bfd30f06 49305 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
49306 when the read failed before retrying.
49307 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
49308 (_FILE_OFFSET_BITS): Likewise.
49309 * configure.ac: Added AC_SYS_LARGEFILE.
49310
98d15063 493112003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49312
49313 * genmk.rb (PModule#rule): Make sure to get only symbol names
49314 from the output of nm.
59cad637 49315 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 49316
18d9c7cd 493172003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49318
49319 I forgot to check in these changes for a long time. This adds
49320 incomplete support for VGA console, and this is still very
49321 buggy. Also, a lot of consideration is required for I18N,
49322 UNICODE, and VGA font issues. Therefore, assume that this is
49323 such that "better than nothing".
f19dbdb7 49324
18d9c7cd 49325 * font/manager.c: New file.
49326 * include/pupa/font.h: Likewise.
49327 * include/pupa/i386/pc/vga.h: Likewise.
49328 * term/i386/pc/vga.c: Likewise.
49329 * util/unifont2pff.rb: Likewise.
49330
49331 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
49332 (pkgdata_MODULES): Added vga.mod and font.mod.
49333 (vga_mod_SOURCES): New variables.
49334 (vga_mod_CFLAGS): Likewise.
49335 (font_mod_SOURCES): Likewise.
49336 (font_mod_CFLAGS): Likewise.
49337
49338 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
49339
49340 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 49341 (struct pupa_term): Added init and fini.
18d9c7cd 49342 Changed the argument of putchar to pupa_uint32_t.
49343
49344 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
49345 (pupa_console_real_putchar): New prototype.
49346 (pupa_console_putchar): Removed.
49347 (pupa_console_checkkey): Exported.
49348 (pupa_console_getkey): Likewise.
49349
49350 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
49351 characters.
49352
49353 * kern/term.c (pupa_term_set_current): Rewritten.
49354 (pupa_putchar): Likewise.
49355 (pupa_putcode): New function.
49356
49357 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
49358 (pupa_console_real_putchar): ... this.
49359 (pupa_vga_set_mode): New function.
49360 (pupa_vga_get_font): Likewise.
49361
49362 * normal/command.c: Include pupa/term.h.
49363 (terminal_command): New function.
49364 (pupa_command_init): Register the command "terminal".
49365
49366 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
49367 (DISP_UP): Likewise.
49368 (DISP_RIGHT): Likewise.
49369 (DISP_DOWN): Likewise.
49370 (DISP_HLINE): Likewise.
49371 (DISP_VLINE): Likewise.
49372 (DISP_UL): Likewise.
49373 (DISP_UR): Likewise.
49374 (DISP_LL): Likewise.
49375 (DISP_LR): Likewise.
49376
49377 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 49378
977329f5 493792003-02-08 NIIBE Yutaka <gniibe@m17n.org>
49380
49381 * util/resolve.c (pupa_util_resolve_dependencies): BUG
49382 FIX. Reverse the path_list.
49383
49384 * include/pupa/normal.h: Export pupa_register_command and
49385 pupa_unregister_command.
49386
49387 * hello/hello.c (pupa_cmd_hello): New module.
49388 * conf/i386-pc.rmk: Added hello.mod.
49389
1f5ab428 493902003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
49391
49392 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 49393
1f5ab428 49394 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
49395 (compress_kernel): New variable.
49396 (generate_image): Heavily modified to support compressing a
49397 large part of the core image.
49398
49399 * util/misc.c (pupa_util_read_image): Fix a file descriptor
49400 leak.
49401 (pupa_util_load_image): New function.
49402
49403 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
49404 (pupa_compressed_size): New variable.
49405 (codestart): Enable Gate A20 here.
49406 Decompress the compressed part of the core image.
49407 Rearrange the code to put functions and variables which are
49408 required for initialization in the non-compressed part.
49409 Include lzo1x.S.
49410
49411 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
49412 here.
49413
49414 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
49415
f19dbdb7 49416 * include/pupa/i386/pc/kernel.h
1f5ab428 49417 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
49418 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
49419 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49420 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49421 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
49422
49423 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
49424
49425 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
49426 (Utility#rule): Likewise.
49427
49428 * configure.ac: Check if LZO is available.
49429
ce5bf700 494302003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
49431
49432 * include/pupa/normal.h: New file.
49433 * include/pupa/setjmp.h: Likewise.
49434 * include/pupa/i386/setjmp.h: Likewise.
49435 * normal/cmdline.c: Likewise.
49436 * normal/command.c: Likewise.
49437 * normal/main.c: Likewise.
49438 * normal/menu.c: Likewise.
49439 * normal/i386/setjmp.S: Likewise.
f19dbdb7 49440
ce5bf700 49441 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
49442 (pupa_rescue_cmd_initrd): Likewise.
49443
49444 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
49445 Likewise.
49446
49447 * kern/i386/pc/startup.S (translation_table): New variable.
49448 (translate_keycode): New function.
49449 (pupa_console_getkey): Call translate_keycode.
49450
49451 * kern/rescue.c (attempt_normal_mode): New function.
49452 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
49453 it failed, print a message.
49454
49455 * kern/mm.c (pupa_real_malloc): Print more information when a
49456 free magic is broken.
49457 (pupa_free): If the first free header is not free actually, set
49458 it to P.
49459
49460 * kern/main.c (pupa_load_normal_mode): Just load the module
49461 "normal".
49462 (pupa_main): Don't print the message
49463 "Entering into rescue mode..." here.
49464
49465 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
49466 Declared.
49467 (pupa_rescue_cmd_initrd): Likewise.
49468 (pupa_rescue_cmd_initrd): Likewise.
49469
49470 * include/pupa/symbol.h (FUNCTION): Specify the type.
49471 (VARIABLE): Likewise.
49472
49473 * include/pupa/err.h (pupa_err_t): Added
49474 PUPA_ERR_UNKNOWN_COMMAND.
49475
49476 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
49477 (pupa_dl_get_prefix): Likewise.
49478
49479 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
49480 Added _chain.mod and _linux.mod instead of chain.mod and
49481 linux.mod.
49482 (chain_mod_SOURCES): Renamed to ...
49483 (_chain_mod_SOURCES): ... this.
49484 (chain_mod_CFLAGS): Renamed to ...
49485 (_chain_mod_CFLAGS): ... this.
49486 (linux_mod_SOURCES): Renamed to ...
49487 (_linux_mod_SOURCES): ... this.
49488 (linux_mod_CFLAGS): Renamed to ...
49489 (_linux_mod_CFLAGS): ... this.
49490 (normal_mod_SOURCES): New variable.
49491 (normal_mod_CFLAGS): Likewise.
49492 (normal_mod_ASFLAGS): Likewise.
49493
494942003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
49495
49496 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
49497 possible.
49498
fe6b695a 49499 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 49500 recursively.
49501 (pupa_dl_unref): Unrefer depending modules recursively.
49502 Don't call pupa_dl_unload implicitly, because PUPA can crash if
49503 a module is unloaded before one depending on that module is
49504 unloaded.
49505 (pupa_dl_unload): Unload depending modules explicitly,
49506 if possible.
49507
c04da074 495082003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
49509
49510 * include/pupa/i386/pc/linux.h: New file.
49511 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 49512
c04da074 49513 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
49514 Removed.
49515 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
49516 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
49517 of PUPA_CHAINLOADER_BOOT_SECTOR.
49518
49519 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
49520 (pupa_linux_prot_size): New variable.
49521 (pupa_linux_tmp_addr): Likewise.
49522 (pupa_linux_real_addr): Likewise.
49523 (pupa_linux_boot_zimage): New function.
49524 (pupa_linux_boot_bzimage): Likewise.
49525
49526 * kern/i386/pc/init.c (struct mem_region): New structure.
49527 (MAX_REGIONS): New macro.
49528 (mem_regions): New variable.
49529 (num_regions): Likewise.
49530 (pupa_os_area_addr): Likewise.
49531 (pupa_os_area_size): Likewise.
49532 (pupa_lower_mem): Likewise.
49533 (pupa_upper_mem): Likewise.
49534 (add_mem_region): New function.
49535 (compact_mem_regions): Likewise.
49536 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
49537 the size of the conventional memory and that of so-called upper
49538 memory (before the first memory hole).
49539 Instead of adding each found region to free memory, use
49540 add_mem_region and add them after removing overlaps.
49541 Also, add only 1/4 of the upper memory to free memory. The rest
49542 is used for loading OS images. Maybe this is ad hoc, but this
49543 makes it much easier to relocate OS images when booting.
49544
49545 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
49546 (pupa_enter_rescue_mode): Don't register initrd and module.
49547
49548 * kern/mm.c: Include pupa/dl.h.
49549
49550 * kern/main.c: Include pupa/file.h and pupa/device.h.
49551
49552 * kern/loader.c (pupa_loader_load_module_func): Removed.
49553 (pupa_loader_load_module): Likewise.
49554
49555 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
49556 ``.o''.
49557
49558 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
49559 (pupa_linux_tmp_addr): Likewise.
49560 (pupa_linux_real_addr): Likewise.
49561 (pupa_linux_boot_zimage): Likewise.
49562 (pupa_linux_boot_bzimage): Likewise.
49563
49564 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
49565 (pupa_upper_mem): Likewise.
49566 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
49567 module is too dangerous.
49568
49569 * include/pupa/loader.h (pupa_os_area_addr): Declared.
49570 (pupa_os_area_size): Likewise.
49571 (pupa_loader_set): Remove the first argument. Loader doesn't
49572 manage modules or initrd any longer.
49573 (pupa_loader_load_module): Removed.
49574
49575 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
49576 (linux_mod_SOURCES): New variable.
49577 (linux_mod_CFLAGS): Likewise.
49578
a13f9237 495792003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
49580
49581 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
49582 the length of a blocklist correctly.
49583
49584 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
49585 Use ioctl only if the OS file is a block device.
49586 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
49587 not very useful for normal files.
49588
49589 * kern/main.c (pupa_set_root_dev): New function.
49590 (pupa_load_normal_mode): Likewise.
49591 (pupa_main): Call those above.
49592
49593 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
49594 pupa_uint16_t.
49595
49596 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
49597
a5ffe966 495982003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
49599
49600 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
49601 (setup): Configure the installed partition information and the
49602 dl prefix.
49603
49604 * loader/i386/pc/chainloader.c (my_mod): New variable.
49605 (pupa_chainloader_unload): New function.
49606 (pupa_rescue_cmd_chainloader): Refer itself.
49607 (PUPA_MOD_INIT): Save its own module in MY_MOD.
49608
49609 * kern/i386/pc/startup.S (install_partition): Removed.
49610 (version_string): Likewise.
49611 (config_file): Likewise.
49612 (pupa_install_dos_part): New variable.
49613 (pupa_install_bsd_part): Likewise.
49614 (pupa_prefix): Likewise.
49615 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
49616
49617 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
49618 and pupa/misc.h.
49619 (make_install_device): New function.
49620 (pupa_machine_init): Set the dl prefix.
49621
49622 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
49623 (buf): Renamed to ...
49624 (linebuf): ... this.
49625 (pupa_rescue_cmd_prefix): New function.
49626 (pupa_rescue_cmd_insmod): Likewise.
49627 (pupa_rescue_cmd_rmmod): Likewise.
49628 (pupa_rescue_cmd_lsmod): Likewise.
49629 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
49630 rmmod and lsmod.
49631
49632 * kern/mm.c (pupa_memalign): If failed even after invalidating
49633 disk caches, unload unneeded modules and retry.
49634
49635 * kern/misc.c (pupa_memmove): New function.
49636 (pupa_memcpy): Removed.
49637 (pupa_strcpy): New function.
49638 (pupa_itoa): Made static.
49639
49640 * kern/dl.c (pupa_dl_iterate): New function.
49641 (pupa_dl_ref): Likewise.
49642 (pupa_dl_unref): Likewise.
49643 (pupa_dl_unload): Return if succeeded or not.
49644 (pupa_dl_unload_unneeded): New function.
49645 (pupa_dl_unload_all): Likewise.
49646 (pupa_dl_init): Renamed to ...
49647 (pupa_dl_set_prefix): ... this.
49648 (pupa_dl_get_prefix): New function.
49649
49650 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
49651 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
49652 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49653 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49654 (pupa_install_dos_part): Declared.
49655 (pupa_install_bsd_part): Likewise.
49656 (pupa_prefix): Likewise.
49657 (pupa_boot_drive): Likewise.
49658
49659 * include/pupa/types.h: Fix a typo.
49660
49661 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
49662 pupa_memmove.
49663 (pupa_memmove): Declared.
49664 (pupa_strcpy): Likewise.
49665
49666 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
49667 pupa_mod_init takes one argument, its own module.
49668 (pupa_dl_unload_unneeded): Declared.
49669 (pupa_dl_unload_all): Likewise.
49670 (pupa_dl_ref): Likewise.
49671 (pupa_dl_unref): Likewise.
49672 (pupa_dl_iterate): Likewise.
49673 (pupa_dl_init): Renamed to ...
49674 (pupa_dl_set_prefix): ... this.
49675 (pupa_dl_get_prefix): Declared.
49676
49677 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 49678 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 49679 unloaded.
49680 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
49681 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
49682
49683 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
49684 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
49685
012d7999 496862003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49687
49688 * util/i386/pc/pupa-setup.c (setup): Define the internal
49689 function find_first_partition_start at the top level, because GCC
49690 3.0.x cannot compile internal functions in deeper scopes
49691 correctly.
49692 (find_root_device): Use lstat instead of stat.
49693 Don't follow symbolic links.
49694 Fix the path-constructing code.
49695
49696 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
49697 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
49698 by a BLKGETSIZE ioctl first, because block devices don't fill
49699 the member st_mode of the structure stat on Linux.
49700 [__linux__] (linux_find_partition): Use a temporary buffer
49701 REAL_DEV for the working space. Copy it to DEV before returning.
49702 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
49703 buffer cache consistent.
49704 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
49705 strncmp. The previous value was merely wrong.
49706 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
49707
49708 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
49709 FAT size is 12. The previous value was merely wrong.
49710
49711 * kern/main.c (pupa_main): Don't split the starting message from
49712 newlines.
49713
49714 * kern/term.c (pupa_putchar): Put CR after LF instead of before
49715 LF, because BIOS goes crazy about character attributes in this
49716 case.
49717
1cc73a62 497182003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49719
49720 * include/i386/pc/util/biosdisk.h: New file.
49721 * util/i386/pc/biosdisk.c: Likewise.
49722 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 49723
1cc73a62 49724 * Makefile.in (INCLUDE_DISTFILES): Added
49725 include/pupa/i386/pc/util/biosdisk.h.
49726 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
49727 directory util/i386/pc.
49728 (install-local): Added a rule for sbin_UTILITIES.
49729 (uninstall): Likewise.
49730
49731 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
49732
49733 * util/misc.c (xrealloc): New function.
49734 (pupa_malloc): Likewise.
49735 (pupa_free): Likewise.
49736 (pupa_realloc): Likewise.
49737 (pupa_stop): Likewise.
49738 (pupa_putchar): Likewise.
49739
49740 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
49741
49742 * include/pupa/util/misc.h (xrealloc): Declared.
49743
49744 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
49745 macro.
49746 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
49747 (PUPA_BOOT_MACHINE_BPB_END): ... this.
49748
49749 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
49750 [PUPA_UTIL] (pupa_fat_fini): Likewise.
49751
49752 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
49753 way should be implemented.
49754 [PUPA_UTIL] (pupa_fat_fini): Likewise.
49755
49756 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
49757 the size of NAME for safety.
49758 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
49759 0x88.
49760
49761 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
49762 (pupa_setup_SOURCES): Likewise.
49763
49764 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
49765
08b70fe8 497662002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
49767
49768 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
49769 bunch of pushl's from pusha, because this destroys the return
49770 value.
49771
62ddcc8f 497722002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
49773
49774 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
49775 This means that any missing prototypes could be fatal. Also, you
49776 must take care when writing assembly code. See the comments at
49777 the beginning of startup.S, for more details.
f19dbdb7 49778
62ddcc8f 49779 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
49780 compilation mechanism.
49781 (pupa_chainloader_real_boot): Likewise.
49782 (pupa_biosdisk_rw_int13_extensions): Likewise.
49783 (pupa_biosdisk_rw_standard): Likewise.
49784 (pupa_biosdisk_check_int13_extensions): Likewise.
49785 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
49786 (pupa_biosdisk_get_diskinfo_standard): Likewise.
49787 (pupa_get_memsize): Likewise.
49788 (pupa_get_mmap_entry): Likewise.
49789 (pupa_console_putchar): Likewise.
49790 (pupa_console_setcursor): Likewise.
49791 (pupa_getrtsecs): Use pushl instead of push.
49792
49793 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
49794 memory instead of the stack for a mmap entry, because some
49795 BIOSes may ignore the maximum size and overflow.
49796
49797 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
49798
49799 * genmk.rb (PModule#rule): Compile automatically generated
49800 sources with module-specific CFLAGS as well as other sources.
49801
9962ed99 498022002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49803
49804 * configure.ac: Check ld.
49805 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
49806 respectively, before checking endianness and sizes.
49807
49808 * Makefile.in (LD): New variable.
f19dbdb7 49809
abdfc3c5 498102002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49811
49812 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
49813
6a161fa9 498142002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49815
49816 * Changelog: New file.
49817