]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/loader/i386/xnu.c (guessfsb): Avoid division by 0.
[grub2.git] / ChangeLog
CommitLineData
b666e01b
VS
12015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/loader/i386/xnu.c (guessfsb): Avoid division by 0.
4
2e62352b
VS
52015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/kern/i386/tsc.c (calibrate_tsc): Ensure that
8 no division by 0 occurs.
9
e360b5d1
VS
102015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * include/grub/misc.h (grub_div_roundup): Remove as it's unused.
13
c453760c
VS
142015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * grub-core/term/gfxterm.c: Avoid division by zero.
17
e95685da
VS
182015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19
20 Avoid division by zero in serial.
21
22 * grub-core/term/serial.c (grub_cmd_serial): Ensure speed is not 0.
23 * grub-core/term/ns8250.c (serial_get_divisor): Exit if speed is 0.
24
4816dcac
VS
252015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * grub-core/video/readers/jpeg.c: Avoid sivision by zero.
28
750f4bac
VS
292015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/disk/diskfilter.c: Validate volumes to avoid division
32 by zero.
33
1b6aaddc
VS
342015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * include/grub/term.h: Avoid returining 0-sized terminal
37 as it may lead to division by zero.
38
475bffea
VS
392015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * grub-core/fs/zfs.c: Avoid divisions by zero.
42
9deb46e3
VS
432015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/fs/btrfs.c: Avoid divisions by zero.
46
065ed900
VS
472015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Check that hash len is not 0.
50
111ab3b9
VS
512015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * grub-core/osdep/linux/blocklist.c (grub_install_get_blocklist): Check
54 blocksize validity.
55
4200ad44
VS
562015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/disk/i386/pc/biosdisk.c: Check disk size sanity.
59
f1959b16
VS
602015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Check block size
63 validity.
64
93586351
VS
652015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Do not
68 divide by zero.
69
98f74998
VS
702015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * grub-core/fs/hfs.c (grub_hfs_mount): Additional filesystem
73 sanity checks.
74
5ed3a5d0
VS
752015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * grub-core/fs/minix.c: Additional filesystem
78 sanity checks.
79
47cd2645
VS
802015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/fs/ext2.c (grub_ext2_mount): Additional
83 checks for superblock validity.
84
245e21b2
VS
852015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/fs/ufs.c (grub_ufs_mount): Check
88 that sblock.ino_per_group is not 0.
89
9201cd79
VS
902015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
91
92 Reject NILFS2 superblocks with over 1GiB blocks.
93
94 * grub-core/fs/nilfs2.c (grub_nilfs2_valid_sb): Check that
95 block size is <= 1GiB.
96
f27ccb58
VS
972015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * grub-core/disk/ata.c (grub_ata_setaddress): Check that geometry
100 is sane when using CHS addressing.
101
1dfe3f97
VS
1022015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/disk/AFSplitter.c (AF_merge): Check that mdlen is not 0.
105
44461d5a
VS
1062015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Avoid
109 division by zero.
110
30e177a0
VS
1112015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_maxpacket): Avoid
114 potentially returning 0.
115
1162015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/fs/minix.c (grub_minix_read_file): Avoid reading past
119 the end of file.
120
af435524
VS
1212015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * grub-core/fs/fshelp.c (grub_fshelp_read_file): Don't attempt to read
124 past the end of file.
125
66ce4d1a
VS
1262015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Update len
129 synchronously with line.
130
59d40365
VS
1312015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
132
133 Replace explicit sizeof divisions by ARRAY_SIZE.
134
ba3031f9
KM
1352015-01-19 Kris Moore <kris@pcbsd.org>
136
137 * grub-core/disk/geli.c: Support GELI v6 and v7.
138
bac5d1a6
AB
1392014-12-09 Andrei Borzenkov <arvidjaar@gmail.com>
140
141 * grub-core/term/serial.c (grub_cmd_serial): Fix --rtscts
142 option processing.
143
17328db3
DK
1442014-12-07 David Kozub <zub.272@gmail.com>
145
146 * grub-core/kern/arm/misc.S: fix unaligned 64bit local variable
147 in __aeabi_uidivmod
148 Fixes Savannah bug #43632.
149
58f66137
PN
1502014-12-07 Peter Nelson <peterdn>
151
152 * grub-core/fs/ext2.c (grub_ext2_read_block): Support large sparse
153 chunks.
154
cdae5bf2
AB
1552014-12-07 Andrei Borzenkov <arvidjaar@gmail.com>
156
157 * util/grub-mkconfig_lib.in (version_test_gt): Remove redundant
158 non-portable '-n' echo option.
159 * util/grub.d/10_kfreebsd.in: Change how list is built to avoid
160 non-portable 'echo -n.
161 * util/grub.d/10_linux.in: Likewise (closes 43668).
162 * util/grub.d/20_linux_xen.in: Likewise.
163 * util/grub.d/30_os-prober.in: Print spaces directly to avoid
164 non-portable 'echo -n'.
165
06eadf5e
CL
1662014-12-07 Curtis Larsen <larsen@dixie.edu>
167
168 * grub-core/net/tcp.c (grub_net_recv_tcp_packet): Fix double
169 free when multiple empty segments were received (closes 42765).
170
4b94e322
AB
1712014-12-05 Andrei Borzenkov <arvidjaar@gmail.com>
172
173 * tests/util/grub-shell.in: Support --files also for netboot.
272e0466
AB
174 * tests/file_filter_test.in: New file with file filters tests.
175 * Makefile.util.def: Add file_filter_test.
176 * conf/Makefile.extra-dist: ... and here.
177 * tests/file_filter/file.gz: Test file for file_filter_test.
178 * tests/file_filter/file.gz.sig: Likewise.
179 * tests/file_filter/file.lzop: Likewise.
180 * tests/file_filter/file.lzop.sig: Likewise.
181 * tests/file_filter/file.xz: Likewise.
182 * tests/file_filter/file.xz.sig: Likewise.
183 * tests/file_filter/keys: Likewise.
184 * tests/file_filter/keys.pub: Likewise.
185 * tests/file_filter/test.cfg: Likewise.
ebb3d958
AB
186 * grub-core/commands/verify.c: Fix memory corruption doing
187 signature check for network files (closes 43601).
4b94e322 188
03d79a87
AB
1892014-12-01 Andrei Borzenkov <arvidjaar@gmail.com>
190
3173c750
AB
191 * grub-core/loader/i386/xen_fileXX.c (grub_xen_get_infoXX): Fix
192 memory leak (CID 73645, 73782).
03d79a87
AB
193 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix memory leak
194 (CID 73635).
195
dbbac5a0
AB
1962014-11-30 Andrei Borzenkov <arvidjaar@gmail.com>
197
198 * grub-core/lib/syslinux_parse.c (free_menu): Do not free
199 inline array (CID 73610).
200
478b5675
AB
2012014-11-28 Andrei Borzenkov <arvidjaar@gmail.com>
202
343dad41 203 * grub-core/io/lzopio.c (test_header): Fix double free (CID 73665)
f07784e8
AB
204 * grub-core/disk/geli.c (configure_ciphers): Fix memory leaks
205 (Coverity CID 73813, 73710)
ea44693f
AB
206 * grub-core/disk/luks.c (configure_ciphers): Fix memory leaks
207 and use after free (Coverity CID 73813, 73710, 73730)
208 * grub-core/disk/luks.c (luks_recover_key): Fix memory leak (Coverity
209 CID 73854)
0415dbe2
AB
210 * util/grub-install-common.c (grub_install_get_target): Check return
211 value of grub_util_fd_read (Coverity CID 73819).
478b5675
AB
212 * util/grub-mkstandalone.c (add_tar_file): Fix out of bound access
213 to hd.magic (Coverity CID 73587, 73888, bug 43690).
214
e2dd6daa
AB
2152014-11-20 Andrei Borzenkov <arvidjaar@gmail.com>
216
217 * tests/util/grub-fs-tester.in: Consistently print output
218 of grub ls if test fails.
219
2ccaa3b9 2202014-11-07 Leif Lindholm <leif.lindholm@linaro.org>
004a2b1e
LL
221
222 * grub-core/kern/efi/init.c: check value of *path before
223 dereferencing.
224
72ec399a
MC
2252014-11-03 Michael Chang <mchang@suse.com>
226
227 * grub-core/net/icmp6.c (grub_net_recv_icmp6_packet): Fix size
228 of neighbor solicitation packet in grub_netbuff_pull.
229
9a67e1ac
AB
2302014-10-14 Andrei Borzenkov <arvidjaar@gmail.com>
231
232 * grub-core/loader/arm/linux.c: Use full initializer for initrd_ctx to
233 avoid fatal warnings with older gcc (probably before 4.7).
234 * grub-core/loader/arm64/linux.c: Likewise.
235 * grub-core/loader/i386/linux.c: Likewise.
236 * grub-core/loader/i386/pc/linux.c: Likewise.
237 * grub-core/loader/ia64/efi/linux.c: Likewise.
238 * grub-core/loader/mips/linux.c: Likewise.
239 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
240 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
241
77063f4c
CW
2422014-09-25 Colin Watson <cjwatson@ubuntu.com>
243
244 Fix in-tree --platform=none
245
246 * configure.ac: Only remove include/grub/cpu and
247 include/grub/machine in the --platform=none case, not all of
248 include/grub.
249
5d90f6e5
CW
2502014-09-23 Colin Watson <cjwatson@ubuntu.com>
251
252 Add a new "none" platform that only builds utilities
253
254 * configure.ac: Add "none" platform. Default to it for unsupported
255 CPUs rather than stopping with a fatal error. Don't downgrade
256 x86_64-none to i386. Define COND_real_platform Automake conditional
257 if the platform is anything other than "none". Don't do any include
258 directory linking for "none".
259 * Makefile.am: Skip building grub-core and all bootcheck targets if
260 !COND_real_platform.
261 * include/grub/time.h: Don't include <grub/cpu/time.h> if GRUB_UTIL
262 is defined.
263
954fe771
AB
2642014-09-22 Andrei Borzenkov <arvidjaar@gmail.com>
265
266 Use grub_cpu_to_XXX_compile_time for constants.
267
0f1f95c7
VD
2682014-09-21 Valentin Dornauer <valentin@unimplemented.org>
269
270 The AML parser implements only a small subset of possible AML
271 opcodes. On the Fujitsu Lifebook E744 this and another bug in
272 the parser (incorrect handling of TermArg data types) would lead
273 to the laptop not turning off (_S5 not found).
274
275 * grub-core/commands/acpihalt.c: Support OpAlias in the AML parser;
276 in skip_ext_op(), handle some Type2Opcodes more correctly (TermArgs
277 aren't always simply strings!); Add function to skip TermArgs
278 * include/grub/acpi.h: Add new opcodes
279
41c6f91f
VS
2802014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * grub-core/normal/main.c: Don't drop to rescue console in
283 case of password-protected prompt and no menu entries.
284
7c378c39
VS
2852014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * grub-core/commands/keylayouts.c: Ignore unknown keys.
288
2988a849
VS
2892014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * grub-core/gmodule.pl.in: Accept newer binutils which output
292 empty column rather than 0x0.
293
0aece00c
MC
2942014-09-21 Michael Chang <mchang@suse.com>
295
296 * grub-core/osdep/unix/config.c: Remove extraneous comma.
297
2982014-09-21 Peter Jones <pjones@redhat.com>
631a8200
PJ
299
300 * grub-core/loader/arm/linux.c: Initialized initrd_ctx so
301 we don't free a random pointer from the stack.
302 * grub-core/loader/arm64/linux.c: Likewise.
303 * grub-core/loader/i386/linux.c: Likewise.
304 * grub-core/loader/i386/pc/linux.c: Likewise.
305 * grub-core/loader/ia64/efi/linux.c: Likewise.
306 * grub-core/loader/mips/linux.c: Likewise.
307 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
308 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
309
60049a0e
CW
3102014-09-15 Khem Raj <raj.khem@gmail.com>
311
a276b840
KR
312 * grub-core/kern/emu/hostfs.c: use _DEFAULT_SOURCE in addition to
313 _BSD_SOURCE to avoid warnings under glibc 2.20+.
314
54bd9a06
MC
3152014-09-08 Michael Chang <mchang@suse.com>
316
317 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Fix extent size
318 check; comparing &data->extent against addresses in the region it
319 points to is unpredictable.
320
2a5a532c
CW
3212014-09-07 Colin Watson <cjwatson@ubuntu.com>
322
323 Support grub-emu on x32 (ILP32 but with x86-64 instruction set)
324
325 * configure.ac: Remove -m64 from checks for -mcmodel=large and
326 -mno-red-zone. These are always either unnecessary (x86_64-emu) or
327 already in TARGET_CFLAGS at this point, and they produce incorrect
328 results when building for x32.
329 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Cast
330 pointers to Elf64_Xword via grub_addr_t, in order to work on x32.
331 * include/grub/x86_64/types.h (GRUB_TARGET_SIZEOF_VOID_P,
332 GRUB_TARGET_SIZEOF_LONG): Define to 4 on x32.
333
4d94b2db
CW
3342014-09-07 Colin Watson <cjwatson@ubuntu.com>
335
336 * configure.ac: Remove several unnecessary semicolons.
337
1de3a480
CW
3382014-08-25 Colin Watson <cjwatson@ubuntu.com>
339
340 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
341 Initialise pend to pacify GCC.
342
c291f47b
AB
3432014-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
344
345 * util/grub-mkconfig.in: Fix typo (gettext_print instead of
346 gettext_printf).
347
3c058332
VS
3482014-08-13 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * grub-core/term/at_keyboard.c: Retry probing keyboard if
351 scancode setup failed.
352
d1224d20
VS
3532014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * grub-core/kern/disk_common.c: Clump disk size to 1EiB.
356
0af3ae2d
VS
3572014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Add
360 safety to avoid triggerring VirtualBox bug.
361
33f6ce67
VS
3622014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * grub-core/fs/cbfs.c: Don't probe disks of unknow size.
365
79c80b06
VS
366 Fixes hang on virtualbox.
367
0901e785
CW
3682014-07-08 Colin Watson <cjwatson@ubuntu.com>
369
370 * util/grub.d/10_hurd.in: Make kernel list progression not fail on
371 kernels whose paths contain regex metacharacters.
372 * util/grub.d/10_kfreebsd.in: Likewise.
373 * util/grub.d/10_linux.in: Likewise.
374 * util/grub.d/20_linux_xen.in: Likewise.
375
376 Reported by: Heimo Stranner.
377
4250f552
CW
3782014-06-26 Colin Watson <cjwatson@ubuntu.com>
379
380 * docs/grub-dev.texi (Finding your way around): The build system no
381 longer uses AutoGen directly.
382
1f6af2a9
РП
3832014-06-21 Роман Пехов <roman_pekhov>
384
385 * grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
386
fa335308
GW
3872014-06-21 Glenn Washburn <development@efficientek.com>
388
389 * util/grub-install.c: Fix handling of --disk-module.
390
15bd333e
SR
3912014-06-21 Stephane Rochoy <sheda>
392
393 * grub-core/loader/i386/bsd.c (grub_netbsd_boot): Pass pointer to
394 EFI system table.
395
3f3ec8ef
SR
3962014-06-21 Stephane Rochoy <sheda>
397
398 * grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
399 EFI system table physical address.
400
87de66d9
TW
4012014-06-21 Trevor Woerner <trevor.woerner@linaro.org>
402
403 * util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable.
404
2c2c5c72
VS
4052014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
408
480c8985
VS
4092014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
412 check.
413
4b8b9135
VS
4142014-04-20 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * grub-core/kern/misc.c (__bzero): Don't compile in GRUB_UTIL.
417
418 Reported by: Yves Blusseau <blusseau@zetam.org>.
419
5a6db38d
PK
4202014-04-20 Piotr Krysiuk <piotras@gmail.com>
421
422 * grub-core/lib/i386/relocator.c: Allow loading old kernels by placing
423 GDT in conventional memory.
424
3a310e84
CW
4252014-04-10 Colin Watson <cjwatson@ubuntu.com>
426
427 * util/grub.d/30_os-prober.in: Tolerate devices with no filesystem
428 UUID. Other parts of grub-mkconfig tolerate these, they were
429 previously allowed here up to commit
430 55e706c918922def17f5012c23cfe88c4c645208, and they can arise in
431 practice when the system has active LVM snapshots.
432 Fixes Ubuntu bug #1287436.
433
c4badfe8
CW
4342014-04-10 Colin Watson <cjwatson@ubuntu.com>
435
436 * grub-core/disk/lvm.c (grub_lvm_detect): Search for
437 "logical_volumes" block a little more accurately.
438
a72fc329
VS
4392014-04-06 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/lib/syslinux_parse.c: Fix timeout quoting.
442
6f6d4aa0
VS
4432014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * include/grub/libgcc.h: Remove ctzsi2 and ctzdi2. They're no longer
446 pulled from libgcc.
447
8063ce19
VS
4482014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
449
450 Replace few instances of memcmp/memcpy in the code that should be
451 grub_memcmp/grub_memcpy.
452
97060667
VS
4532014-04-03 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Support NVMe
456 device names.
457
4afd0107
TF
4582014-03-31 Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
459
460 btrfs: fix get_root key comparison failures due to endianness
461
462 * grub-core/fs/btrfs.c (get_root): Convert
463 GRUB_BTRFS_ROOT_VOL_OBJECTID to little-endian.
464
24024dac
CW
4652014-03-31 Colin Watson <cjwatson@ubuntu.com>
466
467 Fix partmap, cryptodisk, and abstraction handling in grub-mkconfig.
468
469 Commit 588744d0dc655177d5883bdcb8f72ff5160109ed caused grub-mkconfig
470 no longer to be forgiving of trailing spaces on grub-probe output
471 lines, which among other things means that util/grub.d/10_linux.in
472 no longer detects LVM. To fix this, make grub-probe's output
473 delimiting more consistent. As a bonus, this improves the coverage
474 of the -0 option.
475
476 Fixes Debian bug #735935.
477
478 * grub-core/disk/cryptodisk.c
479 (grub_util_cryptodisk_get_abstraction): Add a user-data argument.
480 * grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
481 Likewise.
482 * include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
483 Update prototype.
484 * include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
485 * util/grub-install.c (push_partmap_module, push_cryptodisk_module,
486 probe_mods): Adjust for extra user-data arguments.
487 * util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
488 probe_abstraction): Use configured delimiter. Update callers.
489
9b35fe81
CW
4902014-03-31 Colin Watson <cjwatson@ubuntu.com>
491
492 * util/grub-probe,c (options): Make -0 work again (broken by
493 conversion to argp).
494 (main): Simplify logic.
495
46b74dd3
VS
4962014-03-26 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * grub-core/lib/relocator.c: Fix the case when end of leftover is used.
499
68f17b2b
FW
5002014-03-26 Fu Wei <fu.wei@linaro.org>
501
502 * grub-core/loader/arm64/linux.c: Remove redundant "0x".
503
86402b4e
VS
5042014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * include/grub/i386/openbsd_bootarg.h: Add addr and frequency fields.
507 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Fill addr field.
508
509 Suggested by: Markus Müller.
510
bec35dad
VS
5112014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * grub-core/kern/i386/pc/mmap.c: Fallback to EISA memory map
514 if E820 failed to return any regions.
515
dfc5ccfa
VS
5162014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
517
518 * grub-core/mmap/i386/uppermem.c (lower_hook) [COREBOOT]: Ignore low
519 tables for low memory calculations.
520
4a70fed8
VS
5212014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Limit
524 location to 640K.
525
f94b2b4e
VS
5262014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * grub-core/kern/i386/coreboot/mmap.c: Filter out 0xa0000-0x100000
529 region.
530
d0949e37
VS
5312014-02-20 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * grub-core/disk/ahci.c: Ignore NPORTS field and rely on PI
534 exclusively.
535
9585647a
PFS
5362014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
537
538 Add bootpath parser for open firmware.
539
540 It enables net boot even when there is no bootp/dhcp server.
541
542 * grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath
543 and call it at grub_ieee1275_net_config_real.
544 * grub-core/kern/ieee1275/init.c: Add bootpath to
545 grub_ieee1275_net_config.
546 * include/grub/ieee1275/ieee1275.h: Likewise.
547
548
e4dbf247
PFS
5492014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
550
551 Add grub_env_set_net_property function.
552
553 * grub-core/net/bootp.c: Remove set_env_limn_ro.
554 * grub-core/net/net.c: Add grub_env_set_net_property.
555 * include/grub/net.h: Likewise.
556
006c78f3
VS
5572014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * util/grub-mkrescue.c: Build fix for argp.h with older gcc.
560
511ece7c
VS
5612014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * util/grub-mkfont.c: Build fix for argp.h with older gcc.
564
9abbaae7
VS
5652014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
568 7 seconds to recover if last poweroff was bad.
569
d6b94c5e
VS
5702014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * grub-core/disk/ahci.c: Properly handle transactions with no
573 transferred data.
574
07ea8daa
VS
5752014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * grub-core/disk/ahci.c: Add safety cleanups.
578
3142b2fe
VS
5792014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * grub-core/disk/ahci.c: Allocate and clean space for all possible 32
582 slots to avoid pointing to uninited area.
583
4686e163
VS
5842014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/disk/ahci.c: Do not enable I/O decoding and keep
587 enabling busmaster for the end.
588
ba424f37
VS
5892014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * util/grub-mkfont.c: Downgrade warnings about unhandled features
592 to debug.
593
3beabdc8 5942014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7f64fb59
VS
595
596 * grub-core/term/at_keyboard.c: Tolerate missing keyboard.
597
ba584da1
PFS
5982014-01-29 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
599
600 * .gitignore: add missing files and .exe variants.
601
35f2d96c
MG
6022014-01-26 Mike Gilbert <floppym@gentoo.org>
603
604 grub-install: support for partitioned partx loop devices.
605
606 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
607 /dev/loopX as being the parent of /dev/loopXpY.
608
9afe2053
VS
6092014-01-26 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * grub-core/term/serial.c (grub_serial_register): Fix invalid free.
612 Ensure that pointers are inited to NULL and that pointers are not
613 accessed after free.
5ae584c0
AB
614
6152014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
616
617 * include/grub/crypto.h: Replace __attribute__ ((format (printf)) with
618 __attribute__ ((format (__printf__)) to fix compilation under MinGW-w64.
619 * include/grub/emu/misc.h: ... and here.
620 * include/grub/err.h: ... and here.
621 * util/import_gcry.py: ... and here (in files g10lib.h).
622
1440b7eb
AB
6232014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
624
625 * util/grub-mkimage.c: Make prefix argument mandatory.
626
61c8482b
VS
6272014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
628
629 Fix several translatable strings.
630
631 Suggested by: D. Prévot.
632
95cd131e
VS
6332014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * util/grub-install.c: List available targets.
636
d0805930
CW
6372014-01-23 Colin Watson <cjwatson@ubuntu.com>
638
639 * util/grub-install.c (write_to_disk): Add an info message.
640
eec4237a
AB
6412014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
642
643 * Makefile.am: Allow adding extra files to generated Windows ZIP
644 archive by setting GRUB_WINDOWS_EXTRA_DIST.
645
36387ece
AB
6462014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
647
648 * configure.ac: Look for DejaVuSans also in /usr/share/fonts/truetype.
443b3222 649 Show detected font path in summary.
36387ece 650
6f65e36c
PFS
6512014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
652
653 * grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
654 interval gradually.
655 * grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
656 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
657 * grub-core/net/tftp.c (tftp_open): Likewise.
658 * include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
659
d99d2f84
PFS
6602014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
661
662 * grub-core/net/net.c (receive_packets): Change stop condition to avoid
663 infinite loops.
664
665 In net/net.c there is a while (1) that only exits if there is a stop
666 condition and more then 10 packages or if there is no package received.
667
668 If GRUB is idle and enter in this loop, the only condition to leave is
669 if it doesn't have incoming packages. In a network with heavy traffic
670 this never happens.
671
049f6382
CW
6722014-01-19 Colin Watson <cjwatson@ubuntu.com>
673
674 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Ignore
675 EPERM when modifying kern.geom.debugflags. It is only a problem for
676 such things as installing GRUB to the MBR, in which case there'll be
677 an error later anyway, not for opening files during tests.
678
01504547
AB
6792014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
680
681 * grub-core/Makefile.am: Build grub_emu_init.[ch] from MODULE_FILES
682 instead of MOD_FILES.
683 * grub-core/genemuinit.sh: Simplify stripping of suffix so it works
684 both with and without .exe.
685 * grub-core/genemuinitheader.sh: Same.
686
b204b718
VS
6872014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * util/grub-install.c: Fix a typo.
690
41155a57
VS
6912014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * grub-core/normal/main.c (read_config_file): Buffer config file.
694 Reduces boot time.
695
e0a85094
AB
6962014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
697
698 * acinclude.m4 (grub_CHECK_LINK_DIR): Check that we can also remove
699 symbolic link to directory. It fails in Msys shell on Windows 2003.
700
0b47c57a
VS
7012014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * Makefile.am (default_payload.elf): Add modules
704 multiboot cbmemc linux16 gzio echo help.
705
7062014-01-18 Mike Gilbert <floppym@gentoo.org>
6ba98355
MG
707
708 * Makefile.util.def: Link grub-ofpathname with zfs libs.
709
6c519b5c
VS
7102014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * grub-core/commands/macbless.c: Rename FILE and DIR to avoid
713 conflicts.
714
715 Reported by: Andrey Borzenkov.
716
f371dd5d
AB
7172014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
718
719 * include/grub/misc.h: Move macros for compiler features to ...
720 * include/grub/compiler.h: ... new file.
721 * include/grub/list.h: Include <grub/compiler.h> instead of <grub/misc.h>.
722 * grub-core/commands/fileXX.c: Include <grub/misc.h>.
723 * grub-core/efiemu/prepare.c: Include <grub/misc.h>.
724 * grub-core/loader/i386/xen_file.c: Include <grub/misc.h>.
725 * grub-core/loader/i386/xen_fileXX.c: Include <grub/misc.h>.
726 * grub-core/video/capture.c: Include <grub/misc.h>.
727 * include/grub/command.h: Include <grub/misc.h>.
728 * include/grub/dl.h: Include <grub/misc.h>.
729 * include/grub/procfs.h: Include <grub/misc.h>.
730
1ecf96fc
AB
7312014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
732
733 * configure.ac: Add support for BUILD_EXEEXT and use it ...
734 * Makefile.am: ... here.
735 * Makefile.util.def: ... and here.
736 * grub-core/Makefile.am: ... and here.
737
5ef569df
AB
7382014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
739
740 * include/grub/osdep/hostfile_windows.h: Use _W64 instead of
741 FILE_OFFSET_BITS to differentiate between native MinGW and Mingw W64.
742
3abb9563
VS
7432014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/term/terminfo.c: Recognize keys F1-F12.
746
9b9c4686 7472014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
dcecae1a
AB
748
749 * configure.ac: Add support for BUILD_LDFLAGS.
750 * Makefile.am: Use BUILD_LDFLAGS for build time programs here ...
751 * grub-core/Makefile.am: ... and here.
752 * INSTALL: Mention BUILD_LDFLAGS.
753
ae80f312
VS
7542014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * util/grub-mount.c: Extend GCC warning workaround to grub-mount.
757
7e7293d7
VS
7582014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/kern/efi/efi.c: Ensure that the result starts with /
761 and has no //.
762
5acc8020
VS
7632014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * NEWS: Add few missing entries.
766
ff66b8e7
CW
7672014-01-17 Colin Watson <cjwatson@ubuntu.com>
768
769 * util/grub.d/00_header.in (make_timeout): Use && rather than test
770 -a.
771 * util/grub.d/10_windows.in: Likewise.
772 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): Use || rather
773 than test -o.
774 * util/grub.d/30_os-prober.in: Use && rather than test -a, and ||
775 rather than test -o.
776
7772014-01-17 Colin Watson <cjwatson@ubuntu.com>
09a836e5
CW
778
779 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Remove
780 redundant preprocessor conditional.
781
ccd21a65
CW
7822014-01-08 Colin Watson <cjwatson@ubuntu.com>
783
784 * Makefile.util.def (grub-macbless): Change mansection to 8.
785
4d21c101
LL
7862014-01-07 Leif Lindholm <leif.lindholm@linaro.org>
787
788 * grub-core/loader/arm64/linux.c: correctly set device path end length.
789
e7cfa8d5
AB
7902014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
791
792 * util/grub-install.c: Use bootaa64.efi instead of bootaarch64.efi on
793 arm64 to comply with EFI specification. Also use grubaa64.efi for
794 consistency.
795 * util/grub-mkrescue.c: Change to use bootaa64.efi too.
796
94cee4a4
AB
7972014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
798
799 * include/grub/osdep/hostfile_windows.h: Do not redefine fseeko/ftello
800 on MinGW-64 when compiling for 32 bits.
801
668add25
AB
8022013-12-30 Andrey Borzenkov <arvidjaar@gmail.com>
803
804 * grub-core/Makefile.core.def: strip .eh_frame section for arm64-efi.
805
0e309454
VS
8062013-12-30 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * NEWS: Add few missing entries. Correct existing ones.
809
093dec73
VS
8102013-12-28 Vladimir Serbinenko <phcoder@gmail.com>
811
812 Don't abort() on unavailable coreboot tables if not running on coreboot.
813
989af025
AB
8142013-12-28 Andrey Borzenkov <arvidjaar@gmail.com>
815
816 * grub-core/kern/emu/misc.c: Remove unused error.h; fixes compilation
817 on mingw.
818
8442d3e9
CW
8192013-12-28 Colin Watson <cjwatson@ubuntu.com>
820
821 * NEWS: The cmosclean command in fact dates back to 1.99. Remove
822 mention of it from 2.02.
823
645ff636 8242013-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5bda44d7
VS
825
826 * grub-core/kern/arm/cache_armv6.S: Remove .arch directive.
827
828 As these functions are used on pre-ARMv6 CPUs as well we don't want
829 to make assembler assume that architecture is higher than default one.
830
30a33846
CW
8312013-12-27 Colin Watson <cjwatson@ubuntu.com>
832
833 * NEWS: First draft of 2.02 entry.
834
51f941a0
CW
8352013-12-27 Colin Watson <cjwatson@ubuntu.com>
836
837 * INSTALL (Cross-compiling the GRUB): Fix some spelling mistakes.
838 * docs/grub.texi (Getting the source code): Likewise.
839
a6e7719b
AB
8402013-12-25 Andrey Borzenkov <arvidjaar@gmail.com>
841
842 * grub-core/osdep/windows/platform.c (get_platform): Fix EFI
843 detection.
844
e8f07821
VS
8452013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * configure.ac: Set version to 2.02~beta2.
848
dc3286ad
VS
8492013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
852
46f8d358
AB
8532013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
854
855 * util/grub-probe.c: Improve help message and simplify list handling.
856
09c47900
VS
8572013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
858
859 Fix buffer overflow in grub_efi_print_device_path.
860
4d6c6953
VS
8612013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
862
863 Show SATA device path.
864
faf4a65e
VS
8652013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
866
867 Revert grub-file usage in grub-mkconfig.
868
e5fa26e5
VS
8692013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
870
871 Make newly-created files other than grub.cfg world-readable.
872
569766e4
AB
8732013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
874
875 * util/grub.d/00_header.in: Improve compatibility with old config.
876
41272068
VS
8772013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
878
879 Make rijndael.c respect aliasing rules.
880
881 Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
882
f7c7c4d4
VS
8832013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
884
885 Make grub_util_device_is_mapped_stat available in grub-emu core.
886
57bc5d43
VS
8872013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
888
889 Add -Qn to TARGET_CFLAGS if it's supported.
890 Fixes compilation on cygwin.
891
892 Reported by: Andrey Borzenkov.
893 Suggested by: Andrey Borzenkov.
894
6a7957f9
VS
8952013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
896
897 Save TARGET_CC version in modinfo.sh.
898
899 Suggested by: Andrey Borzenkov.
900
e88f0420
VS
9012013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
902
903 Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
904 follow the same algorithm to avoid method mismatch. Don't assume
905 DMRAID- UUID to mean full disk but instead check that mapping is linear.
906
da986226
VS
9072013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
908
909 Declare GRUB_EFI_VENDOR_APPLE_GUID.
910
fba31b5f
VS
9112013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
912
913 Dump type and vendor specific data when printing device path.
914
3d369a01
CW
9152013-12-23 Colin Watson <cjwatson@debian.org>
916
917 Update some documentation to refer to Git rather than Bazaar.
918
919 * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
920 than Bazaar.
921 * po/README: Likewise. Fix spelling mistake.
922
5b83ef97
CW
9232013-12-23 Colin Watson <cjwatson@ubuntu.com>
924
925 Don't distribute config.h.
926
927 * Makefile.am (platform_HEADERS): Move to ...
928 (nodist_platform_HEADERS): ... here. Fixes gettext_strings_test
929 failure when building from a distributed tarball.
930
16f7455b
CW
9312013-12-23 Colin Watson <cjwatson@ubuntu.com>
932
933 * configure.ac: Fix spelling.
934 * grub-core/commands/parttool.c: Fix grammar.
935 * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
936 Embedding Partition".
937
808e97c4
VS
9382013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
939
940 ARM64 support for grub-mkrescue.
941
e388db90
VS
9422013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
943
944 Install modinfo.sh to keep build information around.
945
cef39403
VS
9462013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/modinfo.sh.in: Add build config information.
949
a4d61002
VS
9502013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
951
952 ARM64 grub-file and grub-mkconfig support.
953
0c930a84
VS
9542013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
955
956 Remove leftover options defines.
957
74fa9ac1
VS
9582013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
961
62956fe7
VS
9622013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * grub-core/loader/arm64/linux.c: Add missing bracket.
965
26063216
VS
9662013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
967
968 Add arm64-efi recognition to grub-file.
969
4cd0b55f
VS
9702013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
971
972 Fix ia64-efi recognition in grub-file.
973
95b56e3a
VS
9742013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
975
976 Recognize raspberry pi kernel in grub-file.
977
bbc52c22
VS
9782013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
979
980 Enable cache on ARM U-Boot port.
981
982 Without it the port is reidiculously slow.
983
943981ff
VS
9842013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
985
986 Fix ARM cache maintainance.
987
988 More code was converted from ASM to C for easier handling.
989
adabfb54
VS
9902013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
993 algorithm on v5.
994
995 Suggested by: Leif Lindholm.
996
77ec462a
AB
9972013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
998
999 * util/grub-mkconfig.in: Fix Xen platform conditions.
1000
3bf2db89
AB
10012013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
1002
1003 * util/grub-mkrescue.c: Split single help message string in several
1004 strings used in previous shell version.
1005
30a9ab95
LL
10062013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
1007
1008 Add arm64 Linux loader.
1009
c415eaa9
LL
10102013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
1011
1012 Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
1013
313fb3ce
VS
10142013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 Add module loading and parsing boot time checkpoints.
1017
37f617c0
VS
10182013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
1021 platforms.
1022
3deedfc0
LW
10232013-12-22 Lars Wendler <polynomial-c@gentoo.org>
1024
1025 * util/grub-mkconfig.in: Skip non-executable files.
1026
5ad9f728
VS
10272013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 Workaround buggy timer in raspberry pie by using our own timer
1030 implementation.
1031
eeb84997
VS
10322013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
1035 Increase to 16 MiB to allow loading the whole memdisk.
1036
0d8b81f8
VS
10372013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 Fix ARM Linux Loader on non-FDT platforms.
1040
bf082198
VS
10412013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * configure.ac: Choose link format based on host_os on emu.
1044
0b602bf9
VS
10452013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
1048
96650a82
VS
10492013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * grub-core/kern/emu/main.c: Build fix for emu.
1052
ca3e2088
VS
10532013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 Build fixes for argp.h with older gcc.
1056
27db1a9b
VS
10572013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
1060 in strings.
1061
1062 Suggested by: David Prévot.
1063
8a913e66
VS
10642013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
1067
ae558c2c
VS
10682013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 Enable -Wformat=2 if it's supported.
1071
bbac6789
VS
10722013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
1075 -Wmissing-declarations if supported.
1076
ab216512
VS
10772013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
1080 u32 as both HFS and HFS+ have 32-bit inodes.
1081
0d4aa91d
VS
10822013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * include/grub/misc.h (grub_strtol): Fix overflow.
1085
a997af68
VS
10862013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
1089 as return type in both conditionals.
1090
36bcaf29
VS
10912013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
1094 to use uint8_t for color.
1095
74763e96
VS
10962013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * util/misc.c (grub_util_get_image_size): Check for overflow.
1099
80b29fc9
VS
11002013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
1103 for size.
1104
6e327fcd
VS
11052013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
1108 for pointer difference.
1109
62ce03cf
VS
11102013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * util/import_gcry.py: Skip sample keys.
1113
f4d70fd0
VS
11142013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
1117
93bf55e6
VS
11182013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * configure.ac: Remove duplicate warning arguments.
1121
579ee114
VS
11222013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 Add missing static qualifiers.
1125
ee5283d6
VS
11262013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 Add missing includes.
1129
5dbde526
VS
11302013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 Inline printf templates when possible to enable format checking.
1133
d88ae4f0
VS
11342013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * include/grub/crypto.h: Don't discard const attribute.
1137
17b43559
VS
11382013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
1141 was intended.
1142
76a2a430
VS
11432013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/lib/crypto.c: Don't discard const attribute.
1146
0d26164e
VS
11472013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/lib/disk.c: Fix potential overflow.
1150
2622b1e8
VS
11512013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * grub-core/lib/arg.c: Don't discard const attribute.
1154
05126706
VS
11552013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 * grub-core/kern/dl.c: Don't discard const attribute.
1158
2f9c4804
VS
11592013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 * grub-core/kern/disk.c: Fix potential overflow.
1162
0438ebf1
VS
11632013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * conf/Makefile.common: Don't include non-existing directory
1166 grub-core/lib/libgcrypt-grub/include.
1167
065adc34
VS
11682013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 Clarify several translatable messages.
1171
496a6b30
DP
11722013-12-21 David Prévot <david@tilapin.org>
1173
1174 Correct some translatable strings.
1175
971038be
CW
11762013-12-21 Colin Watson <cjwatson@ubuntu.com>
1177
1178 * util/grub-mkrescue.c: Rephrase mkrescue description.
1179
bfdfeb25
VS
11802013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
11812013-12-21 Colin Watson <cjwatson@ubuntu.com>
1182
1183 Clarify several translatable messages.
1184
d642d761
CW
11852013-12-20 Colin Watson <cjwatson@ubuntu.com>
1186
1187 Be more verbose about some configure failures.
1188
3bc1b2da
CW
11892013-12-20 Colin Watson <cjwatson@ubuntu.com>
1190
1191 Fix various build problems on GNU/Hurd.
1192
1193 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
1194 !defined (__GNU__).
1195 (xgetcwd): Likewise.
1196 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
1197 [__GNU__]: Add prototype.
1198 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
1199 long int using %ld rather than %d.
1200
871aa709
VS
12012013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 * util/grub-install.c: Inform user about install platform.
1204
2fa5a58c
VS
12052013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * configure.ac: Set version to 2.02~beta1.
1208
ee281fd0
AP
12092013-12-18 Allen Pais <allen.pais@oracle.com>
12102013-12-18 Bob Picco <bob.picco@oracle.com>
1211
1212 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
1213
2e238b37
VS
12142013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 Make grub_zlib_decompress handle incomplete chunks.
1217
1218 Fixes squash4.
1219
2984035e
VS
12202013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
1223 on i386-multiboot.
1224
b9f03772
AN
12252013-12-18 Aleš Nesrsta <starous@volny.cz>
1226
1227 * grub-core/disk/usbms.c: Retry on unknown errors.
1228 Reuse the same tag on retries.
1229
e3ef0d30
AN
12302013-12-18 Aleš Nesrsta <starous@volny.cz>
1231
1232 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
1233
1234 Avoid confusing them with already completed transfers.
1235
72c9a507
VS
12362013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 Remove xen VFB.
1239
1240 Due to XEN bug it prevents Linux boot. Remove it at least, until
1241 workaround is found.
1242
84455670
VS
12432013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * po/exclude.pot: Add 2 missing excludes.
1246
64dd5fdc
VS
12472013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 Add missing license section in macbless.mod and macho.mod.
1250
a29f317a
VS
12512013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 Allow compilation without thumb-interwork as long as no thumb is
1254 involved or only thumb2 is used.
1255
113f7869
VS
12562013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * INSTALL: Update comment as to why sparc64 clang isn't usable.
1259
eba2afed
VS
12602013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 Add __attribute__ ((sysv_abi)) only if it's really needed.
1263
1264 Some compilers don't support it.
1265
1962ed95
VS
12662013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
1269
c2be6f7e
VS
12702013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 Remove -Wold-style-definition.
1273
1274 Not very useful and interaction of it with regexp depends on GCC
1275 version.
1276
7a7f5238
VS
12772013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 Make grub_util_get_windows_path_real static.
1280
9246d5c8
VS
12812013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * grub-core/commands/fileXX.c: Silence cast-align.
1284 * grub-core/loader/i386/xen_fileXX.c: Likewise.
1285
b3aea1bc
VS
12862013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
1289 rather than LL suffix.
1290
bc8dd119
VS
12912013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1292
e8c360ca
VS
1293 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
1294
12952013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * grub-core/loader/arm/linux.c: Use common initrd functions.
bc8dd119 1298
57a691b7
VS
12992013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 Decrease number of strings to translate.
1302
74fa9417
VS
13032013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
1306
636977b0
VS
13072013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 Mark strings for translation and add remaining ones to exclude list.
1310
ee4450eb
VS
13112013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * util/grub-file.c (main): Fix sizeof usage.
1314
13152013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
a43b3e5d
VS
1316
1317 Silence spurious warning.
1318
ee4450eb 13192013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
81294aff
VS
1320
1321 Remove check_nt_hiberfil as it's been superseeded by file command.
1322
a99c0a32
VS
13232013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * docs/osdetect.cfg: Add isolinux config to detected OSes.
1326
8f5add13
VS
13272013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 Implement syslinux parser.
1330
8ff35d0a
VS
13312013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
1334
ba144760
VS
13352013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 Support cpuid --pae.
1338
daaa89db
VS
13392013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 Use AT keyboard on Yeeloong 3A.
1342
25a7863d
VS
13432013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 Add Yeeloong 3A reboot and halt.
1346
184c61dd
VS
13472013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 Add Radeon Yeeloong 3A support.
1350
fd4650a5
VS
13512013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 Add bonito 3A support.
1354
3e88fbfa
VS
13552013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
1358
1123bed9
VS
13592013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
1362
ebda165f
VS
13632013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * grub-core/loader/macho.c: Fix compilation on non-i386.
1366
fe7c20bf
VS
13672013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 Add missing format_arg attribute to check that printf with translated
1370 messages has proper arguments.
1371
f4dab3d1
VS
13722013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 Use grub_xasprintf to format translated error messages containing
1375 64-bit quantity.
1376
24d5934d
JM
13772013-12-17 Jon McCune <jonmccune@google.com>
1378
1379 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
1380
d6c2782a
VS
13812013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 Unify message for unsupported relocation.
1384
50d2e959
VS
13852013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 Mark miscompile error for translation.
1388
18e76955
VS
13892013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 Use %I64 and not %ll when using OS printf if compiling for windows.
1392
d218ec97
VS
13932013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 Update Mac code to match new register_efi prototype.
1396
b8765fa0
VS
13972013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 Implement better integration with Mac firmware.
1400
1f032575
VS
14012013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * grub-core/loader/multiboot_mbi2.c: Implement special value for
1404 load_addr.
1405
14829755
VS
14062013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 Include serial module in default_payload.elf.
1409
d45067a2
VS
14102013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 Add explicit thumb interwork bx in asm files.
1413
1414 Shouldn't matter for armv >= 5 but let's be safe.
1415
30861754
VS
14162013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 Implement Truecrypt ISO loader.
1419
e14d409b
VS
14202013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * grub-core/lib/arg.c: Ensure at least a single space between commands.
1423
ec824e0f
VS
14242013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 Implement grub_file tool and use it to implement generating of config
1427 in separate root.
1428
296f7606
VS
14292013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 Change to v1 xen grants.
1432
2c384f1e
VS
14332013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
1436
1437 GRUB relied on %ebx being preserved across hypercall which isn't true.
1438
d16ff589
VS
14392013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
1442
1443 GRUB relied on %rdi being preserved across hypercall which isn't true.
1444
71669c3b
VS
14452013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 Implement XEN VFB support.
1448
60d1dd3d
VS
14492013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 Remove grub_bios_interrupt on coreboot.
1452
1453 It's not used currently and cannot be used safely currently.
1454
a8201050
VS
14552013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 Update exclude.pot and mark few strings for translation.
1458
6cc89597
VS
14592013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
1462
1463 Reported by: Jon McCune
1464
840a2c05
AB
14652013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1466
1467 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1468 Add verbose information which firmware directories were tried.
1469
35248820
AB
14702013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1471
1472 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
1473 function to optionally redirect all three standard descriptors.
1474 Redefine grub_util_exec, grub_util_exec_redirect and
1475 grub_util_exec_redirect_null to use it.
1476 * include/grub/emu/exec.h: Define it.
1477 * include/grub/osdep/exec_unix.h: Delete, it is unused.
1478 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1479 Use grub_util_exec_redirect_all to redirect error to NULL.
1480
2a123f4c
VS
14812013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/tests/sleep_test.c: Silence spurious warning.
1484
316c8d9a
VS
14852013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
1488 linker trying to "fixup" the code.
1489
8fcce8d5
VS
14902013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * grub-core/kern/x86_64/xen/startup.S: Align stack.
1493
6f1f6a0c
VS
14942013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 Add support for converting PE+ to Elf64.
1497
66a07ce2
VS
14982013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
1501
cc6fb517
VS
15022013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 Remove practice of assigning random const pointers to device id.
1505
1506 This is not required as cache code already checks driver id as well.
1507
f009f07c
VS
15082013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
1511 with mingw.
1512
9fdec226
VS
15132013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * include/grub/efi/api.h: Don't use call wrappers when compiled with
1516 mingw or cygwin as API already matches.
1517
d87cb3ae
VS
15182013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
1521
3e38c31a
VS
15222013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
1525 not on long.
1526
f4171ebd
VS
15272013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 Handle X86_64_PC64 relocation.
1530
1531 Those are generated by some cygwin compilers.
1532
252a289c
VS
15332013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1534
1535 Determine the need for mingw-related stubs at compile time rather than
1536 using not very significant $target_os.
1537
23d2abc3
VS
15382013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
1541 may not work with ELF.
1542
4f979ccb
VS
15432013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 Use unix functions for temporary files and special files on cygwin.
1546
37378f74
VS
15472013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 Define functions explicitly rather than using --defsym in tests
1550 whenever possible. Respect locality in remaining cases.
1551
6a09d83e
VS
15522013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
1555
e477187b
AB
15562013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
1557
1558 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
1559 unlikely errors when getting EFI variables and make exhaustive search
1560 for all BootNNNN variables to find matching one.
1561
80b865bd
IC
15622013-12-15 Ian Campbell <ijc@hellion.org.uk>
1563
1564 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
1565
04b02857
VS
15662013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 New functional test for sleep function.
1569
1570 This test allows to check sleep without qemu. Keep qemu version as
1571 well as functional test won't notice if all clocks are going too fast
1572 or too slow.
1573
39711101
VS
15742013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 Add explicit sysv_abi on amd64 asm routines.
1577
d99af4f0
VS
15782013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
1581 num_table_entries.
1582
71043684
VS
15832013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
1586 functions.
1587
111bf5db
VS
15882013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
1591 appropriate.
1592
24ca71c9
VS
15932013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
1596
48ba5c0c
VS
15972013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
1600 appropriate.
1601
8ae67045
VS
16022013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
1605
1606 In case of quick removal of loopback and adding another one it may
1607 get same ID, confusing the cache system.
1608
ed559310
VS
16092013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
1612 appropriate.
1613
8fa26279
VS
16142013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
1617 than converting to long.
1618
6f5f3337
VS
16192013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
1622
e7c418c5
VS
16232013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
1626 than almost useless pointer.
1627
7e47e27b
VS
16282013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 Add gcc_struct to all packed structures when compiling with mingw.
1631
1632 Just "packed" doesn't always pack the way we expect.
1633
ae8159b9
VS
16342013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
1637
74e7ad66
VS
16382013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * util/grub-pe2elf.c: Fix handling of .bss.
1641
814442ba
VS
16422013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 Implement windows flavour of EFI install routines.
1645
5f5bb107
VS
16462013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
1649
a24725cc
VS
16502013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 Change grub_install_register_efi interface to pass GRUB device.
1653
1654 This allows grub_install_register_efi to request partition info
1655 directly.
1656
38933cee
VS
16572013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
1660
6d3cfe50
VS
16612013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 Do not use TCHAR string functions as they are not available on cygwin.
1664
4bad23a1
VS
16652013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 Workaround windows bug when querying EFI system partition parameters.
1668
6a5fe132
VS
16692013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
1672 by using bitfields.
1673
bc8fcf4b
VS
16742013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
1677
60b967be
VS
16782013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 Make i386-* other than i386-pc compileable under cygwin.
1681
6dc33377
VS
16822013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 Fix definition of grub_efi_hard_drive_device_path. Take care that
1685 existing code would work even if by some reason bogus definition is
1686 used by EFI implementations.
1687
f2c6ff15
VS
16882013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
1691
6b8a1625
VS
16922013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
1695 invocation.
1696
954c723a
VS
16972013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * util/config.c: Remove trailing newline from distributor in simple
1700 parsing.
1701
607a39f9
VS
17022013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * include/grub/efi/api.h: Rename protocol and interface to avoid
1705 conflict.
1706
df6fedca
VS
17072013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1708
ba584da1 1709 * .gitignore: add .exe variants. add missing files. remove few outdated
df6fedca
VS
1710 entries.
1711
f684d7e1
VS
17122013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * grub-core/osdep/exec.c: Use unix version on cygwin.
1715
0df77d79
VS
17162013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 Implement multiboot2 EFI BS specification.
1719
dafff9ce
VS
17202013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * grub-core/normal/charset.c: Fix premature line wrap and crash.
1723 Crash happened only in some cases like a string starting at the
1724 half of the screen of same length.
1725
6644d973
VS
17262013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
1729 with EFI counterpart.
1730
44bbfa33
VS
17312013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 Propagate the EFI commits to x86-efi specific parts.
1734
3e3dff24
VS
17352013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * grub-core/commands/efi/lssal.c: Fix terminating condition.
1738
316dda71
VS
17392013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 Introduce grub_efi_packed_guid and use it where alignment is not
1742 guaranteed.
1743
219401b8
VS
17442013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 * include/grub/efi/api.h (grub_efi_device_path): Define length as
1747 unaligned u16 rather than u8[2].
1748
30d00537
VS
17492013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
1752 for relocation range.
1753
979742bc
VS
17542013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
1757 non-function pcrel21b relocation. It happens with .text.unlikely
1758 section.
1759
16c8f785
LL
17602013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1761
1762 * make MAX_USABLE_ADDRESS platform-specific
1763 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
1764
3f1423e7
LL
17652013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1766
1767 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
1768
dd73313c
JM
17692013-12-09 Jon McCune <jonmccune@google.com>
1770
1771 * Add --no-rs-codes flag to optionally disable reed-solomon codes
1772 in grub-install and grub-bios-setup for x86 BIOS targets.
1773
eaf01c25
VS
17742013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 Add missing compile and link options for sparc64-emu.
1777
7a148da6
VS
17782013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 Implement sparc64 trampolines (needed for sparc64-emu).
1781
21eee750
VS
17822013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
1785 range of R_SPARC_HI22.
1786 Implement R_SPARC_LM22.
1787
7b54b626
VS
17882013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
1791 Do not explicitly check for symbol table as it's already checked in
1792 platform-independent layer.
1793
9a945e2a
VS
17942013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
1797 on ia64 as __clear_cache is a dummy on ia64.
1798
4f4ea1b4
VS
17992013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1802 Do not explicitly check for symbol table as it's already checked in
1803 platform-independent layer.
1804
fe4ae213
CW
18052013-12-09 Colin Watson <cjwatson@ubuntu.com>
1806
1807 * util/grub-mkconfig.in: Add missing newline to output.
1808
78b2b0a1
VS
18092013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
1812 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
1813
d14772c4
VS
18142013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
1817 compilation with GCC <= 4.2.
1818 * grub-core/kern/emu/argp_common.c: Likewise.
1819
388f3cd0
VS
18202013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
1823 right platform rather than leaking to sparc64-emu.
1824
11e4167a
VS
18252013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
1828 But ensure that the variables in question are indeed unsigned.
1829
fa7eb63d
VS
18302013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
1833
50b3a68d
VS
18342013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 Remove grub_memalign on emu.
1837
fbbfb6ab
VS
18382013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
1841 truncate incomplete lines but instead flushes them.
1842
a19293cb
VS
18432013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
1846 and implement windows variant.
1847
d5c14e1e
VS
18482013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 Fix mips-emu compilation.
1851
b75db69a
VS
18522013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * configure.ac: Check for freetype library usability.
1855
c311ced5
VS
18562013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 Make arm-emu work.
1859
c8fd2ddf
VS
18602013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
1863
c50e5f45
AB
18642013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1865
1866 * docs/grub.texi (Environment): Update color_normal and color_highlight
1867 defaults (light-gray instead of white).
1868
bb05e313
AB
18692013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1870
1871 * grub-core/normal/main.c (INIT): Set default color to light-gray
1872 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
1873 and apparently BIOS defaults.
1874
f23bc651
VS
18752013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 Transform -C option to grub-mkstandalone to --core-compress available
1878 in all grub-install flavours.
1879
4c4ea9c7
VS
18802013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 Merge GRUBFS and GRUB_FS variables.
1883
92e9352d
AB
18842013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1885
1886 Revert commit 69ca97c820, it caused failures when using OS device name
1887 in grub-install. Instead just strip off parenthesis in grub-install
1888 if (hdX) was passed.
1889
f585c905
AB
18902013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1891
1892 * util/grub-install.c (push_partmap_module): Add helper to convert
1893 partmap names to module names and use it in probe_mods(). Fixes
1894 failure to find partmap modules in diskfilter case.
1895
5ff24907
VS
18962013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * configure.ac: Make unifont mandatory on coreboot.
1899
0277eab7
VS
19002013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * configure.ac: Skip unifont 6.3 pcf and bdf.
1903
4861b6c8
VS
19042013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * Makefile.am: Remove partial font files if generation failed.
1907
3100cdc7
AB
19082013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1909
1910 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
1911 strings.
1912 * include/grub/util/misc.h: Define it ...
1913 * util/grub-install.c (device_map_check_duplicates): ... and use it.
1914
ad73cc33
AB
19152013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1916
1917 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
1918 ${grub_probe}.
1919
41822625
VS
19202013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 Don't add -mlong-calls when compiling with clang.
1923
896f483d
VS
19242013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * configure.ac: Fix a typo.
1927
8c534b85
VS
19282013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 Revamp relocation handling.
1931
1932 Move more code to common dl.c. Add missing veneers for arm and arm64.
1933 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
1934
a846dd4b
VS
19352013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
1938
aa437b58
MG
19392013-12-05 Mike Gilbert <floppym@gentoo.org>
1940
1941 * INSTALL: Raise minimum python version to 2.6.
1942 * gentpl.py: Use python3-style print function.
1943
b0f311f4
VS
19442013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * util/grub-install.c: Mention Boot* variable.
1947
59b38922
CW
19482013-12-05 Colin Watson <cjwatson@ubuntu.com>
1949
1950 * grub-core/osdep/linux/hostdisk.c
1951 (grub_util_find_partition_start_os): Initialise start to avoid
1952 spurious compiler warning.
1953
0480665b
CW
19542013-12-05 Colin Watson <cjwatson@ubuntu.com>
1955
1956 On Linux, read partition start offsets from sysfs if possible, to
1957 cope with block device drivers that don't implement HDIO_GETGEO.
1958 Fixes Ubuntu bug #1237519.
1959
1960 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
1961 function.
1962 (sysfs_partition_start): Likewise.
1963 (grub_util_find_partition_start_os): Try sysfs_partition_start
1964 before HDIO_GETGEO.
1965
bbeee1c4
LL
19662013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
1967
1968 * grub-core/kern/fdt.c: Update struct size when adding node.
1969
e5ed2f69
VS
19702013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 Handle unaligned .bss on sparc64.
1973
1974 Current code improperly assumes that both __bss_start and _end are
1975 aligned to 8-bytes. Eliminating this assumption and explicitly align
1976 modules.
1977
4a73746a
VS
19782013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
1981 so it doesn't land in the middle of loaded image.
1982
382b500e
VS
19832013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * configure.ac: Move all warning options that may be absent in
1986 gcc >= 3.1 to optional.
1987
1988 Note: while this allows to compile with older GCC, official requirements
1989 remain the same and no support for older GCC.
1990
3a82f8bb
CW
19912013-12-04 Colin Watson <cjwatson@ubuntu.com>
1992
1993 Copying the themes directory in grub-shell isn't
1994 parallel-test-friendly and breaks on the second test when the source
1995 directory is read-only (as in "make distcheck"). Instead, add a
1996 hidden --themes-directory option to grub-mkrescue et al, and use it
1997 in grub-shell.
1998
e3046431
VS
19992013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
2002 as it's no longer necessarry.
2003
bdb6090d
VS
20042013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * configure.ac: Allow compilation with older GCC for ARM.
2007
b73b70eb
VS
20082013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
2011 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
2012 ppc.
2013
8a3f0a24
VS
20142013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
2017
6f07c4e4
VS
20182013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 Pass font config to config.h and not by TARGET_CFLAGS as adding
2021 arguments doesn't work if TARGET_CFLAGS is specified on command
2022 line.
2023
60d5e9cb
VS
20242013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * configure.ac: Add -Wvla if compiler supports it.
2027
cd15c394
VS
20282013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
2031 Remove variable length arrays.
2032 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
2033
bb6e299c
VS
20342013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
2037
85eb579a
VS
20382013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * include/grub/types.h: Declare all byteswaps as inline functions
2041 except compile-time ones.
2042
2043 Solves variable shadowing in constructions like
2044 cpu_to_le (le_to_cpu(x) + 1).
2045
47f88cc9
VS
20462013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/kern/efi/efi.c: Remove variable length arrays.
2049
40b5739f
VS
20502013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
2053 minutes.
2054
234d9346
VS
20552013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
2058 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
2059
0c0eab52
CW
20602013-12-03 Colin Watson <cjwatson@ubuntu.com>
2061
2062 * grub-core/Makefile.core.def (setjmp): Distribute
2063 lib/arm64/setjmp.S.
2064
44d48847 20652013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
2066
2067 Add a new timeout_style environment variable and a corresponding
2068 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
2069 controls hidden-timeout handling more simply than the previous
2070 arrangements, and pressing any hotkeys associated with menu entries
2071 during the hidden timeout will now boot the corresponding menu entry
2072 immediately.
2073
2074 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
2075 generates a warning, and if it shows the menu it will do so as if
2076 the second timeout were not present. Other combinations are
2077 translated into reasonable equivalents.
2078
10955cda
CW
2079 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
2080
9e4e6ddf
VS
20812013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * util/config.c: Add missing pointer adjustment.
2084 Reported by: qwertial
2085
5037aa9a
AB
20862013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
2087
2088 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
2089 directly, not via `cpu' link, to fix libgrub.pp generation.
2090
8a952d20
VS
20912013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
2092
2093 New port arm64-efi.
2094
be0d4555
AB
20952013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
2096
2097 * docs/grub.texi (sleep): Document exit codes.
2098
d74b9a1d
VS
20992013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 Ensure that -mno-unaligned-access or some equivalent option is used.
2102
35de6d4b
VS
21032013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
2106 -march=armv3.
2107
ce55ed03
VS
21082013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
2111
8ddf84bf
CW
21122013-11-29 Colin Watson <cjwatson@ubuntu.com>
2113
2114 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
2115 builds, since we don't have an EPS version of font_char_metrics.png.
2116 Add leading dot to image extension per the Texinfo documentation.
2117
fd0df6d0
CW
21182013-11-29 Colin Watson <cjwatson@ubuntu.com>
2119
2120 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
2121 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
2122 * util/grub-gen-widthspec.c: Likewise.
2123 * util/grub-mkfont.c: Likewise.
2124
69ca97c8
AB
21252013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
2126
2127 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
2128 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
2129 failed to install on (hdX).
2130 * util/grub-setup.c (get_device_name): Remove, not needed after
2131 above change.
2132
eec893ae
VS
21332013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
2136
621e167f
VS
21372013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * util/grub-fstest.c: Remove variable length arrays.
2140
d54f647a
VS
21412013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * grub-core/osdep/linux/ofpath.c: Check return value of read.
2144
c8a0f1b2
VS
21452013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
2148 computing crc32 rather than handling with md fundtions directly.
2149
726409a5
VS
21502013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
2153 checking fwstart.img rather than md fundtions directly.
2154
422e6e88
VS
21552013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * util/grub-mkrescue.c (main): Check that fread succeeded.
2158
af1faca3
VS
21592013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * conf/Makefile.common: Remove -mexplicit-relocs and
2162 -DUSE_ASCII_FALLBACK on yeeloong.
2163
2164 -DUSE_ASCII_FALLBACK is already added by font snippets.
2165 -mexplicit-relocs isn't needed is compiler/assemblera are
2166 configured properly.
2167 If they're not we shouldn't attempt to fix it by ourselves.
2168 Binary compare between before and after shows no difference.
2169
469021b4
VS
21702013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
2173 sources in dependencies directly.
2174
2175 This was the only instance of "library" in core config. A bug was
2176 reported that -fno-stack-protector wasn't passed to it. Instead of
2177 figuring out why it failed just remove this construction used
2178 needlessly.
2179
83c256ba
VS
21802013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * grub-core/osdep/unix/password.c (grub_password_get): Check that
2183 fgets succeeded.
2184
b67422d3
FL
21852013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
2186
2187 * docs/grub.texi (ls): Fix command description in case of a device name
2188 passed as argument.
2189
2d76b4d8
VS
21902013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 Eliminate variable length arrays in grub_vsnprintf_real.
2193
2194 A bit tricky because this function has to continue to work without
2195 heap for short strings. Fixing prealloc to 32 arguments is reasonable
2196 but make all stack references use 32-bit offset rather than 8-bit one.
2197 So split va_args preparsing to separate function and put the prealloc
2198 into the caller.
2199
4f954122
VS
22002013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
2203 Fixes build for windows.
2204
b1f742c1
VS
22052013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * gentpl.py: Don't generate platform-dependent conditionals for
2208 platform-independent targets.
2209
16ef26fd
CW
22102013-11-27 Colin Watson <cjwatson@ubuntu.com>
2211
2212 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
2213 references to mdadm from otherwise generic code.
2214 (grub_util_exec_pipe): Likewise.
2215 (grub_util_exec_pipe_stderr): Likewise.
2216 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
2217 This function calls vgs, not mdadm; adjust variable names
2218 accordingly.
2219
cf8c80ff 22202013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
2221
2222 Generate Makefile.*.am directly from gentpl.py, eliminating the use
2223 of Autogen. The Autogen definitions files remain intact as they
2224 offer a useful abstraction.
2225
5c7206e4
CW
22262013-11-27 Colin Watson <cjwatson@ubuntu.com>
2227
2228 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
2229 into no-ops, and use it in programs that copy files but do not need
2230 to take special care to sync writes (grub-mknetdir, grub-rescue,
2231 grub-mkstandalone).
2232
fc3f2b72
CW
22332013-11-26 Colin Watson <cjwatson@ubuntu.com>
2234
2235 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
2236 than hardcoding /usr/local/bin/xorriso.
2237
1e4b3587
VS
22382013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 Add PCI command activation to all PCI drivers as required for coreboot
2241 and maybe some other firmwares.
2242
9208367d
VS
22432013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
2246 and non-Apple variants of efiemu compile.
2247
67b9b7af
AB
22482013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
2249
2250 * configure.ac: Add explicit check for linking format of
2251 efiemu64; save it as EFIEMU64_LINK_FORMAT.
2252 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
2253 hardcoding linking format.
2254
bee1b5ce
VS
22552013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
2258 and not pkgdatadir.
2259
07e3b047
CW
22602013-11-25 Colin Watson <cjwatson@ubuntu.com>
22612013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 Add a --locale-directory option to grub-install and related tools.
2264
2265 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
2266 --locale-directory option.
2267 (enum grub_install_options): Add
2268 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2269 * util/grub-install-common.c (grub_install_help_filter): Handle
2270 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2271 (grub_install_parse): Likewise.
2272 (get_localedir): New function to check for a user-provided option
2273 before trying grub_util_get_localedir.
2274 (copy_locales): Use get_localedir rather than
2275 grub_util_get_localedir. Handle differing locale directory layouts.
2276 (grub_install_copy_files): Likewise.
2277
61e1b9a4
VS
22782013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
2281 Don't rely on PATH_MAX.
2282
c98dd165
VS
22832013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * grub-core/genmoddep.awk: Use more portable && rather than and.
2286
ff1c277e
VS
22872013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
2290 an object after data. While it doesn't seem right solution, it
2291 works well enough and OSX isn't main compilation platform.
2292
c8f7614b
VS
22932013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
2296 While it doesn't seem right solution, it works well enough and
2297 OSX isn't main compilation platform.
2298
246a434f
VS
22992013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * configure.ac: Add -static to LDFLAGS when using apple linker to
2302 prevent it from pulling in dynamic linker.
2303
5c066a81
VS
23042013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 Apple assembly doesn't handle symbol arithmetic well. So define an
2307 offset symbol in boot.S and use it.
2308
78f961ef
VS
23092013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 Apple assembly doesn't handle symbol arithmetic well. So instead
2312 of getting addres of kernel_sector + 4 define kernel_sector_high.
2313 It also makes code more readable.
2314
09bc0a57
VS
23152013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 With Apple assembly in .macro environvemnt you have to use $$ instead
2318 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
2319 to $$x on Apple and to $x on everything else.
2320
b700a427
VS
23212013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
2324 OBJCONV.
2325
4480b95d
VS
23262013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
2329 and non-Apple. This instruction is shorter and faster,
2330 so no reason not to use it on both.
2331
e77c81f6
VS
23322013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
2335 .text when compiling for Apple.
2336
971dbee5
VS
23372013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * grub-core/term/arc/console.c: Add missing cast to silence warning.
2340
6f2e82be
VS
23412013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
2344 %dx restore the probe worked on non-existant drive. Reorganize the
2345 code a little bit to free 2 bytes necessary for push/pop.
2346
9eec9699
VS
23472013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2350 Add missing cast to silence warning.
2351
5ae5c54c
KPA
23522013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
2353
2354 * util/grub-install.c (update_nvram): Support --no-nvram flag
2355 for EFI targets.
2356
7b04fe6c
VS
23572013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
2360
e67566ce
VS
23612013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * util/garbage-gen.c: Add missing include of sys/time.h.
2364
f93ddcfd
VS
23652013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 Don't add -mflush-func if it's not supported by compiler.
2368
1bba40f5
VS
23692013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 Move common BIOS/coreboot memory map declarations to
2372 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
2373
f65e14dc
AB
23742013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
2375
2376 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
2377
14a94bba
VS
23782013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * INSTALL: Document why older clang versions aren't appropriate.
2381
8109c5d4
VS
23822013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * INSTALL: Document about clang for mips.
2385
a92b5cb8
VS
23862013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
2389 clang.
2390
4a23e2fe
VS
23912013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 Add *-xen to the list of grub-install-common platforms.
2394
a3ba7410
VS
23952013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
2398 3 last commits.
2399
e1c22419
VS
24002013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
2403
189090ce
VS
24042013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
2407 with -mcmodel=large.
2408
1a5b7b40
VS
24092013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
2412 range-checking for 32-bit quantities.
2413
9cf12b20
VS
24142013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * configure.ac: Compile with -fPIC when compiling with clang on
2417 mips.
2418
63a45330
VS
24192013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
2422 when compiling with clang.
2423
4a0aaad0
VS
24242013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 clang emits calls to abort () under some unknown conditions.
2427 Export abort () when compiling with clang.
2428
095bb1bf
VS
24292013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * docs/grub-dev.texi: Document stack and heap sizes.
2432
3937bd96
VS
24332013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * include/grub/i386/pc/memory.h: Decrease
2436 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
2437 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
2438 The binary doesn't change (checked). It's more to better reflect actual
2439 usage.
2440
ddb3efc9
VS
24412013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
2444 at compile time that enough of scratch size is available.
2445
4e42521d
VS
24462013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
2449 Previously we misaligned stack by 8 in startup.S and compensated
2450 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
2451 right behaviour is to align stack in startup.S and keep it aligned
2452 in callwrap.S. startup.S part was committed few commits before. This
2453 takes care of callwrap.S.
2454 Reported by: Gary Lin.
2455
054efe54
VS
24562013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
2459 .data and .bss. May happen if compiler and assembly use different
2460 alignment.
2461
a0e1befb
VS
24622013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 On MIPS handle got16 relocations to local symbols in an ABI-compliant
2465 way.
2466
c36c73f6
VS
24672013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 Add support for a new magic symbol _gp_disp on mips to handle PIC
2470 binaries.
2471
6f4a19f5
VS
24722013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 Use $t9 for indirect calls from asm to C as PIC ABI requires.
2475
0d8f04cd
VS
24762013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
2479 when rest of GRUB is compiled for hisher stepping. Instead use
2480 .set mips3/.set mips1 around cache and sync opcodes.
2481
49060520
VS
24822013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
2485 do essentially the same thing, do it in similar way.
2486
c6a823e2
CW
24872013-11-21 Colin Watson <cjwatson@ubuntu.com>
2488
2489 * util/grub-mkrescue.c (main): If a source directory is not
2490 specified, read platform-specific files from subdirectories of
2491 pkglibdir, not pkgdatadir.
2492
b7f9aedf
CW
24932013-11-21 Colin Watson <cjwatson@ubuntu.com>
2494
2495 * grub-core/normal/progress.c: Remove unused file.
2496
7dd0a303
VS
24972013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
2500 array.
2501
ca120e31
VS
25022013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
2505 than grub.cfg.
2506
48eb35cd
VS
25072013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * coreboot.cfg: Add missing file.
2510
7f20dbbc
VS
25112013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * Makefile.am: Allow STRIP to be empty when creating windowszip.
2514
55e706c9
AK
25152013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
2516
2517 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
2518 selectively skipping systems.
2519
4e7d433d
CW
25202013-11-19 Colin Watson <cjwatson@ubuntu.com>
2521
2522 * Makefile.util.def (grub-mkimage): Add
2523 grub-core/osdep/aros/config.c to extra_dist.
2524 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
2525 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
2526 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
2527 grub-core/gnulib-no-gets.diff.
2528
7d44ff7d
VS
25292013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 Add automated filesystem checking based on scripts I've used now for
2532 quite some time locally. Most of the test require root so they are
2533 skipped when run without necessarry privelegies.
2534
a8c3e5e3
CW
25352013-11-19 Colin Watson <cjwatson@ubuntu.com>
2536
2537 * util/grub-install.c (main): Adjust info messages to match
2538 installed paths of grub-bios-setup and grub-sparc64-setup.
2539
4402db3e
CW
25402013-11-19 Colin Watson <cjwatson@ubuntu.com>
2541
2542 * util/grub-install-common.c (copy_locales): Consistently use
2543 grub_util_get_localedir () rather than LOCALEDIR.
2544 (grub_install_copy_files): Likewise.
2545
7960d3e1
JT
25462013-11-19 Josh Triplett <josh@joshtriplett.org>
2547
2548 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
2549 16-byte boundary, as required by the x86-64 ABI, before calling
2550 grub_main. In some cases, GCC emits code that assumes this
2551 alignment, which crashes if not aligned. The EFI firmware is also
2552 entitled to assume that stack alignment without checking.
2553
d53f4900
JT
25542013-11-18 Josh Triplett <josh@joshtriplett.org>
2555
2556 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
2557 4k page boundaries as expected by firmware rather than 1k
2558 boundaries.
2559 (grub_mmap_malign_and_register): Likewise.
2560
bb2b275b
VS
25612013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
2564 fragmentation 512M is enough.
2565
45bf8b3a
VS
25662013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
2569 pointer to 32K. This is the size of cache element which is the most
2570 common allocation >1K. This way the pointer is always around blocks
2571 of 32K and so we keep performance while decreasing fragmentation.
2572
39ff43c5
VS
25732013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
2576 current memory when allocating large chunks. This significantly
2577 decreases memory fragmentation.
2578
60870be8
CW
25792013-11-18 Colin Watson <cjwatson@ubuntu.com>
2580
2581 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
2582 but for symmetry).
2583 * tests/lzocompress_test.in: Skip if lzop is not installed.
2584 * tests/xzcompress_test.in: Skip if xz is not installed.
2585
a1f00cc5
CW
25862013-11-18 Colin Watson <cjwatson@ubuntu.com>
2587
2588 * util/grub-mkrescue.c (main): Fix typo.
2589
74e632fe
VS
25902013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
2593 clock frequency to 200 MHz,
2594
efb8de49
VS
25952013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * tests/util/grub-shell.in: Increase console size to 1024x1024.
2598
b7526e78
VS
25992013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * Makefile.am (default_payload.elf): Add pata to loaded modules.
2602 Load config file from (cbfsdisk)/etc/grub.cfg.
2603
b40ce651
VS
26042013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * util/grub-install-common.c (grub_install_copy_files): Fix module
2607 destination directory.
2608
1e8e2e78
CW
26092013-11-18 Colin Watson <cjwatson@ubuntu.com>
2610
2611 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
2612 files have not been built.
2613
3bf4088b
CW
26142013-11-18 Colin Watson <cjwatson@ubuntu.com>
2615
2616 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
2617 Handle errors from mkstemp.
2618 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
2619
35c2851c
VS
26202013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
2623 on primary master on pseries.
2624
ea7c1a7d
VS
26252013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
2628 already loaded. This saves memory needed for tests,
2629
96adefdb
VS
26302013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
2633 work again.
2634
5e3cb8a7
VS
26352013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
2638 work again.
2639
256ee7ac
VS
26402013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
2643 master since with some combinations of qemu and firmware only primary
2644 IDE channel is available.
2645
f8b4c3b6
VS
26462013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
2649 low-memory platforms where we don't have enough memory for them.
2650 * grub-core/tests/videotest_checksum.c: Likewise.
2651
4bf70320
VS
26522013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
2655 already loaded. This saves memory needed for tests,
2656
a284320e
VS
26572013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 Fix handling of install lists.
2660
2df8f43d
VS
26612013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
2664
6f1bc8bc
VS
26652013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 On i386-ieee1275 we run in paged mode. So we need to explicitly map
2668 the devices before accessing them.
2669
04f39f6d
VS
26702013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
2673 as file argument.
2674
35d4761c
VS
26752013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
2678
33d02a42
VS
26792013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
2682 (grub_file_close): Free file->name.
2683
7bbb60cf
VS
26842013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * grub-core/commands/verify.c (free_pk): Plug memory leak.
2687 (grub_load_public_key): Likewise.
2688 (grub_verify_signature_real): Likewise.
2689 (grub_cmd_verify_signature): Likewise.
2690
da93d675
VS
26912013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
2694 memory leak.
2695
59c943ec
VS
26962013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
2699 (grub_longjmp): Restore r31.
2700 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
2701
4336b5d8
VS
27022013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
2705 modules to be in line with make_image_abs.
2706
44ce3a93
VS
27072013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
2710
2711 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
2712
7d400406
IC
27132013-11-17 Ian Campbell <ijc@hellion.org.uk>
2714
2715 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
2716
77dae919
VS
27172013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
2720 to leave some memory to firmware.
2721
0ab8e025
VS
27222013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
2725 of loading gfxterm as gfxterm is embed in kernel on some platforms.
2726 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
2727 Load gfxmenu.
2728
b80c2d6d
VS
27292013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
2732 now needs full arguments.
2733
6aa6077b
VS
27342013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * util/grub-mkrescue.c (main): Add trailing \n in
2737 .disk_label.contentDetails to be in line with previous shell script.
2738
66c00cb1
VS
27392013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
2742
3a129dba
VS
27432013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 * util/grub-install-common.c (grub_install_parse): Recognize
2746 --compress=none like shell script did.
2747
8df6eff6
VS
27482013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * include/grub/misc.h: Replace check for __sparc64__ with one for
2751 __sparc__ as __sparc64__ isn't actually defined.
2752
889ebe92
VS
27532013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
2756 counterpart of fixing the naming of escc ports.
2757
d4d55b29
VS
27582013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * util/grub-install-common.c (platforms): Fix the order of entries and
2761 remove useless field val.
2762
55e2c84f
VS
27632013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * util/grub-install.c: Add new option --no-bootsector to skip
2766 installing of bootsector. Accept --grub-setup=/bin/true as
2767 backwards-compatible synonym.
2768
cd46aa6c
VS
27692013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2770
2771 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
2772 order of qsort arguments (number of elements vs. element size).
2773
27742013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
2777 the function of these files exceeds what can be sanely handled in shell
2778 in posix-comaptible way. Also writing it in C extends the functionality
2779 to non-UNIX-like OS and minimal environments.
2780
9ef81064
VS
27812013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
2784 compiling to thumb2.
2785 * grub-core/kern/arm/cache_armv7.S: Likewise.
2786 * grub-core/lib/arm/setjmp.S: Likewise.
2787
11a77932
LL
27882013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2789
2790 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
2791 in grub_uboot_syscall
2792
080603f0
VS
27932013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 Decrease stack usage in lexer.
2796
2797 We have only 92K of stack and using over 4K per frame is wasteful
2798
2799 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
2800 as macros so that compiler would remove useless structure on stack.
2801 Better solution would be to fix flex not to put this structure on
2802 the stack but flex is external program.
2803
4f84ae0e
VS
28042013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 Decrease stack usage in signature verification.
2807
2808 We have only 92K of stack and using over 4K per frame is wasteful
2809
2810 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
2811 rather than stack.
2812 (grub_verify_signature_real): Likewise.
2813
e6a6182d
VS
28142013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 Decrease stack usage in mdraid 0.9x.
2817
2818 We have only 92K of stack and using over 4K per frame is wasteful
2819
2820 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
2821 rather than stack.
2822
1a454efe
VS
28232013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 Decrease stack usage in BtrFS.
2826
2827 We have only 92K of stack and using over 4K per frame is wasteful
2828
2829 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
2830 rather than stack.
2831
7b5d51d8
VS
28322013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 Decrease stack usage in JFS.
2835
2836 We have only 92K of stack and using over 4K per frame is wasteful
2837
2838 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
2839 stack. Note: this function is recursive.
2840 (grub_jfs_read_inode): Read only part we care about.
2841
593865b9
LL
28422013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2843
2844 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
2845 handling
7b5d51d8 2846
31c0cd43
AB
28472013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2848
2849 * configure.ac: Restore -nostdlib for libgcc symbols tests.
2850
c2fdb331
AB
28512013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2852
2853 * docs/grub.texi (Environment): Document cmdpath.
2854
9e18dfe2
AB
28552013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2856
2857 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2858 Remove "unused" attribute from arguments, they are used.
2859
59ba9d14
CW
28602013-11-15 Colin Watson <cjwatson@debian.org>
2861
2862 * .gitignore: Only ignore grub-mk* at the top level.
2863
23012db9
CW
28642013-11-15 Colin Watson <cjwatson@ubuntu.com>
2865
2866 * util/grub-reboot.in (usage): Fix a typo.
2867
6fcec439
VS
28682013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 Replace libgcc version of ctz with our own.
2871
2872 On upcoming arm64 port libgcc ctz* are not usable in standalone
2873 environment. Since we need ctz* for this case and implementation is
2874 in C we may as well use it on all concerned platforms.
2875
a9f25a08
VS
28762013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * configure.ac: Probe for linking format rather than guessing it based
2879 on target_os.
2880
c7995256
VS
28812013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
2884 "1" prior to handoff.
2885
2886 Reported by: M A Young.
2887
e1aa5b66
VS
28882013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
2891 \0 to all files.
2892
2893 Reported by: M A Young.
2894
da5ed5cf
VS
28952013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
2898 compilation on NetBSD.
2899
5757a93e
VS
29002013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * acinclude.m4: Don't add -P on initial nm test.
2903
2904 Note: even though this patch postdates Andrey's it bears 14 Nov as
2905 date due to timezone difference.
2906
a5986276
AB
29072013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
2908
2909 * grub-core/Makefile.core.def (signature_test): Add missing
2910 tests/signatures.h.
2911
0de172a0
CW
29122013-11-14 Colin Watson <cjwatson@ubuntu.com>
2913
2914 * util/grub-install_header: Set localedir here, since this file is
2915 where it's used.
2916 * util/grub-install.in: Remove setting of localedir.
2917 * util/grub-mkrescue.in: Likewise.
2918
da45f43c
VS
29192013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
2922
20aea949
VS
29232013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * configure.ac: Move nm checks to the end.
2926 Call grub_PROG_NM_WORKS.
2927 * acinclude.m4: New check grub_PROG_NM_WORKS.
2928 Use $TARGET_CFLAGS -c when compiling test binary.
2929
1326b9ae
CW
29302013-11-14 Colin Watson <cjwatson@ubuntu.com>
2931
2932 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
2933 unused variables.
2934
1fe26ab4
MG
29352013-11-14 Matthew Garrett <mjg@redhat.com>
2936
2937 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
2938 cmdpath to firmware directory.
2939
83e9c273
VS
29402013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
2943 at the start of second iteration.
2944
ec525c18
VS
29452013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
2948
93fcc7ad
VS
29492013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * Makefile.am (default_payload.elf): New target for easier coreboot
2952 build.
2953
57ffe934
VS
29542013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
2957 clang (not necessarry with -no-integrated-as).
2958 * include/grub/symbol.h [__arm__]: Likewise.
2959
2312f06c
VS
29602013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * configure.ac: Use -no-integrated-as on arm with clang.
2963 * INSTALL: Mention ARM compilation with clang.
2964
2416415c
VS
29652013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
2968 -mthumb-interwork.
2969
5da55172
CW
29702013-11-14 Colin Watson <cjwatson@ubuntu.com>
2971
2972 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
2973 code for indirect block handling.
2974
2975 Saves 185 bytes on compressed image.
2976
da770328
PFS
29772013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2978
2979 Fix make clean.
2980
2981 * Makefile.am: Remove build-grub-* in make clean.
2982
f02e6b56
PFS
29832013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2984
2985 New files to gitignore.
2986
2987 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
2988 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
2989
035a26c1
LL
29902013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2991
2992 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
2993
bc8a6137
LL
29942013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2995
2996 * .gitignore: fix rules for .dep* and add *.a post git migration
2997
6fe506b0
CW
29982013-11-13 Colin Watson <cjwatson@ubuntu.com>
2999
3000 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
3001 to match INSTALL.
3002
81a2e438
CW
30032013-11-13 Colin Watson <cjwatson@ubuntu.com>
3004
3005 * grub-core/kern/misc.c: Don't redirect divisions in the
3006 GRUB_UTIL case.
3007 * include/grub/misc.h: Likewise.
3008
9b45c073
CW
30092013-11-13 Colin Watson <cjwatson@ubuntu.com>
3010
3011 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
3012 systems that require checking the return value of write.
3013
11b2a9b7
CW
30142013-11-13 Colin Watson <cjwatson@ubuntu.com>
3015
3016 * util/grub-install.in (efi_quiet): Fix inverted logic: make
3017 efibootmgr quiet when --debug is not used, rather than when it is.
3018
d743d22d
CW
30192013-11-13 Colin Watson <cjwatson@ubuntu.com>
3020
3021 * gentpl.py (define_macro_for_platform_dependencies): Remove
3022 first (and thus unused) of two definitions for this function.
3023 (platform_dependencies): Likewise.
3024
11da14b5
CW
30252013-11-13 Colin Watson <cjwatson@ubuntu.com>
3026
3027 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
3028 functions, we only need to check this for the target, not the host.
3029 * configure.ac (grub_apple_cc): Likewise.
3030
2bdd0719
VS
30312013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
3034 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
3035 asm to stay in arm even if surrounding is thumb.
3036
5e77d9cf
VS
30372013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
3040 helper functions are needed for thumb.
3041
7d511625
VS
30422013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
3045 level / 3 division explicitly unsigned. Saves few bytes.
3046
81023dbd
VS
30472013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
3050
b2e9294f
VS
30512013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
3054 division.
3055
16a22c38
VS
30562013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
3059 grub_uboot_boot_data to asm part.
3060
c9cd02c9
VS
30612013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
3064 literal load.
3065 (grub_uboot_syscall): Save/restore r9 and align stack.
3066
81498615
VS
30672013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
3070
ea57de18
VS
30712013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
3074 occurencies with END.
3075
d0d1e3da
CW
30762013-11-13 Colin Watson <cjwatson@ubuntu.com>
3077
3078 * util/grub-editenv.c (help_filter, argp): Document how to delete
3079 the whole environment block.
3080 Reported by Dan Jacobson. Fixes Debian bug #726265.
3081
3809f016
CW
30822013-11-13 Colin Watson <cjwatson@ubuntu.com>
3083
3084 * docs/grub.texi (Internationalisation, Supported kernels): Fix
3085 sectioning.
3086
46d8a203
JT
30872013-11-13 Josh Triplett <josh@joshtriplett.org>
3088
3089 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
3090 increment/decrement.
3091
513eeb61
VS
30922013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
3095 compiling with clang.
3096
bc379c1a
VS
30972013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
3100 ".".
3101
31022013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 3103
16057d6b
VS
3104 Redirect all divisions to grub_divmod64.
3105
f649a6a8
VS
31062013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
3109
ef28ee8b
VS
31102013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 Add missing includes of loader.h.
3113
300f48c5
VS
31142013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * configure.ac: Allow disabling themes.
3117
2d357558
LS
31182013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
3119
3120 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
3121
0c62a5b2
VS
31222013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
3125 until it becomes operational.
3126
b0720b49
VS
31272013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/Makefile.core.def (legacy_password_test): Disable
3130 on platforms where no legacycfg is compiled.
3131 * grub-core/tests/lib/functional_test.c: Tolerate failure to
3132 load legacy_password_test.
3133
d5bab2c0
VS
31342013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
3137
3ea0ccb3
VS
31382013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 * grub-core/efiemu/prepare.c: Remove variable length arrays.
3141
08772054
VS
31422013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
3145 strict-aliasing warning.
3146 (fsync): Silence cast warning.
3147
1dcb2715
VS
31482013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/commands/verify.c: Remove variable length arrays.
3151 Load gcry_dsa/gcry_rsa automatically.
3152
61c22fdf
VS
31532013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * grub-core/tests/signature_test.c: New test.
3156
431e57a7
VS
31572013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
3160 API.
3161
b521bb81
VS
31622013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * grub-core/tests/legacy_password_test.c (vectors): Make static.
3165 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
3166
7d06b24e
VS
31672013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
3170
3bbeade4
VS
31712013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/fs/proc.c: Allow \0 in proc files.
3174
ba82db7a
VS
31752013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
3178
801564c8
VS
31792013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
3182
ac8cac1d
VS
31832013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/fs/ext2.c: Remove variable length arrays.
3186
4b85f122
VS
31872013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
3190 length arrays.
3191
c35fcdc0
VS
31922013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
3195 * grub-core/disk/cryptodisk.c: Likewise.
3196 * grub-core/disk/geli.c: Likewise.
3197 * grub-core/disk/luks.c: Likewise.
3198
15decd26
VS
31992013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/tests/legacy_password_test.c: New test.
3202 * grub-core/commands/legacycfg.c: Remove variable length arrays.
3203
9c6482b8
VS
32042013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
3207
41f26e0e
VS
32082013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * grub-core/tests/pbkdf2_test.c: New test.
3211
2def6616
VS
32122013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
3215
9e34a34e
VS
32162013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * grub-core/io/lzopio.c: Remove variable length arrays.
3219
5ccaf904
VS
32202013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 * include/grub/crypto.h: Add maximums on hash size and cipher block
3223 size.
3224
44a387e0
VS
32252013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
3228
a388e255
VS
32292013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * grub-core/tests/xnu_uuid_test.c: New test.
3232
a1ef7718
VS
32332013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
3236 covers it).
3237
65ddb300
VS
32382013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * grub-core/commands/hashsum.c: Remove variable length arrays.
3241
31747dd5
VS
32422013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
3245 condition.
3246 * tests/grub_func_test.in: Increase memory allocation.
3247
6a74c4df
VS
32482013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
3251 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
3252 sys/mount.h.
3253
394c3e0a
VS
32542013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
3257 (grub_util_get_fd_size_os): ...this.
3258 (grub_hostdisk_flush_initial_buffer): New empty function.
3259
60d31116
VS
32602013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 * grub-core/gensyminfo.sh.in: Handle the case of portable output
3263 without --defined-only.
3264
8445b011
VS
32652013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
3268 rip-relative addressing in prologue.
3269
8506a641
VS
32702013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
3273 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
3274
66acd9d6
VS
32752013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
3278 Add missing semicolon.
3279
348d0535
VS
32802013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
3283
0d2d30bb
VS
32842013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * configure.ac: Check for lzma.h for enabling liblzma and allow
3287 manual disabling.
3288
631187be
VS
32892013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 Add missing includes of loader.h.
3292
e756ec82
FZ
32932013-11-11 Fam Zheng <famcool@gmail.com>
3294
3295 * util/grub.d/30_os-prober.in: Add minix entry.
3296
87d62d7d
VS
32972013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
3300 right buffer for temporary load.
3301
5460cfeb
VS
33022013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
3305
89977306
VS
33062013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
3309 payload.
3310
3617c59b
VS
33112013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
3314 not Types.h.
3315 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
3316 environment.
3317 (LzmaDec_InitDicAndState): Make static.
3318
881c6a10
VS
33192013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
3322
2024ade2
VS
33232013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
3326
3327 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
3328
674ad4f6
VS
33292013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 * docs/grub-dev.texi: Replace bzr references with git ones.
3332
5b99970e
AB
33332013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3334
3335 * docs/grub.texi (Simple configuration): Remove reference to
3336 grub-reboot from saved default entry description - grub-default
3337 does not use it anymore.
3338
3c2304d5
VS
33392013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * configure.ac: Make efiemu test cflags match the cflags efiemu is
3342 compiled with.
3343
80cfd940
AB
33442013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3345
3346 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
3347
33690255
VS
33482013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 Fix grub_machine_fini bitrot.
3351
3352 Reported by: Glenn Washburn.
3353
c61471fc
VS
33542013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
3357
54da019f
VS
33582013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
3361 -DELF.
3362 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
3363 instead of ELF*.
3364
33652013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
3366
3367 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
3368 Add -march=core2 when testing compile of efiemu64.
3369
3370 Thanks Andrey Borzenkov for spotting this.
3371
9612ebc0
VS
33722013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
3375 XEN PV environment and load kernels.
3376
1a46a3a4
VS
33772013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
3380 * grub-core/loader/multiboot_mbi2.c: Likewise.
3381
2df12551
VS
33822013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
3385 handling.
3386
3c980381
VS
33872013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
3390
3391 Tested by: Denis 'GNUtoo' Carikli.
3392
800f63d3
VS
33932013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
3396
9f8acdaa
VS
33972013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3398
5620eb53
VS
3399 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
3400 Use to get rounded angle rather than truncated.
3401
34022013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
3405 RTS/CTS flow control.
3406
2dc1eb6c
VS
34072013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
3410 divisions.
3411
b9563c94
VS
34122013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
3415 Use grub_fatal rather than divide by zero.
3416 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
3417
d6d8e9a9
VS
34182013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
3421 truncate.
3422 (grub_fixed_fsf_divide): Likewise.
3423
d06de6c8
VS
34242013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
3427 division by-zero and senseless negative divisions.
3428
6af7d49b
VS
34292013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
3432 division by-zero and senseless negative divisions.
3433 (circprog_set_property): Don't accept negative num_ticks.
3434
bcfa6d72
VS
34352013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
3438 division by-zero and senseless negative divisions.
3439
dd7f792c
VS
34402013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * configure.ac: Use elf_*_fbsd on kfreebsd.
3443
d061fda7
VS
34442013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/tests/div_test.c: New test.
3447
4db22500
VT
34482013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3449
3450 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
3451 * grub-core/gfxmenu/gui_canvas.c: Likewise.
3452 * grub-core/gfxmenu/view.c: Likewise.
3453 * grub-core/video/fb/video_fb.c: Introduce new functions:
3454 grub_video_set_area_status, grub_video_get_area_status,
3455 grub_video_set_region, grub_video_get_region.
3456 * grub-core/video/bochs.c: Likewise.
3457 * grub-core/video/capture.c: Likewise.
3458 * grub-core/video/video.c: Likewise.
3459 * grub-core/video/cirrus.c: Likewise.
3460 * grub-core/video/efi_gop.c: Likewise.
3461 * grub-core/video/efi_uga.c: Likewise.
3462 * grub-core/video/emu/sdl.c: Likewise.
3463 * grub-core/video/radeon_fuloong2e.c: Likewise.
3464 * grub-core/video/sis315pro.c: Likewise.
3465 * grub-core/video/sm712.c: Likewise.
3466 * grub-core/video/i386/pc/vbe.c: Likewise.
3467 * grub-core/video/i386/pc/vga.c: Likewise.
3468 * grub-core/video/ieee1275.c: Likewise.
3469 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
3470 * include/grub/video.h: Likewise.
3471 * include/grub/video_fb.h: Likewise.
3472 * include/grub/fbfill.h: Updated render_target structure.
3473 grub_video_rect_t viewport, region, area
3474 int area_offset_x, area_offset_y, area_enabled
3475 * include/grub/gui.h: New helper function
3476 grub_video_bounds_inside_region.
3477 * docs/grub-dev.texi: Added information about new functions.
3478
c6b755df
VS
34792013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
3482 for alignment.
3483
e2a68100
VS
34842013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
3487 missing attribute.
3488 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
3489
c4f11a2a
VS
34902013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
3493 simple division on arm and ia64.
3494
e0a7bffa
VS
34952013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3496
3497 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
3498 link with libgcc.
3499
38b864ea
VS
35002013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
3503
12359faf
VS
35042013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
3507 prefix symbol, not @.
3508
9fdc64a9
VS
35092013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * INSTALL: Add note about older gcc and clang.
3512
665c575b
VS
35132013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
3516
47dcf7b1
VS
35172013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
3520 NULL pointer dereference.
3521
d59849b2
VS
35222013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
3525 clang.
3526
7a3f4a18
VS
35272013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
3530 warnings.
3531
7f084087
VS
35322013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
3535 function.
3536 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
3537 * grub-core/disk/geli.c (ascii2hex): Likewise.
3538
d5524ca8
VS
35392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 * configure.ac: Run linker tests without -Werror.
3542 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
3543 Change all occurences of -static-libgcc resp -lgcc to
3544 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
3545
390cd7ca
VS
35462013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
3549
60375a88
VS
35502013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 Allow compiling with clang (not really supported though).
3553
3554 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
3555 unconditionally.
3556 * configure.ac: Add -no-integrated-as when using clangfor asm files.
3557 Add -mrtd -mregparm=3 on i386 when not using clang.
3558 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
3559
dd07e0c4
VS
35602013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
3563 bindings.
3564 * grub-core/lib/reed_solomon.c: Likewise.
3565 * include/grub/i386/gdb.h: Likewise.
3566 * include/grub/i386/pc/int.h: Likewise.
3567 * include/grub/i386/pc/pxe.h: Likewise.
3568 * include/grub/ieee1275/ieee1275.h: Likewise.
3569
9d3ae8ec
VS
35702013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 Import libgcrypt 1.5.3.
3573
c12936c5
VS
35742013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * configure.ac: Don't add -Wcast-align on x86.
3577
cdc17f60
VS
35782013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * configure.ac: Add -freg-struct-return on all platforms that
3581 support it.
3582
b35ec299
VS
35832013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * acinclude.m4: Use -Werror on parameter tests.
3586 * configure.ac: Likewise.
3587
05f3a0d7
VS
35882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
3591
c966a489
VS
35922013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * configure.ac: Check that -malign-loops works rather than assuming that
3595 either -falign-loops or -malign-loops work.
3596
bb0c57ec
VS
35972013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * configure.ac: Remove -fnested-functions. We don't need it anymore.
3600
24f4e57c
VS
36012013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * configure.ac: Prevent cflags leaking to subsequent tests by always
3604 resetting cflags to target_cflags in target tests.
3605
ac319fbc
VS
36062013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
3609 function.
3610
4bfe934c
VS
36112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
3614
40a5bfde
VS
36152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
3618
a67c755e
VS
36192013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * grub-core/normal/cmdline.c (grub_cmdline_get):
3622 Remove nested functions.
3623
87a04a2d
VS
36242013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * tests/test_sha512sum.in: Make it work on emu.
3627
c03995d2
VS
36282013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
3631 functions.
3632 (grub_bidi_line_logical_to_visual): Likewise.
3633
ec0ebb3f
VS
36342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 Remove vestiges of -Wunsafe-loop-optimisations.
3637
3638 * conf/Makefile.common (CFLAGS_GNULIB): Remove
3639 -Wno-unsafe-loop-optimisations.
3640 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
3641 pragma.
3642 * grub-core/io/gzio.c: Likewise.
3643 * grub-core/script/parser.y: Likewise.
3644 * grub-core/script/yylex.l: Likewise.
3645 * util/grub-mkfont.c: Likewise.
3646
6ab537e3
VS
36472013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 * util/grub-mkfont.c (process_cursive): Remove nested function.
3650
e6c368d4
VS
36512013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
3654 (grub_boot_time): Likewise.
3655
4f1cfd22
VS
36562013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 * include/grub/symbol.h (FUNCTION): Use @function rather than
3659 "function".
3660 (VARIABLE): Likewise.
3661
6d5a4cee
VS
36622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
3665
f06c2172
VS
36662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
3669 (parse_dhcp_vendor): Likewise.
3670
7cb24eb5
VS
36712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
3674
f30c692c
VS
36752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * grub-core/gettext/gettext.c (main_context), (secondary_context):
3678 Define after defining type and not before.
3679
8b66bb5d
VS
36802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
3683 type.
3684 (grub_gcm_decrypt): Likewise.
3685 (algo_decrypt): Likewise.
3686 (grub_zfs_decrypt_real): Transform error type.
3687
5d17fd0f
VS
36882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
3691
ac35a0f7
VS
36922013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
3695 (grub_usbms_cbi_reset): Likewise.
3696 (grub_usbms_bo_reset): Likewise.
3697 (grub_usbms_reset): Likewise.
3698 (grub_usbms_attach): Likewise.
3699 (grub_usbms_transfer_cbi): Likewise.
3700
3ee08697
VS
37012013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
3704 "checksum = checksum;".
3705
70bb6c85
VS
37062013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
3709 entry_type.
3710
c7f34744
VS
37112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
3714 BIOS disk check.
3715
3f63b4d8
VS
37162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
3719 type.
3720 (grub_ehci_fini_hw): Likewise.
3721 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3722
dac6ce73
VS
37232013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
3726 return grub_usb_err_t for cosistency. All users updated.
3727
5701750c
VS
37282013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
3731 assigning to itself.
3732
9e236169
GLD
37332013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
37342013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3735
3736 Issue separate DNS queries for ipv4 and ipv6
3737
3738 Adding multiple questions on a single DNS query is not supportted by
3739 most DNS servers. This patch issues two separate DNS queries
3740 sequentially for ipv4 and then for ipv6.
3741
3742 Fixes: https://savannah.gnu.org/bugs/?39710
3743
3744 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
3745 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
3746 * (grub_net_dns_lookup): Now using separated dns packages.
3747 * (grub_cmd_nslookup): Add error condition.
3748 * (grub_cmd_list_dns): Print DNS option.
3749 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
3750 --prefer-ipv4, and --prefer-ipv6.
3751 * include/grub/net.h (grub_dns_option_t): New enum.
3752 * (grub_net_network_level_address): option added.
3753
339eacce
VT
37542013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
3755
3756 * grub-core/video/fb/video_fb.c: Merge two blit functions
3757 into one.
3758
810f991b
VS
37592013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * grub-core/term/terminfo.c: Add sequences for home and end.
3762
386571a2
VS
37632013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
3766 graphics console.
3767
3fe63754
VS
37682013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
3771 add mode 0x12.
3772
76681e71
VS
37732013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
3776 e-mail by Per Öberg.
3777
46522fb7
VS
37782013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
3781 name.
3782
e7d09ac4
AB
37832013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
3784
3785 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
3786 emu platforms.
3787 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
3788
67508925
VS
37892013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 * docs/grub.texi: Document usage of menuentry id.
3792
0c62124e
VS
37932013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
3796
9b5d4eed
PL
37972013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
3798
3799 * grub-core/commands/i386/nthibr.c: New command.
3800
79054c1d
VS
38012013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3802
3803 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
3804
44d47bbe
VS
38052013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
3808 coordinate.
3809
323de05b
VS
38102013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 Support GRUB_DISABLE_SUBMENU config.
3813
3814 Inspired by patch from Prarit Bhargava.
3815
5a01722e
VS
38162013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 * docs/grub.texi: Mention RSA support.
3819
1106c3f0
VS
38202013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * grub-core/commands/verify.c: Add RSA support.
3823
a1dcc2cb
VS
38242013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
3827 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
3828 device is known to be ATAPI.
3829
ee7fb780
MF
38302013-11-03 Mike Frysinger <vapier>
3831
3832 * configure.ac: Don't add target-prefix.
3833
5ade4a42
VS
38342013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
3837 variables.
3838
6cd66043
VS
38392013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
3842 if language is English.
3843
090d7c81
VS
38442013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
3847
dd614590
VS
38482013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * configure.ac: Don't add -m32/-m64 on emu.
3851
a8686589 38522013-11-02 neil
3853
3854 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
3855 broken linux headers.
3856
fb9f12a0
VS
38572013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
3860
e25f8e1f
VS
38612013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
3864 Reed-Solomon recovery if more than half of redundancy info is 0.
3865
4685200f
VS
38662013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * util/grub-mount.c: Handle symlinks to directories.
3869
1397f0b5
VS
38702013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
3873 find_file recursively for symlink.
3874
8b3e6eb6
VS
38752013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 * tests/util/grub-shell.in: Copy themes.
3878
a0c9d5c6
VS
38792013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
3882
5cf9459c
VS
38832013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 * configure.ac: Use 0x8000 for address instead of 8000.
3886
e7b66a28
VS
38872013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
3890 signature.
3891
203f53fb
VS
38922013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
3895 variable.
3896
02663ee9
VS
38972013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
3900
f169f65e
VS
39012013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
3904 file_progress_read_hook.
3905 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
3906
2855a0fc
VS
39072013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
3910 and double.
3911
bf0f3a8c
VS
39122013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
3915
cb72aa18
VS
39162013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 Rewrite blocklist functions in order to get progress when
3919 reading large extents and decrease amount of blocklist hook calls.
3920
896f9135
VS
39212013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
3924 of SI suffixes.
3925
89295a06
VS
39262013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 Support --base-clock for serial command to handle weird cards with
3929 non-standard base clock.
3930
eb03ede0
VS
39312013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
3934 strncpy.
3935 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
3936 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
3937 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
3938 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
3939 + strcpy rather than strncpy.
3940
8fbe5c7d
VS
39412013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
3944 (check_pool_label): Likewise. Fixes overflow.
3945 (nvlist_find_value): Fix comparison.
3946
e54b8f53
VS
39472013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * include/grub/misc.h (grub_strcat): Removed. All users changed to
3950 more appropriate functions.
3951
fa9b3dca
VS
39522013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
3955 realloc.
3956
9a021c55
VS
39572013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * util/grub-mkrescue.in: Do not use UUID search on EFI.
3960
80e8b13a
VS
39612013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
3964 on core size.
3965
b61599ac
VS
39662013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
3969
a602dc54
VS
39702013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3971
3972 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
3973 (initialize_tables): reset tl and td to NULL after freeing.
3974
93c12075
VS
39752013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
3978
1ca4b75e
VS
39792013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
3982 of supported tags.
3983
329550c4
VS
39842013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
3987
00bfa988
VS
39882013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/loader/multiboot.c: Add support for multiboot kernels
3991 quirks.
3992
81afc5cc
VS
39932013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
3996 a page in protected space.
3997
cb3c4a47
VS
39982013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
4001 allocate space for zero-sized modules.
4002
954f7bf5
VS
40032013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
4006
526d3d25
FL
40072013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
4008
4009 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
4010
74124c34
VS
40112013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
4014 safeguards. Fixes a crash with i386/pc/console.c.
4015
5177391e
VS
40162013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
4019 and grub_hostfs_init.
4020
64db14b0
VS
40212013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
4024 windows method on other platforms without good stat as well.
4025
effe2036
VS
40262013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
4029
82591fa6 40302013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 4031
82591fa6
VS
4032 Make / in btrfs refer to real root, not the default volume.
4033 Modify mkrelpath to work even if device is mounted with subvolid option.
4034
40352013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
4036
4037 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
4038 extra_dist.
4039 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
4040 extra_dist.
4041
30fd7198
VS
40422013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
4045 fails.
4046
8d179dae
BC
40472013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
4048
4049 * docs/autoiso.cfg: New file.
4050
3bc9c8cf
VS
40512013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
4054 COND_GRUB_PE2ELF conditions.
4055
8b46b0ea
VS
40562013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
4059 "vnd", "rd" and "fd" disks.
4060
442b86de
VS
40612013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 Move grub_disk_write out of kernel into disk.mod.
4064
04dea7e6
VS
40652013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
4068 handling.
4069
40702013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
4071
4072 * grub-core/kern/misc.c (grub_abort): Make static
4073
04dea7e6 40742013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
4075
4076 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
4077 transform invalid unicode codepoints.
4078
04dea7e6 40792013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
4080
4081 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
4082 \0 checking.
4083
03dcac7f
VS
40842013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
4087
c81acb7f
VS
40882013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 Consolidate cpuid code.
4091
c1bee646
VS
40922013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 Move cpuid code to cpuid.h and TSC code to tsc.c.
4095
f37bf9c7
GS
40962013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
4097
4098 * util/grub.d/00_header.in: Don't use LANG if it's not set.
4099
4021132b
GS
41002013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
4101
4102 * util/grub-mkconfig.in: Replace $0 with $self.
4103 * util/grub-reboot.in: Likewise.
4104 * util/grub-set-default.in: Likewise.
4105
3ace8d75
BC
41062013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4107
4108 * docs/osdetect.cfg: New file.
4109
1e6ad6a6
BC
41102013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4111
4112 * tests/util/grub-shell.in: Add new --debug option.
4113
188929eb
BC
41142013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4115
4116 * tests/test_unset.in: New test.
4117
7994a09a
BC
41182013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4119
4120 * tests/test_sha512sum.in: New test.
4121
2a8a7585
VS
41222013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
4125 * include/grub/misc.h: Remove strncat.
4126 * grub-core/lib/posix_wrap/string.h: Likewise.
4127
cf8d6bbd
VS
41282013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
4131 Try to handle more than 0xFFFF packets.
4132 Reported by: Bernhard Übelacker <bernhardu>.
4133 He also spotted few overflows in first version of this patch.
4134
6d1fc99a
VS
41352013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 * tests/date_unit_test.c: New test.
4138
10bafa1c
VS
41392013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
4142 of first three years after start of validity of unixtime.
4143
b1c6d037
VS
41442013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
4147 division as the one making more sense.
4148 (update_screen): Likewise.
4149 (complete): Likewise.
4150
5f4028d4
VS
41512013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
4154
a2856736
VS
41552013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 Make char and string width grub_size_t rather than grub_ssize_t.
4158
0a7e52b2
VS
41592013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
4162 unsigned.
4163 (grub_history_replace): Likewise.
4164
42829573
VS
41652013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
4168 appropriate.
4169
3523b8d8
VS
41702013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
4173 appropriate.
4174
d43c6489
VS
41752013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
4178 Use unsigned divisions rather than signed variants.
4179
f690f8b0
VS
41802013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * grub-core/video/readers/png.c (grub_png_convert_image): Use
4183 unsigned arithmetics.
4184 Add missing break.
4185
74ff2c05
VS
41862013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
4189
fb56391e
VS
41902013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
4193 rather than signed one.
4194 (recovery): Likewise.
4195
40f29060
VS
41962013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
4199
c64577a5
VS
42002013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
4203 than signed.
4204
c16535a8
JM
42052013-10-25 Jon McCune <jonmccune@google.com>
4206
4207 * docs/grub.texi: Cleanup security documentation around signatures.
4208
6673d8e7
VS
42092013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
4212
a105d375
VS
42132013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
4216 than int.
4217
af81ed88
VS
42182013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
4221 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
4222 functions when compiling for kernel.
4223
ea899a57
VS
42242013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
4227 unsigned long long when using %llu.
4228
c6dc6fa1
VS
42292013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
4232 terminal after updating progress.
4233
ad2dc003
VS
42342013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
4237 argument. We don't disable Gate A20 in this code.
4238
b46684ae
VS
42392013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
4242 Conceptually based on change in branch "vbe-on-coreboot".
4243
f70d5c07
RM
42442013-10-24 Robert Millan <rmh@gnu.org>
4245
4246 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
4247 numeric constants with their symbolic equivalent.
4248 Taken from branch "vbe-on-coreboot".
4249
bca274b4
VS
42502013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * docs/grub.texi: Fix ordering and use pxref rather than xref.
4253
238f0489
VS
42542013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
4257 divmod64 for offset division.
4258
863c590b
PFS
42592013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4260
4261 Rename .bzrignore to .gitignore. Add "*.o" rule.
4262
4263 * .bzrignore: Renamed to...
4264 * .gitignore: ...this.
4265
84a0e969
PFS
42662013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4267
4268 Add new progress module that displays the load progress of files.
4269
4270 * grub-core/lib/progress.c: New file.
4271 * grub-core/Makefile.core.def (progress): New module.
4272 * grub-core/kern/file.c (grub_file_open): File name added.
4273 * (grub_file_read): Progress hook added.
4274 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
4275 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
4276 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
4277 * include/grub/file.h (struct grub_file): Add progress module members.
4278 * include/grub/term.h (struct grub_term_output): Likewise.
4279 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
4280 Terminal velocity added.
4281 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
4282 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
4283 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
4284 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
4285 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
4286 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
4287 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
4288 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
4289 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
4290 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
4291 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
4292 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
4293
0d711431
VS
42942013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 Verify signatures of signatures unless --skip-sig is specified.
4297
f8401f76
VS
42982013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
4301 \0 checking.
4302
4303 Saves 70 bytes on compressed image.
4304
ac1feb61
VS
43052013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
4308 check.
4309
4310 Saves 10 bytes on compressed image.
4311
00f72e89
VS
43122013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * grub-core/kern/misc.c (grub_isprint): Move to ...
4315 * include/grub/misc.h (grub_isprint): ... here. Make inline.
4316
4317 Saves 20 bytes on compressed image due to remving exporting.
4318
067e6ae7
VS
43192013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
4322
4323 Saves 5 bytes on compressed image.
4324
64a6c791
VS
43252013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
4328 function get_utf8.
4329
4330 Saves 379 bytes on compressed image.
4331
979d9f52
VS
43322013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
4335
1437da54
VS
43362013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
4339
4340 Saves 40 bytes on compressed image.
4341
d9ee2269
VS
43422013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
4345 mask rather than 64-bit type.
4346
4347 Saves 20 bytes on compressed image.
4348
63efa602
VS
43492013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
4352 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
4353
47601ffe
VS
4354 Saves 273 bytes on compressed image.
4355
2cc679ad
VS
43562013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
4359 variable length arrays.
4360
4361 Saves 50 bytes on compressed image.
4362
2e4659b8
VS
43632013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
4366
2a40badf
VS
43672013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 * grub-core/fs/ufs.c: Remove variable length arrays.
4370
1ba6b9b9
VS
43712013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
4374
f3e39341
VS
43752013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * grub-core/fs/zfs.c: Remove variable length arrays.
4378 Reduces zfs.mod by 160 bytes (208 compressed).
4379
71523935
VS
43802013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
4383
28153eb8
VS
43842013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * grub-core/net/arp.c: Remove variable length arrays.
4387 * grub-core/net/bootp.c: Likewise.
4388 * grub-core/net/dns.c: Likewise.
4389 * grub-core/net/icmp6.c: Likewise.
4390 * grub-core/net/net.c: Likewise.
4391
88ce4cd7
VS
43922013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 * grub-core/fs/ntfs.c: Remove variable length arrays.
4395 Increases ntfs.mod by 64 bytes (but decreases by 3 when
4396 compressed).
4397
66123940
VS
43982013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * grub-core/fs/hfs.c: Remove variable length arrays.
4401 Reduces hfs.mod by 8 bytes (52 compressed).
4402
0927e5bd
VS
44032013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 4406 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
4407 compressed).
4408
9c12ac97
VS
44092013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 4412 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
4413 compressed).
4414
97ec2d71
VS
44152013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 4418 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
4419 compressed).
4420
156e4ea0
VS
44212013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 * grub-core/fs/xfs.c: Remove variable length arrays.
4424 Reduces xfs.mod by 40 bytes (43 compressed).
4425
3b502c29
VS
44262013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * grub-core/fs/fshelp.c: Remove variable length arrays.
4429 Reduces fshelp.mod by 116 bytes (23 compressed).
4430
c7037f1d
VS
44312013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * grub-core/normal/completion.c: Remove variable length arrays.
4434 * grub-core/normal/menu_entry.c: Likewise.
4435
4436 Reduces normal.mod by 496 bytes.
4437
a07e6ad0
VS
44382013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
4441 by 356 bytes (158 compressed).
4442
2359bf88
VS
44432013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
4446 by 364 bytes (169 compressed).
4447
d28e1163
VS
44482013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
4451 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
4452 * include/grub/types.h (grub_unaligned_uint64_t): New type.
4453
e89c2d48
VS
44542013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
4457 bitmasks to small structures of size chosen to fit in registers.
4458
7abdac8e
VS
44592013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * conf/Makefile.common: Use -freg-struct-return on i386. This
4462 decreases code size and improves performance.
4463
518864c0
VS
44642013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
4467
bbd2b539
VS
44682013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
4471 "(null)" string.
4472 Simplify expressions to save around 256 bytes in kernel.img.
4473 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
4474
99519c15
VS
44752013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
4478 Use GRUB_UTIL_FD_O_* rather than O_*.
4479
20285765
VS
44802013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 Add haiku-specific functions.
4483
887c0bb6
VS
44842013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
4487
cd78a56f
VS
44882013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 Move stat () and device mode checking into OS-dependent files as
4491 long as performance doesn't suffer.
4492
a4012f07
VS
44932013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 Split make_system_path_relative_to_its_root into separate file
4496 relpath.c from getroot.c as it's common between unix and haiku
4497 but otherwise haiku doesn't use any functions from unix getroot.c.
4498
31de274d
VS
44992013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
4502 New function.
4503 (grub_util_is_special_file): Likewise.
4504
40346de6
VS
45052013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
4508 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
4509
d3923ab9
VS
45102013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
4513 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
4514
663f6eb1
VS
45152013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
4518 (load_image): Likewise.
4519
44d1c20a
VS
45202013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * util/grub-render-label.c: Move backend part to ...
4523 * util/render-label.c: ... here.
4524
d0a116ee
VS
45252013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
4528 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
4529
b47fcae6
VS
45302013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
4533
0f7c00c1
VS
45342013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
4537 CD-ROM in case when it's declared as having subpartitions.
4538
29013cba
VS
45392013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 Don't add -lm on haiku.
4542
4543 * configure.ac: Define BUILD_LIBM to -lm on most platforms
4544 and empty on haiku.
4545 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
4546 -lm.
4547
e8559d24
VS
45482013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * configure.ac: Use -melf_*_haiku as target on haiku.
4551
8104063c
VS
45522013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * Makefile.util.def: Add util/setup.c to extra_dist.
4555
fc3182c7
VS
45562013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
4559 unknown types through.
4560
f90a3cc0
VS
45612013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
4564 (grub_util_check_char_device): Likewise.
4565 * include/grub/emu/getroot.h: Likewise.
4566
1e3e7419
VS
45672013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
4570 memset rather than inline static function.
4571
92c88fc8
VS
45722013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
4575 not doing embedded decompressor.
4576
3cd910a2
VS
45772013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
4580 shadowing.
4581 * grub-core/kern/disk.c: Likewise.
4582 * grub-core/kern/misc.c: Likewise.
4583 * include/grub/parser.h: Likewise.
4584 * include/grub/script_sh.h: Likewise.
4585 * include/grub/zfs/zfs.h: Likewise.
4586
7b3aca00
VS
45872013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
4590
97dfe7e4
VS
45912013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
4594 defined before trying to use it.
4595
bf919aa9
VS
45962013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
4599 warning.
4600
f4ccf29d
VS
46012013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
4604 Use __unused__ rather than __used__ on gcc < 3.2.
4605
0d3a6f85
VS
46062013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
4609 gcc < 4.0.
4610 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
4611
757e3eb7
VS
46122013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
4615
fb320faf
VS
46162013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
4619 * include/grub/emu/misc.h: Likewise.
4620
ea73acd2
VS
46212013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
4624 cur_color.
4625
71237a6f
VT
46262013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
4627
4628 * grub-core/tests/checksums.h: Regenerated due to progress bar
4629 get_minimal_size changes.
4630
3d46c22f
BC
46312013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
4632
4633 Added `tr' command support.
4634
4635 * grub-core/commands/tr.c: New file.
4636 * grub-core/Makefile.core.def: Build rules for new module.
4637
4638 * tests/grub_cmd_tr.in: New test.
4639 * Makefile.util.def: Build rules for new test.
4640
47e0a61f
VT
46412013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4642
4643 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
4644
946fd073
VT
46452013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4646
4647 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
4648 * docs/gurb.texi: Likewise.
4649
9c13c576
VT
46502013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4651
4652 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
4653 Pixmap highlighted section with east and west slices was displayed
4654 incorrectly due to negative width of the central slice.
4655
ad543f12
VT
46562013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4657
4658 * docs/grub.texi: Graphical options information update.
4659 Removed outdated. Updated current. Inserted missed.
4660
6176a0cd
VS
46612013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * docs/grub.texi: Mention few new platform-specific commands.
4664
9688cae2
VS
46652013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
4668 currently used so this doesn't really have any effect.
4669 Reported by: Douglas Ray <dougray>
4670
f7b69a3f
VS
46712013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
4674 compilation but prevents gcc from displaying messages in non-Latin
4675 alphabets.
4676 * conf/Makefile.common: Likewise.
4677
ceca6ddf
HY
46782013-10-16 Hiroyuki YAMAMORI
4679
4680 Handle Japanese special keys.
4681 Reported by: Hiroyuki YAMAMORI.
4682 Codes supplied by: Hiroyuki YAMAMORI.
4683
ac48d334
VT
46842013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4685
4686 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
4687
b2b71bff
VT
46882013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4689
4690 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
4691 * docs/grub.texi: Likewise.
4692
669fc449
VS
46932013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
4696 value in case of incomplete read.
4697 (grub_util_fd_write): Likewise.
4698
59381678
VS
46992013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
4702
bacfefbb
VS
47032013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * util/grub-editenv.c (create_envblk_file): More from here ...
4706 * util/editenv.c (grub_util_create_envblk_file): ... to here.
4707
f7c49570
VS
47082013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
4711 canonicalize file name before doing the rest.
4712
7b83ca44
VS
47132013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
4716 mingw32.
4717
df1e64c9
VS
47182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 Define grub_util_is_directory/regular/special_file and
4721 use OS-dependent versions rather than to rely on stat().
4722
ec16e026
VS
47232013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * util/grub-mkimage.c: Move backend part to ...
4726 * util/mkimage.c: ... here.
4727
4b4eeb3c
VS
47282013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 Allow compilation with mingw64 albeit with warnings due to lack of
4731 %llx/%llu.
4732
4733 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
4734 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
4735 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
4736 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
4737 on mingw64.
4738 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
4739
f4e0adc0
VS
47402013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 Remove leftover references to some of the system headers.
4743
e0127364
VS
47442013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
4747 read.
4748
20d53541
VS
47492013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
4752 of strerror.
4753
5a869940
VS
47542013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 Split out blocklist retrieving from setup.c to
4757 grub-core/osdep/blocklist.c and add windows implementation since
4758 generic version doesn't work on NTFS on Windows due to aggressive
4759 unflushable cache.
4760
c06c7520
VS
47612013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
4764 files.
4765
8f53bb3f
VS
47662013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
4769 Cut tailing newline. Remove arbitrary limitation. Always use
4770 grub_util_tchar_to_utf8.
4771
148f1007
VS
47722013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
4775 * tests/printf_unit_test.c (printf_test): Add %% tests.
4776 Reported by: Paulo Flabiano Smorigo.
4777
af3b06be
VS
47782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
4781 implement fsync.
4782
27f9d02e
VS
47832013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * configure.ac: Check for nvlist_lookup_string in nvpair since we
4786 use nvlist_lookup_string and don't use nvlist_print.
4787
f6a81f0a
VS
47882013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 Add wrappers around rename, unlink, mkdir, opendir, readdir and
4791 closedir to handle filename charset translation.
4792
d7750b32
VS
47932013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * include/grub/emu/hostdisk.h: Move file operations to
4796 * include/grub/emu/hostfile.h: ... here.
4797
2859196e
VS
47982013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
4801 unicode path.
4802
c018c968
VS
48032013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
4806
7e45abce
VS
48072013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
4810 and remove export.h.
4811
23934da2
VS
48122013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * grub-core/kern/emu/error.c: Removed.
4815 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
4816 explicitly as it's already in libgnu.a.
4817
c11ebcc8
VS
48182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
4821 config-util.h include.
4822
70671037
VS
48232013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 Split emunet into platform-dependent and GRUB-binding parts. Keep
4826 platform-dependent part in kernel for easy access to OS functions.
4827
25ac643a
VS
48282013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
4831 open/read/write.
4832
69ca5876
VS
48332013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * grub-core/osdep/windows/emuconsole.c: New file.
4836
d9d68ef0
AB
48372013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4838
4839 * conf/Makefile.extra-dist: Add osdep/*/init.c
4840
58e211cc
VS
48412013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
4844
588744d0
VS
48452013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 * util/grub-probe.c (probe): Separate different drives in hint-str
4848 by spaces and not newlines.
4849 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
4850
44016e52
AB
48512013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4852
4853 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4854 Handle CD-ROMs.
4855
6de9ee86
VS
48562013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 Pass-through unknown E820 types. It required reorganisation of mmap
4859 module.
4860
f8f3f155
AB
48612013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4862
4863 * Makefile.util.def: Add osdep/init.c to grub-mount files.
4864
b73249d2
VS
48652013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
4868 fseeko.
4869
dac86b18 48702013-10-14 qwertial <qwertial>
4871
4872 * grub-core/gdb_grub.in: Fix overflow and wrong field.
4873
17614b84
JM
48742013-10-14 Jon McCune <jonmccune@google.com>
4875
4876 * docs/grub.texi: Document new signatures possibility.
4877
6de292cb
VS
48782013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4879
4880 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
4881
84379b61
VS
48822013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
4885 missing prototype.
4886 (grub_util_tchar_to_utf8): Likewise.
4887
21d85db1
VS
48882013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
4891 * grub-core/kern/emu/main.c: Add missing include.
4892 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
4893 Don't call grub_util_init_nls.
4894 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
4895 Likewise.
4896
66a1b3ee
VS
48972013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
4900 stat.
4901
e19bec17
VS
49022013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4903
4904 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
4905
ee8c1b29
VS
49062013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
4909
bb338aaf
VS
49102013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 Add a wrapper for fopen. On unix-like systems just pass-through. On
4913 windows use unicode version.
4914
ae5540d3
VS
49152013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 Move set_program_name and init_nls to host_init. On windows
4918 fix in this fuction console and argument charset as well.
4919
4cd3c4fe
AB
49202013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
4921
4922 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
4923 GRUB_ENABLE_CRYPTODISK.
4924
4925 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
4926 GRUB_ENABLE_CRYPTODISK.
4927 * util/grub-mkconfig_lib.in: Likewise.
4928
78170f3e
CCZ
49292013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
4930
4931 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
4932
3414b6c0
MC
49332013-10-12 Melki Christian <Christian.melki@saabgroup.com>
4934
4935 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
4936 error when enabling debug.
4937
6d0740e8
IB
49382013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
4939
4940 * configure.ac: Use -melf_*_obsd on openbsd.
4941
ff2d4dc4
VS
49422013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
4945
eac6ae82
VS
49462013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 * include/grub/misc.h: Use gnu_printf rather than printf as format
4949 template since our functions are independent of libc.
4950
ba9baabe
VS
49512013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 * util/grub-setup.c (setup): Move copying of partition table as
4954 futher up as possible to avoid possible overwrite by floppy routines.
4955
49562013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
4957
4958 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
4959
145e2369
VT
49602013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4961
4962 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
4963 * docs/grub.texi: Likewise.
4964
3530bc9d
VS
49652013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
4968 it's mostly unused. Move vestiges to the callers.
4969
fb9f59c3
VS
49702013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4971
4972 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
4973 version of salt and hash. Use grub_snprintf rather than snprintf.
4974
9be1c255
VS
49752013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 * docs/grub.texi: Fix problem with braces.
4978
ed8c0887
VS
49792013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * conf/Makefile.extra-dist: Fix extra-dist list.
4982 * grub-core/Makefile.core.def: Likewise.
4983
f72ab14e
VS
49842013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * docs/grub.texi: Document disk names used on Windows and AROS.
4987
2fe53a22
VS
49882013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
4991 with AROS devs.
4992 * grub-core/osdep/aros/hostdisk.c: Likewise.
4993
71c1d67a
VS
49942013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 Avoid including hostfile.h when not necessarry as it pulls
4997 in OS-specific headers which may redefine generic names
4998 like "far".
4999
ad297ec7
VT
50002013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
5001
5002 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
5003 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
5004 scrollbar_bottom_pad
5005 * docs/grub.texi: Likewise.
5006
6e9e5dc9
VT
50072013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
5008
5009 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
5010
761c718b
VS
50112013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
5014
37149a2f
VS
50152013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
5018 Removed.
5019 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
5020 Made static.
5021
3837a151
VS
50222013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
5025 leftover.
5026
caca1c70
VS
50272013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 Move OS-specific driver configuration to grub_util_fd_open. This
5030 moves OS-dependent parts from kern/emu/hostdisk.c to
5031 grub-core/osdep/*/hostdisk.c.
5032
f7676b70
VS
50332013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * util/grub-mkimage.c (generate_image): Use size_t instead of
5036 grub_size_t.
5037 * util/grub-mkimagexx.c (locate_sections): Likewise.
5038 (load_image): Likewise.
5039
22f98db2
VS
50402013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
5043 size_t.
5044 (grub_util_write_image): Likewise.
5045
b102ce69
VS
50462013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
5049 get random when no RNG is available.
5050 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
5051
acbbe5cb
VS
50522013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * include/grub/util/lvm.h: Removed.
5055
2112fb3f
VS
50562013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
5059 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
5060
79f78fbf
VS
50612013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * grub-core/osdep/windows/sleep.c: Add missing config.h.
5064
c2e6f705
VS
50652013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
5068
aabe433a
VS
50692013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * grub-core/net/drivers/emu/emunet.c: Move to ..
5072 * grub-core/osdep/linux/emunet.c: ..here.
5073
9a2c903f
VS
50742013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * util/ieee1275/ofpath.c: Move to ...
5077 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
5078 * grub-core/osdep/basic/ofpath.c: ..here.
5079
4a445f58
VS
50802013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 Move password-querying (util-version) routines to grub-core/osdep.
5083
c1ca4244
VS
50842013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 Move sleep routines to grub-core/osdep.
5087
672fa55e
VS
50882013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 Move OS-dependent files to grub-core/osdep and document it.
5091
a5b0365a
VS
50922013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
5095 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
5096
29072e99
VS
50972013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
5100
f8772ea7
VS
51012013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * util/misc.c: Remove leftover inclusion of malloc.h.
5104
a1a315e7
VS
51052013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * include/grub/setjmp.h: Remove leftover GRUBOF.
5108
cef86fef
VS
51092013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5110
5111 * util/raid.c: Fold into ...
5112 * util/getroot_linux.c: ... here. Make all functions static.
5113
c4cf25ee
VS
51142013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
5117 macros to GRUB ones.
5118
53a5f5c2
VT
51192013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5120
5121 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
5122 occasional bug. If there are too many boot entries or too low
5123 scrollbar height then we need to use another formula to calculate
5124 the position and size of the scrollbar thumb.
5125
de300af2
VS
51262013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5127
c4cf25ee 5128 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 5129
c5827364
VT
51302013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5131
5132 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
5133 * docs/grub.texi: Likewise.
5134
dd2ed8b0
VT
51352013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5136
5137 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
5138 viewport.
5139
7286c384
VT
51402013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5141
ffdfc1f3
VT
5142 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
5143 minimal width calculations.
7286c384 5144
ea547e14
VS
51452013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 * docs/grub.texi: Update note on colors on emu console.
5148
b726be76
VS
51492013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
5152 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
5153 it's FS and not GRUB limitation.
5154
a5f6ade6
VS
51552013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5156
5157 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
5158
3b0f3aa2
VS
51592013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
5162
1db38304
ST
51632013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
5164
5165 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
5166 kernels by version order.
5167
fb295fc0
VS
51682013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
5171
47345010
VS
51722013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 Add AROS hostdisk and getroot routines.
5175
bf25f879
VS
51762013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 Make cryptodisk and diskfilter probe data retrievable programmatically
5179 and not just printable.
5180
24ca4512
VS
51812013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 Split random retrieving code into separate files.
5184
c7c177f0
VS
51852013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
5188 R_ARM_V4BX.
5189
d71b45ae
VS
51902013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
5193 condition.
5194 * grub-core/tests/fake_input.c: Likewise.
5195 * grub-core/tests/cmdline_cat_test.c: Likewise.
5196
e44b9a83
VS
51972013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 * grub-core/video/capture.c: Do not do finalization when .fini
5200 is called as there is explicit capture_end.
5201
4fa60739
VS
52022013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
5205 changing windows to avoid crash.
5206
17c8bc37
VS
52072013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
5210
9d4d7977
VS
52112013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 * po/exclude.pot: Add several strings to exclude.
5214
0caa407c
VS
52152013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
5218
9ae393da
VS
52192013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * autogen.sh: Add ./util/grub-gen-widthspec.c and
5222 ./util/grub-gen-asciih.c to exclude list.
5223
498d5033
VS
52242013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
5227 and don't mark error strings for translation.
5228
7d93298f
VS
52292013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5230
5231 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
5232 properly in case of missing block size.
5233
b2cae20c
VS
52342013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * grub-core/lib/arm/setjmp.S: Add missing license section.
5237
3896d6b4
VS
52382013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * po/swiss.sed: Add replacement for key names and for term computer.
5241
ebc1da55
VT
52422013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
5243
5244 * grub-core/gfxmenu/theme_loader.c: New global options for the
5245 theme background image handling. desktop-image-scale-method,
5246 desktop-image-h-align, desktop-image-v-align.
5247 * grub-core/gfxmenu/view.c: Likewise.
5248 * include/gfxmenu_view.h: Likewise.
5249 * include/bitmap_scale.h: Proportional scale functions introduced.
5250 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
5251 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
5252 cases of unexpected input variables for scale functions.
5253 * docs/grub.texi: Updated documentation for new options.
5254
c5739143
VS
52552013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
5258
be74aeb3
VT
52592013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
5260
5261 * grub-core/tests/checksums.h: Corrected due to changes in
5262 bilinear interpolation function.
5263
d999ac72
VT
52642013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
5265
5266 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
5267 to eliminate artefacts in bilinear interpolation.
5268
2b131610
VS
52692013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 * grub-core/video/readers/tga.c: Support paletted tga.
5272
de6e5ff8
VS
52732013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
5276 incorrect cbcr setting when in color mode.
5277
fa31ee9c
VS
52782013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 * grub-core/video/readers/png.c: Support paletted images and clean up
5281 greyscale support.
5282
e84f8188
VS
52832013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
5286 usage of wrong table which resulted in mishandling of 4-byte
5287 sequences.
5288
52892013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
5290
5291 * grub-core/term/terminfo.c: Add Home and End key sequences.
5292
d72bff09
VS
52932013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/video/readers/png.c (grub_png_decode_image_header):
5296 Fix formula for computing total number of bytes.
5297
29648c5d
VS
52982013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
5301 image processing, fix big-endian and support grayscale.
5302
4a876492
VS
53032013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
5306 Correctly will with maximum transparency when using index color.
5307
3ccf16df
VS
53082013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * grub-core/video/readers/png.c: Support grayscale
5311
53122013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
5313
5314 * grub-core/video/readers/jpeg.c: Support grayscale.
5315
3ccf16df 53162013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
5317
5318 * grub-core/commands/loadenv.c: Support skipping signature check
5319 and variable names filtering.
5320
30b7f58f
VS
53212013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
5324 * grub-core/kern/emu/hostfs.c: Likewise.
5325 * util/getroot_unix.c: Likewise.
5326
bab7b1eb
VS
53272013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
5330 Migrate all explicit defines to this new one.
5331
43b1c99d
VS
53322013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
5335 grub_util_fd_strerror when using grub_util_fd_*.
5336 (grub_util_fd_open_device): Likewise.
5337 (grub_util_biosdisk_read): Likewise.
5338 (grub_util_biosdisk_write): Likewise.
5339 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
5340 (grub_util_fd_strerror): Likewise.
5341 (grub_util_fd_sync): Likewise.
5342 (grub_util_fd_close): Likewise.
5343 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
5344 (grub_util_fd_close): Likewise.
5345 (grub_util_fd_strerror): Likewise.
5346 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
5347 function proto rather than macro.
5348 (grub_util_fd_sync): Likewise.
5349 (grub_util_fd_open): Likewise.
5350 (grub_util_fd_strerror): New proto.
5351
e8fd80bc
VS
53522013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
5355 platforms on which it doesn't work.
5356
bf645fda
VS
53572013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5358
5359 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
5360 stat immediately to where it's used.
5361
5177ba14
VS
53622013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * util/getroot.c (grub_util_check_block_device): Move to ...
5365 * util/getroot_unix.c (grub_util_check_block_device): ... here.
5366 * util/getroot.c (grub_util_check_char_device): Move to ...
5367 * util/getroot_unix.c (grub_util_check_char_device): ... here.
5368
9db826e1
VS
53692013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
5372 disk closing logic.
5373
49120085
AB
53742013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5375
5376 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
5377
b3328b68
AB
53782013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5379
5380 * docs/grub.texi (File name syntax): Document ZFS filenames
5381 (/volume@snapshot/...).
5382
3fff48ab
VS
53832013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
5386 Always return full path. Fixes a problem with mkrelpath.
5387
39cfdaa9
PFS
53882013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5389
5390 * util/grub-install.in: Add GPT PReP support.
5391 * util/grub-probe.c (probe): Support GPT partition type.
5392 (main): Support -t gpt_parttype.
5393
7c680e1f 53942013-09-23 Aleš Nesrsta <starous@volny.cz>
5395
5396 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
5397
890bdabe
MM
53982013-09-23 Massimo Maggi <me@massimo-maggi.eu>
5399
5400 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
5401
9c262ff9
TH
54022013-09-23 Tim Hardeck <thardeck>
5403
5404 * util/grub.d/10_hurd.in: Filter out character for the class.
5405 * util/grub.d/10_kfreebsd.in: Likewise.
5406 * util/grub.d/10_linux.in: Likewise.
5407 * util/grub.d/20_linux_xen.in: Likewise.
5408
d755342a
MC
54092013-09-23 Melki Christian <Christian.melki@saabgroup.com>
5410
5411 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
5412 "changed".
5413
68b77707
JT
54142013-09-23 Josh Triplett <josh@joshtriplett.org>
5415
5416 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
5417 boot partition.
5418
efa68bfa
VS
54192013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
5422 doesn't use posix_wrap. Keep literal -fno-builtin however.
5423
d9104204
VS
54242013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5425
5426 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
5427
c248781a 54282013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
54292013-09-23 neil
5430
5830df88 5431 * configure.ac: Do not enable -Wmissing-noreturn as its
5432 usefulness is limited and creates problems on some OS notably with
5433 code generated by bison.
5434
54352013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
54362013-09-23 neil
5437
5438 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 5439 supported by all gcc and when it is, it's already enabled by -Wall.
5440
621bed69
VS
54412013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
5444 desactivated use of EDID at all.
5445
71764dc8 54462013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
54472013-09-23 neil
5448
5449 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
5450 video if no text is available.
5451
affce7d4 54522013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
54532013-09-23 neil
5454
5455 * configure.ac: Substitute TARGET_RANLIB.
5456
54572013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
54582013-09-23 neil
affce7d4
VS
5459
5460 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
5461
5462 Based on patches from AROS.
5463
0e8daad0 54642013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 54652013-09-23 neil
0e8daad0
VS
5466
5467 * grub-core/Makefile.am: Override STRIP and RANLIB.
5468 * configure.ac: compute TARGET_RANLIB.
5469 * INSTALL: Document TARGET_RANLIB
5470
5471 Based on patches from AROS.
5472
3f7d9c82
VS
54732013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
5476 that floppies are unpartitioned.
5477
bca8873a
VS
54782013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
5481 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
5482
54832013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
5486 less nice but more portable.
5487 * grub-core/lib/posix_wrap/wchar.h: Likewise.
5488
a47a78be
VS
54892013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
5492 for cheat_fd.
5493 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
5494 functions.
5495 (grub_cryptodisk_cheat_insert): Likewise.
5496 (grub_cryptodisk_close): Likewise.
5497
e85a5d5c
VS
54982013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
5501 Use windows path for DEFAULT_DIRECTORY.
5502
dad9fa6b
VS
55032013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
5506 difference was likely just gcc version, not anything mingw-related.
5507
7e518ca8
VS
55082013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 Use Winapi on both cygwin and mingw32 to share more code between both.
5511
d68d0157
AB
55122013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5513
5514 * util/grub-install.in: Add --grub-editenv option.
5515 * util/grub-install_header (grub_compress_file): Explicitly check for
5516 plain file to avoid cp error.
5517
775b284d
AB
55182013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5519
5520 * docs/grub.texi (Device syntax): Document new LVM UUID based device
5521 names; fix LVM driver name (lvm, not lv).
5522 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
5523 names.
5524
3ff4063d
VS
55252013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
5528 files rather than one file with loads of #if's.
5529 * util/getroot.c: Likewise.
5530
287faafe
VS
55312013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
5534
d1983764
VS
55352013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
5538 GNU/Hurd to the list of checked PRNG.
5539
15ce95c4
VS
55402013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * configure.ac: On FreeBSD use -melf_*_fbsd format.
5543
207862dd 55442013-09-21 Ales Nesrsta <starous@volny.cz>
5545
7c680e1f 5546 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 5547
63653cfd
VS
55482013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
5551 * grub-core/disk/lvm.c: Add LVM UUIDs.
5552 * util/getroot.c: Use LVM UUIDs whenever possible.
5553
f5d3e7ef
AB
55542013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
5555
5556 * docs/grub.texi (Networking commands): Add documentation for
5557 network related commands.
5558
53c6b7d6
VS
55592013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * util/getroot.c (grub_util_open_dm): Check major rather than the name
5562 to determine if device is handled by devmapper.
5563 (convert_system_partition_to_system_disk): Likewise.
5564 (get_dm_uuid): Don't check explicitly if device is mapped, it's
5565 already done in grub_util_open_dm.
5566
e70d6736
LL
55672013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
5568
5569 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
5570 Clean up stack manipulation (sync_caches_armv*)
5571
90379808
VS
55722013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * util/lvm.c: Remove since unused. Remove remaining references.
5575
386701a8
VS
55762013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 Handle the case of partitioned LVM properly.
5579
5580 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5581 Stop on meeting LVM, mpath or DMRAID.
5582 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
5583 (read_device_map): Likewise.
5584 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
5585 device is full disk rather than erroring out on LVM and similar cases.
5586
53070787
VS
55872013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
5590
1bc783bd
VS
55912013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
5594 4K before the end.
5595 Reported by: Leif Lindholm
5596
436ad5c3
PW
55972013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
55982013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
5601 codes.
5602
607319c9
CW
56032013-09-18 Colin Watson <cjwatson@ubuntu.com>
5604
5605 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
5606 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
5607
d404d154
DR
56082013-09-18 Douglas Ray <dougray@cpan.org>
5609
5610 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
5611 as secure.
5612
28851ef6
AN
56132013-09-18 Aleš Nesrsta <starous@volny.cz>
5614
5615 * docs/grub.texi: Fix broken link.
5616
897c3bc6
MC
56172013-09-18 Melki Christian <Christian.melki@saabgroup.com>
5618
5619 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
5620 to break endless loop.
5621
f1630459
VS
56222013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * util/grub-fstest.c: Fix several printf formats.
5625 * util/grub-mkimage.c: Likewise.
5626 * util/grub-mkimagexx.c: Likewise.
5627 * util/grub-script-check.c: Likewise.
5628
64463dfd
VS
56292013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
5632 error.
5633
48972495
VS
56342013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
5637
5dd5e64b
VS
56382013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
5641 removed in current versions cygwin_conv_*.
5642
1c1f31e5
VS
56432013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * configure.ac: Disable efiemu runtime on cygwin.
5646
c546a259
VS
56472013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5648
5649 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
5650 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
5651
81690478
VS
56522013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
5655 error message.
5656
6b87c10a
VS
56572013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
5660 windows variant.
5661 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
5662 data.
5663
8f0baaac
VS
56642013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
5667 when on x86 and not cygwin.
5668 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
5669 -Wl,-melf_x86_64.
5670
b224c266
VS
56712013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 * configure.ac: Set CPP to build one when checkoing for freetype for
5674 build.
5675
506b336b
VS
56762013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
5679 [!GRUB_BUILD]: Remove has_argument.
5680
8c8c87b7
VS
56812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
5684 Replace with a dummy.
5685
7dc5ca13
VS
56862013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * configure.ac: Don't change host_os from mingw to cygwin.
5689
c3302aa5
VS
56902013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * configure.ac: Change target_os from windows to cygwin.
5693
7b780018
VS
56942013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 Handle grub-pe2elf and grub-mkfont for cases when build != host.
5697
5698 * Makefile.am (build-grub-mkfont): Don't include gnulib.
5699 (build-grub-gen-asciih): Likewise.
5700 (build-grub-gen-widthspec): Likewise.
5701 * Makefile.util.def (grub-pe2elf): Remove.
5702 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
5703 * configure.ac: Separate tests for build.
5704 Move ./build-grub-pe2elf to grub-core.
5705 Fix typo.
5706 * grub-core/Makefile.am (build-grub-pe2elf): New target.
5707 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
5708 defined.
5709 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
5710 constants.
5711 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
5712 * util/grub-pe2elf.c: Simplify not to rely on getopt.
5713 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
5714
984cfd8a
VS
57152013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
5718 mingw32 as well based on grub_util_get_disk_size.
5719 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
5720 grub_util_get_fd_size.
5721 (sync): Removed.
5722 (fsync): Moved to ...
5723 * grub-core/kern/emu/misc.c (fsync): ... here.
5724
f82d79c9
VS
57252013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * include/grub/mm.h (grub_extend_alloc): Remove.
5728 * grub-core/loader/i386/pc/plan9.c: Use own version of
5729 grub_extend_alloc with appropriate types.
5730
fd7dd66d
VS
57312013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
5734
43ffba7c
VS
57352013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 * util/getroot.c: Include sys/wait.h only when we need waitpid.
5738
3c7eac44
VS
57392013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 Fix dependencies on cygwin.
5742
5743 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
5744 dependencies when used and defined.
5745 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
5746
bdb5ba47
VS
57472013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
5750 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
5751
ed7fbf43
VS
57522013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
5755 implementation available to cause compile-time rather than runtime
5756 error.
5757
fc46e9fc
VS
57582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * util/grub-fstest.c: Don't check for symlinks on windows.
5761
7f68269a
VS
57622013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 * INSTALL: Mention unavailability of man pages when cross-compiling.
5765
8ed358e0
VS
57662013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
5769 and gcry_log_bug.
5770 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
5771
fc97214f
VS
57722013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * INSTALL: Document cross-compilation.
5775 * acinclude.m4: Determine whether nm support -P and --defined-only.
5776 * configure.ac: Add TARGET_ to all variables pertaining to target
5777 that don't have it yet.
5778 * gentpl.py: Likewise.
5779 * grub-core/Makefile.am: Likewise.
5780 * grub-core/genmod.sh.in: Likewise.
5781 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
5782 as well.
5783
ca1fb563
IB
57842013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5785
5786 * configure.ac: Remove -Wempty-body. It's not essential and needs
5787 recent gcc.
5788
0031b229
IB
57892013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5790
5791 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
5792 * util/getroot.c: Likewise.
5793
54ea2f44
VS
57942013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * grub-core/disk/ahci.c: Add needed explicit cast.
5797 * grub-core/lib/backtrace.c: Likewise.
5798 * grub-core/net/ip.c: Likewise.
5799 * grub-core/net/tcp.c: Likewise.
5800 * grub-core/net/udp.c: Likewise.
5801
3c601f8c
VS
58022013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
5805
1d679dda
VS
58062013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * util/import_gcry.py: Add final newline in visibility.h.
5809
00c28dd9
VS
58102013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 * conf/Makefile.common: Fix typo.
5813
32af299a
VS
58142013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
5817
e733cf52
VS
58182013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * Makefile.am (widthspec.h): Fix typo.
5821 * util/grub-gen-widthspec.c: Likewise.
5822
c6b066f2
VS
58232013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 Move ascii.h and widthspec.h generation to a separate build-time-only
5826 tool.
5827
ad1fe3f9 58282013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5829
5830 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5831 Always fill bootdisk info and improve check for NetBSD disklabel.
5832
92a52dd4
VS
58332013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * conf/Makefile.extra-dist: Add util/bin2h.c.
5836 Reported by: floppym.
5837
b2e9d276
VS
58382013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
5841
7b966834
VS
58422013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * configure.ac: Disable unifont and starfield if no freetype was found.
5845
d5c1eef1
VS
58462013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
5849 on NetBSD and OpenBSD.
5850
66345b50 58512013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
5852
5853 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
5854
66345b50 58552013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
5856
5857 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
5858 reduced. Inheritant options are processed during the theme loading.
5859
66345b50 58602013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
5861
5862 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
5863
369508b3
AS
58642013-08-14 Avik Sil <aviksil@in.ibm.com>
5865
5866 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
5867
58682013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
5869
5870 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
5871 using qemu.
5872
6f27a3f6
PFS
58732013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5874
5875 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
5876 remove-potcdate.sed.
5877
c6ed362a
AB
58782013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5879
5880 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
5881 unused attribute from pull argument.
5882
5e7d9464
AB
58832013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5884
5885 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
5886 memory leak.
5887
dea55e2a
AB
58882013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5889
5890 * util/getroot.c (pull_lvm_by_command): add --separator option
5891 to vgs call to disable padding of output to 10 characters.
5892
f0b94ded
VS
58932013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
5896 here ...
5897 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
5898 here.
5899
b828fb5d
VS
59002013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
5903 length.
5904
7c9d0c39
VS
59052013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 Fix handling of build-time grub-bin2h and grub-mkfont when doing
5908 full Canadian cross. Tested with build=x86_64, host=arm,
5909 target=ppc-ieee1275.
5910
816719c8
VS
59112013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5912
5913 * configure.ac: Error if no $BUILD_CC could be found.
5914 Reported by: DevHC.
5915
2af2353b
VS
59162013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5917
5918 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
5919 i386-multiboot.
5920
797abd0a
VS
59212013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
5924 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
5925
36e87d25
CW
59262013-08-13 Colin Watson <cjwatson@ubuntu.com>
5927
5928 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
5929 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
5930 falling back to the partition device, otherwise a later call to this
5931 function may fail spuriously.
5932 Reported by Axel Beckert. Fixes Debian bug #708614.
5933
273349fe
GS
59342013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5935
5936 * autogen.sh: Replace find -not by the POSIX-compliant find !.
5937
418f86c6
GS
59382013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5939
5940 Prevent shadowing of stdlib's devname(3) on BSD.
5941
5942 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
5943 and devlast to diskname and disklast, respectively.
5944
c137aea0
CW
59452013-08-11 Colin Watson <cjwatson@ubuntu.com>
5946
5947 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
5948
272dc8df 59492013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
5950
5951 * docs/grub.texi: Introduce terminal window position options:
5952 terminal-left: terminal window's left position
5953 terminal-top: terminal window's top position
5954 terminal-width: terminal window's width
5955 terminal-height: terminal window's height
5956 terminal-border: terminal window's border width
5957 * grub-core/gfxmenu/theme-loader.c: Likewise.
5958 * include/grub/gfxmenu_view.h: Likewise.
5959 * po/exlude.pot: Likewise.
5960 * grub-core/gfxmenu/view.c: Likewise.
5961 Also updated minimal window size.
5962 Also terminal_sanity_check function has been introduced.
272dc8df
VT
5963 * grub-core/tests/checksums.h: Update (terminal window height
5964 is adjusted now for low resolution screen)
b4743461 5965
748a4533
VS
59662013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
5969 position).
5970
fca5f944
VS
59712013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * po/exclude.pot: Add few recent exceptions.
5974
4f47d809
VS
59752013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * tests/grub_func_test.in: Add unicode.pf2.
5978
a62ae90c
VS
59792013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
5982 standard rather than noral color, in line with other terminals.
5983
4ed41392
VS
59842013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
5987 analysis.
5988
3719fbc5
VS
59892013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 * grub-core/loader/arm/linux.c: Change printf to dprintf.
5992
459b1d91
VS
59932013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
5996 inappropriate printf.
5997
f4e1ab9d
AB
59982013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
5999
6000 * .bzrignore: Remove grub-core/lib/dtc-grub,
6001 grub-core/Makefile.libfdt.def
6002 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
6003
fa471bfa
VS
60042013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 * include/grub/video.h (grub_video_register): Keep double-linked as
6007 well as single-linked invariants.
6008 Reported by: qwertial.
6009
d65be02b
VS
60102013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * grub-core/commands/nativedisk.c (get_uuid): Handle
6013 GRUB_DISK_DEVICE_UBOOTDISK_ID.
6014
ba8bc620
VT
60152013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
6016
6017 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
6018 maximum of NW, N, NE heights instead of N's height and maximum of
6019 NW, W, SW widths instead of W's width. (So the box will be always
6020 correctly drawn)
6021
4f0ad029
GS
60222013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
6023
6024 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
6025 Fix misuse of variable count.
6026
43d53b72
LL
60272013-07-18 Leif Lindholm <leif.lindholm@arm.com>
60282013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
60292013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 6030
43d53b72
LL
6031 New ports to arm-uboot and arm-efi.
6032 Mostly by Leif Lindholm with some additions from
6033 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 6034
88f8d146
VS
60352013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
6038 and not before.
6039 Reported by: Leon Drugi.
6040
3f42504c
VS
60412013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
6044 Reported by: Paulo Flabiano Smorigo.
6045
d110499b
VT
60462013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
6047
6048 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
6049
a8674ad3
VT
60502013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
6051
6052 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
6053
286fe4b3
VS
60542013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
6057
1bd57aa3
VS
60582013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
6061
7a87d69f
AB
60622013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
6063
6064 * grub-core/net/bootp.c: Export net_* variables.
6065 * grub-core/net/net.c: Likewise.
6066
b2182299
VS
60672013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
6070
795b3dc0
VS
60712013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
6074
68714c43
VS
60752013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
6078
af211bab
VS
60792013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
6082
0036f02d
MM
60832013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6084
6085 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
6086 <= 0.
6087
6d0ddff3
MM
60882013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6089
6090 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
6091 functions.
6092
038016f4
MM
60932013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6094
6095 * grub-core/fs/zfs/zfs_lz4.c: New file.
6096 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
6097
776bdce2
MM
60982013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6099
6100 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
6101
c71dbd40
MM
61022013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6103
6104 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
6105 (check_pool_label): Likewise.
6106 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
6107
61082013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
6109
6110 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
6111
8e67b50f
AB
61122013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
6113
6114 * docs/grub.texi (Commands): Document postition parameters
6115 for menuentry command.
6116
f5ae3717
AB
61172013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
6118
6119 * util/grub-mknetdir.in: Remove stray line from help output.
6120
9c28da2a
VS
61212013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 Remove early sm712 init as there is no reason for it (the "watchdog"
6124 effect was due to wrong GPIO map).
6125
139072b8
VS
61262013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * grub-core/commands/pcidump.c: Remove static variables.
6129
c6a61bda
VS
61302013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * grub-core/commands/sleep.c: Refresh screen before sleeping.
6133
51369614
VS
61342013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * configure.ac: Move delimiter after the infos.
6137
efa8640a
VS
61382013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
6141
6f80a7b2
VS
61422013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
6145 not filling whole 8x16 space.
6146
a2371e19
VS
61472013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
6150
64fce2d8
VS
61512013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * configure.ac: Indicate which liblzma is used if any.
6154
eb272d84
PW
61552013-06-21 Paul Wise <pabs3@bonedaddy.net>
61562013-06-21 Craig Sanders <savannah@taz.net.au>
6157
6158 * util/grub-reboot.in: Document submenu usage.
6159
a9e5abee
CW
61602013-06-25 Colin Watson <cjwatson@ubuntu.com>
6161
6162 * .bzrignore: Update with a number of new test-related files.
6163
e639c204
CW
61642013-06-25 Colin Watson <cjwatson@ubuntu.com>
6165
6166 * util/grub-script-check.c: Fail on scripts containing no
6167 commands, to guard against corrupted grub-mkconfig setups that
6168 produce no useful output.
6169 * tests/grub_script_no_commands.in: New test.
6170 * Makefile.util.def (grub_script_no_commands): Add.
6171 Reported by Hans Putter. Fixes Debian bug #713886.
6172
a4c89b17
AB
61732013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6174
6175 * grub-core/disk/diskfilter.c: Forgot to remove comment
6176 from previous commit.
6177
5b06b53c
AB
61782013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6179
6180 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
6181 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
6182
702da5c9
AB
61832013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6184
6185 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
6186
aa62a5b7
AB
61872013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6188
6189 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
6190 rescan diskfilter devices until nothing new is found.
6191
4aa237c8
VS
61922013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 Fix casts when compiling coreboot-specific code for 64-bit EFI.
6195
93d8479b
VS
61962013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 Don't try to detect cbfs on *-emu.
6199
837222cc
VS
62002013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 * grub-core/term/gfxterm.c: USe right background color when scrolling.
6203
99c971af
VS
62042013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 Add support for processed coreboot payload chainloading.
6207
e6930a45
VS
62082013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6209
6210 Enable coreboot information commands even when not loaded as
6211 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
6212
5027af38
VS
62132013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6214
6215 Support for cbfs. Also factor out the part which is common
6216 for all archives to a separate module. This splits tar from cpio
6217 as they are very different but keeps cpio, cpio_be, odc and newc
6218 together since they're very similar.
6219
a5b55c4b
DM
62202013-06-15 David Michael <fedora.dm0@gmail.com>
6221
6222 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
6223 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
6224
0301a8b3
VS
62252013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 * tests/grub_script_eval.in: Really add the eval test.
6228
3d84cb17
VS
62292013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 Move flavour-specific parts out of common cpio.c file and
6232 rename remaining to cpio_common.c
6233
593e430c
AB
62342013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6235
6236 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
6237 off new function grub_script_execute_new_scope. Change callers to use
6238 either of them as appropriate.
6239 * grub-core/commands/eval.c: New command eval.
6240 * docs/grub.texi (Commands): Document it.
6241
63c29849
AB
62422013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6243
6244 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
6245 to fetch values when listing.
6246
cc284112
AB
62472013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6248
6249 Fix make dist on non-pc.
6250
62512013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
6252
6253 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
6254 without a device name.
6255
69544d1e
VS
62562013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 Remove enable_executable_check as it's not needed anymore.
6259 Reported by: dougray.
6260
96dbe648
VS
62612013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
6264 ambigouos RAID before discovering RAIDs on top of it.
6265 Reported by: bodom.
6266
ccfc0bdb
VS
62672013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 Fix typo (failback vs fallback).
6270
f2587088
AB
62712013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
6272
6273 * util/grub.d/30_os-prober.in: Add support for probing EFI
6274 System Partition (as of os-prober 1.58).
6275
cec5cf0c
VS
62762013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * configure.ac: Add yet another path to unifont. For parabola.
6279
e40b4596
JT
62802013-05-30 Josh Triplett <josh@joshtriplett.org>
6281
6282 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
6283 handling to copy the killed characters to the kill buffer as
6284 UCS4 stored as grub_uint32_t rather than as 8-bit characters
6285 stored as char. Eliminates UCS4 truncation and corruption
6286 observed when killing characters with Ctrl-u and yanking them
6287 back with Ctrl-y.
6288
fc4c4fdd
VS
62892013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 Detach optional parts of gfxterm and integrate in with coreboot init.
6292
6570b205
VS
62932013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 Move blit and fill dispatcher to appropriate files to decrease export
6296 and relocation overhead.
6297
b8323067
VS
62982013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 * grub-core/font/font.c, include/grub/font.h: Inline simple font
6301 functions.
6302
3cc1878f
VS
63032013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 * grub-core/Makefile.am: Fix compilation problem with some
6306 automake versions.
6307
4b80e43c
VS
63082013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
6311
57e0c20c
VS
63122013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
6315 automake versions.
6316
4fd42c53
VS
63172013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
6320 SSDT.
6321
1e908b34
RS
63222013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
6323
6324 * grub-core/partmap/dfly.c: New partition map.
6325
1359e474
VS
63262013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
6329 checking.
6330 Reported by: Francesco Lavra.
6331
17806392
AB
63322013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
6333
6334 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
6335 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
6336 false conditions.
6337 * conf/Makefile.common: define dist_grubconf_DATA
6338
cdce14fa
VS
63392013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 Progressively skip menu elements on small terminals rather
6342 than crashing.
6343
c8d6cc3c
VS
63442013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6347 to avoid losing last column.
6348
a73b31ce
VS
63492013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * po/exclude.pot: Add missing string "%C".
6352
1202c764
VS
63532013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
6356 after the test.
6357
50268344
VS
63582013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * util/grub-install.in: Gettextize "Not found" message.
6361
62b15edf
VS
63622013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6363
6364 Fix distfiles list.
6365 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6366
63672013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
6368
6369 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
6370 present.
6371 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
6372
709ad61b
VS
63732013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
6376
d128901a
VS
63772013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
6380 attribute since structure is not necessarily aligned.
6381
34b22f5c
AB
63822013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
6383
6384 * docs/grub.texi (Device syntax): Clarify description of network
6385 drives.
6386
0f7e980b
VS
63872013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
6390 for vasprintf presence.
6391
30b03dc2
VS
63922013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * util/grub-install.in: Handle efibootmgr presence check.
6395 Reported by: Leif Lindholm.
6396
0dc11c08
VS
63972013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
6400 new strings to translate.
6401
f8024c3f
VS
64022013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
6405 yet another string (pun intended) to translate.
6406
b4c1da62
VS
64072013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 * po/POTFILES-shell.in: Autogenerate it.
6410
0ef7478b
VS
64112013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
6414
8200fa15
VS
64152013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
6418 misnomer.
6419
091945b2
AB
64202013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
6421
6422 * docs/grub.texi (Network): Add description of net_default_interface,
6423 net_default_ip and net_default_mac. Rewrite variables description
6424 to emphasize that they are per-interface.
6425
0e7b2e32
VS
64262013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 New test: cmdline and cat.
6429
16f7c8f6
VS
64302013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * grub-core/commands/cat.c: Show UTF-8 characters.
6433
3e912fda
VS
64342013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * conf/Makefile.common: Poison float and double on non-emu.
6437
ee0220bc
VS
64382013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * configure.ac: Don't disable extended registers on emu.
6441
89e0240c
VS
64422013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * configure.ac: Don't use extended registers on x86_64.
6445 Reported by: Peter Jones.
6446
e56d9637
VS
64472013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * grub-core/term/efi/console.c: Fix compile error.
6450
8098f655
VS
64512013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 Compressed HFS+ support.
6454
16940e07
VS
64552013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
6458 pixel".
6459
c5dbc13d
VS
64602013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 Menu color test.
6463
011f8ae8
VS
64642013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * grub-core/tests/setjmp_test.c: New test.
6467
2aa072d7
VS
64682013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 New variables 'net_default_*' to determine MAC/IP of default interface.
6471
43fe02cb
VS
64722013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * tests/gettext_strings_test.in: A test to check for strings not
6475 marked for translation.
6476
bed06142
VS
64772013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * autogen.sh: Exclude unused libgcrypt files from translation.
6480
fb2666b5
VS
64812013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 Simplify few strings.
6484
d22840ec
VS
64852013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 Mark few forgotten strings for translation.
6488
e34092fd
VS
64892013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
6492 rather than printf.
6493
47cf82b4
VS
64942013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
6497 rather than printf.
6498 * grub-core/video/readers/tga.c: Likewise.
6499
1eed0e6e
VS
65002013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 * tests/priority_queue_unit_test.cc: New test.
6503
c5b7697b
VS
65042013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
6507 than printf.
6508
5945c2f8
AB
65092013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
6510
6511 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
6512 variable for one time boot menu entry.
6513
fa292343
B
65142013-05-05 Bean <bean123ch@gmail.com>
6515
6516 * grub-core/commands/testspeed.c: New command testspeed.
6517
310d4214
VS
65182013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 Factor-out human-size printing.
6521
85002bf3
VS
65222013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 Agglomerate more mallocs to speed-up gfxterm.
6525
22b06e96
VS
65262013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 Speed-up gfxterm by slightly agglomerating mallocs.
6529
b7c036bc
VS
65302013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 More video checks.
6533
92323d1f
VS
65342013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 Speed-up gfxterm by saving intermediate results in index+alpha
6537 format.
6538
0fb356a3
VS
65392013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
6542 test.
6543
44dea3f9
VS
65442013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
6547 line of timeout as it may contain the rest of long line.
6548
14af86e4
VS
65492013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 * grub-core/normal/main.c: Fix freed memory dereference.
6552
03f7c8c3
VS
65532013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 Fix several memory leaks.
6556
c686014c
VS
65572013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
6560
0788a695
VS
65612013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
6564
daf01d61
VS
65652013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 Fix test -a and -o precedence.
6568 Reported by: adrian15.
6569
82ae74d7
VS
65702013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
6573
8cec7bd4
AB
65742013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
6575
6576 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
6577 and add it as source to functional_test module.
6578
aa73d688
VS
65792013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
6582
c104b6f9
VS
65832013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 New series of tests for gfxterm and gfxmenu.
6586
7391c4d5
VS
65872013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6588
6589 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
6590 the theme path relative to $prefix/themes.
6591
cff50118
VS
65922013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
6595 Fix order bug.
6596 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6597
7c332bdc
VS
65982013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
6601 descriptor.
6602
a4f9a5ff
VS
66032013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
6606 grub_gfxmenu_timeout_notifications.
6607 (grub_gfxmenu_view_destroy): Likewise.
6608
b5a2114d
VS
66092013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
6612
a8905e8a
VS
66132013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 Several fixes to ieee1275 and big-endian video.
6616
813c1622
VS
66172013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 Add missing exports on mips.
6620
3f3e7326
VS
66212013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
6624 if no unifont is found.
6625 Restore original keyboard.
6626
095accd1
VS
66272013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6630 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
6631
50361660
VS
66322013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 First automated video test (running videotest and comparing results)
6635
cd0f6eec
VS
66362013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
6639 instead of 2 to have full RGB/CMY test pattern.
6640
3f9634e5
VS
66412013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 Add few more tests.
6644
583e5b64
VS
66452013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * include/grub/arc/arc.h: Account for missing "other" peripheral on
6648 ARCS. All users updated.
6649
aa7bcb99
VS
66502013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
6653
95ef1a54
VS
66542013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/partmap/amiga.c: Fix size of checksummed block.
6657
46546fc5
VS
66582013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
6661 Reported by: qwertial.
6662
3476e0ef
VT
66632013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6664
6665 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
6666 with syntax "XXX deg"/"XXX °".
6667
96f33fed
VS
66682013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6669
6670 Make PCI init in i386-qemu port more robust.
6671
66722013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
6673
6674 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
6675 cached view is reused.
6676 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
6677 open boot menus.
6678
c53b4e67
VS
66792013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 Unify more code in grub-install_header.
6682
f7457fb2
VS
66832013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 Add few new tests.
6686
e2f27a8c
VS
66872013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 Enforce disabling of firmware disk drivers when native drivers kick in.
6690
ef9d8cd5
VS
66912013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * grub-core/commands/nativedisk.c: Customize the list of modules on
6694 platform. Don't try to search for disks already using native drivers.
6695
f7bf6c31
VS
66962013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
6699 platforms.
6700
bdc4add8
VS
67012013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
6704 handling of variables containing backslash.
6705
e9e46c9a
VS
67062013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
6709 dereference.
6710 Reported by: qwertial.
6711
0e90dee8
VS
67122013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
6715
e0aacf24
VS
67162013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
6719 dereference.
6720 Reported by: qwertial.
6721
3c0003c3
VS
67222013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * docs/grub.texi: Add a comment about usefullness of nativedisk.
6725
adb7d667
VS
67262013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
6729
7cd0df84
VS
67302013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6731
6732 New command `nativedisk'.
6733
02adbb93
VS
67342013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
6737 * grub-core/loader/i386/bsd.c: Likewise.
6738
9fb0fd4f
VS
67392013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6740
6741 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
6742
bd69257a
VS
67432013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
6746 grub_get_unaligned16 rather than shifts.
6747
178c2764
VS
67482013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * grub-core/kern/file.c: Use const char * rather than casting to
6751 non-const.
6752
eadfad24
VS
67532013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/commands/probe.c: Add missing grub_device_close.
6756
9f73ebd4
VS
67572013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * INSTALL: Document linguas.sh.
6760
965fa829
VS
67612013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 Remove POTFILES.in and regenerate it in autogen.sh.
6764
d417ddc4
VS
67652013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 Move --directory/--override-directorry to grub-install_header and unify.
6768
f97ec546
VS
67692013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * grub-core/term/morse.c: Macroify dih and dah.
6772
b2d7470c
PFS
67732013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6774
6775 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
6776
141e2a78
VS
67772013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * grub-core/term/ns8250.c: Systematically probe ports by writing
6780 to SR before using them.
6781
1dd70ebd
PFS
67822013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6783
6784 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
6785 disks.
6786 (check_sas): Get sas_adress info.
6787
c796a107
VS
67882013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
6791 ports.
6792
43168646
LD
67932013-04-27 Leon Drugi <eyak>
6794
6795 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
6796 BSS clearing.
6797
e7b8fd08
VS
67982013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 Core compression test.
6801
17f9fd29
VS
68022013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 Implement grub_machine_get_bootlocation for ARC.
6805
dc2a6c8b
VS
68062013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 Improve AHCI detection and command issuing.
6809
f25a2ba6
VS
68102013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 Fix pseries test.
6813
a6393224
VS
68142013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 Make 'make check' work on emu.
6817
db99fbe8
VS
68182013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 Replace libcurses with our own vt100 handling for the ease of testing
6821 and decreasing prerequisites.
6822
b24ca7cd
VS
68232013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
6826
63314aa4
VS
68272013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
6830 compile when not needed.
6831
c1b00fff
VS
68322013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * tests/pseries_test.in: New test.
6835
f93e89ef
VS
68362013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 Add test to check that different boot mediums work.
6839
c4b456d3
VS
68402013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
6843 ofw limited ISO support.
6844
5fe67f39
VS
68452013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 * configure.ac: Fix loongson conditional.
6848
7f63a64f
VS
68492013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 Enable mipsel-arc.
6852
b04b5990
VS
68532013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 Add serial on ARC platform.
6856
88d2f302
VS
68572013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
6860 commit.
6861
86eb23bc
VS
68622013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * tests/partmap_test.in: Add missing double semicolon.
6865
eec3bb75
VS
68662013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * util/grub-mkrescue.in: Fix loongson filename.
6869
e0810df3
VS
68702013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 * util/grub-mkrescue.in: Move all files that don't have a location
6873 set in stone under /boot/grub. Use ISO hard links rather than copies
6874 to save some space.
6875
65a6b30b
VS
68762013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6877
6878 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
6879 bogus SLOF values.
6880
6aff0107
VS
68812013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 Make check work on mips-arc.
6884
5e013e56
VS
68852013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * util/grub-mkrescue.in: Alias sashARCS as sash.
6888
d1989e2e
VS
68892013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
6892 it's serial.
6893
1a25e72c
VS
68942013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * util/grub-install.in: Fix target fo qemu_mips.
6897 Fix extension on EFI.
6898
a59a9826
VS
68992013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
6902 in front of chosen entry to mark it even if highlighting is lost.
6903
1a40f80c
VS
69042013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
6907 gfxpayload=keep if cbfb is active.
6908
e343549c
VS
69092013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
6912
45fbd9a2
VS
69132013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6914
6915 Add missing video ids to coreboot and ieee1275 video.
6916
ab1440bd
VS
69172013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 * util/grub-mkrescue.in: Add mips-arc support.
6920
cdeb8324
VS
69212013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
6924
8528c879
VS
69252013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 Move mips-arc link address. Previous link address was chosen
6928 in belief that RAM on SGI platforms grows down while in fact it
6929 grows up from an unusual base.
6930
17fca573
VS
69312013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6932
6933 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
6934 Fix a type which prevented CD-ROM and floppy boot.
6935
d178788e
VS
69362013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 Support coreboot framebuffer.
6939
6940 * grub-core/video/i386/coreboot/cbfb.c: New file.
6941
fe4c3e7e
VS
69422013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
6945 detecting too small regions.
6946
ec2dd179
VS
69472013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
6950
872dac83
VS
69512013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
6954 Remove dprintf.
6955 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6956
90ec4b7f
VS
69572013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
6960 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6961 * grub-core/loader/powerpc/ieee1275/linux.c
6962 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6963
f32555dd
VS
69642013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6967 Look for /boot-rom as well as /rom/boot-rom.
6968
38649799
VS
69692013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
6972 handling when creating text_layer failed.
6973 * grub-core/video/video.c (grub_video_create_render_target):
6974 Set result to 0 on error.
6975 (grub_video_delete_render_target): Do not dereference NULL.
6976
aeace7f7
VS
69772013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
6980 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
6981 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
6982 (grub_linux_load64): Mask out 2 high bits.
6983
4eafa175
AB
69842013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
6985
6986 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
6987 more place.
6988
daaa64bd
VS
69892013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6990
6991 Add support for pseries and other bootinfo machines to grub-mkrescue.
6992
6993 Tested by: Paulo Flabiano Smorigo.
6994
d0d2daa6
VS
69952013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 * util/grub-mkrescue.in: Add GPT for EFI boot.
6998
b193e100
VS
69992013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
7002 It improves performance in qemu.
7003
a0f8f3ac
VS
70042013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 * build-aux/snippet: Add missing gnulib files.
7007
284df0e2
AB
70082013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
7009
7010 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
7011
740201f3
AB
70122013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
7013
7014 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
7015
a7e03923
PJ
70162013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
70172013-04-15 Peter Jones <pjones@redhat.com>
7018
7019 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
7020 sectors.
7021 Based on patch by Peter Jones.
7022
25fc51a8
VS
70232013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 Fix DMRAID partition handling.
7026
88017d47
VS
70272013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * tests/grub_cmd_date.in: Skip on sparc64.
7030
fa7d914e
VS
70312013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
7034 firmware error messages.
7035
cbe57a48
VS
70362013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
7039 source and destination differ.
7040
21aecce0
VS
70412013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
7044 detection.
7045
25092d29
VS
70462013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
7049 match config-util.h to avoid warnings and increase compatibility.
7050
79451522 70512013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 70522013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
7053
7054 Add option to compress files on install/image creation.
7055
78b7d77b
VS
70562013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * docs/grub-dev.texi: Rearrange menu to match the section order.
7059 Reported by: Bryan Hundven.
7060
cc2fa5ec
VS
70612013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
7064
b49fe879
VS
70652013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 Move GRUB out of system area when using xorriso 1.2.9 or later.
7068
5351da81
VS
70692013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * tests/grub_cmd_date.in: Add missing exit 1.
7072
c9d586ea
VS
70732013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 * tests/partmap_test.in: Skip on sparc64.
7076
3f729741
VS
70772013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 Support grub-shell on sparc64.
7080
8ca86b3a
VS
70812013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 Support mkrescue on sparc64.
7084
aa1af9bb
VS
70852013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 Allow IEEE1275 ports on path even if it wasn't detected automatically.
7088 Needed on OpenBIOS due to incomplete device tree.
7089
ac4fea79
VS
70902013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
7093 would be otherwise excluded.
7094
70952013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
7096
7097 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
7098 Inline name defines used only once.
7099
fe22b071
VS
71002013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 Fix memory leaks in ofnet.
7103 Reported by: Francesco Lavra.
7104
9d21381b
VS
71052013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * docs/man/grub-glue-efi.h2m: Add missing file.
7108
07aec23c
VS
71092013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
7112
67ab8353
VS
71132013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 Better support Apple Intel Macs on CD.
7116
ba44ca6d
VS
71172013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 Replace stpcpy with grub_stpcpy in tools.
7120
bbdd6305
VS
71212013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7122
7123 Handle Japanese special keys.
7124 Reported by: Hiroyuki YAMAMORI.
7125 Codes supplied by: Hiroyuki YAMAMORI.
7126
8573d302
VS
71272013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 * util/grub-mkimage.c: Document memdisk implying --prefix.
7130
d70dbab7
VS
71312013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
7134 much we can do about it anyway.
7135
51a4c3e3
AN
71362013-04-12 Aleš Nesrsta <starous@volny.cz>
7137
7138 Fix handling of split transfers.
7139
92c8f58d
VS
71402013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 * grub-core/net/http.c: Fix bad free.
7143
b7d17a49
VS
71442013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
7147 than buffer size.
7148
a3d566d4
VS
71492013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7150
7151 Disable partmap check on i386-ieee1275 due to openfirmware issues.
7152
a936af56
VS
71532013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * tests/util/grub-shell.in: Fix it on powerpc.
7156
51212234
VS
71572013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 Turn off QEMU ACPI-way since new releases don't have shutdown port
7160 anymore.
7161
a21eec9e
VS
71622013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 * docs/grub.texi: Update coreboot status info.
7165
e3734b84
VS
71662013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 * tests/grub_cmd_date.in: New test for datetime.
7169
f9d40055
VS
71702013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * tests/partmap_test.in: Fix missing qemudisk setting.
7173
dbc56d8f
VS
71742013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 Support i386-ieee1275 grub-mkrescue and make check on it.
7177
a79b8a15
VS
71782013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
7181 feature for it.
7182
48f39bb4
VS
71832013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
7186 GRUB_CMDLINE_XEN_DEFAULT.
7187 Reported by: Marc Warne (GigaTux) <gigatux>
7188
053cfcdd
VS
71892013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 Import new gnulib.
7192
93cd84df
VS
71932013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 Use ACPI shutdown intests as traditional port was removed.
7196
f4b1fa4f
AB
71972013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
7198
7199 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
7200 distinction.
7201
49818a59
VS
72022013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
7205 Fix few warining messages and leaks while on it.
7206
9277a306
AB
72072013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
7208
7209 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
7210 links under grub-core/lib/libgcrypt-grub/mpi.
7211
d5e2a158
VS
72122013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 Fix ia64-efi image generation on big-endian machines. Deduplicate
7215 some code while on it.
7216 Reported by: Leif Lindholm.
7217
18866643
AB
72182013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
7219
7220 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
7221 as extra_dist.
7222
ca53deb8
AB
72232013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
7224
7225 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
7226
d4c4b8e1
BH
72272013-04-08 Bryan Hundven <bryanhundven@gmail.com>
7228
7229 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
7230 texinfo-5.1.
7231
47043f95
VS
72322013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 * grub-core/normal/term.c: Few more fixes for menu entry editor
7235 rendering.
7236 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
7237
a3216068
VS
72382013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7239
7240 * grub-core/normal/term.c: Few more fixes for menu entry editor
7241 rendering.
7242 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
7243
21026747
AB
72442013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
7245
7246 * conf/Makefile.extra-dist (EXTRA_DIST): Add
7247 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
7248
59624ca8
AB
72492013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
7250
7251 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
7252 instead of hardcoding grub.mo.
7253
1f44478c
FN
72542013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
7255
7256 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
7257
eeada7b1
VS
72582013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
7261 grub-core/disk/geli.c.
7262
132867de
VS
72632013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 * util/grub-mkfont.c: Prefer enum to #define.
7266
de73de17
VS
72672013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
7270
1865baa7
VS
72712013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
7274
ce7d92a9
VS
72752013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
7278
52eab656
VS
72792013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
7282
98b23b95
VS
72832013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * include/grub/bsdlabel.h: Use enums.
7286
0467a5dd
VS
72872013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7288
7289 Move GRUB_CHAR_BIT to types.h.
7290
16cc9f03
AB
72912013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7292
7293 * docs/grub.texi: Document more user commands.
7294
3152aecb
AB
72952013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7296
7297 * docs/grub.texi: Document menuentry --id option.
7298
c506fc30
FL
72992013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
7300
7301 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
7302
aa428238
VS
73032013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 Unify file copying setup across different install scripts. Add
7306 options for performing partial install.
7307
efe0cdda
PJ
73082013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
73092013-04-04 Peter Jones <pjones@redhat.com>
7310
7311 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
7312
f75835bd
VS
73132013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7314
7315 Use TSC as a possible time source on i386-ieee1275.
7316
2cd5ce6c
VS
73172013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
7320 Init err.
7321
c9625630
VS
73222013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * util/grub-setup.c (setup): Handle some corner cases.
7325
be008941
VS
73262013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
7329
1a78d573
VS
73302013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 * grub-core/commands/verify.c: Save verified file to avoid it being
7333 tampered with after verification was done.
7334
db8ff59f
VS
73352013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
7338 reported width by one to compensate for curesor algorithm problem.
7339
91bf46b1
VS
73402013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 Fix screen corruption in menu entry editor and simplify the code
7343 flow while on it.
7344
a7b1d693
AB
73452013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
7346
7347 * util/grub-mount.c (fuse_init): Return error if fuse_main
7348 failed.
7349
31df9ad8
FL
73502013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
7351
7352 * include/grub/elf.h: Add missing ARM relocation codes and fix
7353 existing ones.
7354
07f392eb
VT
73552013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7356
7357 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
7358
9efd73ec 73592013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
73602013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
7363 into account when calculating radius.
7364
73652013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
7366
7367 * grub-core/gfxmenu/view.c: Fix off-by-one error.
7368
4985ddaa
VT
73692013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7370
7371 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
7372
8c3635ff
RS
73732013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7374
7375 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
7376 missing closing bracket.
7377
74a35e69
RS
73782013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7379
7380 * INSTALL: Mention xorriso requirement.
7381
40f1c000
AB
73822013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
7383
7384 * grub-core/commands/verify.c: Fix hash algorithms values for
7385 the first three hashes - they start with 1, not with 0.
7386
e75fdee4
VS
73872013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
7390 Try terminating EFI services several times due to quirks in some
7391 implementations.
7392
33028f4c
CW
73932013-03-26 Colin Watson <cjwatson@ubuntu.com>
7394
7395 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
7396 skipping Event, Device, Processor, PowerRes, ThermalZone, and
7397 BankField extended opcodes.
7398 (get_sleep_type): Add minimal scope handling (just enough to
7399 handle setting the scope to the root path).
7400 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
7401 * include/grub/acpi.h: Add enumeration values for Event, Device,
7402 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
7403
33871a10
VT
74042013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
7405
7406 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
7407 memory leak.
7408
8990963a
VS
74092013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * grub-core/disk/ahci.c: Give more time for AHCI request.
7412
daae8f9e
VS
74132013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
7416 command.
7417
6a7fb94b
VS
74182013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 Replace the region at 0 from coreboot tables to available in BSD
7421 memory map.
7422
ff99babd
VS
74232013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
7426 non-BIOS platforms.
7427
30d6b1b2
VS
74282013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
7431 platforms.
7432
6ccd0b31
VS
74332013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
7436 handling of multi-device filesystems.
7437
23c9cc04
VS
74382013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
7441 platforms.
7442
ce50dbd7
VS
74432013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 Add new 'proc' filesystem framework and put luks_script into it.
7446
d975e8d5
VS
74472013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
7450 and qemu.
7451
e73ba5e8
VS
74522013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
7455
92750e4c
VS
74562013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 Add ability to generate newc additions on runtime.
7459
0ec45a68
VS
74602013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
7463 description.
7464
320abd43
VS
74652013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * po/POTFILES.in: Regenerate.
7468
d7a6506e
VS
74692013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * grub-core/commands/verify.c (hashes): Add several hashes
7472 from the spec.
7473
8fe05def
VS
74742013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 Slight improve in USB-related boot-time checkpoints.
7477
524e2766
VS
74782013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * grub-core/commands/boottime.c: Fix copyright header.
7481
cc19857a
VS
74822013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7483
7484 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
7485 coreboot tables content. Support for cbmemc.
7486
ef8810e9
VS
74872013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 Fix a conflict between ports structures with 2 controllers of
7490 same kind.
7491
e9dabdfa
VS
74922013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * include/grub/boottime.h: Add missing file.
7495
f6df57d2
VS
74962013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 Initialize USB ports in parallel to speed-up boot.
7499
d745dda7
VS
75002013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 Fix USB devices not being detected when requested
7503 due to delayed attach.
7504
e5a2dd7b
VS
75052013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7506
e744219b
VS
7507 Implement boot time analysis framework.
7508
75092013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
7512 descriptor to just receive it as argument rather than endpoint
7513 address.
7514
5dd6f587
VS
75152013-03-19 Aleš Nesrsta <starous@volny.cz>
7516
7517 Better estimate the maximum USB transfer size.
7518
2f1071d5
VS
75192013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7520
7521 Resend a packet if we got the wrong buffer in status.
7522
46ecfc49
VS
75232013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
7526 multiplication rather than division.
7527
ea811130
VS
75282013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
7531 than divisions.
7532
d2789cf0
VS
75332013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
7536 operations to have intended shifts and not divisions.
7537
a9c94590
VS
75382013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
7541 intended shifts rather than division.
7542
84cfe81b
VS
75432013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
7546 computation for some years before epoch. Avode confusing division
7547 while on it.
7548
21344ef6
VS
75492013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 * grub-core/video/i386/pc/vbe.c
7552 (grub_video_vbe_print_adapter_specific_info): Replace division by
7553 shifts.
7554
3f2b4d1a
VS
75552013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 Adjust types in gdb module to have intended unsigned shifts rather than
7558 signed divisions.
7559
3dac5878
VS
75602013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
7563 maximum size is 4G - 1 on hfs
7564
5341c0fb
VS
75652013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
7568
fc3ff2a2
VS
75692013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
7572 function.
7573
81455e8e
AB
75742013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
7575
7576 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
7577 causing gcc error with gcc 4.7.1.
7578
efd4f117
NZ
75792013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7580
7581 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
7582 dereference null pointer. While the code is technically correct, gcc
7583 may eliminate a null check if pointer is already dereferenced.
7584
e11645f4
NZ
75852013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7586
7587 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
7588 OOM check.
7589 * grub-core/normal/term.c (read_terminal_list): Likewise.
7590
77468368
VS
75912013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 Lift up core size limits on some platforms. Fix potential memory
7594 corruption with big core on small memory systems. Document remaining
7595 limits.
7596
f6b58fe5
VS
75972013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
7600 gotoxy to 0,0.
7601
19ce697d
VS
76022013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 Remove all trampoline support. Add -Wtrampolines when
7605 present. Remove symbols used for trampolines to make
7606 link fail if trampolines are present.
7607
73b5d90f
VS
76082013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
7611 append out of its parent.
7612
cb758e96
VS
76132013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
7616 parent.
7617
3188131f
VS
76182013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
7621 all vars to a macro. All users updated.
7622
e42b2514
VS
76232013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * grub-core/disk/ieee1275/nand.c: Fix compilation on
7626 i386-ieee1275.
7627
83e1a1a1
VS
76282013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7629
7630 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
7631
1d5a880f
VS
76322013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
7635
6e4146c4
VS
76362013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 Move to more hookless approach in IEEE1275 devices handling.
7639
99fcda8a
VS
76402013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * grub-core/kern/term.c (grub_term_normal_color),
7643 (grub_term_highlight_color): Add back lost defaults.
7644
73bf57e2
VS
76452013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 Make elfload not use hooks. Opt for flags and iterators instead.
7648
7f8c105f
VS
76492013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
7652 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
7653
396d4091
VS
76542013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 * grub-core/script/execute.c (gettext_append): Remove nested functions.
7657
76582013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
7661 hook pass-through parameter. All users updated and unnested.
7662
74a27421
VS
76632013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
7666 out of its parent.
7667
b46d4213
VS
76682013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * grub-core/fs/hfs.c: Remove nested functions.
7671
e114c3cc
VS
76722013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7673
7674 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
7675 the context through.
7676 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
7677
f9b7d780
VS
76782013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * util/grub-editenv.c (list_variables): Move print_var out of its
7681 parent.
7682
ca9c2608
VS
76832013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
7686 function.
7687
5d983f5f
VS
76882013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 * grub-core/gentrigtables.c: Make tables const.
7691
3056d3e7
VS
76922013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 Remove nested functions from videoinfo iterators.
7695
e2303774
VS
76962013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
7699 for 64-bit platforms.
7700
f42e3a2f
VS
77012013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
7704 a FOR_CHILDREN macro.
7705
be174e5e
VS
77062013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
7709 platform from firmware path.
7710
0789b672
VS
77112013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 Enable linux16 on non-BIOS systems for i.a. memtest.
7714
7715 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
7716 correctly.
7717 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
7718
005a9c32
VS
77192013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
7722 Fix end of table condition.
7723
ff2b3cd9
VS
77242013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7725
7726 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
7727 out of its parent.
7728
4fc40ff8
VS
77292013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7730
7731 * grub-core/fs/jfs.c: Remove nested functions.
7732
be42d97a
VS
77332013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * grub-core/fs/minix.c: Remove nested functions.
7736
99373ce4
VS
77372013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 * grub-core/fs/iso9660.c: Remove nested functions.
7740
5aec2afe
VS
77412013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7742
7743 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
7744 of parent function.
7745
6c69e691
VS
77462013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7747
7748 * util/grub-fstest.c: Remove nested functions.
7749
43c91882
VS
77502013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * grub-core/loader/machoXX.c: Remove nested functions.
7753
4eb8b756
CW
77542013-02-27 Colin Watson <cjwatson@ubuntu.com>
7755
7756 Remove nested functions from disk and file read hooks.
7757
7758 * include/grub/disk.h (grub_disk_read_hook_t): New type.
7759 (struct grub_disk): Add read_hook_data member.
7760 * include/grub/file.h (struct grub_file): Likewise.
7761 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
7762 argument.
7763
7764 Update all callers.
7765
df6da5a5
AB
77662012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
7767
7768 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
7769 Fix off by one error in enumerating extended partitions.
7770
21aecde5
AB
77712013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
7772
7773 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
7774 memory leak if device name is not found.
7775
f1a19118
AB
77762013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7777
7778 * grub-core/normal/menu_entry.c (update_screen): remove
7779 unused variable `off' which caused scroll down arrow to be always shown.
7780
958bfd20
AB
77812013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7782
7783 * grub-core/normal/menu_entry.c (insert_string): fix off by one
7784 access to unallocated memory.
7785
b7b78edb
AB
77862013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7787
7788 * Makefile.util.def: Add partmap/msdos.c to common library.
7789 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
7790 * grub-core/disk/ldm.c: Check for existence of
7791 GRUB_PC_PARTITION_TYPE_LDM.
7792
28d468d6
VS
77932013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7794
7795 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
7796 sizes and display sector size.
7797
d55ffb02
VS
77982013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7799
7800 Implement new command cmosdump.
7801
b5ea6ce0
VS
78022013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7803
7804 Support Openfirmware disks with non-512B sectors.
7805
7806 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
7807 size of the disk.
7808 * (grub_ofdisk_get_block_size): New function.
7809 * (grub_ofdisk_prepare): Use the correct block size.
7810 * (grub_ofdisk_read): Likewise.
7811 * (grub_ofdisk_write): Likewise.
7812 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
7813 New proto.
7814
cc0e476f
VS
78152013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
7818
c5dbdc33
VS
78192013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
7822 on first error.
7823
3f078c0f
VS
78242013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
7827 freeing it.
7828
66a93674
VS
78292013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 Implement USBDebug (full USB stack variant).
7832
c9f0c134
VS
78332013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
7836 unless they have unexpected values.
7837
cfe1288b
VS
78382013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
7841 grub_print_error.
7842
e42b9969
VS
78432013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
7846 zero-out of port structure.
7847
cf94fd62
VS
78482013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
7851 of extended attributes.
7852
f81ef4b5
AB
78532013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
7854
7855 * util/grub-install.in: change misleading comment about
7856 device.map creation
7857
af18fdb4
VS
78582013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
7861 when menu highlight color isn't set.
7862
08bcec50
M
78632013-01-27 C. Masloch <pushbx@38.de>
7864
7865 Improve FreeDOS direct loading support compatibility.
7866
7867 * include/grub/i386/relocator.h (grub_relocator16_state):
7868 New member ebp.
7869 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
7870 variable.
7871 (grub_relocator16_boot): Handle %ebp.
7872 * grub-core/lib/i386/relocator16.S: Likewise.
7873 * grub-core/loader/i386/pc/freedos.c:
7874 Load BPB to pass kernel which partition to load from.
7875 Check that kernel file is not too large.
7876 Set register dl to BIOS unit number as well.
7877
7782b8a6
CW
78782013-01-22 Colin Watson <cjwatson@ubuntu.com>
7879
7880 * util/grub-reboot.in (usage): Document the need for
7881 GRUB_DEFAULT=saved.
7882 * util/grub-set-default.in (usage): Likewise.
7883 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
7884
e661c180
VS
78852013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
7888 than defining WORDS_BIGENDIAN manually.
7889
1c22ca9a
VS
78902013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
7893 invariants.
7894
d44892fe
CW
78952013-01-21 Colin Watson <cjwatson@ubuntu.com>
7896
7897 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
7898 nested.
7899 (blit_comb: add_device_width): Likewise.
7900
5fdbaed1
CW
79012013-01-21 Colin Watson <cjwatson@ubuntu.com>
7902
7903 Remove nested functions from USB iterators.
7904
7905 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
7906 (grub_usb_controller_iterate_hook_t): Likewise.
7907 (grub_usb_iterate): Add hook_data argument.
7908 (grub_usb_controller_iterate): Likewise.
7909 (struct grub_usb_controller_dev.iterate): Likewise.
7910
7911 Update all implementations and callers.
7912
4250985a
VS
79132013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7914
7915 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
7916 margin when not needed.
7917
7d8848f3
VS
79182013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7919
bc136973 7920 Make color variables global instead of it being per-terminal.
7d8848f3
VS
7921
79222013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7923
bc136973
VS
7924 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
7925 asterisk.
7d8848f3 7926
ed12a003
CW
79272013-01-21 Colin Watson <cjwatson@ubuntu.com>
7928
7929 Fix powerpc and sparc64 build failures caused by un-nesting memory
7930 map iterators.
7931
6a0db449
CW
79322013-01-21 Colin Watson <cjwatson@ubuntu.com>
7933
7934 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
7935 parameter declarations.
7936
ccd86b21
VS
79372013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
7940
822b726b
VS
79412013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 Improve spkmomdem reliability by adding a separator between bytes.
7944
115c2cc1
CW
79452013-01-21 Colin Watson <cjwatson@ubuntu.com>
7946
7947 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
7948 an Acer registration utility with several sightings in the wild.
7949 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
7950
fc524edf
CW
79512013-01-21 Colin Watson <cjwatson@ubuntu.com>
7952
7953 Remove nested functions from filesystem directory iterators.
7954
7955 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
7956 (struct grub_fs.dir): Add hook_data argument.
7957
7958 Update all implementations and callers.
7959
53d3e4e3
CW
79602013-01-21 Colin Watson <cjwatson@ubuntu.com>
7961
7962 * docs/grub.texi (Multi-boot manual config): Fix typo for
7963 "recommended".
7964
c821711f
LL
79652013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7966
7967 * util/grub-mkimage.c (main): Postpone freeing arguments.output
7968 until after its use in generate_image.
7969
6a0debbd
CW
79702013-01-20 Colin Watson <cjwatson@ubuntu.com>
7971
7972 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
7973 initrd size to addr_min, since the initrd will be allocated after
7974 this address.
7975
f41e08db
AB
79762013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7977
7978 * conf/Makefile.common: Fix autogen rules to pass definition
7979 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
7980
77529e0f
LL
79812013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7982
7983 * include/grub/elf.h: Update ARM definitions based on binutils.
7984
b879aa7b
VS
79852013-01-20 Aleš Nesrsta <starous@volny.cz>
7986
7987 Split long USB transfers into short ones.
7988
8eb8284d
AB
79892013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7990
7991 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
7992 is interrupted by ESC.
7993
08dad2dc
VS
79942013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 * util/grub-script-check.c (main): Uniform the error message.
7997
6c724b85
CW
79982013-01-20 Colin Watson <cjwatson@ubuntu.com>
7999
8000 Remove nested functions from ELF iterators.
8001
25239370
CW
80022013-01-20 Colin Watson <cjwatson@ubuntu.com>
8003
8004 Remove nested functions from device iterators.
8005
8006 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
8007 (grub_arc_iterate_devs): Add hook_data argument.
8008 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
8009 (struct grub_ata_dev.iterate): Add hook_data argument.
8010 * include/grub/device.h (grub_device_iterate_hook_t): New type.
8011 (grub_device_iterate): Add hook_data argument.
8012 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
8013 (struct grub_disk_dev.iterate): Add hook_data argument.
8014 (grub_disk_dev_iterate): Likewise.
8015 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
8016 Likewise.
8017 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
8018 Likewise.
8019 * include/grub/partition.h (grub_partition_iterate_hook_t): New
8020 type.
8021 (struct grub_partition_map.iterate): Add hook_data argument.
8022 (grub_partition_iterate): Likewise.
8023 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
8024 (struct grub_scsi_dev.iterate): Add hook_data argument.
8025
8026 Update all callers.
8027
6c0314d6
CW
80282013-01-20 Colin Watson <cjwatson@ubuntu.com>
8029
8030 Fix typos for "developer" and "development".
8031
600dc5f1
VS
80322013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 Add license header to spkmodem-recv.c.
8035
17334a6b
VS
80362013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 Rewrite spkmodem to use PIT for timing. Double the speed.
8039
7d462559
VS
80402013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 Add new command pcidump.
8043
b78d6c32
VS
80442013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8045
8046 New terminal outputs using serial: morse and spkmodem.
8047
34f71cb8
VS
80482013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 Improve bidi handling in entry editor.
8051
4542e71b
VS
80522013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8053
8054 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
8055 argument to prevent name collision.
8056
09fd6d82
CW
80572013-01-15 Colin Watson <cjwatson@ubuntu.com>
8058
8059 Remove nested functions from script reading and parsing.
8060
8061 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
8062 getline_data argument, passed to getline.
8063 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
8064 getline_data argument, passed to grub_parser_split_cmdline.
8065 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
8066 lexerstate->getline_data to lexerstate->getline.
8067 (grub_script_lexer_init): Add getline_data argument, saved in
8068 lexerstate->getline_data.
8069 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
8070 argument, passed to grub_script_parse.
8071 * grub-core/script/script.c (grub_script_parse): Add getline_data
8072 argument, passed to grub_script_lexer_init.
8073 * include/grub/parser.h (grub_parser_split_cmdline): Update
8074 prototype. Update all callers to pass appropriate getline data.
8075 (struct grub_parser.parse_line): Likewise.
8076 (grub_rescue_parse_line): Likewise.
8077 * include/grub/reader.h (grub_reader_getline_t): Add void *
8078 argument.
8079 * include/grub/script_sh.h (struct grub_lexer_param): Add
8080 getline_data member.
8081 (grub_script_parse): Update prototype. Update all callers to pass
8082 appropriate getline data.
8083 (grub_script_lexer_init): Likewise.
8084 (grub_normal_parse_line): Likewise.
8085
8086 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
8087 data argument.
8088 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
8089 static instead of nested. Rename to ...
8090 (grub_parser_execute_getline): ... this.
8091 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
8092 data argument.
8093 * grub-core/normal/main.c (read_config_file: getline): Make static
8094 instead of nested. Rename to ...
8095 (read_config_file_getline): ... this.
8096 (grub_normal_read_line): Add unused data argument.
8097 * grub-core/script/execute.c (grub_script_execute_sourcecode:
8098 getline): Make static instead of nested. Rename to ...
8099 (grub_script_execute_sourcecode_getline): ... this.
8100 * util/grub-script-check.c (main: get_config_line): Make static
8101 instead of nested.
8102
d0d4b8a0
CW
81032013-01-15 Colin Watson <cjwatson@ubuntu.com>
8104
8105 Remove nested functions from memory map iterators.
8106
8107 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
8108 argument, passed to hook.
8109 * grub-core/kern/i386/coreboot/mmap.c
8110 (grub_linuxbios_table_iterate): Likewise.
8111 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
8112 instead of nested.
8113 (grub_machine_mmap_iterate): Add hook_data argument.
8114 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
8115 Add hook_data argument, passed to hook.
8116 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
8117 Likewise.
8118 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
8119 Likewise.
8120 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
8121 Likewise.
8122 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
8123 Likewise.
8124 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
8125 Likewise.
8126 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
8127 Likewise.
8128 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
8129 (grub_machine_mmap_iterate): Likewise.
8130 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
8131 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
8132 prototype.
8133 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
8134 Remove NESTED_FUNC_ATTR from here and from all users.
8135 (grub_mmap_iterate): Update prototype.
8136 (grub_efi_mmap_iterate): Update prototype. Update all callers to
8137 pass appropriate hook data.
8138 (grub_machine_mmap_iterate): Likewise.
8139
8140 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
8141 static instead of nested.
8142 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
8143 Rename to ...
8144 (lsmmap_hook): ... this.
8145 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
8146 Likewise.
8147 (grub_efiemu_mmap_fill: fill_hook): Likewise.
8148 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
8149 heap_init): Likewise.
8150 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
8151 Rename to ...
8152 (mmap_iterate_hook): ... this.
8153 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
8154 Likewise.
8155 * grub-core/lib/ieee1275/relocator.c
8156 (grub_relocator_firmware_get_max_events: count): Likewise.
8157 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
8158 to ...
8159 (grub_relocator_firmware_fill_events_iter): ... this.
8160 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
8161 hook): Likewise. Rename to ...
8162 (grub_relocator_alloc_chunk_align_iter): ... this.
8163 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
8164 Rename to ...
8165 (generate_e820_mmap_iter): ... this.
8166 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
8167 Rename to ...
8168 (count_hook): ... this.
8169 (grub_linux_boot: hook): Likewise. Rename to ...
8170 (grub_linux_boot_mmap_find): ... this.
8171 (grub_linux_boot: hook_fill): Likewise. Rename to ...
8172 (grub_linux_boot_mmap_fill): ... this.
8173 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
8174 hook): Likewise. Rename to ...
8175 (grub_fill_multiboot_mmap_iter): ... this.
8176 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
8177 hook): Likewise. Rename to ...
8178 (count_hook): ... this.
8179 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
8180 hook): Likewise. Rename to ...
8181 (grub_fill_multiboot_mmap_iter): ... this.
8182 * grub-core/loader/powerpc/ieee1275/linux.c
8183 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
8184 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
8185 Likewise. Rename to ...
8186 (alloc_phys_choose): ... this.
8187 (determine_phys_base: get_physbase): Likewise.
8188 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
8189 find_hook): Likewise.
8190 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
8191 (malloc_hook: count_hook): Likewise.
8192 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
8193 Likewise. Rename to ...
8194 (lower_hook): ... this.
8195 (grub_mmap_get_upper: hook): Likewise. Rename to ...
8196 (upper_hook): ... this.
8197 (grub_mmap_get_post64: hook): Likewise. Rename to ...
8198 (post64_hook): ... this.
8199 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
8200 Likewise. Rename to ...
8201 (lower_hook): ... this.
8202 (grub_mmap_get_upper: hook): Likewise. Rename to ...
8203 (upper_hook): ... this.
8204 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
8205 (grub_mmap_iterate: fill_hook): Likewise.
8206 (fill_mask): Pass addr and mask within a single struct.
8207 (grub_cmd_badram: hook): Make static instead of nested. Rename
8208 to ...
8209 (badram_iter): ... this.
8210 (grub_cmd_cutmem: hook): Likewise. Rename to ...
8211 (cutmem_iter): ... this.
8212
22099030
VS
82132013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
8216 delimit path in strings using quotes.
8217 * util/getroot.c (grub_guess_root_devices): Likewise.
8218 (grub_make_system_path_relative_to_its_root): Likewise.
8219 * util/grub-probe.c (probe): Likewise.
8220 * util/ieee1275/ofpath.c (find_obppath): Likewise.
8221 (xrealpath): Likewise.
8222
4a9950ec
VS
82232013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 Fix compilation with older compilers.
8226
8227 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
8228 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
8229 declarations.
8230 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
8231 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
8232 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
8233 identifier with b.
8234 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
8235 * include/grub/crypto.h: Add type defines.
8236 * util/import_gcrypth.sed: Remove duplicate type defines.
8237
adcc6020
VS
82382013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 New command list_trusted.
8241
8242 * grub-core/commands/verify.c (grub_cmd_list): New function.
8243
a4528937
CW
82442013-01-13 Colin Watson <cjwatson@ubuntu.com>
8245
8246 * util/grub-mkimage.c (generate_image): Fix "size of public key"
8247 info message.
8248
ca3a7446
CW
82492013-01-13 Colin Watson <cjwatson@ubuntu.com>
8250
8251 Remove nested functions from PCI iterators.
8252
8253 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
8254 passed to hook. Update all callers to pass appropriate hook data.
8255 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
8256 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
8257 Remove NESTED_FUNC_ATTR from here and from all users.
8258 (grub_pci_iterate): Update prototype.
8259 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
8260 instead of nested. Rename to ...
8261 (grub_cs5536_find_iter): ... this.
8262 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
8263 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
8264 Likewise.
8265 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
8266 Likewise.
8267 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
8268 Likewise.
8269 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
8270 Likewise.
8271 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
8272 * grub-core/video/radeon_fuloong2e.c
8273 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
8274 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
8275 find_card): Likewise.
8276 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
8277 Likewise.
8278
f8e98fee
VS
82792013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * grub-core/commands/verify.c: Mark messages for translating.
8282
055b36b6
VS
82832013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
8286 fatal.
8287
f7ff879b
VS
82882013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8289
8290 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
8291 fatal.
8292
82932013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
8294
8295 * autogen.sh: Do not try to delete nonexistant files.
8296 * util/import_gcrypth.sed: Add some missing header removals.
8297
01323d49
CW
82982013-01-12 Colin Watson <cjwatson@ubuntu.com>
8299
8300 Clean up dangling references to grub-setup.
8301 Fixes Ubuntu bug #1082045.
8302
8303 * docs/grub.texi (Images): Refer generally to grub-install rather
8304 than directly to grub-setup.
8305 (Installing GRUB using grub-install): Remove direct reference to
8306 grub-setup.
8307 (Device map) Likewise.
8308 (Invoking grub-install): Likewise.
8309 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8310 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8311 * util/grub-install.in (usage): Likewise.
8312
8313 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
8314 Apply to grub-bios-setup and grub-sparc64-setup rather than to
8315 grub-setup.
8316 * configure.ac: Remove grub_setup output variable.
8317
8318 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
8319 to grub-bios-setup.
8320 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
8321 grub-setup to grub-sparc64-setup.
8322
5e3b8dcb
VS
83232013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 Import gcrypt public-key cryptography and implement signature checking.
8326
535714bd
VS
83272013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8328
8329 * grub-core/fs/ntfs.c: Ue more appropriate types.
8330 * grub-core/fs/ntfscomp.c: Likewise.
8331 * include/grub/ntfs.h: Likewise.
8332
3e4f3566
VS
83332013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 Support Apple FAT binaries on non-Apple platforms.
8336
8337 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
8338 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
8339 Likewise.
8340 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
8341 Apple FAT binaries.
8342
4dedb13f
VS
83432013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
8346 sector devices.
8347
f8861eaf
CW
83482013-01-07 Colin Watson <cjwatson@ubuntu.com>
8349
8350 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
8351 explicitly zeroing elements.
8352 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
8353 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
8354 of elements in a structure already allocated using grub_zalloc.
8355 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8356
86065b0a
CW
83572013-01-07 Colin Watson <cjwatson@ubuntu.com>
8358
8359 * docs/grub.texi (grub_cpu): New subsection.
8360 (grub_platform): Likewise.
8361
c6f1e92f
VS
83622013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
8365
f797ec85
VS
83662013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
8369 divisions.
8370
033d0b4b
VS
83712013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
8374 * grub-core/fs/ntfscomp.c: Likewise.
8375 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
8376 (grub_ntfs_comp): Likewise.
8377
21d1b9a0
VS
83782013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
8381 Rename to ...
8382 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
8383 of groups_per_block. All users updated.
8384
10ca8645
VS
83852013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
8388 grub_error properly.
8389 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
8390 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
8391
a4c3ed4c
VS
83922013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
8395 always in /boot/zfs.
8396 Reported by: Yuta Satoh.
8397
0b716507
YS
83982013-01-03 Yuta Satoh <nigoro>
8399
8400 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
8401 ${grub_probe}
8402
00c05e22
VS
84032013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 * configure.ac: Extend -Wno-trampolines to host.
8406
dadddb76
VS
84072013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
8410 entry->len = 0.
8411
54ce53ca
CW
84122013-01-03 Colin Watson <cjwatson@ubuntu.com>
8413
8414 * docs/grub.texi (Invoking grub-mkrelpath): New section.
8415 (Invoking grub-script-check): Likewise.
8416
8912efca
CW
84172013-01-03 Colin Watson <cjwatson@ubuntu.com>
8418
8419 * docs/grub.texi (Invoking grub-mount): New section.
8420 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
8421
c3fc8394
CW
84222013-01-02 Colin Watson <cjwatson@ubuntu.com>
8423
8424 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
8425 test failures, so that a failing unit test correctly causes 'make
8426 check' to fail.
8427
45d26abb
CW
84282013-01-02 Colin Watson <cjwatson@ubuntu.com>
8429
8430 Fix failing printf test.
8431
8432 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
8433 '$' in the correct order when collecting type information.
8434
971dd2c6
CW
84352013-01-02 Colin Watson <cjwatson@ubuntu.com>
8436
8437 * docs/grub.texi (configfile): Explain environment variable
8438 handling.
8439 (source): New section.
8440 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
8441
5c67ea6c
CW
84422012-12-31 Colin Watson <cjwatson@ubuntu.com>
8443
8444 Remove several trivially-unnecessary uses of nested functions.
8445
8446 * grub-core/commands/i386/pc/sendkey.c
8447 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
8448 instead of nested.
8449 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
8450 Rename to ...
8451 (legacy_file_getline): ... this.
8452 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
8453 Likewise.
8454 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
8455 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
8456 to ...
8457 (probe_dummy_iter): ... this.
8458 * grub-core/kern/i386/coreboot/mmap.c
8459 (grub_linuxbios_table_iterate: check_signature): Likewise.
8460 * grub-core/kern/parser.c (grub_parser_split_cmdline:
8461 check_varstate): Likewise. Mark inline.
8462 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
8463 an additional parameter.
8464 (find_long: fnd_long): Likewise. Pass two additional parameters.
8465 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
8466 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
8467 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
8468 Likewise. Rename to ...
8469 (grub_cmos_find_port_iter): ... this.
8470 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
8471 Rename to ...
8472 (find_rtc_iter): ... this.
8473
8474 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
8475 function directly into the function body, since it is only called
8476 once.
8477
33a68ac6
CW
84782012-12-30 Colin Watson <cjwatson@ubuntu.com>
8479
8480 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
8481 __attribute__ ((unused)).
8482 * grub-core/video/bochs.c (find_card): Likewise.
8483 * grub-core/video/cirrus.c (find_card): Likewise.
8484 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
8485 * grub-core/video/sis315pro.c (find_card): Likewise.
8486 * grub-core/video/sm712.c (find_card): Likewise.
8487
608b647a
CW
84882012-12-28 Colin Watson <cjwatson@ubuntu.com>
8489
8490 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
8491 Fixes Savannah bug #37821.
8492
fd49ceb3
CW
84932012-12-28 Colin Watson <cjwatson@ubuntu.com>
8494
8495 Apply program name transformations at build-time rather than at
8496 run-time. Fixes Debian bug #696465.
8497
8498 * acinclude.m4 (grub_TRANSFORM): New macro.
8499 * configure.ac: Create output variables with transformed names for
8500 most programs.
8501 * util/bash-completion.d/grub-completion.bash.in: Use
8502 pre-transformed variables for program names.
8503 * util/grub-install.in: Likewise.
8504 * util/grub-kbdcomp.in: Likewise.
8505 * util/grub-mkconfig.in: Likewise.
8506 * util/grub-mkconfig_lib.in: Likewise.
8507 * util/grub-mknetdir.in: Likewise.
8508 * util/grub-mkrescue.in: Likewise.
8509 * util/grub-mkstandalone.in: Likewise.
8510 * util/grub-reboot.in: Likewise.
8511 * util/grub-set-default.in: Likewise.
8512 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8513 * tests/util/grub-shell-tester.in: Remove unused assignment.
8514 * tests/util/grub-shell.in: Likewise.
8515 * util/grub.d/00_header.in: Likewise.
8516
7024b3c0
CW
85172012-12-28 Colin Watson <cjwatson@ubuntu.com>
8518
8519 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
8520
8521 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
8522 HAVE_RAW_DECL_GETS.
8523 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
8524
e3501b13
VS
85252012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
8528 Reported by: Eriks Latosheks <foresterlv>.
8529
b40c88a9
VS
85302012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 * docs/grub.texi (Network): Update instructions on generating netboot
8533 image.
8534
ce96d01c
VS
85352012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
8538 around device name if necessarry.
8539
0f596201
PFS
85402012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8541
8542 * util/grub-install.in: Follow the symbolic link parameter added
8543 to the file command.
8544
600d5bdb
AB
85452012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
8546
8547 * util/grub-install.in: Remove stale TODO.
8548
64ebd2f4
PFS
85492012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8550
8551 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
8552 dynamic allocation for the bootpath buffer.
8553
74b2fe3e
DTB
85542012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
8555
8556 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
8557 window too small.
8558
969b804f
VS
85592012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
8562 argument rather than font name. All users updated.
8563 (grub_gfxterm_set_window): Likewise.
8564
b9f5ebd6
VT
85652012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
8566
8567 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
8568 from working.
8569
258f43b7
VS
85702012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * util/getroot.c (convert_system_partition_to_system_disk): Support
8573 nbd disks.
8574
cc1ce5f9
VS
85752012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
8578 infinite loop on corrupted FS.
8579
e77a16ca
VS
85802012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 Fix big-endian mtime.
8583
8584 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
8585 together sec and usec.
8586 (grub_ufs_dir): Use correct byteswapping for UFS time.
8587
d9c48c7b
VS
85882012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8589
8590 Support big-endian UFS1.
8591
8592 * Makefile.util.def (libgrubmods): Add ufs_be.c
8593 * grub-core/Makefile.core.def (ufs1_be): New module.
8594 * grub-core/fs/ufs_be.c: New file.
8595 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
8596 the file.
8597
2f9f40ba
LL
85982012-11-28 Leif Lindholm <leif.lindholm@arm.com>
8599
8600 * include/grub/types.h: Fix functionality unaffecting typo in
8601 GRUB_TARGET_WORDSIZE conditional macro.
8602
48ff0889
PFS
86032012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8604
8605 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
8606
03711240
GS
86072012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8608
8609 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
8610 that /netbsd appears first (when it exists).
8611
a31b11bd
CJ
86122012-10-12 Christoph Junghans <ottxor@gentoo.org>
8613
8614 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
8615 Fixes Savannah bug #37558.
8616
e8a5d5d4
CW
86172012-10-12 Colin Watson <cjwatson@ubuntu.com>
8618
8619 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
8620 description of extract_entries_configfile.
8621
86222012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
8623
8624 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
8625 preferred_address.
8626 (grub_cmd_linux): Likewise.
8627 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
8628 preferred_lifetime. Update all users.
8629
288c757d
CW
86302012-09-26 Colin Watson <cjwatson@ubuntu.com>
8631
8632 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
8633 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
8634
0d35da3f
CW
86352012-09-26 Colin Watson <cjwatson@ubuntu.com>
8636
8637 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
8638 errors from grub-probe to /dev/null, not stdout.
8639
b78c3127
VS
86402012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
8643 sector 1.
8644
473959f0
CW
86452012-09-24 Colin Watson <cjwatson@ubuntu.com>
8646
8647 * util/grub-install.in: Make the error message if $source_dir
8648 doesn't exist more useful.
8649
794c8c33
CW
86502012-09-22 Colin Watson <cjwatson@ubuntu.com>
8651
8652 Fix grub-emu build on FreeBSD.
8653
8654 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
8655 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
8656 headers on Linux.
8657 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
8658 implementation is currently Linux-specific.
8659 * util/getroot.c (exec_pipe): Define only on Linux or when either
8660 libzfs or libnvpair is unavailable.
8661 (find_root_devices_from_poolname): Remove unused path variable.
8662
86d08fdb
CW
86632012-09-19 Colin Watson <cjwatson@ubuntu.com>
8664
8665 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
8666 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
8667 should fit before end == 63.
8668
735abf54
CW
86692012-09-19 Colin Watson <cjwatson@ubuntu.com>
8670
8671 * util/grub-setup.c (write_rootdev): Remove unused core_img
8672 parameter. Update all callers.
8673 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
8674 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
8675 GRUB_SETUP_BIOS.
8676
140acd3c
VS
86772012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * util/grub-mkconfig_lib.in (grub_tab): New variable.
8680 (grub_add_tab): New function.
8681 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
8682 * util/grub.d/10_illumos.in: Likewise.
8683 * util/grub.d/10_kfreebsd.in: Likewise.
8684 * util/grub.d/10_linux.in: Likewise.
8685 * util/grub.d/10_netbsd.in: Likewise.
8686 * util/grub.d/10_windows.in: Likewise.
8687 * util/grub.d/10_xnu.in: Likewise.
8688 * util/grub.d/20_linux_xen.in: Likewise.
8689 * util/grub.d/30_os-prober.in: Likewise.
8690
7ddffdad
VS
86912012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8694 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
8695 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
8696 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
8697 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
8698 ieee1275-nocursor.
8699 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8700 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
8701
4e092454
VS
87022012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
8705 le-conversion.
8706 Reported by: BURETTE, Bernard.
8707
735abf54 87082012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
8709
8710 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
8711 from comment.
8712
dfd39dbd
CW
87132012-09-14 Colin Watson <cjwatson@ubuntu.com>
8714
8715 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
8716 IEEE1275 machines. Fixes powerpc-emu compilation.
8717 * include/grub/terminfo.h: Likewise.
8718
3bfa763c
VS
87192012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
8722 a const pointer.
8723 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
8724 const pointer.
8725 (efiemu_set_variable): Make vendor_guid a const pointer.
8726
250e475b
VS
87272012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 Don't require grub-mkconfig_lib to generate manpages for programs.
8730
8731 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
8732 dependencies, don't add grub-mkconfig_lib.
8733 (program): Pass empty adddeps.
8734 (script): Pass grub-mkconfig_lib as adddeps.
8735
592fd0e4
VS
87362012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
8739 * util/getroot.c (grub_find_device): Likewise.
8740 (get_mdadm_uuid): Likewise.
8741 (grub_util_is_imsm): Likewise.
8742 (grub_util_pull_device): Likewise.
8743 * util/grub-probe.c (probe): Likewise.
8744
801a3027
BG
87452012-09-10 Benoit Gschwind <gschwind>
8746
8747 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
8748 (devs): Add devpath_8.
8749
c5052c81
PJ
87502012-09-08 Peter Jones <pjones@redhat.com>
8751
8752 * grub-core/Makefile.core.def (efifwsetup): New module.
8753 * grub-core/commands/efi/efifwsetup.c: New file.
8754 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
8755 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
8756 New define.
8757 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
8758
8e832f71
JS
87592012-09-05 Jiri Slaby <jslaby@suse.cz>
8760
8761 * configure.ac: Add SuSe path.
8762
f0f55752
CW
87632012-09-05 Colin Watson <cjwatson@ubuntu.com>
8764
8765 * NEWS: Fix typo.
8766
ecadc4c2
CW
87672012-09-05 Colin Watson <cjwatson@ubuntu.com>
8768
8769 * util/import_gcry.py: Sort cipher_files, to make build system
8770 generation more deterministic.
8771
64498f25
VS
87722012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
8775 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
8776 (grub_set_datetime): Likewise.
8777
9cc836a2
VS
87782012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
8781 warnings.
8782
bcfcea01
VS
87832012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
8786
a4099485
VS
87872012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
8790
265c162a
CW
87912012-09-04 Colin Watson <cjwatson@ubuntu.com>
8792
8793 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
8794 required for checkouts from bzr, but it may be useful for users or
8795 distributors wishing to update translations against a tarball
8796 distribution, and it can be helpful for the tarball to be a superset
8797 of what's in bzr.
8798
3d171e95
CW
87992012-09-04 Colin Watson <cjwatson@ubuntu.com>
8800
8801 * Makefile.am (EXTRA_DIST): Add
8802 grub-core/tests/boot/linux.init-mips.S,
8803 grub-core/tests/boot/linux.init-ppc.S, and
8804 grub-core/tests/boot/linux-ppc.cfg.
8805
f2c2503e
CW
88062012-09-04 Colin Watson <cjwatson@ubuntu.com>
8807
8808 * grub-core/mmap/mips/loongson: Remove empty directory.
8809
88102012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
8811
8812 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
8813 gone.
8814
ab2163d5
CW
88152012-09-04 Colin Watson <cjwatson@ubuntu.com>
8816
8817 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
8818 grub-sparc64-setup.
8819
ce938140
GS
88202012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8821
8822 * configure.ac: Strengthen the test for working -nostdinc -isystem.
8823
529f58a5
GS
88242012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8825
8826 * po/POTFILES.in: Regenerated.
8827
16cf79e9
GS
88282012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8829
8830 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
8831 (NetBSD): New subsection.
8832
39b27f1e 88332012-07-22 Ales Nesrsta <starous@volny.cz>
8834
8835 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
8836 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
8837
a885261b
VS
88382012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
8841 * util/grub.d/10_hurd.in: Add missing quoting.
8842 * util/grub.d/10_illumos.in: Likewise.
8843 * util/grub.d/10_kfreebsd.in: Likewise.
8844 * util/grub.d/10_linux.in: Likewise.
8845 * util/grub.d/20_linux_xen.in: Likewise.
8846
7bd29c01
VS
88472012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 New command `lsefi'.
8850
8851 * grub-core/Makefile.core.def (lsefi): New module.
8852 * grub-core/commands/efi/lsefi.c: New file.
8853 * include/grub/efi/api.h: Add more GUIDs.
8854
ac625d8f
VS
88552012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
8858 (grub_bsd_elf32_hook): Likewise.
8859 (grub_bsd_elf64_size_hook): Likewise.
8860 (grub_bsd_elf64_hook): Likewise.
8861 (grub_bsd_load_elf): Likewise.
8862
e73bb801
VS
88632012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
8866 if hash function is unavailable.
8867 (dec_stream_header): Likewise.
8868
e81db8b5
VS
88692012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
8872 filter state.
8873
d187a1c3
VS
88742012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 Fix coreboot compilation.
8877
8878 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
8879 (grub_vga_text_init_real): ... this.
8880 (grub_vga_text_fini): Rename to ...
8881 (grub_vga_text_fini_real): ... this.
8882
91a05f64
VS
88832012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
8886
6af96df7
VS
88872012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * grub-core/lib/legacy_parse.c: Support clear and testload.
8890
4d569e12
VS
88912012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
8894
073b57bb
VS
88952012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * grub-core/fs/ext2.c: Experimental support for 64-bit.
8898
a706f4cc
VS
88992012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * grub-core/net/tftp.c (ack): Fix endianness problem.
8902 (tftp_receive): Likewise.
8903 Reported by: Michael Davidsaver.
8904
e7850aa9
VS
89052012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * gentpl.py: Make mans depend on grub-mkconfig_lib.
8908
89092012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
8912 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
8913 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
8914
35692881
VS
89152012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8916
8917 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
8918 efi_mmap_size.
8919 Reported by: Stuart Hayes.
8920
c35fc5bd
VS
89212012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
8924
8925 * grub-core/Makefile.core.def (mda_text): New module.
8926 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
8927 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
8928 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
8929 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
8930 here.
8931 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
8932 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
8933 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
8934 here.
8935 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
8936 to ..
8937 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
8938 ... here
8939 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
8940 here.
8941 * grub-core/term/i386/vga_common.c: Removed.
8942 * include/grub/i386/vga_common.h: Likewise.
8943 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
8944 (grub_vga_cr_bw_read): Likewise.
8945 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
8946 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
8947 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
8948 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
8949 grub_vga_cr_read/grub_vga_cr_write.
8950 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
8951
5f91f701
VS
89522012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 * configure.ac: Bump version to 2.00.
8955 * grub-core/normal/main.c (features): Add feature_200_final.
8956
0c4f85f6
VS
89572012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
89582012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
8959
8960 * NEWS: Fix unclarity and language mistakes.
8961
f923ad22
VS
89622012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
8965 additional size to 3 pages.
8966 Reported by: Stuart Hayes.
8967
d22029ba
VS
89682012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * NEWS: Add 2.00 entry.
8971
58eee08f
VS
89722012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8973
8974 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
8975 put explicit "/" for empty path.
8976 (wildcard_expand): Improve dprintf.
8977
c59bdff7
VS
89782012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
8981 it's equal to currnode. This can happen with "" symlink.
8982
5e6a440a
YB
89832012-06-27 Yves Blusseau <blusseau@zetam.org>
8984
8985 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
8986 echo shell command by printf command.
8987
73a68bcb
VS
89882012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
8991 the value returned by firmware is the maximal position, not diumension.
8992 (grub_terminfo_output_state): Use a more sane fallback.
8993
392a603b
VS
89942012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
8997
42d0867f
VS
89982012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8999
9000 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
9001 frequency to 150 MHz.
9002
489509f4
VS
90032012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 Apple fixes.
9006
9007 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
9008 __APPLE_
9009 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
9010 definition.
9011 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
9012
9f3fc883
VS
90132012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 Handle slash in HFS label.
9016
9017 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
9018 (grub_hfs_dir): Tanslate slash.
9019 (grub_hfs_label): Don't translate slash.
9020
54853fd7
VS
90212012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
9024 network protocol listing since it introduces problematic dependency on
9025 net module.
9026
4dc02ddf
VS
90272012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
9030
c50c867d
VS
90312012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 Init video early on yeeloong to avoid being rebooted by watchdog.
9034
9035 * grub-core/Makefile.am (gensm712): New target.
9036 (sm712_start.S): Likewise.
9037 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
9038 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
9039 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
9040 description.
9041 * include/grub/vga.h: Move registry definitions to...
9042 * include/grub/vgaregs.h: ... here.
9043
5f92c8a1
VS
90442012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
9047 signedness.
9048
e9e6f111
VS
90492012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
9052 platforms with firmware disk drivers in the core.
9053
754ad9eb
VS
90542012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
9057 informative verbose message.
9058 (read_lv): Handle 64-bit segment size.
9059
315654c2
VS
90602012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
9063
fb022c79
VS
90642012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
9067 character but still remove trainling spaces.
9068 (grub_fat_label): Ignore archive flag.
9069
8645f72c
VS
90702012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
9073 cast between linux_kernel_header and linux_kernel_params.
9074
36498496
VS
90752012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
9078 type for size.
9079 (grub_raid6_recover_func_t): Likewise.
9080 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
9081 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
9082
0b5ea6b8
VS
90832012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
9086
650cfcfe
GS
90872012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
9088
9089 Fix overflow.
9090
9091 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
9092 [__NetBSD__]: Add explicit cast before bitshift.
9093
8a4d6a44
VS
90942012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * configure.ac: Bump to 2.00~rc1.
9097
2fb97ed3
VS
90982012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
9101 half of $a0.
9102
1fa097dc
VS
91032012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
91042012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
9105
9106 * docs/grub.texi: Fix search syntax.
9107 (Multi-boot manual config): Put msdos rather than GPT example.
9108 Grammar corrections.
9109
c890ba78
VS
91102012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
9113
0f92dca7
VS
91142012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
9117
3988c4a0
VS
91182012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
9121 message on double free. Put the value of magic in case of mismatch.
9122
9e86d4c5
VS
91232012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 Speed-up video on yeeloong.
9126
9127 * grub-core/video/sm712.c (framebuffer): Remove render_target and
9128 add cached_ptr.
9129 (grub_video_sm712_video_fini): Unmap cached_ptr.
9130 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
9131 (grub_video_sm712_set_active_render_target): Removed.
9132 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9133 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
9134 sync caches.
9135
ed24c312
VS
91362012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 Avoid flushing the same line multiple times on loongson.
9139
9140 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
9141 Step in 32 bytes and not 1 byte.
9142 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
9143 Likewise.
9144
d1718e7d
VS
91452012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
9148 subvolumes.
9149
982f1909
VS
91502012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 Implement flow control for http.
9153
9154 * grub-core/net/http.c (parse_line): Handle response 206.
9155 (http_receive): Stall if too many packets are in the queue.
9156 (http_establish): Fix range header.
9157 (http_seek): Fix double free.
9158 (http_close): Likewise.
9159 (http_packets_pulled): New function.
9160 (grub_http_protocol): Set http_seek
9161 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
9162 (ack_real): Set window depending on i_stall.
9163 (grub_net_send_tcp_packet): Likewise.
9164 (grub_net_tcp_stall): New function.
9165 (grub_net_tcp_unstall): Likewise.
9166 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
9167 (grub_net_tcp_unstall): Likewise.
9168
bd407d6e
VS
91692012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * grub-core/net/tftp.c: Decrease stall to 50 packets.
9172
c7564b8e
VS
91732012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
9176
a3706162
VS
91772012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * tests/util/grub-shell.in: Fix a typo.
9180
b27069e0
VS
91812012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 Implement flow control for tftp.
9184
9185 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
9186 packets but stop only if stop condition is satisfied.
9187 (grub_net_fs_read_real): Call packets_pulled after real read. Use
9188 `stall' instead of `eof' as stop condition.
9189 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
9190 (http_err): Likewise.
9191 * grub-core/net/tftp.c (ack): Replace the first argument with data
9192 instead of socket.
9193 (tftp_receive): Stall if too many packets are in wait queue.
9194 (tftp_packets_pulled): New function.
9195 (grub_tftp_protocol): Set packets_pulled.
9196 * include/grub/net.h (grub_net_packets): New field count.
9197 (grub_net_put_packet): Increment count.
9198 (grub_net_remove_packet): Likewise.
9199 (grub_net_app_protocol): New field `packets_pulled'.
9200 (grub_net): New field `stall'.
9201
6b9cfac6
VS
92022012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
9205 sync part to handle them.
9206
f35abd81
VS
92072012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
9210 * grub-core/net/drivers/ieee1275/ofnet.c
9211 (grub_ieee1275_net_config_real): Likewise.
9212
0e7ec820
VS
92132012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
9216 the direct route for server/gateway.
9217
9d611a31
VS
92182012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
9221 IP address to server name since we may not hame the DNS.
9222
418f45ab
VS
92232012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
9226 freeing random buffer on failure.
9227 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
9228
44a0efc1
VS
92292012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
9232
531e2241
VS
92332012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
9236 reserved bytes.
9237 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
9238 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
9239 Handle malloc error correctly.
9240
cde393c9
VS
92412012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9244 blocks.
9245
538478d0
VS
92462012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
9249 increment.
9250
9b55efe0
VS
92512012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
9254 none is explicitly specified.
9255
9eb832c3
VS
92562012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9257
9258 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
9259 while reallocating.
9260
d6b7c7c9
VS
92612012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 Respect netmask from bootp/dhcp.
9264
9265 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
9266 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
9267 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
9268 into ...
9269 (grub_net_add_ipv4_local): ... this.
9270 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
9271 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
9272 (grub_net_add_ipv4_local): New proto.
9273
67caf9eb
VS
92742012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
9277 determining EFI memory map size.
9278
43657558
VS
92792012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
9282
eb6d0dd3
VS
92832012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
9286 when looking for partition separator.
9287
31230544
VS
92882012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9291 Escape commas.
9292
918a2517
VS
92932012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 Restructure FAT driver to avoid hook in label reading as it hits a
9296 GCC bug.
9297
9298 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
9299 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
9300 (grub_fat_iterate_dir): Split into ...
9301 (grub_fat_iterate_init): ... this, ...
9302 (grub_fat_iterate_fini): ... this, ...
9303 (grub_fat_iterate_dir_next): ... and this. All users updated.
9304
9f1d654e
VS
93052012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9308 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
9309 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9310 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
9311 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
9312 New fields last_key and last_key_time.
9313 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
9314 extended key-esc into extended key-extended key.
9315
52f0f643
VS
93162012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 Avoid unnecessary memcpy of whole video buffer.
9319
9320 * grub-core/video/fb/video_fb.c (dirty): New struct.
9321 (framebuffer): Add members current_dirty and previous_dirty.
9322 (dirty): New function.
9323 (grub_video_fb_fill_rect): Update dirty.
9324 (common_blitter): Likewise.
9325 (grub_video_fb_scroll): Likewise.
9326 (doublebuf_blit_update_screen): Copy only dirty part.
9327 (doublebuf_pageflipping_update_screen): Likewise.
9328 (grub_video_fb_doublebuf_blit_init): Init dirty.
9329 (doublebuf_pageflipping_init): Likewise.
9330 (grub_video_fb_setup): Likewise.
9331
e169a180
VS
93322012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9333
9334 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
9335 poll rate.
9336
48556879
VS
93372012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9338
9339 Fix wildcard regexp dot and other special characters handling.
9340 Reported by: Robert Mabee.
9341
9342 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
9343 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
9344 (split_path): Trigger expansion on '?'.
9345 (unescape): New function.
9346 (wildcard_expand): Unescape parts copied without globbing.
9347 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
9348 (grub_script_arglist_to_argv): Don't unescape expansions.
9349
0494408e
VS
93502012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9351
9352 * include/grub/net.h (grub_net_card): New member txbufsize.
9353 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
9354 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9355 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
9356 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
9357 txbufsize.
9358 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
9359 compatible property to check for macs. Set
9360 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9361 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
9362 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
9363 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
9364 (send_card_buffer): Use txbuf.
9365 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
9366 nested function out of the parent while on it.
9367
cc35fe8f
VS
93682012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
9371 presence check.
9372 (grub_ieee1275_net_config_real): Fix config pointer.
9373
970a0a09
VS
93742012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
9377 filename parsing to non-block devices.
9378
3e19bf87
VS
93792012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * grub-core/kern/device.c (grub_device_open): Remove dead code.
9382
c62d1a0c
VS
93832012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
9386 All users updated.
9387
ef76bec3
VS
93882012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9389
9390 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
9391 UUID search command even if hints probing failed.
9392
93932012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
9394
9395 * po/POTFILES.in: Regenerated.
9396
70aaf305
VS
93972012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 Speed-up video on fuloong.
9400
9401 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
9402 New function.
9403 (grub_pci_device_unmap_range): Handle non-cached address.
9404 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
9405 add direct_ptr.
9406 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
9407 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
9408 (grub_video_sis315pro_set_active_render_target): Removed.
9409 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
9410 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9411 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
9412 sync caches.
9413 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
9414 New proto.
9415
10400f0b
VS
94162012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * docs/grub.texi (Multi-boot manual config): New section.
9419
ba67e2c6
VS
94202012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 Avoid slow read-back from VRAM.
9423
9424 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9425 Move from here ...
9426 * grub-core/video/fb/video_fb.c
9427 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
9428 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
9429 (front_target): Remove front_target. Add pages.
9430 (grub_video_fb_init): Skip setting front_pages.
9431 (grub_video_fb_fini): Likewise.
9432 (doublebuf_blit_update_screen): Use pages.
9433 (grub_video_fb_doublebuf_blit_init): Likewise.
9434 (doublebuf_pageflipping_init): Allocate offscreen buffer.
9435 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
9436 (grub_video_fb_setup): Prefer doublebuffing.
9437
377c98cb
VS
94382012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9439
9440 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
9441 gzio.
9442
eac49cff
VS
94432012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9444
9445 Add loongson tests.
9446
9447 * tests/util/grub-shell.in: Handle loongson.
9448 * tests/partmap_test.in: Add loongson to the list of platform using ATA
9449 drivers.
9450 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
9451 Reboot instead of shutdown if REBOOT is defined.
9452
0321415e
VS
94532012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
9456 sized ports since unlike on real hardware qemu supports only 32-bit
9457 regs.
9458
3f2bdd8f
VS
94592012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * Makefile.util.def (grub-mkrescue): Enable on loongson.
9462 * util/grub-mkrescue.in: Handle loongson.
9463
29a049c9
VS
94642012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
9467 Set is_part appropriately.
9468 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
9469 names. Canonicalize partition without full disk.
9470
4abde346
VS
94712012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 Revert usb-quiesce since it's wrong.
9474
9475 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
9476 (grub_ofdisk_init): Don't do quiesce.
9477
61f1d93b
VS
94782012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
9481 PowerMac workaround to Xserves as well.
9482 Information supplied by: Benjamin Herrenschmidt.
9483
a09eb541
VS
94842012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 Don't assume that beginning address is also the entry point on ppc.
9487
9488 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
9489 (grub_linux_boot): Use linux_entry.
9490 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
9491 (grub_linux_load64): Likewise.
9492
505b3c9b
VS
94932012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
9496
cbe0b4ef
VS
94972012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
9500 needlessly lose the console.
9501
3006e981
VS
95022012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
9505 space.
9506
4e5a96b0
VS
95072012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9508
7da036bb
VS
9509 Remove non-functional EFI grub_get_rtc. Put a better fatal message
9510 than current grub_get_rtc() not implemented when booted with
9511 coreboot without TSC.
9512
9513 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
9514 Add machine/time.h to kernel headers on loongson.
9515 * grub-core/Makefile.core.def (kernel): Remove
9516 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
9517 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
9518 (grub_get_rtc): Likewise.
9519 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
9520 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
9521 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
9522 * grub-core/kern/i386/tsc.c (grub_tsc_init)
9523 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
9524 rather than installing known non-working time source.
9525 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
9526 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
9527 * include/grub/time.h: Don't include machine/time.h.
9528 * include/grub/efi/time.h: Removed.
9529 * include/grub/i386/efi/time.h: Likewise.
9530 * include/grub/i386/ieee1275/time.h: Likewise.
9531 * include/grub/powerpc/ieee1275/time.h: Likewise.
9532 * include/grub/sparc64/ieee1275/time.h: Likewise.
9533 * include/grub/x86_64/efi/time.h: Likewise.
9534
95352012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
9538
9539 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
9540 value.
9541 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
9542 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
9543 with dotless variants when any combining above is present.
9544
5561c22d
VS
95452012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
9548 text and not binary.
9549
96f7e60e
VS
95502012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 Stop polling as soon as we have the packet we were waiting for.
9553
9554 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
9555 All users updated.
9556 * grub-core/net/arp.c (have_pending): New var.
9557 (pending_req): Likewise.
9558 (grub_net_arp_send_request): Fill pending_req and use have_pending as
9559 stop indicator.
9560 (grub_net_arp_receive): Set have_pending.
9561 * grub-core/net/dns.c (recv_data): New field stop.
9562 (recv_hook): Set stop.
9563 (grub_net_dns_lookup): Init stop and use as stop condition.
9564 * grub-core/net/http.c (http_establish): Use headers_recv as stop
9565 condition.
9566 * grub-core/net/net.c (grub_net_poll_cards): New argument
9567 stop_condition. Stop when it goes true.
9568 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
9569 indicator.
9570 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
9571
3e747239
VS
95722012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 Keep TX and RX buffers on EFI rather than always allocate new ones.
9575
9576 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
9577 card. All users updated.
9578 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
9579 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
9580 (get_card_packet): Likewise.
9581 (grub_efinet_findcards): Init new fields.
9582
f695e99a
VS
95832012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
9586 compilation error on sparc64.
9587
9e5e66d1
VS
95882012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 Use ITC on IA64 rather than broken routine based on daytime.
9591
9592 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
9593 ia64.
9594 (grub_get_rtc) [__ia64__]: Likewise.
9595 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
9596 (get_itc): New function.
9597 (grub_rtc_get_time_ms): Likewise.
9598 (grub_machine_init): Calibrate ITC.
9599 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
9600 Keep only on non-ia64. Don't export since it's broken and used only
9601 if TSC is unavailable.
9602
a1767404
VS
96032012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
9606 even if it's used.
9607 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
9608 Skip if parent is unused.
9609
34b2bced
VS
96102012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
9613
5e619f40
VS
96142012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 Fix wildcard escaping.
9617
9618 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
9619 * grub-core/script/execute.c (wildcard_escape): .. to here.
9620 Don't escape dot.
9621 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
9622 * grub-core/script/execute.c (wildcard_unescape): .. to here.
9623 Don't escape dot.
9624 * grub-core/script/execute.c (gettext_append): Always escape.
9625 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
9626 * grub-core/script/yylex.l: Don't cut away the escaping.
9627 * tests/grub_script_echo1.in: Add tests with wildcard.
9628
c8ca5855
VS
96292012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
9632 (ftdi_hw_configure): Likewise.
9633 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
9634 define.
9635 (real_config): Handle 1.5 stop bits.
9636 (pl2303_hw_configure): Likewise.
9637
7183452c
VS
96382012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * Makefile.am: Add ppc linux bootcheck.
9641 * grub-core/tests/boot/linux-ppc.cfg: New file.
9642 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
9643
f57c84cd
VS
96442012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * tests/grub_script_expansion.in: Skip network protocols.
9647
ecfc6207
VS
96482012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
9651
8d03d284
VS
96522012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
9655 --rom-directory.
9656 Add -graft-points.
9657
61c42af0
VS
96582012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 ESCC serial driver for conducting sautomated tests in qemu.
9661 Not tested on real hardware.
9662
9663 * include/grub/serial.h (grub_serial_port): New field escc_desc.
9664 * grub-core/term/ieee1275/escc.c: New file.
9665 * grub-core/Makefile.core.def (escc): New module.
9666
08fd1291
VS
96672012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
9670 invalid on error.
9671 (serial_hw_fetch): Don't read invalid handle.
9672 (serial_hw_put): Don't write into invalid handle.
9673
08dafeea
VS
96742012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9675
9676 Add a 1.5 stop bits value.
9677
9678 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
9679 * include/grub/serial.h (grub_serial_stop_bits_t): Add
9680 GRUB_SERIAL_STOP_BITS_1_5.
9681
9068fdcf
VS
96822012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
9685 value rather than let it uninited.
9686
f4d5820f
VS
96872012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * grub-core/commands/wildcard.c (+check_file): New function.
9690 (wildcard_expand): Don't expand to non-existing files, expand with
9691 suffix and not attempt to expand if not needed.
9692
3d2de9a7
VS
96932012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
9696 out of partitions containing other partitions.
9697
c5c81ff9
VS
96982012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
9701 on some qemu versions with GRUB.
9702
9703 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
9704 define.
9705 (grub_openbsd_bootarg_pcibios): New struct.
9706 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
9707 Add PCIINFO.
9708
08a14e0b
VS
97092012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 * tests/util/grub-shell.in: Trim firmware output on EFI.
9712
cede3ca3
VS
97132012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
9716 and coreboot since it's already in kernel.
9717
558d3a60
VS
97182012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
9721 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9722 to here. New return value start. All users updated.
9723 Recursively scan linear mappings.
9724 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
9725 proto.
9726 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9727 Use grub_util_get_dm_node_linear_info.
9728 * util/getroot.c (convert_system_partition_to_system_disk): Use
9729 grub_util_info rather than grub_dprintf.
9730 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
9731
60fde14d
VS
97322012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
9735
9736 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
9737 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
9738
24bd8838
VS
97392012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 * include/grub/types.h (grub_set_unaligned64): New function.
9742 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
9743 (setup): Likewise.
9744
7bc06a49
VS
97452012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
9748 (grub_ofdisk_fini): Quiesce USB devices.
9749
49cea015
VS
97502012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
9753 caches.
9754
8dcbe03b
VS
97552012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
9758
5b258735
VS
97592012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * grub-core/disk/pata.c (grub_pata_pio_read)
9762 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
9763 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9764
37ba07eb
VS
97652012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9766
9767 Extend automated tests to qemu-mips.
9768
9769 * Makefile.am: reorganise tests and enable qemu-mips.
9770 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
9771 * grub-core/tests/boot/linux.init-mips.S: New file.
9772 * tests/partmap_test.in: Handle ata0 disks.
9773 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
9774 non-pc i386.
9775
070038f8
VS
97762012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
9779 ia64.
9780 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
9781 quotes while on it.
9782
004be2cd
VS
97832012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
9786 (grub_halt): Likewise.
9787 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
9788
b1622487
VS
97892012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * grub-core/term/serial.c (grub_serial_register)
9792 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
9793 the behaviour in line with x86 platforms.
9794
b7b4ab33
VS
97952012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
9798 (grub_ata_strncpy): Likewise.
9799 (grub_ata_identify): Add missing byteswaps.
9800
5e3535ae
VS
98012012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
9804 byte-swap.
9805 (screen_read_char): Likewise.
9806 (grub_vga_text_cls): Likewise.
9807
c21b17e6
VS
98082012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
9811 filenames.
9812 (make_file_path): Likewise.
9813
bf293dec
VS
98142012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9815
9816 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
9817 machines.
9818 Tested by: Paulo Flabiano Smorigo.
9819 Crucial information about API supplied by: Coleen <Last name unknown>.
9820 Reviewed by: Coleen <Last name unknown>.
9821
81f6ef0e
VS
98222012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 * util/grub-mkimage.c: Disable -Wcast-align.
9825
7284143a
VS
98262012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
9829 as they are fatal.
9830
b99f3e00
VS
98312012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
9834
944f752d
VS
98352012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * util/grub-probe.c (escape_of_path): Fix double free.
9838
6cce6f38
VS
98392012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 * grub-core/commands/videoinfo.c (hook): Show pitch.
9842
1e1eb50e
VS
98432012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 * util/grub.d/20_linux_xen.in: Skip xen-syms.
9846
1c715b5a
VS
98472012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
9850 (probe): Add ieee1275 to OFW devices.
9851
007ae52d
VS
98522012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
9855
4557a36d
VS
98562012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9857
9858 Handle IBM OFW path.
9859
9860 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
9861 available.
9862 (of_path_of_scsi): Handle vdevice.
9863
efbeefe9
VS
98642012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
9867 Allocate in multiples of 16 to avoid adding a few bytes free region the
9868 windows bugs upon.
9869
15a940bb
VS
98702012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9871
9872 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
9873 Allocate in multiples of 16 to avoid adding a few bytes free region the
9874 windows bugs upon.
9875 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
9876
6e5efd60
VS
98772012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
9880 resolutions.
9881 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
9882 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
9883
0d3d137e
IS
98842012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
9885
9886 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
9887
45dbe300
VS
98882012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
9891 resulted in \\ at the end of the line.
9892
6d8db947
VS
98932012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
9896 (grub_parser_cmdline_state): Likewise.
9897 (grub_parser_split_cmdline): Likewise.
9898
de89d338
VS
98992012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9900
9901 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
9902 /dev/root and /dev/dm-*.
9903
00d41dee
VS
99042012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
9907 fix partially stale display.
9908
f95d1f11
VS
99092012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 * grub-core/normal/menu_entry.c (backward_char): Use right line for
9912 substraction.
9913
6297e197
VS
99142012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
9917 Fix MBR remapping workaround.
9918 (grub_util_biosdisk_read) [__linux__]: Likewise.
9919
8a7ecad3
VS
99202012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
9921
9922 * util/grub-install.in: Check for ieee1275 and not ieee1276.
9923
2b34f944
VS
99242012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 * configure.ac: Bump to beta6.
9927
684aef11
CW
99282012-05-31 Christer Weinigel <christer@weinigel.se>
9929
9930 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
9931
05b0bb91
VS
99322012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
9935 (grub_cmd_linux): Likewise.
9936
bda36bfa
CW
99372012-05-31 Christer Weinigel <christer@weinigel.se>
9938
9939 Fix EHCI low-speed.
9940
9941 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
9942 (GRUB_EHCI_MULT_TWO): Likewise.
9943 (GRUB_EHCI_MULT_THREE): Likewise.
9944 (GRUB_EHCI_CMASK_MASK): New enum value.
9945 (GRUB_EHCI_SMASK_MASK): Likewise.
9946 (GRUB_EHCI_CMASK_OFF): Likewise.
9947 (GRUB_EHCI_SMASK_OFF): Likewise.
9948 (grub_ehci_pci_iter): Enable periodic schedule.
9949 (grub_ehci_parse_notrun): Likewise.
9950 (grub_ehci_restore_hw): Likewise.
9951 (grub_ehci_setup_qh): Set flags for low speed transfers.
9952 (grub_ehci_find_qh): Use periodic list for low speed.
9953 (grub_ehci_setup_transfer): Check periodic queue as well.
9954 (grub_ehci_check_transfer): Likewise.
9955 (grub_ehci_cancel_transfer): Cancel periodic transfer.
9956
e12bcb1c
PFS
99572012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
9958
9959 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
9960 parameter is used.
9961
bcc75fb3
PJ
99622012-05-31 Peter Jones <pjones@redhat.com>
9963
9964 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
9965 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
9966 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
9967
f19cb95e
VS
99682012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
9971 uninited variable. Allocate at least setup_sects.
9972
a4e5ca80
VS
99732012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 Fix handling of EFI with big memory maps.
9976
9977 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
9978 (real_mode_mem): Likewise.
9979 (real_mode_target): Likewise.
9980 (real_mode_pages): Likewise.
9981 (prot_mode_pages): Likewise.
9982 (linux_params): New var.
9983 (linux_cmdline): Likewise.
9984 (free_pages): Don't set real mode variables.
9985 (allocate_pages): Don't allocate real mode memory.
9986 (grub_e820_add_region): Remove the limit.
9987 (grub_linux_boot): Allocate and copy real mode memory.
9988 (grub_linux_unload): Free linux_cmdline.
9989 (grub_cmd_linux): Use temporary storage for parameters.
9990 (grub_cmd_initrd): Likewise.
9991 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
9992 (linux_kernel_params): Make it 1K big.
9993
ddb73558
VS
99942012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * Makefile.util.def: Remove -Wno-format.
9997 * grub-core/Makefile.core.def: Likewise.
9998
1c4afb60
VS
99992012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
10000
10001 * tests/cmp_unit_test.c: Add missing failure message.
10002 * tests/example_unit_test.c: Likewise.
10003 * tests/printf_unit_test.c: Likewise.
10004
941e3a6d
VS
100052012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
10008 relaxation of protective MBR requirements.
10009
b105df76
VS
100102012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * configure.ac: Add condition for COND_HOST_XNU.
10013 * Makefile.util.def (10_xnu): New script.
10014 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
10015
84e1569e
VS
100162012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
10019 objconv bug.
10020
130c0f77
VS
100212012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
10022
10023 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
10024 Binary on other platforms stays identical.
10025
6fd0b143
VS
100262012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
10029 Apple.
10030
0af1751d
VS
100312012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
10034
176d5f7d
VS
100352012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
10038 rather than defining size_t ourselves to avoid conflict.
10039
7de5e20a
VS
100402012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10041
10042 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
10043 initialisation to avoid __bzero reference.
10044
f7143efe
VS
100452012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
10048 version.
10049 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
10050 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
10051 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
10052 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
10053 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
10054
e6ad0555
VS
100552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
10058 * grub-core/kern/misc.c: Likewise.
10059 * grub-core/loader/i386/xnu.c: Likewise.
10060 * include/grub/i386/tsc.h: Likewise.
10061 * include/grub/symbol.h: Likewise.
10062
4a5a3c4a
VS
100632012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10064
10065 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
10066 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
10067 on older compiler.
10068
037f6d90
VS
100692012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
10072 Implement Apple flavour.
10073 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
10074
f7194551
VS
100752012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
10078 (memmove) [__APPLE__]: Likewise.
10079 (memcpy) [__APPLE__]: Likewise.
10080 (memset) [__APPLE__]: Likewise.
10081 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
10082 (memmove) [__APPLE__]: Likewise.
10083 (memcpy) [__APPLE__]: Likewise.
10084 (memset) [__APPLE__]: Likewise.
10085
85a730ca
VS
100862012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
10089 dependency discard.
10090
40e80b94
VS
100912012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 * grub-core/normal/main.c (read_config_file): Provide config_file and
10094 config_directory.
10095 * util/grub.d/41_custom.in: Use config_directoy when available.
10096
9da59c32
VS
100972012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
10100 (grub_bfs_dir): Likewise.
10101
2787ae53
PJ
101022012-05-27 Peter Jones <pjones@redhat.com>
10103
10104 The old code gives arguments to a printf function which can't work
10105 correctly, and the compiler complains.
10106
10107 * grub-core/tests/example_functional_test.c (example_test): Add
10108 missing text.
10109 * grub-core/tests/lib/test.c (add_failure): Rewrite.
10110 * include/grub/test.h (grub_test_assert_helper): New declaration.
10111 (grub_test_assert): Use grub_test_assert_helper.
10112
526ef13d
VS
101132012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
10116 (exfctest): ... this to avoid overlong filenames.
10117 All users updated.
10118
20dd511c
VS
101192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 Handle "." and ".." on squashfs.
10122
10123 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
10124 Make inode numbers into stack.
10125 (grub_squash_read_symlink): Use stack.
10126 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
10127 (make_root_node): Fill stack.
10128 (grub_squash_open): Use stack.
10129
1d80c62a
VS
101302012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
10133 freeing.
10134
d336f652
VS
101352012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
10138 stderr on test calls.
10139
8b43f587
VS
101402012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
10143
80a3dc3f
VS
101442012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10145
10146 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
10147
47e297d4
VS
101482012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10149
10150 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
10151 "..".
10152
df042ccb
VS
101532012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
10156 (grub_hfsplus_iterate_dir): Add "." and "..".
10157
fc977f48
VS
101582012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 * grub-core/fs/cpio.c (canonicalize): Handle "..".
10161 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
10162
f3250e5f
VS
101632012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
10166 (find_path): Handle "." and "..".
10167
fd8ed4c5
VS
101682012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
10171 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
10172 (grub_affs_iterate_dir): Handle hardlinks.
10173
4ce776d2
MG
101742012-05-26 Matthew Garrett <mjg@redhat.com>
10175
10176 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
10177 (grub_efi_console_fini): Likewise.
10178 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
10179 (grub_video_gop_fill_mode_info): Rename to ...
10180 (grub_video_gop_fill_real_mode_info): ... this.
10181 (grub_video_gop_fill_mode_info): New function.
10182 (grub_video_gop_setup): Setup double framebuffer.
10183 (grub_video_gop_get_info_and_fini): Use original framebuffer.
10184 Free offscreen.
10185 (grub_video_gop_swap_buffers): Copy framebuffer.
10186 (grub_video_gop_fini): Free offscreen buffer.
10187 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
10188 New enum.
10189 (grub_efi_gop_blt_pixel): New struct.
10190
683031ba
VS
101912012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * gentpl.py: Remove error disabling for objconv.
10194
c2deb798
VS
101952012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
10196
10197 * configure.ac: Remove -Wunitialized as it's not available on older
10198 compilers.
10199
102002012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
10201
10202 Fix extent overflow comparator.
10203
10204 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
10205 (grub_hfsplus_read_block): Set type.
10206 (grub_hfsplus_cmp_extkey): Compare type.
10207
d6b1fd36
VS
102082012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
10209
10210 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
10211
0a9aa0f6
VS
102122012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
10215 than 0.
10216
8360e159
VS
102172012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
10220 (dejavu_bold_14.pf2): New target.
10221
501b9e4b
VS
102222012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10223
10224 * configure.ac: Fix djvu font detection.
10225
7026b0e2
VS
102262012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10227
10228 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
10229 ext* instead of ext2.
10230
c2a51ade
VS
102312012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
10234 name with \0.
10235
8f803a5d
JU
102362012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
10237
10238 * docs/grub-dev.texi: Remove dot from .png.
10239
13c6353f
VS
102402012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
10243 protective entry in any slot.
10244 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
10245 if protective entry is found in any slot.
10246
10247 Protective entry in non-first slot make no sense but is a widespread
10248 brain damage.
10249
4cf6be1b
VS
102502012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
10253
937d1c44
VS
102542012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
10257 with old reiserfs.
10258 (grub_reiserfs_open): Don't free root.
10259
021d90ec
VS
102602012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
10263 after freeing for safety.
10264
967b2b64
VS
102652012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
10268 Reported by: Jordan Uggla.
10269
34274d02
JU
102702012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
10271
967b2b64
VS
10272 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
10273 actual implementation. Specifically, clarify that the grub menu will
10274 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
10275 passed.
34274d02 10276
dcaaae9d
BH
102772012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
10278
10279 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
10280 of r0.
10281
7086ad52
VS
102822012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 Remove unjustified hard dependency of normal.mod on gfxterm.
10285
10286 * include/grub/term.h (grub_term_output): New member fullscreen.
10287 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
10288 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
10289 (grub_gfxterm): Set .fullscreen.
10290 * grub-core/normal/menu.c (menu_init): Use fullscreen.
10291 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
10292
37ed2c9b
VS
102932012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
10296 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 10297 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 10298
a4469c88
VS
102992012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10300
10301 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
10302
4e461486
VS
103032012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10304
10305 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10306 a bad FS.
10307
aa78f5c4
VS
103082012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
10311 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
10312
197626b5
VS
103132012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10314
10315 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
10316 (grub_jfs_mount): Fill caseins.
10317 (grub_jfs_find_file): Respect caseins.
10318
8ad3f28c
VS
103192012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
10322 through UTF-16.
10323
0c6c324e
VS
103242012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10325
10326 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
10327 New argument origpath. All users updated.
10328
c6666ba6
VS
103292012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
10332 (read_attr): Ensure that we read start of possibly compressed block.
10333
e28e5fe5
VS
103342012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
10337 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
10338 All users updated.
10339
5fc23ab2
VS
103402012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10341
10342 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
10343 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
10344 (dejavu.pf2): Replace with ...
10345 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
10346 this.
10347
79dbc21c
VS
103482012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10349
10350 * util/grub.d/20_linux_xen.in: Add missing line.
10351
d2fcfb0c
VS
103522012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
10355 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
10356 (grub_utf16_to_utf8): Likewise.
10357
5560e9d6
VS
103582012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
10361 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
10362 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10363 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
10364 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10365 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
10366
103672012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
10368
10369 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10370 a bad FS.
10371
5560e9d6 103722012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
10373
10374 * grub-core/fs/udf.c (read_string): Bail out on size=0.
10375 (grub_udf_read_symlink): Handle read_string failure.
10376
5eae3175
VS
103772012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
10380 comment.
10381
c1ad82db
VS
103822012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 Fix handling of UDF symlinks.
10385
10386 * grub-core/fs/udf.c (read_string): New argument outbuf.
10387 All users updated.
10388 (grub_ufs_read_symlink): Rename to ...
10389 (grub_udf_read_symlink): ... this. All users updated.
10390 Handle symlinks with more than one component.
10391
33eca6e0
VS
103922012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
10395 symlinks. Replace leading colon with a slash.
10396
57f4a70b
VS
103972012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10398
10399 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
10400 filename.
10401
38c8ee20
VS
104022012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
10405 match in inner node.
10406
2e57f28f
VS
104072012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
10410 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
10411 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
10412 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
10413 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
10414 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
10415 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
10416 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
10417 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
10418
fe8c2f11
VS
104192012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10420
10421 Use grub-probe and not cmp to check that disk is empty.
10422
10423 * util/grub-install.in: Use grub-probe for zero-check.
10424 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
10425 (probe): Handle PRINT_ZERO_CHECK.
10426 (argp_parser): Handle -t zero_check.
10427
104282012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
10429
10430 Flush block cache on adding disk to device map.
10431
10432 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
10433 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
10434 adding.
10435 (read_device_map): Likewise.
10436 (open_device): Flush on opening.
10437
690434e8
VS
104382012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
10441 (handle_symlink): Fix off-by-one error.
10442 Canonicalize the target.
10443 (grub_cpio_dir): Canonicalize the name.
10444 Fix memory leak.
10445 Set directory.
10446 (grub_cpio_open): Canonicalize the name.
10447
742d2be6
VS
104482012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10449
10450 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
10451 handling.
10452
3244fe96
VS
104532012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
10456 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
10457
8aeb1837
VS
104582012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
10461 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 10462 All users updated.
8aeb1837 10463
9133fd05
VS
104642012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
10467 counterpart.
10468
6d521c5b
VS
104692012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10470
10471 Fix UFS1 big file support.
10472
10473 * grub-core/fs/ufs.c (INODE): Removed.
10474 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
10475 64-bit.
10476 (INODE_MODE): Simplify.
10477 (grub_ufs_inode): Use uint64_t for size and not int64_t.
10478 (grub_ufs_lookup_symlink): Don't use INODE.
10479
21b82e17
VS
104802012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 Fix minixfs with non-power-of-two blocks since it's supported by minix.
10483
10484 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
10485 (grub_minix_data): Replace log_block_size with block_size.
10486 (grub_minix_read_file): Use block_size but avoid 64-bit division.
10487 (grub_minix_mount): Fill block_size.
10488
104892012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
10490
10491 * configure.ac: Bump to beta5.
10492
f417ed04
VS
104932012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 Fix wrapped HFS+ handling.
10496
10497 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
10498 blocks_start. All users updated.
10499 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
10500 wrapping offset.
10501 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
10502
607d282b
VS
105032012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10504
10505 Fix long symlinks on reiserfs.
10506
10507 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
10508 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
10509 (grub_reiserfs_iterate_dir): Save size for non-directories.
10510 (grub_reiserfs_open): Don't reread stat block as we already know the
10511 size.
10512 (grub_reiserfs_read): Split into...
10513 (grub_reiserfs_read_real): ... and ...
10514 (grub_reiserfs_read): ...this.
10515
ae16024d
VS
105162012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 Fix non-indexed JFS.
10519
10520 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
10521 (grub_jfs_data): New field namecomponentlen.
10522 (grub_jfs_mount): Fill namecomponentlen.
10523 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
10524
eea1e26e
VS
105252012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
10528 * tests/grub_script_echo1.in: Add tests.
10529
df760f77
VS
105302012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 * util/grub-install.in: Ignore empty devicetree directory.
10533
5efb817d
B
105342012-05-08 Bean <bean123ch@gmail.com>
10535
10536 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
10537 All users updated.
10538 (free_rsm): Free header as well.
10539 (free_old_fragments): Fix memory leak.
10540 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
10541 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
10542 (destroy_pq): Likewise.
10543 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
10544
668ea6d2
VS
105452012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
10548 resulting hash as a precaution.
10549
1739b1fe
VS
105502012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
10553 '_' in variable names.
10554 * grub-core/net/net.c (grub_net_network_level_interface_register):
10555 Likewise.
10556
6ae485aa
VS
105572012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 Fix AFFS with non-512B blocks.
10560
10561 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
10562 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
10563 (grub_affs_data): Replace blocksize with log_blocksize.
10564 (grub_affs_read_block): Fix non-512B blocks.
10565 (grub_affs_read_symlink): Likewise.
10566 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
10567 (grub_affs_read): Fix non-512B blocks.
10568 (grub_affs_label): Likewise.
10569 (grub_affs_mtime): Likewise.
10570 (grub_affs_mount): Fix block detection routine.
10571
d20fab84
VS
105722012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 Add filesystem mtime to AFFS.
10575
10576 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
10577 (aftime2ctime): New function.
10578 (grub_affs_dir): Use aftime2ctime.
10579 (grub_affs_label): Fix return value.
10580 (grub_affs_mtime): New function.
10581 (grub_affs_fs): Add mtime.
10582
e87b10f5
VS
105832012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10584
10585 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
10586 UTF-8.
10587
7dceec9b
VS
105882012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10589
10590 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
10591 UTF-8.
10592
2f48221f
VS
105932012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10594
10595 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
10596
dacd85cf
VS
105972012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10598
10599 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
10600 flags.
10601 (FLAGS_CASE_SENSITIVE): New enum value.
10602 (cache_entry): New struct.
10603 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
10604 cache_size and cache.
10605 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
10606 Add log_blocksize and fshelp_flags.
10607 (grub_sfs_read_extent): Handle non-512 blocks.
10608 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
10609 (grub_sfs_read_file): Handle non-512 blocks.
10610 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
10611 fshelp_flags.
10612 (grub_sfs_read_symlink): Handle non-512 blocks.
10613 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
10614 (grub_sfs_dir): Free cache.
10615 (grub_sfs_close): Likewise.
10616
24e9a854
VS
106172012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10618
10619 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
10620 filesystems.
10621
62ace64d
VS
106222012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
10625
83b2e89c
VS
106262012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
10629
75ccaea3
VS
106302012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
10633 (grub_sfs_read_extent): Likewise.
10634 (grub_sfs_read_block): Likewise.
10635 (grub_sfs_mount): Likewise.
10636 (grub_sfs_iterate_dir): Likewise.
10637 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
10638 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
10639
1b8463f2
VS
106402012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 Fix errors on compressed NTFS with 512B clusters.
10643
10644 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
10645 types.
10646 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
10647 not 0.
10648 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
10649 Relax check for inline extents.
10650 (ntfscomp): Return correct -1 on error and not 0.
10651
4f8e368f
VS
106522012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10653
10654 * util/grub-install.in: Fix handling of prefix containing spaces.
10655
6f5d5ee8
VS
106562012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10657
10658 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
10659 (grub_squash_read_data): Fix offset byte-swapping.
10660
ce41ab7a
VS
106612012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
10664 per common usage and preffered in several parts of code.
10665 (grub_memcmp): Likewise.
10666 (grub_strncmp): Likewise.
10667 * include/grub/misc.h (grub_strcasecmp): Likewise.
10668 (grub_strncasecmp): Likewise.
10669 * Makefile.util.def (cmp_test): New test.
10670 (grub_script_strcmp): Likewise.
10671 * tests/cmp_unit_test.c: New file.
10672 * tests/grub_script_strcmp.in: Likewise.
10673 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
10674
49717bf4
VS
106752012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10676
10677 * include/grub/pci.h: Move enums into no-asm part.
10678
0a308f64
VS
106792012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
10682
1796965f
ST
106832012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
10684
10685 * util/getroot.c (find_hurd_root_device): Try to make error message
10686 and comments to translators clearer.
10687
4e9b2819
VS
106882012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
10691
076aeb50
VS
106922012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10693
10694 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
10695 btrfs.
10696
19424d94
VS
106972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10698
10699 * docs/grub.cfg: Update.
10700
ebb73076
VS
107012012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10702
10703 * docs/grub.texi (PXE): Remove not present variables.
10704
9a1b669c
VS
107052012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 * grub-core/net/net.c (defserver_set_env): New function.
10708 (defserver_get_env): Likewise.
10709 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
10710
d38bf7d3
VS
107112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
10714 entries.
10715
107162012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
10717
10718 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
10719 * grub-core/kern/emu/hostdisk.c: Likewise.
10720
e5e4ca48
ST
107212012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10722
10723 Handle hurd userspace partitions.
10724
10725 * util/getroot.c (find_hurd_root_device): New function.
10726 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
10727
56bb5dd5
VS
107282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10729
10730 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
10731 names.
10732 Reported by: Bastian Blank.
10733
9e8bc27a
VS
107342012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
10737 crossing page boundary.
10738
aa01499d
VS
107392012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10740
10741 Fix B-tree search in BFS, especially in presence of non-ASCII
10742 characters.
10743
10744 * grub-core/fs/bfs.c (bfs_strcmp): New function.
10745 (find_in_b_tree): Use standard bsearch + btree algorithm.
10746
57006035
VS
107472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10748
10749 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
10750 and so on.
10751
9d34bb85
MG
107522012-05-03 Matthew Garrett <mjg@redhat.com>
107532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 Suspend broadcom cards in order to stop their DMA.
10756
10757 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
10758 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
10759 (pci): Don't build on x86 EFI.
10760 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
10761 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
10762 New function.
10763 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
10764 stop_broadcom if running on EFI.
10765 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
10766 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
10767 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
10768 (grub_pci_find_capability): New proto.
10769
01aab997
VS
107702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 * docs/grub.texi: Remove dot from the extension as it apparently
10773 doesn't work with some makeinfo versions.
10774
fbd8dca6
VS
107752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
10778 with GRUB expectance.
10779
dab797f4
VS
107802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10781
10782 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
10783
1516bfb4
VS
107842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
10787 zero after directory block since last entry may be not 0-terminated if
10788 it ends on block boundary. Use continue instead of if spanning whole
10789 loop.
10790
a3a0eace
VS
107912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 Support 4K sectors UDF inline files.
10794
10795 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
10796 (grub_udf_extended_file_entry): Likewise.
10797 (grub_fshelp_node): Name the anonymous union. Put block at the end.
10798 All users updated.
10799 (get_fshelp_size): New function.
10800 (grub_udf_read_icb): Read whole block.
10801 (grub_udf_iterate_dir): Likewise.
10802 (grub_udf_dir): Likewise.
10803 (grub_udf_open): Likewise.
10804
c82f16c1
VS
108052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10806
10807 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
10808
59fd2aac
VS
108092012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
10812 inline symlinks in addition to workaround.
10813
3b4afb4d
VS
108142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
10817
f45c794a
VS
108182012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10819
10820 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
10821
f25cecbd
VS
108222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10823
10824 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
10825
bb9a34e8
VS
108262012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10827
10828 Fix reiserfs big seek times.
10829
10830 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
10831 exact. All users updated.
10832 (grub_reiserfs_read): Use nearest btree search for seeking.
10833 Fix return value on error.
10834
dc478aea
VS
108352012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
10838 entries.
10839 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
10840 * docs/grub.texi: Update menuentry description.
10841
8db10f47
VS
108422012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
10845 crash when embedding onto filesystem.
10846
bcb288ed
VS
108472012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
10850 name.
10851
a626fdd7
VS
108522012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
10855
b2f68477
VS
108562012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
10859 commit.
10860
ba15b2af
B
108612012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
108622012-05-01 Bean <bean123ch@gmail.com>
10863
10864 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
10865
a188012e
VS
108662012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10867
10868 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
10869 Special behaviour for len = 0 to read whole file isn't used anywhere and
10870 can cause buffer ovewrflows in several places.
10871
f0a53ed2
VS
108722012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
10875
5ed554f0
VS
108762012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10877
10878 Handle RAIDZ on non-512B sectors.
10879
10880 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
10881 max_children_ashift.
10882 (fill_vdev_info_real): Fill max_children_ashift.
10883 (read_device): Use max_children_ashift.
10884
ddc58357
VS
108852012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10886
10887 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
10888
e3282399
VS
108892012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10890
10891 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
10892 disk names.
10893 * docs/grub.texi: Update device.map parts.
10894
ee618bd4
VS
108952012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 Don't scan into non-diskfilter devices having diskfilter names.
10898
10899 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
10900 (scan_disk): New argument accept_diskfilter. Fix recursion depth
10901 handling.
10902 (scan_disk_hook): New function.
10903
bdf88864
B
109042012-04-29 Bean <bean123ch@gmail.com>
10905
10906 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
10907 allocation.
10908
32745f51
MK
109092012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
10910
10911 * configure.ac: Detect starfield theme font path
10912 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
10913
bc95c8c0
VS
109142012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
10917 geometry on serial consoles.
10918
147fbcab
VS
109192012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
10922 because of network consoles.
10923
0f42c889
VS
109242012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
10927 handling.
10928
4a3594c9
VS
109292012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
10932 falls on Q syndrom.
10933
5cb53879
VS
109342012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
10937 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
10938
b282dfe5
VS
109392012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
10942 Allocate at lest 8192 for temporary buffer as required for lzo.
10943
daa59f47
VS
109442012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
10947 to cluster_bits, since it's already added in.
10948 (grub_fat_read_data): Likewise.
10949
986748ce
VS
109502012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
10953 as long as cluster size is multiple of 512 bytes.
10954
a20f6ad0
VS
109552012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 * util/grub-mkrescue.in: Fix locale directory.
10958
385f9abb
VS
109592012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 * grub-core/kern/emu/hostdisk.c (map): Make static.
10962
1c557d30
B
109632012-04-23 Bean <bean123ch@gmail.com>
10964
10965 * util/grub-fstest.c (fstest): Add missing break.
10966
524b5d3a
ST
109672012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
10968
10969 Fix hurd build.
10970
10971 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
10972 not define nr variable.
fe4824e9 10973 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
10974 find_root_devices_from_poolname, find_root_devices_from_libzfs,
10975 grub_find_device): Do not define.
524b5d3a 10976
9a06490c
VS
109772012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10978
10979 Fix kfreebsd compile and behaviour.
10980
10981 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
10982 format-security.
10983 * util/getroot.c: Fix wait.h include.
10984 (grub_guess_root_devices): Error if grub_find_device fails.
10985 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
10986 (grub_util_get_dev_abstraction): Likewise.
10987 (grub_util_pull_device): Likewise.
10988 (grub_util_get_grub_dev): Likewise.
10989 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
10990
48143d96
VS
109912012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 Fix and unify wholedisk detection.
10994
10995 * util/getroot.c (convert_system_partition_to_system_disk): New argument
10996 is_part. All users updated.
10997 (device_is_wholedisk): Removed.
10998 (grub_util_biosdisk_get_grub_dev): Use is_part.
10999
ebbd24f3
VS
110002012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
11003 mode.
11004
56f7aa1e
VS
110052012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11006
11007 * configure.ac: Bump to beta4.
11008
9c815e01
VS
110092012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
11012 --fs-uuid --set UUID syntax.
11013
59e2651a
VS
110142012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
11017 disunification.
11018
54e03cfc
VS
110192012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
11022
81092a75
MK
110232012-04-18 Mads Kiilerich <mads@kiilerich.com>
11024
11025 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
11026
f8315e14
MG
110272012-04-18 Mike Gilbert <floppym@gentoo.org>
11028
11029 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
11030
1501ac21
B
110312012-04-18 Bean <bean123ch@gmail.com>
11032
11033 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
11034 place.
11035
cb7f944e
VS
110362012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
11039 users updated.
11040 (grub_util_biosdisk_read): Handle Linux partitions not exactly
11041 corresponding to GRUB partitions.
11042 (grub_util_biosdisk_write): Likewise.
11043
b72d44a1
VS
110442012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 Scan mdraid before LVM.
11047
11048 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
11049 (grub_diskfilter_register_front): ... this.
11050 (grub_diskfilter_register_back): New function.
11051 All users of grub_diskfilter_register updated.
11052
33d918b8
VS
110532012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * util/grub-install.in: Fix an automatic target detection bug.
11056
c6ca973d
VS
110572012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11058
11059 * util/grub-install.in: New option --efi-directory.
11060
b41be562
VS
110612012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
11064 boot services if we have no other choice.
11065
110662012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * util/grub-mknetdir.in: Rename --override-directory to --directory and
11069 document it.
11070 * tests/util/grub-shell.in: Update to --directory.
11071
e0595a73
VS
110722012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
11075
4ed80652
VS
110762012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
11079 (grub_minix_read_file): Likewise.
11080 (grub_minix_read_inode): Likewise.
11081 (grub_minix_find_file): Likewise.
11082 (grub_minix_dir): Likewise.
11083
56008077
VS
110842012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
11085
11086 * util/grub-setup.c (setup): Fix partition handling and blocklist
11087 check.
11088
ee520775
VS
110892012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
11090
11091 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
11092 redundant buggy overlap check.
11093
16fc9293
VS
110942012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11095
11096 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
11097 and grub-mknetdir.
11098
9bab65c4
VS
110992012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
11102 kh.loadflags on pre-2.00 kernels.
11103
3c491b47
VS
111042012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11105
11106 Terminate UNDI and PXE before launching the payload to avoid problems
11107 with DMA.
11108
11109 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
11110 (grub_loader_flags): ... this. All users updated.
11111 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
11112 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
11113 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
11114 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
11115 function.
11116 (grub_pxe_restore): Likewise.
11117 (fini_hnd): New var.
11118 (GRUB_MOD_INIT): Register shutdown hook.
11119 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
11120 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
11121 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
11122 (grub_loader_set): Rename second argument to flags.
11123
851ffada
VS
111242012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
11127 written bytes.
11128 (grub_get_num_of_utf8_bytes): New function.
11129 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
11130 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
11131 executing it.
11132 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
11133 (grub_ucs4_to_utf8): Change return type.
11134
491c57a8
VS
111352012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
11138 warning.
851ffada
VS
11139 * grub-core/fs/bfs.c (hop_level): Likewise.
11140 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 11141
756773df
VS
111422012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * grub-core/lib/adler32.c: Recode due to license unclearness.
11145
fd556a96
VS
111462012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
11149 (test_header): Likewise.
11150
9f9d3f69
VS
111512012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11152
11153 Fix --help formatting.
11154
11155 * util/grub-mkconfig_lib.in (print_option_help): New function.
11156 (grub_fmt): Likewise.
11157 * util/grub-install.in: Use print_option_help and grub_fmt.
11158 * util/grub-kbdcomp.in: Likewise.
11159 * util/grub-mkconfig.in: Likewise.
11160 * util/grub-mknetdir.in: Likewise.
11161 * util/grub-mkrescue.in: Likewise.
11162 * util/grub-mkstandalone.in: Likewise.
11163 * util/grub-reboot.in: Likewise.
11164 * util/grub-set-default.in: Likewise.
11165 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11166
561ec77e
VS
111672012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 * linguas.sh: Remove autogenerated *.po.
11170
7ec2b021
VS
111712012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11172
11173 * po/README: Move language fetcing to ...
11174 * linguas.sh: ... here.
11175 * po/README: Point to linguas.sh.
11176
a88f3270
VS
111772012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 * po/README: Exclude ko.po due to disclaimer problems.
11180
d61357ce
VS
111812012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11182
11183 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
11184 len = 0.
11185 (grub_gettext_translate_real): Handle 0th string.
11186 (grub_gettext_translate): Ensure that "" isn't translated.
11187
505e41dc
VS
111882012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
11191 TRANSLATORS comment.
11192 (grub_diskfilter_print_partmap): Propagate changing of error into
11193 warning.
11194
e44092db
VS
111952012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11196
11197 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
11198 to uint64_t to prevent overflow.
11199 (grub_diskfilter_lv): Increase start_extent and extent_count
11200 to uint64_t to prevent overflow.
11201
9b83956a
VS
112022012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * configure.ac: Increase version.
11205
da0d5b3f
VS
112062012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
11209
11210 * po/Rules-translit: New file.
11211 * po/arabic.sed: Likewise.
11212 * po/cyrillic.sed: Likewise.
11213 * po/greek.sed: Likewise.
11214 * po/hebrew.sed: Likewise.
11215 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
11216 * po/Makefile.in.in: Add extra_dist4.
11217
ac66b453
VS
112182012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 Handle big-endian minixfs (fixes minixfs tests on bigendian).
11221
11222 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
11223 modify names. Introduce MODE_BIGENDIAN.
11224 * grub-core/fs/minix_be.c: New file.
11225 * grub-core/fs/minix2_be.c: Likewise
11226 * grub-core/fs/minix3_be.c: Likewise.
11227 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
11228 minix3_be.
11229 * grub-core/Makefile.core.def (minix_be): New module.
11230 (minix2_be): Likewise.
11231 (minix3_be): Likewise.
11232
112332012-04-01 Felix <email@hamburg.de>
11234
11235 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
11236 (devs): Add MBP 2011.
11237
0a2d5a82
VS
112382012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11239
11240 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
11241
d1625889
VS
112422012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11243
11244 * grub-core/normal/cmdline.c (print_completion): New field
11245 prompt_len.
11246 (grub_cmdline_get): Handle width properly.
11247
6d36a236
VS
112482012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 * grub-core/commands/lsacpi.c (options): Add missing terminator.
11251
9576977e
VS
112522012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11253
11254 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 11255 after 29th of February.
9576977e 11256
d73ff15d
VS
112572012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 Fix exfat endianness handling.
11260
11261 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
11262 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
11263 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
11264 Byte-swap utf16 when necessary.
11265 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
11266
bbb39a45
AB
112672012-03-31 Anton Blanchard <anton@samba.org>
112682012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 Fix btrfs endianness handling.
11271
11272 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
11273 (lower_bound): Make root uint64_t. Use root in le.
11274 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
11275 (find_path): Fix template key init.
11276 (grub_btrfs_dir): Fix mtime byteswap.
11277 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
11278
354e0af7
VS
112792012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
11282 recursion_depth. Break infinite resursions. All users updated.
11283
4e75f21c
VS
112842012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11285
11286 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
11287 after free.
11288 Reported by: Peter Jones.
11289
25581802
AB
112902012-03-31 Anton Blanchard <anton@samba.org>
11291
11292 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
11293 8 bit values.
11294
08fbf92e
VS
112952012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * util/grub-install.in: Fix nvram call for PreP.
11298
5d1182a6
VS
112992012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
11302 the error when some elements are missing into a warning.
11303
3f8cdd90
VS
113042012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
11307
51006716
CW
113082012-03-28 Colin Watson <cjwatson@ubuntu.com>
11309
11310 * docs/grub.texi (Invoking grub-probe): New section.
11311 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
11312
e1bd676b
VS
113132012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11314
11315 Fix tab and wide character handling in editor and menu.
11316
11317 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
11318 agglomerate control characters with combining marks.
11319 (bidi_line_wrap): Allow break on tab.
11320 (grub_unicode_get_comb_start): New function.
11321 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
11322 and tab correctly.
11323 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
11324 with a space.
11325 * grub-core/normal/term.c (print_ucs4_terminal): New argument
11326 fixed_tab_size. All users updated.
11327 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
11328 (grub_term_getcharwidth): Handle \t.
11329 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
11330 and copy.
11331
22e6a774
VS
113322012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11333
11334 Handle big-endian mdraid.
11335
11336 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
11337 * grub-core/Makefile.core.def (mdraid09_be): New module.
11338 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
11339 rather than grub_le_to_cpu* and grub_cpu_to_le*.
11340 * grub-core/disk/mdraid_linux_be.c: New file.
11341
3c0eae66
VS
113422012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11343
11344 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
11345
b6cf74c9
VS
113462012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11349 missing quotes which caused confusion among translators.
11350
83c93b9c
VS
113512012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * util/grub-mkconfig_lib.in: Fix typo.
11354
ac6fd218
VS
113552012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
11358 spaces.
11359 * tests/grub_script_leading_whitespace.in: New file.
11360 * Makefile.util.def (grub_script_leading_whitespace): New test.
11361
ba287dd8
VS
113622012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
11365 to work.
11366
d2d58d0a
VS
113672012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11368
11369 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
11370 starts with control character.
11371
0382d9bb
VS
113722012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
11375 overflow.
11376 (grub_gdb_outbuf): Likewise.
11377
d83ff9f9
VS
113782012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11379
11380 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
11381 zero terminator. Fixes a crash.
11382
2282da4a
VS
113832012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11384
11385 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
11386 beyond 4 GiB.
11387 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
11388 images independently of preffered adderss field.
11389
0ae4f0bd
VS
113902012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11391
11392 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
11393 * grub-core/commands/regexp.c: Likewise.
11394 * grub-core/loader/i386/linux.c: Likewise.
11395 * grub-core/partmap/msdos.c: Likewise.
11396 * grub-core/script/execute.c: Likewise.
11397 * grub-core/term/gfxterm.c: Likewise.
11398
546fbe9b
VS
113992012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 Add variable parsing in $"..." and fix several mismatches with bash.
11402
11403 * Makefile.util.def (grub_script_gettext): New test.
11404 * grub-core/script/execute.c (parse_string): New function.
11405 (gettext_append): Likewise.
11406 (grub_script_arglist_to_argv): Use gettext_append.
11407 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
11408 * tests/grub_script_gettext.in: New file.
11409
9fdb2d7b
VS
114102012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 Fix handling of leading spaces in scripts.
11413
11414 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
11415 spaces.
11416 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
11417 other than skipping \r. All users updated.
11418 * tests/grub_script_echo1.in: Add space-related tests.
11419 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
11420
1a1ac4f6
VS
114212012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11422
11423 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
11424
b63d89b6
VS
114252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 * configure.ac: Bump up the version to beta2.
11428
17f38c0f
VS
114292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11430
11431 Fix gettext reload bugs (e.g. inability to disable gettext
11432 once enabled).
11433
11434 * grub-core/gettext/gettext.c: Encapsulate all static variables in
11435 main_context and secondary_context. All functions updated.
11436 (grub_gettext_translate): Rename to ...
11437 (grub_gettext_translate_real): ... this. Return NULL on failed
11438 translate.
11439 (grub_gettext_translate): Handle secondary context.
11440 (grub_gettext_delete_list): Close file and zero-out the context.
11441 (grub_mofile_open): Don't call grub_gettext_delete_list.
11442 Don't close file.
11443 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
11444 if locale="" to avoid pointless error message.
11445 (grub_gettext_env_write_lang): Update lang even if load fails.
11446 Handle secondary context.
11447 (grub_gettext_reread_prefix): New function.
11448 (read_main): Likewise.
11449 (read_secondary): Likewise.
11450 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
11451 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
11452 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
11453 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
11454
8e56f870
VS
114552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * configure.ac: Decrease warning level to avoid spurious warnings and
11458 to be able to compile with GCC 4.2.
11459 * Makefile.util.def: Remove -Wno-error=logical-op.
11460
82f6d455
WB
114612012-03-10 William Bittner <william.bittner@gmail.com>
11462
11463 * util/import_unicode.py: Add missing brackets around string for
11464 python 3 support.
11465
1ecd61a4
VS
114662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 Fix efi chainloader on network root.
11469
11470 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
11471 network devices.
11472 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
11473 New function.
11474
14361ee8
VS
114752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
11478 unused show_text member.
11479 * docs/grub.texi: Document "text" property.
11480
922aabf3
VS
114812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
11484 in dprintf.
11485
ec316771
VS
114862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11487
11488 Fix IMSM handling on Fedora.
11489
11490 * util/getroot.c (grub_util_is_imsm): New function.
11491 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
11492
0f021838
VS
114932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 * Makefile.am: Strip gold section.
11496 * conf/Makefile.common: Likewise.
11497 * gentpl.py: Likewise.
11498 * grub-core/Makefile.core.def: Likewise.
11499 * grub-core/genmod.sh.in: Likewise.
11500
1039c8eb
VS
115012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11502
11503 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
11504 * util/grub.d/20_linux_xen.in: Likewise.
11505 Based on Debian patch.
11506
6dd412cd
VS
115072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11508
11509 * util/grub.d/10_linux.in: Fix syntax error resulting in
11510 Richard Laager's patch.
11511 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
11512
3fd8bae5
VS
115132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11514
11515 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
11516 dependencies.
11517
7eea1671
RL
115182012-03-10 Richard Laager <rlaager@wiktel.com>
11519
11520 * util/grub.d/10_linux.in: Fix ZFS root passing.
11521
e8e0566b
VS
115222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11523
11524 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11525 * grub-core/commands/xnu_uuid.c: Likewise.
11526 * grub-core/loader/efi/appleloader.c: Likewise.
11527 * grub-core/script/execute.c: Likewise.
11528 * grub-core/script/main.c: Likewise.
11529 * util/grub-mkfont.c: Likewise.
11530
1acc5b1f
VS
115312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11532
11533 * util/grub-mkfont.c (options): Use more appropriate "select" that
11534 "set" for face index.
11535
35d70620
VS
115362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 * util/grub-editenv.c (options): Gettextize command summaries.
11539
c9eb96b5
VS
115402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
11543 "out of memory" error messagge.
11544
1f493136
VS
115452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
11548 of diskfilter for diskfilter on diskfilter support.
11549
6d790129
VS
115502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
11553
005f46c9
VS
115542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * util/grub-install.in: Check for themes/starfield/theme.txt and not
11557 themes/starfield.
11558
c8f778a0
VS
115592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11560
11561 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
11562
de1e64eb
VS
115632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11564
11565 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
11566
c6d54211
VS
115672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11568
11569 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
11570 of error message.
11571
dd390777
VS
115722012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11573
11574 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
11575
5fd1c522
VS
115762012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
11579 message.
c6d54211 11580 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 11581
fae01f6c
VS
115822012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
11585 Gettextize.
11586 * util/grub-mount.c (options): Likewise.
11587
292fdaff
VS
115882012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11589
11590 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
11591 gettextize.
11592 * grub-core/commands/search_wrap.c (options): Likewise.
11593
ecdbae77
VS
115942012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
11597
52bfedfa
VS
115982012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
11601 size calculation.
11602 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
11603 none is known.
11604
55b20e58
VS
116052012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11606
11607 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
11608 "temporary" since it's used in identifier and is limited in space.
11609
fda9d101
VS
116102012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11611
11612 * po/POTFILES.in: Regenerate. Include *.h since they contain
11613 translatable strings as well.
11614
6a0295e2
VS
116152012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11618 byte-swap on big-endian.
11619 Reported by: Lennart Sorensen
11620
807fb77c
VS
116212012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
11624 (allocate_pages): Improve dprintf.
11625 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
11626 code32_start. Fill code32_start and kernel_alignment in params.
11627 (grub_cmd_initrd): Use prot_init_space.
11628
61ac50ba
VS
116292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
11632
abdd26dd
VS
116332012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 * util/grub-install.in: Add missing dot at the end of sentence.
11636
6e69da9c
VS
116372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11638
11639 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11640 * grub-core/commands/videotest.c: Likewise.
11641 * grub-core/loader/i386/linux.c: Likewise.
11642
4a929343
VS
116432012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11644
11645 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
11646 sentence.
11647 Reported by: Milo Casagrande.
11648
bb51c6c6
VS
116492012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
11652 * grub-core/commands/gptsync.c: Likewise.
11653 * grub-core/commands/hashsum.c: Likewise.
11654 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11655 * grub-core/commands/legacycfg.c: Likewise.
11656 * grub-core/io/gzio.c: Likewise.
11657 * grub-core/net/net.c: Likewise.
11658 * grub-core/term/gfxterm.c: Likewise.
11659 * grub-core/term/terminfo.c: Likewise.
11660 * grub-core/tests/test_blockarg.c: Likewise.
11661 * grub-core/video/video.c: Likewise.
11662 * util/grub-install.in: Likewise.
11663 * util/grub-mkfont.c: Likewise.
11664
b2b149cb
VS
116652012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
11668
c7c080ad
VS
116692012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 11672 Reported by: David Prévot.
c7c080ad 11673
f2e243c0
VS
116742012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11675
11676 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
11677 description.
11678
09963c76
VS
116792012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11680
11681 * util/grub-script-check.c (main): Fix a syntax error message which was
11682 unclear.
11683
a50514a8
VS
116842012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
11687
4650daec
VS
116882012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
11691 messages.
11692
116932012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
11694
11695 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
11696 without argument.
11697 * util/grub-mount.c (options): Likewise.
11698
bbc5a342
VS
116992012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11700
11701 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
11702
ef292a87
VS
117032012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 * grub-core/net/http.c: Add TRANSLATORS comments.
11706 * grub-core/normal/cmdline.c: Likewise.
11707 * grub-core/normal/misc.c: Likewise.
11708 * grub-core/partmap/msdos.c: Likewise.
11709 * grub-core/parttool/msdospart.c: Likewise.
11710 * grub-core/script/execute.c: Likewise.
11711 * grub-core/script/main.c: Likewise.
11712 * grub-core/term/terminfo.c: Likewise.
11713 * grub-core/video/bitmap.c: Likewise.
11714 * util/grub-install.in: Likewise.
11715 * util/grub-mkimage.c: Likewise.
11716 * util/grub-mklayout.c: Likewise.
11717 * util/grub-setup.c: Likewise.
11718
0fc19bd0
VS
117192012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
11722 with similar messages in grub-fstest.
11723
d95862ef
VS
117242012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 * util/grub-install.in: Unify "option requires an argument" message
11727 with similar messages in other files.
11728 * util/grub-mkconfig.in: Likewise.
11729
b7308f90
VS
117302012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11731
11732 * util/grub-set-default.in: Replace printf with gettext_printf (the
11733 string in in question is already translated from grub-reboot)
11734
559dc587
VS
117352012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 * configure.ac: Bump up the version to beta1.
11738
1a11761f
VS
117392012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
11742 case when min_align = 0.
11743
24539abd
VS
117442012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
11747 and fix a case when line_start overflows.
11748
32bd735b
VS
117492012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 * util/grub-reboot.in (usage): Mention id posibility.
11752 * util/grub-set-default.in (usage): Likewise.
11753
1a2fd1e6
VS
117542012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
11757 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
11758 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11759 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11760 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11761 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11762 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11763
90eeab76
VS
117642012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * grub-core/commands/menuentry.c (options): Remove
11767 GRUB_ARG_OPTION_REPEATABLE.
11768 Reported by: Andreas Vogel
11769
5ad1be82
AV
117702012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
11771
11772 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
11773
cb055286
HE
117742012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
11775
11776 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
11777 error.
11778
93b1cd79
VS
117792012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 Use sort -V by the idea of Georgi Georgiev.
11782
11783 * util/grub-mkconfig_lib.in (version_sort): New function.
11784 (version_test_numeric): Use version_sort.
11785
0cdc126c
VS
117862012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11787
11788 Use submenus in grub-mkconfig.
11789
11790 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
11791 * util/grub-mkconfig_lib.in (grub_quote): New function.
11792 (gettext_printf): Use gettext and not gettext_quoted to fix several
11793 messages.
11794 * util/grub.d/10_hurd.in: Use submenus.
11795 * util/grub.d/10_kfreebsd.in: Likewise.
11796 * util/grub.d/10_linux.in: Likewise.
11797 * util/grub.d/10_netbsd.in: Likewise.
11798 * util/grub.d/20_linux_xen.in: Likewise.
11799 * util/grub.d/30_os-prober.in: Likewise.
11800 * util/grub.d/10_illumos.in: Add missing quoting.
11801 * util/grub.d/10_windows.in: Likewise.
11802
d9bef9bc
VS
118032012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11804
11805 Fix menu title instability bug.
11806
11807 * grub-core/commands/menuentry.c (options): New option --id.
11808 (grub_normal_add_menu_entry): New argument id. All users updated.
11809 (grub_cmd_menuentry): Handle --id.
11810 (grub_menu_init): Accept unknown arguments.
11811 * grub-core/normal/main.c (features): Add feature_menuentry_id and
11812 feature_menuentry_options.
11813 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
11814 saved_entry.
11815 (get_entry_number): Match with id as well.
11816 * include/grub/menu.h (grub_menu_entry): New member id.
11817 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
11818 * util/grub.d/00_header.in: Define menuentry_id_option.
11819 * util/grub.d/10_hurd.in: Define id.
11820 * util/grub.d/10_illumos.in: Likewise.
11821 * util/grub.d/10_kfreebsd.in: Likewise.
11822 * util/grub.d/10_linux.in: Likewise.
11823 * util/grub.d/10_netbsd.in: Likewise.
11824 * util/grub.d/10_windows.in: Likewise.
11825 * util/grub.d/20_linux_xen.in: Likewise.
11826 * util/grub.d/30_os-prober.in: Likewise.
11827
118282012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
11829
11830 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
11831 "scope" with "body".
11832
7c8d0ce7
VS
118332012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
11836 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
11837 prot_size and prot_file_size.
11838
49de079b
VS
118392012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11840
11841 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
11842 All users updated. If easily=1 require raid-5/-6 to be full.
11843 (is_node_readable): Likewise.
11844 (scan_devices): Scan incomplete but readable LVs at the end.
11845 (grub_diskfilter_memberlist): Pull missing devices.
11846 (insert_array): Skip scanning until device is complete or scan is
11847 done otherwise.
11848 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
11849 check.
11850 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
11851 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
11852
aff05d45
MG
118532012-03-03 Matthew Garrett <mjg@redhat.com>
118542012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11855
11856 Avoid EFI boot services when loading Linux.
11857
11858 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
11859 avoid_efi_bootservices. All users updated.
11860 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
11861 argument avoid_efi_bootservices. All users updated.
11862 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
11863 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
11864 align, min_align, relocatable, prefered_address. All users updated.
11865 Allocate avoiding boot services if kernel is relocatable.
11866 (grub_cmd_linux): Check if kernel is relocatable.
11867 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
11868 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
11869 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
11870 avoid_efi_boot_services.
11871 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
11872 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
11873 (linux_kernel_params): Likewise.
11874
3935dde2
MG
118752012-03-03 Matthew Garrett <mjg@redhat.com>
118762012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11877
11878 Use EDID on EFI.
11879
11880 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
11881 datasize_out.
11882 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
11883 modes. Set gop_handle.
11884 (grub_video_gop_get_edid): New function.
11885 (grub_gop_get_preferred_mode): Likewise.
11886 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
11887 (grub_video_efi_gop_adapter): Set .get_edid.
11888 * include/grub/efi/edid.h: New file.
11889 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
11890
32107ec0
VS
118912012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11892
11893 * util/grub-install.in: Load efivars unconditionally.
11894
e70a2c50
VS
118952012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 * po/Rules-piglatin: Change suffix from .po-update-en to
11898 .po-update-en-piglatin.
11899
8f9cace1
VS
119002012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11901
11902 Add a pig farm.
11903
11904 * po/piglatin.sed: New file.
11905 * po/en@piglatin.header: Likewise.
11906 * po/Rules-piglatin: Likewise.
11907 * po/README: Add en@piglatin to autogenerated languages.
11908
8f95d002
VS
119092012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
11912 "Command for ...".
11913 * grub-core/commands/hdparm.c (options): Use "Display" rather than
11914 "Check" since we don't check anything.
11915 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
11916 is 64-bit one.
11917 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
11918 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
11919 (grub_md_sha512_real): Likewise.
11920
805a8dcc
VS
119212012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * grub-core/commands/gptsync.c: Fix typographic quoting.
11924 * grub-core/commands/ieee1275/suspend.c: Likewise.
11925 * grub-core/commands/parttool.c: Likewise.
11926 * grub-core/commands/search_wrap.c: Likewise.
11927 * grub-core/commands/videoinfo.c: Likewise.
11928 * grub-core/gfxmenu/gui_label.c: Likewise.
11929 * grub-core/hello/hello.c: Likewise.
11930 * grub-core/kern/emu/main.c: Likewise.
11931 * grub-core/net/net.c: Likewise.
11932 * grub-core/normal/menu.c: Likewise.
11933 * grub-core/normal/menu_text.c: Likewise.
11934 * grub-core/normal/misc.c: Likewise.
11935 * util/grub-editenv.c: Likewise.
11936 * util/grub-install.in: Likewise.
11937 * util/grub-kbdcomp.in: Likewise.
11938 * util/grub-mkconfig.in: Likewise.
11939 * util/grub-mknetdir.in: Likewise.
11940 * util/grub-mkrescue.in: Likewise.
11941 * util/grub-mkstandalone.in: Likewise.
11942 * util/grub-reboot.in: Likewise.
11943 * util/grub-set-default.in: Likewise.
11944 * util/grub-setup.c: Likewise.
11945 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11946
40211ab8
VS
119472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
11950 * grub-core/commands/keystatus.c: Likewise.
11951 * grub-core/commands/loadenv.c: Likewise.
11952 * grub-core/commands/probe.c: Likewise.
11953 * grub-core/commands/regexp.c: Likewise.
11954 * grub-core/commands/true.c: Likewise.
11955 * grub-core/commands/videoinfo.c: Likewise.
11956 * grub-core/disk/cryptodisk.c: Likewise.
11957 * grub-core/disk/ldm.c: Likewise.
11958 * grub-core/disk/loopback.c: Likewise.
11959 * grub-core/disk/luks.c: Likewise.
11960 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11961 * grub-core/kern/disk.c: Likewise.
11962 * grub-core/kern/emu/hostdisk.c: Likewise.
11963
0c7d99c7
VS
119642012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11965
11966 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
11967 * util/grub-install.in: Add missing quote in the comment.
11968
e7d2559b
VS
119692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
11972 * grub-core/commands/lsmmap.c: Likewise.
11973 * grub-core/commands/minicmd.c: Likewise.
11974 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11975 * grub-core/commands/regexp.c: Likewise.
11976 * grub-core/gdb/gdb.c: Likewise.
11977 * grub-core/term/gfxterm.c: Likewise.
11978 * util/grub-mkconfig.in: Likewise.
11979 * util/grub-mkfont.c: Likewise.
11980 * util/grub-mklayout.c: Likewise.
11981 * util/grub-mknetdir.in: Likewise.
11982 * util/grub-mkrescue.in: Likewise.
11983 * util/grub.d/30_os-prober.in: Likewise.
11984
49ce9e50
VS
119852012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11986
11987 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
11988 with "Direct color" and "Packed" with "Packed pixel".
11989 (grub_cmd_videoinfo): Simplify legend.
11990
e4b791fa
VS
119912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11992
11993 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11994 absolutely unclear error message.
11995
fd1265cb
VS
119962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 * util/grub-mkstandalone.in: Remove confusing leftover print.
11999
8822a8a0
VS
120002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12001
12002 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
12003 comments.
12004 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
12005 (GRUB_MOD_INIT): Likewise.
12006 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
12007 VGA mode.
12008 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
12009 comments.
12010 * util/grub-install.in (usage): Likewise.
12011 Spell ID in whole letters.
12012 Add missing ending dot.
12013 Quote variables.
12014 * util/grub-reboot.in: Fix capitalisation.
12015 * util/grub-set-default.in: Likewise.
12016
937fd0cc
VS
120172012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12018
12019 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
12020 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
12021 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
12022 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
12023 Disable -Werror for -Wdeprecated-declarations.
12024 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
12025 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
12026 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
12027 (grub_util_get_grub_dev): Make luks handling dependent on
12028 HAVE_DEVICE_MAPPER and not __linux__.
12029 (get_win32_path): Fix format security.
12030 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
12031 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
12032 Don't try grub_find_zpool_from_dir.
12033 (grub_make_system_path_relative_to_its_root) [!__linux__]:
12034 #ifdef-out paresdir.
12035
1bab1ae3
VS
120362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 * util/grub-pe2elf.c (usage): Add missing noreturn.
12039 (write_section_data): Rename name to shname to avoid shadowing.
12040 (write_symbol_table): Rename name to symname to avoid shadowing.
12041 Fix write_reloc_section call.
12042
ef023e42
VS
120432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12044
12045 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
12046 to ensure that it's after the last byte of .text.
12047
48afcb75
VS
120482012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12049
12050 * util/ieee1275/ofpath.c (my_isdigit): New function.
12051 (trailing_digits): Use my_isdigit.
12052 (strip_trailing_digits): Likewise.
12053
88d51eff
VS
120542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
12057 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
12058
17edc2ba
VS
120592012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 * grub-core/kern/i386/pc/startup.S: Define __start.
12062
ad5518d7
VS
120632012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12064
12065 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
12066 strip already transforms he format.
12067
9e95e1bf
VS
120682012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
12071
9cc3ee5c
VS
120722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 * util/grub-install.in: Add missing gettext init.
12075 * util/grub-kbdcomp.in: Likewise.
12076 * util/grub-mkconfig.in: Likewise.
12077 * util/grub-mknetdir.in: Likewise.
12078 * util/grub-mkrescue.in: Likewise.
12079 * util/grub-mkstandalone.in: Likewise.
12080 * util/grub-reboot.in: Likewise.
12081 * util/grub-set-default.in: Likewise.
12082 * util/grub.d/00_header.in: Likewise.
12083 * util/grub.d/10_hurd.in: Likewise.
12084 * util/grub.d/10_windows.in: Likewise.
12085 * util/grub.d/30_os-prober.in: Likewise.
12086 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12087
49e08a06
VS
120882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12089
12090 * po/Rules-swiss: Fix header comment.
12091
3809cb41
AV
120922012-02-29 Andreas Vogel <anvoit>
12093
12094 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
12095 resulted in leak of arguments.
12096
fa6ec573
VS
120972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 * grub-core/boot/i386/pc/startup_raw.S: Use separate
12100 reed_solomon_size const definition instead of computing it since
12101 Apple assembler doesn't support the later.
12102
22899b9c
VS
121032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 * gentpl.py (kernel): Rewrite Apple part.
12106
a132afc3
VS
121072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12108
12109 * include/grub/kernel.h (FOR_MODULES): Check module magic.
12110
9d742bd4
VS
121112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12112
12113 * util/grub-mkimagexx.c (locate_sections): Support non-standard
12114 ELF section gap.
12115 (load_image): Likewise.
12116
f04a9a21
VS
121172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12118
12119 * configure.ac: Fix a typo in previous commit.
12120
46cf439c
VS
121212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12122
12123 Don't add -Wl,-N on Apple platform.
12124
12125 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
12126 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
12127
c4c48c54
VS
121282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12129
12130 * grub-core/Makefile.core.def (lzma_decompress): Use
12131 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
12132
31a12124
VS
121332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12134
12135 * grub-core/genmod.sh.in: Rewrite the Apple part.
12136
4f3aa1af
VS
121372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12138
12139 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
12140 comparison.
12141
7bd8b0c7
VS
121422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12143
12144 * acinclude.m4 (grub_CHECK_PIC): New test.
12145 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
12146
97304d7c
VS
121472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
12150 to avoid the warning.
12151
fb883812
VS
121522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
12155 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
12156 after. All users updated.
12157
a121c964
VS
121582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 Use the common size routine in hostfs so we can read disks as well.
12161
12162 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
12163 (grub_util_get_fd_size): ... this. Return size in bytes.
12164 All users updated.
12165 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
12166 grub_util_get_fd_size.
12167
c66d6410
VS
121682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12169
12170 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
12171 Add blocksize retrieval.
12172
dfc8aeb0
VS
121732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12174
12175 * configure.ac: Restore CFLAGS after efiemu check.
12176
403e25a5
VS
121772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12178
12179 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
12180 Apple bug.
12181
382775d1
VS
121822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12183
12184 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
12185
6fd4e6e4
VS
121862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
12189 (grub_cmd_halt): Likewise.
12190
bea359d6
VS
121912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12192
12193 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
12194 for local arithmetics.
12195 Break %sp init into 2 instructions.
12196 Add 0 byte at the end.
12197
32eb6ee1
VS
121982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12199
12200 * grub-core/disk/diskfilter.c (read_segment): Initialise err
12201 before loops.
12202
e8377389
VS
122032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12204
12205 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
12206 for context.
12207
8cb17de7
VS
122082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 * grub-core/disk/ldm.c (make_vg): Init part.name.
12211 (grub_ldm_detect): Silence spurious warning.
12212 (grub_util_is_ldm): Likewise.
12213
595717e6
VS
122142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
12217 sane value to avoid a spurious warning.
12218
c4b7e588
VS
122192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
12222 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
12223
59824957
VS
122242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12225
12226 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
12227 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
12228
70115b99
VS
122292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
12232 hardcoding the relevant info.
12233
56733740
VS
122342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
12237 missing const qualifiers.
12238 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
12239
43481481
VS
122402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12241
12242 * util/getroot.c [__APPLE__]: Add missing includes.
12243 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
12244
3cb38f01
VS
122452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12246
12247 * util/grub-mkimage.c (generate_image): Silence spurious warning.
12248
d9dbf11e
VS
122492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
12252 avoid conflicts.
12253
0c42a45d
VS
122542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12255
12256 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
12257
46c34eb0
VS
122582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
12261 and grub_file_close call.
12262
99ce1597
VS
122632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12264
12265 Add LZSS Mach-O support (needed for new xnu kernelcache).
12266
12267 * grub-core/Makefile.core.def (xnu): Add file lzss.c
12268 * grub-core/loader/lzss.c: New file.
12269 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
12270 on Mach-O open failure.
12271 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
12272 Don't free cmdsXX in uncompressedXX is set.
12273 (grub_macho_file): Init new fields.
12274 New argument is_64bit. All users updated.
12275 Handle compressed. Error out if no suitable architecture is found.
12276 Don't close file.
12277 (grub_macho_open): New argument is_64bit. All users updated.
12278 * grub-core/loader/macho32.c: Add defines for new fields.
12279 * grub-core/loader/macho64.c: Likewise.
12280 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
12281 (grub_macho_parse): Handle compressed.
12282 Defer actual processing if compressed.
12283 (grub_macho_cmds_iterate): Decompress if compressed. New argument
12284 "filename". All users updated.
12285 (grub_macho_size): New argument "filename". All users updated.
12286 (grub_macho_get_entry_point): Likewise.
12287 (grub_macho_load): Handle compressed.
12288 * include/grub/macho.h (grub_macho_lzss_header): New struct.
12289 (GRUB_MACHO_LZSS_OFFSET): New define.
12290 (grub_decompress_lzss): New proto.
12291 * include/grub/machoload.h (grub_macho_file): New fields to handle
12292 compressed.
12293 (grub_macho_contains_macho64): Remove proto.
12294 (grub_macho_contains_macho32): Likewise.
12295 * util/grub.d/30_os-prober.in: Use kernel cache if available.
12296
ebd17d6f
VS
122972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
12300
2702b4e4
VS
123012012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12302
12303 Fix make dist.
12304
12305 * Makefile.am (starfield_theme_files): New var.
12306 (starfield_DATA): Use starfield_theme_files.
12307 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
12308 Add bootcheck-related files.
12309 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
12310 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
12311 and font_char_metrics.txt.
12312 * grub-core/Makefile.core.def (kernel): Update extra_dist.
12313 (setjmp): Add lib/ia64/longjmp.S.
12314 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
12315 * po/POTFILES.in: Regenerate.
12316 * po/Rules-swiss: use DISTFILES.common.extra2 and not
12317 DISTFILES.common.extra1.
12318 * util/devicemap.c: Removed.
12319 * grub-core/lib/i386/relocator_backward.S: Likewise.
12320 * util/import_gcry.py: Remove unused files. Add extra_dist for
12321 ChangeLog.
12322
cf1adfdf
VS
123232012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12324
12325 * grub-core/gettext/gettext.c (grub_mofile_open): Call
12326 grub_gettext_delete_list before changing grub_gettext_max to avoid
12327 running out of array bounds.
12328
123292012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
12330
12331 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
12332 grub_vga_text_init/grub_vga_text_fini.
12333
cf1adfdf 123342012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
12335
12336 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
12337
541d92e9
VS
123382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12339
12340 * configure.ac: Bump to 2.00~beta0.
12341
7931dddf
VS
123422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
12345 missing initialisation.
12346
f1b16fa3
VS
123472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
12350
83ddae23
VS
123512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 Support v2 xnu boot arguments.
12354
12355 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
12356 New argument fsbfreq_out.
12357 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
12358 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
12359 be used.
12360 * grub-core/loader/machoXX.c (grub_macho_load): New argument
12361 darwin_version.
12362 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
12363 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
12364 (grub_xnu_boot_params): Rename to ...
12365 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
12366 (grub_xnu_boot_params_v2): New struct.
12367
dc693fe6
VS
123682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
12371 zeroing of CRC field before computing CRC.
12372
5a6e39c2
VS
123732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12374
12375 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
12376 Change order of allocations to decrease fragmentation.
12377
6c21f5d7
VS
123782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12379
12380 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
12381
cfe456dc
CW
123822012-02-27 Colin Watson <cjwatson@ubuntu.com>
12383
12384 Use write-combining MTRR to speed up video with buggy BIOSes.
12385
12386 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
12387 (cpuid): New define.
12388 (rdmsr): Likewise.
12389 (wrmsr): Likewise.
12390 (mtrr_base): Likewise.
12391 (mtrr_mask): Likewise.
12392 (grub_vbe_enable_mtrr_entry): New function.
12393 (grub_vbe_enable_mtrr): Likewise.
12394 (grub_vbe_disable_mtrr): Likewise.
12395 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
12396 control off to BIOS.
12397 (grub_video_vbe_init): Fill mtrr.
12398 (grub_video_vbe_fini): Disable mtrr.
12399 (grub_video_vbe_get_info_and_fini): Likewise.
12400 (grub_video_vbe_setup): Enable mtrr.
12401
e3c78337
CW
124022012-02-27 Colin Watson <cjwatson@ubuntu.com>
12403
12404 * include/grub/partition.h (grub_partition_map): Change prototype of
12405 embed to take a maximum value for nsectors.
12406 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
12407 * include/grub/fs.h (grub_fs): Likewise.
12408 * grub-core/partmap/msdos.c (embed_signatures): New array.
12409 (pc_partition_map_embed): Check for and avoid sectors matching any
12410 of the signatures in embed_signatures, up to max_nsectors.
12411 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
12412 returned sector map to max_nsectors.
12413 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
12414 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
12415 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
12416 * util/grub-setup.c (setup): Allow for the embedding area being
12417 split into multiple blocklists. Tell dest_partmap->embed the
12418 maximum number of sectors we care about.
12419
124202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
12423 Specify blocklist_install and reserver_first_sector for all fs.
12424 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
12425 blocklists.
12426
984b973f
VS
124272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12428
12429 * util/grub-install.in: Clarify strings.
12430 Fix source dir check.
12431
f122e0d6
RL
124322012-02-27 Richard Laager <rlaager@wiktel.com>
12433
12434 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
12435 "zfs" and "fuse.zfs" as synonyms.
12436
071114bb
VS
124372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12438
12439 * configure.ac: Put platform and target_cpu substitutions back since
12440 they are used for directories.
12441
817e6abc
RL
124422012-02-27 Richard Laager <rlaager@wiktel.com>
124432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 * util/grub.d/10_linux.in: Add ZFS-related arguments.
12446 * util/grub.d/20_linux_xen.in: Likewise.
12447
897b7419
RL
124482012-02-27 Richard Laager <rlaager@wiktel.com>
12449
12450 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
12451 with full paths.
12452
a414bd15
RL
124532012-02-27 Richard Laager <rlaager@wiktel.com>
12454
12455 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
12456 unescape.
12457
30ac48c4
VS
124582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 Don't use insecure popen in getroot.
12461
12462 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
12463 (exec_pipe): ... here.
12464 (find_root_devices_from_poolname): Use exec_pipe.
12465
53f13848
VS
124662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 Remove platform and target_cpu replacement.
12469
12470 * configure.ac: Remove platform and target_cpu substitutions.
12471 * tests/util/grub-shell.in: Use modinfo.
12472 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
12473 explicitly.
12474
90cb2803
VS
124752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 Autodetect platform in grub-install but allow override.
12478
12479 * util/grub-install.in: Autodetect platform. Support --target and
12480 --directory. Read platform from modinfo.sh.
12481
b9136427
VS
124822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 Support btrfs multi-volume probe.
12485
12486 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
12487 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
12488 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
12489 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
12490 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
12491 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
12492 grub_find_root_devices_from_btrfs if on btrfs.
12493
c36e5cd1
VS
124942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 Remove any awareness of *.c util files about target.
12497
12498 * Makefile.util.def (grub-setup): Split to ...
12499 (grub-bios-setup): ... and this.
12500 (grub-sparc64-setup): ... and this.
12501 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
12502 * docs/man/grub-setup.h2m: Split into ...
12503 * docs/man/grub-sparc64-setup.h2m: ... this.
12504 * docs/man/grub-bios-setup.h2m: ... and this.
12505 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
12506 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
12507 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
12508 (grub_target_addr_t): Remove.
12509 (grub_target_size_t): Remove.
12510 (grub_target_ssize_t): Remove.
12511 * util/grub-install.in: Use new grub-*-setup.
12512 * util/grub-mkimagexx.c (Elf_Word): New define.
12513 (Elf_Half): Likewise.
12514 (Elf_Section): Likewise.
12515 (ELF_ST_TYPE): Likewise.
12516 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
12517 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
12518
584b2f8a
VS
125192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12520
12521 Replace grub_target_addr with more appropriate types.
12522
12523 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
12524 grub_target_addr with grub_addr.
12525 * grub-core/commands/iorw.c (grub_cmd_read): Replace
12526 grub_target_addr with grub_port.
12527 (grub_cmd_write): Likewise.
12528 * grub-core/commands/memrw.c (grub_cmd_read): Replace
12529 grub_target_addr with grub_addr.
12530 (grub_cmd_write): Likewise.
12531 * grub-core/video/efi_uga.c (find_line_len): Likewise.
12532
5a0dc6fb
VS
125332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12534
12535 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
12536 const qualifier for vendor_guid.
12537
786aff6e
VS
125382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
12541 const qualifier.
12542 (efiemu_memequal): Likewise.
12543 (find_variable): Likewise.
12544
49017b17
VS
125452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 Fix missing console prototype on qemu-mips.
12548
12549 * include/grub/mips/qemu_mips/console.h: New file.
12550
c5988629
MG
125512012-02-27 Matthew Garrett <mjg@redhat.com>
125522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
12555 * include/grub/efi/efi.h: Likewise.
12556 * include/grub/efi/api.h: Add guid for EFI-specified variables.
12557 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
12558 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
12559 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
12560 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
12561 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
12562
e33f8d69
MG
125632012-02-27 Matthew Garrett <mjg@redhat.com>
12564
12565 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
12566
fb312cd9
VS
125672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
12570 error.
12571
7134247c
VS
125722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12573
12574 * configure.ac: Remove inappropriate use of program_transform_name
12575 on grubdir and bootdir but allow explicit specification of those
12576 variables.
12577
6a313124
VS
125782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12579
12580 * util/grub-mknetdir.in (grub_prefix): Removed.
12581 (subdir): Use @bootdirname@ and @grubdirname@.
12582
2311c5ca
VS
125832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12584
12585 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
12586
7d5d60f7
VS
125872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12588
12589 * po/POTFILES.in: Regenerated.
12590
8151bc82
VS
125912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12592
12593 Remove improper use of program_transform_name on pkglibrootdir.
12594
12595 * configure.ac (pkglibrootdir): Removed.
12596 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
12597 * util/grub-mkimage.c: Likewise.
12598
b4a6a533
VS
125992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
12602 warning.
12603
668f304f
VS
126042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12605
12606 * util/grub-install.in: Use file identifier if no UUID is available
12607 or user explicitly prompted for it.
12608
665f2341
NP
126092012-02-27 Navdeep Parhar <nparhar@gmail.com>
12610
12611 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
12612 (freebsd_get_zfs): New function.
12613 (grub_freebsd_boot): Pass zfs UUID.
12614 (grub_cmd_freebsd): Set zfs UUID.
12615
8151bc82 126162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
12617
12618 * conf/Makefile.common (platformdir): Base on pkglibdir and not
12619 pkglibrootdir.
12620
e4c498a1
MG
126212012-02-27 Mike Gilbert <floppym@gentoo.org>
12622
12623 Add configure flag to control libzfs integration.
12624
12625 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
12626
1e9a9a3f
VS
126272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12628
12629 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
12630 device.
12631 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
12632 small devices.
12633
036985b8
VS
126342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12635
12636 Remove grub_{modname}_init and grub_{modname}_fini. They should never
12637 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
12638 be used on non-modules.
12639
12640 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
12641 Rename to grub_boot_init.
12642 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
12643 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
12644 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
12645 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
12646 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
12647 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
12648 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
12649 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
12650 includes.
12651 (grub_machine_init): Remove empty inits.
12652 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
12653 includes.
12654 (grub_machine_init): Remove empty inits.
12655 * grub-core/term/arc/console.c: Remove explicit proto.
12656 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
12657 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
12658 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12659 grub_at_keyboard_fini.
12660 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
12661 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
12662 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12663 grub_gfxterm_fini.
12664 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
12665 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
12666 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12667 grub_vgatext_fini.
12668 * grub-core/term/ieee1275/console.c: Remove explicit proto.
12669 * grub-core/term/serial.c (GRUB_MOD_INIT)
12670 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
12671 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12672 grub_serial_fini.
12673 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
12674 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
12675 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12676 grub_terminfo_fini.
12677 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
12678 (GRUB_MOD_FINI): Likewise.
12679 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
12680 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
12681 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12682 grub_video_radeon_fuloong2e_fini.
12683 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
12684 [LOONGSON]: Rename to grub_video_sis315pro_init.
12685 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12686 grub_video_sis315pro_fini.
12687 * grub-core/video/sm712.c (GRUB_MOD_INIT)
12688 [LOONGSON]: Rename to grub_video_sm712_init.
12689 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12690 grub_video_sm712_fini.
12691 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
12692 (grub_at_keyboard_fini): Likewise.
12693 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
12694 Don't declare grub_{modname}_init.
12695 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
12696 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
12697 New proto.
12698 (grub_keylayouts_fini) [!EMU]: Likewise.
12699 * include/grub/serial.h (grub_serial_init) [!EMU]:
12700 New proto.
12701 (grub_serial_fini) [!EMU]: Likewise.
12702 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
12703 New proto.
12704 (grub_terminfo_fini) [!EMU]: Likewise.
12705 * include/grub/video.h (grub_font_init) [!EMU]:
12706 New proto.
12707 (grub_font_fini) [!EMU]: Likewise.
12708 (grub_gfxterm_init) [!EMU]: Likewise.
12709 (grub_gfxterm_fini) [!EMU]: Likewise.
12710 (grub_video_sm712_init) [!EMU]: Likewise.
12711 (grub_video_sm712_fini) [!EMU]: Likewise.
12712 (grub_video_sis315pro_init) [!EMU]: Likewise.
12713 (grub_video_sis315pro_fini) [!EMU]: Likewise.
12714 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
12715 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
12716
d5534665
VS
127172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 Make nand a prefix for nand devices.
12720
12721 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
12722
10133b5f
VS
127232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
12726 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
12727
8e307a62
VS
127282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 * include/grub/env.h (grub_env_find): Remove prototype.
12731 * grub-core/kern/env.c (grub_env_find): Make static.
12732 (grub_env_set): Remove useless set.
12733
a4c65f34
VS
127342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12735
12736 * grub-core/kern/i386/realmode.S: Remove useless align.
12737
d87893d5
VS
127382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12739
12740 * include/grub/dl.h (grub_dl_load_file): Don't export.
12741
50159add
VS
127422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12743
12744 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
12745 grub_dprintf.
12746
b2582b84
VS
127472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12748
12749 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
12750 grub_errors.
12751 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
12752 not reloading whole superblock but only the part which is really needed.
12753 Remove useless grub_errors.
12754 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
12755 grub_errors.
12756
e2a83395
VS
127572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 Don't export grub_get_rtc.
12760
12761 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
12762 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
12763
e7d2a906
VS
127642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
12767
6cf1363b
VS
127682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12769
12770 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 12771 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 12772
eece3349
VS
127732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12774
12775 Remove prio_list.
12776
12777 * include/grub/list.h (grub_prio_list): Removed.
12778 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
12779 GRUB_COMMAND_PRIO_MASK.
12780 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
12781 GRUB_COMMAND_FLAG_ACTIVE.
12782 (grub_prio_list_insert): Removed.
12783 (grub_prio_list_remove): Likewise.
12784 (GRUB_AS_PRIO_LIST): Likewise.
12785 (GRUB_AS_PRIO_LIST_P): Likewise.
12786 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
12787 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
12788 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
12789 * grub-core/kern/command.c (grub_register_command_prio): Inline
12790 the prio_list code.
12791 (grub_unregister_command): Likewise.
12792
94f064b4
VS
127932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12794
12795 Fix interrupt mixup from previous commit.
12796
12797 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
12798 (grub_realidt): New var.
12799 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
12800 Load idt.
12801 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
12802 New declaration.
12803 (grub_relocator16_boot): Set grub_relocator16_idt.
12804 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
12805 (LOCAL(realidt)): ... this.
12806 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
12807 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
12808 (grub_realidt): New variable.
12809
27317084
VS
128102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12811
12812 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
12813 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
12814 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
12815 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
12816 Gettextize.
12817 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
12818 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
12819 * po/POTFILES.in: Regenerate.
12820
47b40053
VS
128212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
12824 errors.
12825
2b343101
VS
128262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12827
12828 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
12829 \0.
12830 (add_length): Likewise.
12831
ff27c3dd
LK
128322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
128332012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
12834
12835 GDB serial and backtrace support.
12836
12837 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
12838 (prot_to_real): Likewise.
12839 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
12840 * grub-core/Makefile.core.def (backtrace): New module.
12841 (gdb): Likewise.
12842 * grub-core/gdb/cstub.c: New file.
12843 * grub-core/gdb/gdb.c: Likewise.
12844 * grub-core/gdb/i386/idt.c: Likewise.
12845 * grub-core/gdb/i386/machdep.S: Likewise.
12846 * grub-core/gdb/i386/signal.c: Likewise.
12847 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 12848 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
12849 * include/grub/backtrace.h: Likewise.
12850 * include/grub/gdb.h: Likewise.
12851 * include/grub/i386/gdb.h: Likewise.
12852
128532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
12854
12855 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
12856 New function.
12857 (add_length): Likewise.
12858 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
12859 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
12860 proto.
12861 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
12862 __argp_get_display_len.
12863
ff27c3dd 128642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
12865
12866 $"..." support in scripts.
12867
12868 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
12869 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
12870 * grub-core/script/yylex.l: Likewise.
12871 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
12872 value.
12873
ff27c3dd 128742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
12875
12876 * gentpl.py: Remove obsolete pkglib_DATA handling.
12877
ff27c3dd 128782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
12879
12880 Don't transform PACKAGE_TARNAME following a discussion on autoconf
12881 mailing list.
12882
12883 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
12884 * util/grub-kbdcomp.in: Likewise.
12885 * util/grub-mkconfig.in: Likewise.
12886 * util/grub-mkconfig_lib.in: Likewise.
12887 * util/grub-mknetdir.in: Likewise.
12888 * util/grub-mkrescue.in: Likewise.
12889 * util/grub-mkstandalone.in: Likewise.
12890 * util/grub-reboot.in: Likewise.
12891 * util/grub-set-default.in: Likewise.
12892 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12893
ff27c3dd 128942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
12895
12896 Remove GRUB_PREFIX.
12897
12898 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
12899 * util/grub.d/00_header.in: Compute prefix in the only place it's still
12900 used for backward compatibility.
12901
ff27c3dd 129022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
12903
12904 Add new all_video module.
12905
12906 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
12907 * grub-core/Makefile.core.def (all_video): New module.
12908 * grub-core/genmoddep.awk: Generate dependency of all_video from
12909 video.lst.
12910 * grub-core/lib/fake_module.c: New file.
12911 * grub-core/normal/main.c (features): Add feature_all_video_module.
12912 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
12913 don't do explicit search again.
47454da5 12914 insmod all_video in load_video if available.
22c7ce85 12915
ff27c3dd 129162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
12917
12918 Another round of string clarification and adding TRANSLATORS comments.
12919
ff27c3dd 129202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
12921
12922 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
12923
ff27c3dd 129242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
12925
12926 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
12927 to grub_ssize_t.
12928 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
12929 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
12930
ff27c3dd 129312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
12932
12933 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
12934 trailing newline implicitly. All users updated.
12935
ff27c3dd 129362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
12937
12938 Implement serial on IEEE1275 and EFI.
12939
12940 * docs/grub.texi (Platform-specific limitations): Fix the columen video
12941 on emu. Mention arc and emu as the only platforms without serial
12942 support.
12943 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
12944 ieee1275 platforms.
12945 * grub-core/term/efi/serial.c: New file.
12946 * grub-core/term/ieee1275/serial.c: Likewise.
12947 * grub-core/term/serial.c (grub_serial_find): Disable direct port
12948 specification if no ns8250 driver is available.
12949 (grub_cmd_serial): Likewise.
12950 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
12951 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
12952 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
12953 (grub_efi_parity_type_t): New type.
12954 (grub_efi_stop_bits_t): Likewise.
12955 (grub_efi_serial_io_interface): New struct.
12956 * include/grub/serial.h (grub_serial_port): Make 'broken' field
12957 available for all interfaces.
12958 Add EFI and IEEE1275 fields.
12959 (grub_ofserial_init): New proto.
12960 (grub_efiserial_init): Likeiwse.
12961 * util/grub.d/00_header.in: Don't check for the presence of serial
12962 module.
12963
ff27c3dd 129642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
12965
12966 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
12967 name as if it was an alias.
12968
114076ef
VS
129692012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12970
12971 * grub-core/commands/lsacpi.c (options): Fix typo.
12972
6a656b0e
VS
129732012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 Convert grub-emu to argp.
12976
12977 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
12978 emu.
12979 * util/argp_common.c: Rename to ...
12980 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
12981 Add missing includes.
12982 * grub-core/kern/emu/main.c: Convert to argp.
12983 * po/POTFILES.in: Regenerate.
12984 * util/grub-install.in (usage): Make first letter lowcase in messages
12985 for uniformity.
12986 * util/grub-setup.c (options): Likewise.
12987
1e3f8ae8
VS
129882012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
12991 Put back accidently commented-out code.
12992
ed167a80
VS
129932012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12994
12995 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
12996 loop check using Brent algorithm.
12997 (grub_hfsplus_btree_search): Likewise.
12998
6753c0ec
VS
129992012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13000
13001 * util/grub-install.in: Fix usage of wrong device for PreP install.
13002
4e27343f
VS
130032012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 * conf/Makefile.common (CFLAGS_GNULIB): Add
13006 -Wno-unsafe-loop-optimizations.
13007 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
13008 on tools.
13009 * grub-core/commands/legacycfg.c: Add pragma to skip
13010 -Wunsafe-loop-optimizations.
13011 (check_password_md5_real): Fix loop counter type.
13012 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
13013 reading.
13014 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
13015 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
13016 loop condition.
13017 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
13018 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
13019 * grub-core/net/net.c (grub_net_route_address): Add safety loop
13020 condition.
13021 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
13022 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
13023 avoid possible infinite loops.
13024 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
13025 and -Wunsafe-loop-optimizations.
13026 * grub-core/script/yylex.l: Likewise.
13027 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
13028 (print_glyphs): Avoid infinite loops.
13029 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
13030
697f18b0
GS
130312012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
13032
13033 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
13034 to avoid infinite loop.
13035 (disp_acpi_rsdt_table): Likewise.
13036
274416e8
VS
130372012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 * grub-core/font/font.c (grub_font_load): Add support for default
13040 path for fonts ($prefix/fonts).
13041 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
13042 for checking if string is a path.
13043 * grub-core/normal/main.c (features): Add feature_default_font_path.
13044 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
13045 * util/grub.d/00_header.in: Use default directory if possible.
13046 * util/grub-install.in: Install unicode.pf2.
13047
b3e08622
VS
130482012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13049
13050 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
13051 * po/Rules-swiss: New file.
13052 * po/swiss.sed: Likewise.
13053
fe42ce09
VS
130542012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 * grub-core/fs/btrfs.c (find_device): Fix typos.
13057 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
13058 * util/grub-mkrelpath.c (argp_parser): Likewise.
13059 Reported by: Yuri Chornoivan.
13060
72f1d065
DO
130612012-02-23 Dalet Omega <daletomega@gmail.com>
13062
13063 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
13064 for usual informative messages.
13065
c5884973
DO
130662012-02-23 Dalet Omega <daletomega@gmail.com>
13067
13068 Starfield theme.
13069
13070 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
13071 * conf/Makefile.common: Define starfielddir.
13072 * configure.ac: Configure starfield.
13073 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
13074 * themes/starfield/README: Likewise.
13075 * themes/starfield/blob_w.png: Likewise.
13076 * themes/starfield/boot_menu_c.png: Likewise.
13077 * themes/starfield/boot_menu_e.png: Likewise.
13078 * themes/starfield/boot_menu_n.png: Likewise.
13079 * themes/starfield/boot_menu_ne.png: Likewise.
13080 * themes/starfield/boot_menu_nw.png: Likewise.
13081 * themes/starfield/boot_menu_s.png: Likewise.
13082 * themes/starfield/boot_menu_se.png: Likewise.
13083 * themes/starfield/boot_menu_sw.png: Likewise.
13084 * themes/starfield/boot_menu_w.png: Likewise.
13085 * themes/starfield/slider_c.png: Likewise.
13086 * themes/starfield/slider_n.png: Likewise.
13087 * themes/starfield/slider_s.png: Likewise.
13088 * themes/starfield/src/blob_nw.xcf: Likewise.
13089 * themes/starfield/src/bootmenu/: Likewise.
13090 * themes/starfield/src/bootmenu/center.xcf: Likewise.
13091 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
13092 * themes/starfield/src/bootmenu/side.xcf: Likewise.
13093 * themes/starfield/src/slider_c.xcf: Likewise.
13094 * themes/starfield/src/slider_n.xcf: Likewise.
13095 * themes/starfield/src/slider_s.xcf: Likewise.
13096 * themes/starfield/src/terminalbox/: Likewise.
13097 * themes/starfield/src/terminalbox/center.xcf: Likewise.
13098 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
13099 * themes/starfield/src/terminalbox/side.xcf: Likewise.
13100 * themes/starfield/starfield.png: Likewise.
13101 * themes/starfield/terminal_box_c.png: Likewise.
13102 * themes/starfield/terminal_box_e.png: Likewise.
13103 * themes/starfield/terminal_box_n.png: Likewise.
13104 * themes/starfield/terminal_box_ne.png: Likewise.
13105 * themes/starfield/terminal_box_nw.png: Likewise.
13106 * themes/starfield/terminal_box_s.png: Likewise.
13107 * themes/starfield/terminal_box_se.png: Likewise.
13108 * themes/starfield/terminal_box_sw.png: Likewise.
13109 * themes/starfield/terminal_box_w.png: Likewise.
13110 * themes/starfield/theme.txt: Likewise.
13111
17d73325
VS
131122012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
13113
13114 * util/grub.d/00_header.in: Add missing export theme.
13115
dbebaf92
VS
131162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13117
13118 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
13119 already included.
13120 Reported by: Eren D.
13121
3d68bffb
VS
131222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13123
13124 * conf/Makefile.common (grubdatadir): Removed.
13125 (Makefile.am): Move eveything grubdata to pkgdata.
13126
4b59234d
VS
131272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 * grub-core/commands/acpihalt.c (get_sleep_type):
13130 Remove unused variable.
13131
463dcadc
VS
131322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13133
13134 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
13135 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
13136 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
13137 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
13138 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
13139 i18n with gettext no-op.
13140 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
13141 GRUB_ACPI_OPCODE_STRING_CONST.
13142 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
13143 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
13144
e5b90c82
VS
131452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13146
13147 * po/POTFILES.in: Regenerate.
13148
2a704ca9
VS
131492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
13152 -Wno-error=missing-noreturn.
13153
84f9d341
VS
131542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
13157 condition to avoid possibly infinite loops.
13158 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
13159 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
13160
d46683f9
VS
131612012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13162
13163 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
13164 condition to avoid possibly infinite loops.
13165
c44866b2
VS
131662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
13169 on show_error.
13170
96790539
VS
131712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13172
13173 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
13174
1ba7e295
VS
131752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
13178
21ffe8f1
VS
131792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13180
13181 * util/bin2h.c (usage): Add missing attribute noreturn.
13182
0ccb6b3c
VS
131832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
13186 if the size isn't divisible by 512.
13187
b00d7fb6
VS
131882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 Make list_push and list_remove functions rather than inline functions
13191 to decrease size and avoid aliasing violations.
13192
13193 * include/grub/list.h (grub_list_push): Move to ...
13194 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
13195 * include/grub/list.h (grub_list_remove): Move to ...
13196 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
13197
9d369087
VS
131982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13199
13200 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
13201 and -Wunused-result.
13202
af0250d9
VS
132032012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
13204
13205 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
13206 Reported by: Seth Goldberg
13207
aad32b14
VS
132082012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
13209
13210 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
13211
ac96441c
ST
132122012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
13213
13214 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
13215 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
13216 command line.
13217 * docs/grub.texi (Simple configuration): Document
13218 GRUB_CMDLINE_GNUMACH.
13219
132202012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
13221
13222 * conf/Makefile.common (platform_SCRIPTS): New variable.
13223 (platform_PROGRAMS): Likewise.
13224 * gentpl.py: Mark *,module and *.image for install.
13225 * grub-core/gdb_grub.in: Add a notice of expected environment.
13226 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
13227 (gmodule.pl): Likewise.
13228
ac96441c 132292012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
13230
13231 Replace grub_checkkey with grub_getkey_noblock.
13232
13233 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
13234 (grub_getkey_noblock): ... this. All users updated.
13235
ac96441c 132362012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
13237
13238 * grub-core/kern/emu/console.c: Move to ...
13239 * grub-core/term/emu/console.c: ...here.
13240 (grub_ncurses_getkey): Fix return value if no key is detected.
13241
e51b5666
VS
132422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
13245 (grub_unit_test_fini): Likewise.
13246 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
13247
132482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 * include/grub/test.h (GRUB_UNIT_TEST)
13251
d9a62292
VS
132522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * grub-core/script/execute.c (grub_script_break): Clarify logic.
13255 Better error handling.
13256 (grub_script_return): Likewise.
13257 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
13258
77c9182f
VS
132592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13260
13261 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
13262 rimplicit redifinition.
13263
edb13cf9
VS
132642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
13267 GRUB.
13268
a9e9dc7c
VS
132692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13270
13271 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
13272 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
13273 prompt here.
13274
b4ba8e02
VS
132752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
13278 as GRUB_ERR_BUG. Don't malloc if no device is available.
13279
dded5540
VS
132802012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13281
13282 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
13283 Mark calling with invalid term as GRUB_ERR_BUG.
13284
0cf69874
VS
132852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
13288 packets rather than raising an error.
13289
59bfe502
VS
132902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13291
13292 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
13293 in if.
13294
db5fc596
VS
132952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
13298 diagnostic to dprintf.
13299 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13300
e4b7f404
VS
133012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13302
13303 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
13304 device name.
13305
e7b02f9e
VS
133062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13307
13308 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
13309 (grub_ntfs_iterate_dir): Likewise.
13310
0331e102
VS
133112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13312
13313 Efiemu stylistic fixes and gettext.
13314
13315 * grub-core/efiemu/i386/loadcore32.c
13316 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
13317 * grub-core/efiemu/i386/loadcore64.c
13318 (grub_arch_efiemu_relocate_symbols64): Likewise.
13319 * grub-core/efiemu/i386/pc/cfgtables.c
13320 (grub_machine_efiemu_init_tables): Likewise.
13321 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
13322 (grub_efiemu_loadcore_initXX): Add a filename argument.
13323 All users updated.
13324 Improved error message.
13325 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
13326 Add a filename argument.
13327 All users updated.
13328 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
13329 Reclassify double relocation as GRUB_ERR_BUG.
13330
306fc074
VS
133312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13332
13333 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
13334 handling.
13335
794d8ef2
VS
133362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
13339 on partition.
13340
133412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
13342
13343 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
13344
794d8ef2 133452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
13346
13347 Improve string. Gettextize.
13348
78dde88e
VS
133492012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
13352 utils.
13353 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
13354
4786a90f
VS
133552012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13356
13357 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
13358 [GRUB_UTIL]: New function.
13359 (insert_array) [GRUB_UTIL]: Store partmaps.
13360 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
13361 partmaps.
13362 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
13363 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
13364 (probe_abstraction): Print diskfilter and not raid.
13365 Reported by: Lennart Sorensen
13366
0b6225bd
VS
133672012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13368
13369 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
13370 * util/grub-mkimagexx.c (MASK3): New define.
13371 (add_value_to_slot_20b): Use MASK3.
13372 (add_value_to_slot_21): Likewise.
13373 (relocate_addresses): Fix format specification.
13374 (load_image): Explicitly init symtab_section.
13375
b055f8f6
VS
133762012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13377
13378 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
13379 (grub_util_biosdisk_get_grub_dev): Fix format specification.
13380
b77c2fb7
VS
133812012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13382
13383 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
13384 on powerpc.
13385 Reported by: Lennart Sorensen
13386
e3ec28ab
VS
133872012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13388
13389 * gentpl.py: Add missing license header.
13390 * docs/grub.texi: Update copyright year.
13391
c8d9ead6
GS
133922012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
13393
13394 Source grub-mkconfig_lib from the build directory at build time.
13395 Suggested by: Vladimir Serbinenko.
13396
13397 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
13398 * util/grub-install.in: Define pkgdatadir if not already set, and source
13399 grub-mkconfig_lib from there.
13400 * util/grub-kbdcomp.in: Likewise.
13401 * util/grub-mkconfig.in: Likewise.
13402 * util/grub-mknetdir.in: Likewise.
13403 * util/grub-mkrescue.in: Likewise.
13404 * util/grub-mkstandalone.in: Likewise.
13405 * util/grub-reboot.in: Likewise.
13406 * util/grub-set-default.in: Likewise.
13407 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13408
ebcecdf1
VS
134092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 Increase warning level.
13412
13413 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
13414 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
13415 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
13416 (TARGET_CFLAGS): Likewise.
13417 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
13418 * grub-core/Makefile.core.def (decompressor_xz): Add
13419 -Wno-unreachable-code.
13420 (normal): Add -Wno-redundant-decls.
13421 (xzio): Add -Wno-unreachable-code.
13422 (lzopio): Add -Wno-redundant-decls -Wno-error.
13423 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
13424 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
13425 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
13426 * grub-core/kern/dl.c: Add exception to -Wcast-align.
13427 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
13428 * grub-core/kern/i386/coreboot/init.c: Add exception to
13429 -Wsuggest-attribute=noreturn.
13430 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
13431 * grub-core/kern/ia64/dl_helper.c: Likewise.
13432 * grub-core/kern/mips/dl.c: Likewise.
13433 * grub-core/kern/sparc64/dl.c: Likewise.
13434 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
13435 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
13436 (memcmp): Likewise.
13437 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
13438 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
13439 * grub-core/loader/mips/linux.c: Likewise.
13440 * grub-core/loader/multiboot_elfxx.c: Likewise.
13441 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
13442 * grub-core/video/sm712.c: Add exception to -Wcast-align.
13443 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
13444 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
13445 fixme.
13446 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
13447 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
13448 Fix prototype.
13449
37bb97fe
VS
134502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13451
13452 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
13453 address.
13454
29a3550b
VS
134552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13456
13457 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13458 Avoid improper use of strings.
13459 (grub_cmd_legacy_initrdnounzip): Likewise.
13460
dfdffd0d
VS
134612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 * include/grub/emu/misc.h (grub_util_warn): Add missing format
13464 attribute.
13465 (grub_util_info): Likewise.
13466 (grub_util_error): Likewise.
13467
102fae4a
VS
134682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
13471 * util/grub-fstest.c (fstest): Likewise.
13472
7e94d044
VS
134732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
13476 (grub_md_sha512_real): Likewise.
13477 (grub_util_get_geli_uuid): Likewise.
13478 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
13479 (grub_util_biosdisk_open): Fix format specification.
13480 Respect format security.
13481 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
13482 (xrealloc): Likewise.
13483 (xasprintf): Likewise.
13484
5ebd9769
VS
134852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 * util/import_gcry.py: Include grub/crypto.h in init.c.
13488
495fc8c1
VS
134892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
13492 (generate_image): Make prefix a const char *.
13493 Fix format specifications. Respect format security.
13494 Avoid void * arithmetics.
13495 Avoid shadowing.
13496 (argp_parser): Remove unused variable. Respect format security.
13497 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
13498 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
13499 (count_funcs): Remove unused variable.
13500 (relocate_addresses): Fix format specification.
13501 Disable x86-64 with elf32. Remove unused variables.
13502 (add_fixup_entry): Avoid shadowing.
13503 (make_reloc_section): Fix format specification.
13504 Use assert.
13505 (locate_sections): Fix format specifications.
13506 (load_image): Avoid shadowing.
13507
043c2ea3
VS
135082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13509
13510 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
13511 Fix format specifications. Respect format security.
13512 Don't translate already translated grub_errmsg.
13513 (argp_parser): Remove unused variable
13514
3ec65a81
VS
135152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13516
13517 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
13518
a4d9fe4a
VS
135192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
13522 (main): Likewise. Use xmalloc. Respect format security.
13523
15b81d49
VS
135242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
13527 a const char *.
13528 (argp_parser): Remove unused variable.
13529
31731fc0
VS
135302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
13533 (add_pixel): Make static.
13534 (add_font): Likewise.
13535 (write_string_section): Make name and str a const char *.
13536 (write_be16_section): Make name a const char *.
13537 (print_glyphs): Make static.
13538 (write_font_ascii_bitmap): Likewise.
13539 (write_font_width_spec): Likewise.
13540 (write_font_pf2): Likewise.
13541 (argp_parser): Remove unused variable.
13542 Respect format security.
13543 (main): Avoid shadowing. Respect format security.
13544
0809527b
VS
135452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13546
13547 * util/grub-editenv.c (argp_parser): Make static.
13548 (create_envblk_file): Use xmalloc.
13549 (open_envblk_file): Likewise.
13550 Resepect format security.
13551 (set_variables): Respect format security.
13552
45b0c8b7
VS
135532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13554
13555 * util/getroot.c (grub_find_device): Respect format security.
13556 (get_mdadm_uuid): Remove unused variable.
13557 (grub_util_pull_device): Dont call gettext on already translated
13558 grub_errmsg.
13559 (find_system_device): Remove unused variable.
13560 (grub_util_get_grub_dev): Likewise.
13561 (grub_make_system_path_relative_to_its_root): Respect format security.
13562
1b024b4e
VS
135632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 * util/grub-fstest.c (execute_command): Make first argument
13566 a const char *.
13567 (read_file): Avoid shadowing.
13568 Reuse underlying error message if device open fails.
13569 (cmd_cmp): Respect format security.
13570 (root): Make const char *.
13571 (fstest): Remove args argument and use global copy.
13572 Respect format security.
13573 (argp_parser): Make static.
13574 (main): Make default_root const char *.
13575
5d1d4e28
VS
135762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13577
13578 * util/grub-mount.c (root): Make const char *.
13579 (execute_command): Make first argument a const char *.
13580 (fuse_init): Respect format security.
13581 (argp_parser): Make static. Remove unused variable.
13582 (main): Make default_root a const char *.
13583 Respect format security.
13584
36eb7379
VS
135852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13586
13587 * util/grub-probe.c (probe): Don't call gettext on already translated
13588 grub_errmsg.
13589 Remove unused variables.
13590 (argp_parser): Remove unused variable.
13591
76fb2ea9
VS
135922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13593
13594 * util/grub-script-check.c (argp_parser): Remove unused variable.
13595 (main): Rename read to curread to avoid shadowing.
13596
56c98584
VS
135972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * util/misc.c (grub_util_write_image_at): Fix format specification.
13600 (grub_util_write_image): Likewise.
13601 (grub_script_execute_argument_to_string): Removed (unused).
13602 (grub_script_execute_menuentry): Likewise.
13603 (grub_putchar): Likewise.
13604
164ebb48
VS
136052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
13608 (FUNCTION) [GRUB_UTIL]: Likewise.
13609 (VARIABLE) [GRUB_UTIL]: Likewise.
13610
44318d61
VS
136112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13612
13613 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
13614 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
13615
31a26002
VS
136162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13617
13618 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
13619 buffer.
13620
136212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13622
13623 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
13624 (LzmaEnc_SaveState): Removed (unused).
13625 (LzmaEnc_RestoreState): Likewise.
13626 (LzmaEnc_InitPriceTables): Made static.
13627 (LzmaEnc_Construct): Likewise.
13628 (LzmaEnc_FreeLits): Likewise.
13629 (LzmaEnc_Destruct): Likewise.
13630 (LzmaEnc_Init): Likewise.
13631 (LzmaEnc_InitPrices): Likewise.
13632 (LzmaEnc_Finish): Likewise.
13633 (LzmaEnc_PrepareForLzma2): Removed (unused).
13634 (LzmaEnc_MemPrepare): Likewise.
13635 (LzmaEnc_GetNumAvailableBytes): Likewise.
13636 (LzmaEnc_GetCurBuf): Likewise.
13637 (LzmaEnc_CodeOneMemBlock): Likewise.
13638
6fa67967
VS
136392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
13642 (grub_util_ldm_embed): Likewise.
13643
9a7428e6
VS
136442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13645
13646 * util/grub-editenv.c (print_var): Rename name to varname to
13647 avoid shadowing.
13648 (main): Rename index to curindex to avoid shadowing.
31a26002 13649 Make filename a const char *.
9a7428e6 13650
4f96abd1
VS
136512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13652
13653 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
13654 to arg_getline to avoid shadowing.
13655
44d10dad
VS
136562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13657
13658 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
13659 disk_ to avoid shadowing.
13660
340ba63e
VS
136612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13662
13663 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
13664 curindex to avoid shadowing.
13665 Make static.
13666 (MatchFinder_GetNumAvailableBytes): Make static.
13667
22965bce
VS
136682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
13671 avoid shadowing.
13672
7b5784d4
VS
136732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
13676 argument from encrypt to do_encrypt to avoid shadowing.
13677
6f48ca01
VS
136782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
13681 incorrect nesting of #if's.
13682
a4ea2dff
VS
136832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
13686 checks which are always false on some platforms.
13687 (grub_cmd_lsacpi): Likewise.
13688 * grub-core/kern/misc.c (grub_strtoul): Likewise.
13689 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
13690 Likewise.
13691
def9fc1b
VS
136922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13693
13694 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
13695 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
13696
a67b2a04
VS
136972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13698
13699 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
13700 re_dfa_t to avoid breaking alignment invariants.
13701 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
13702 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
13703
44c6828d
VS
137042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13705
13706 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
13707 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
13708
bebe0dd0
VS
137092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
13712 Fix declaration.
13713
a9cdb3cf
VS
137142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13715
13716 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
13717 conserve alignment invariants.
13718 (grub_ehci_ehcc_read16): Likewise.
13719 (grub_ehci_oper_read32): Likewise.
13720 (grub_ehci_oper_write32): Likewise.
13721 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13722 Conserve alignment invariants.
13723
ccc3b1b8
VS
137242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13725
13726 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
13727 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
13728 declarations.
13729
987fbd95
VS
137302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
13733 Remove unused variable.
13734
0df363f3
VS
137352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13736
13737 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
13738 Remove set in if.
13739
b2c0c4a6
VS
137402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 * include/grub/net.h: Remove double declarations.
13743
690c531f
VS
137442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13745
13746 Remove "payload" command in ia64 Linux loader since I couldn't
13747 find any evidence of it being used for anything.
13748 Replace "relocate" command with an environment variable
13749
13750 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
13751 fields.
13752 (ia64_boot_payload): Removed.
13753 (last_payload): Likewise.
13754 (RELOCATE_OFF): Likewise.
13755 (RELOCATE_ON): Likewise.
13756 (RELOCATE_FORCE): Likewise.
13757 (relocate): Likewise.
13758 (free_pages): Don't free payloads.
13759 (grub_load_elf64): Use common error messages.
13760 Use "linux_relocate" variable.
13761 Increase the space after boot_params.
13762 (grub_cmd_payload): Removed.
13763 (grub_cmd_relocate): Likewise.
13764 (grub_cmd_fpswa): Improve messages.
13765 (cmd_payload): Removed.
13766 (cmd_relocate): Likewise.
13767 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
13768 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
13769
01783768
VS
137702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13771
13772 Convert UHCI to DMA framework.
13773
13774 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
13775 (grub_uhci_pci_iter): Fill new members
13776 (grub_alloc_td): Use P2V and V2P functions.
13777 (grub_free_queue): Likewise.
13778 (grub_alloc_qh): Likewise.
13779 (grub_uhci_setup_transfer): Likewise.
13780 (grub_uhci_check_transfer): Likewise.
13781
43206939
VS
137822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
13785 Remove assignment in if while on it.
13786
571e140e
VS
137872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13788
13789 * util/grub-mkstandalone.in: Fix modules directory.
13790
a9d96eeb
VS
137912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13792
13793 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
13794 on i386-pc target.
13795 (argp_parser): Accept "auto" as compression specification.
13796
e4e37e8d
VS
137972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13798
13799 Fix `help' with unloaded modules.
13800
13801 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
13802 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
13803 (grub_dyncmd_dispatcher): Small stylistic fix.
13804 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
13805 explicit help is requested.
13806
e1ea3ade
VS
138072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13808
13809 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
13810 Explicitly init restart while on it.
13811
27556881
VS
138122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
13815 uninited variable.
13816
d65f6b36
VS
138172012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 * util/grub-mknetdir.in: Use . rather than source for POSIX
13820 compatibility.
13821
0a1e473c
VS
138222012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13823
13824 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
13825
ce6647c8
VS
138262012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13827
13828 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
13829 variable.
13830
66747894
VS
138312012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
13834 without quotes.
13835
71645f6e
VS
138362012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13837
13838 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
13839
0e1c1f61
VS
138402012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13841
13842 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
13843 iteration of partitions.
13844
9c4b5c13
VS
138452012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13846
13847 Improve gettext support. Stylistic fixes and error handling fixes while
13848 on it.
13849
215c90cb
VS
138502012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13851
13852 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
13853 part. Instead setup the correct stack in RM.
13854 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
13855 for stack.
13856 * include/grub/i386/relocator_private.h: New file.
13857
b5c1f9bf
VS
138582012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
13861 argument.
13862 * util/grub-fstest.c (options): Add missing DEVICE part.
13863
b525fd83
VS
138642012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13865
13866 Clarify and unify messages.
13867
13868 * grub-core/commands/hashsum.c (options): Unify messages.
13869 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
13870 literal-only message as translatable.
13871 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
13872 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
13873 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
13874 commands.
13875 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
13876 key, not the key used to unlock. Clarify what it's used for.
13877 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
13878 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
13879 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
13880 * util/grub-editenv.c (options): Unify "verbose" message.
13881 * util/grub-fstest.c (read_file): Unify error message.
13882 (fstest): Add quotes around commands.
13883 (options): Unify "verbose" message.
13884 * util/grub-install.in: Add quotes around variable name.
13885 * util/grub-kbdcomp.in: Unify error message.
13886 * util/grub-mkfont.c (main): Likewise.
13887 * util/grub-mkrescue.in: Likewise.
13888 * util/grub-mklayout.c (options): Unify "verbose" message.
13889 * util/grub-mkstandalone.in: Unify help and verbose messages.
13890 * util/grub-mount.c (options): Unify "verbose" message.
13891 * util/grub-probe.c (options): Likewise.
13892 * util/grub-script-check.c (options): Likewise.
13893 * util/grub-setup.c (setup): Unify no-terminator message.
13894 (options): Use DEVICE and not DEV.
13895 Unify "verbose" message.
13896 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
13897
0ae70393
VS
138982012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 Improve and unify messages.
13901
13902 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
13903 name. All users updated.
13904 Print filename in error.
13905 (read_device_map): Print filename in error.
13906 * util/getroot.c (grub_guess_root_devices): Print filename in error.
13907 (grub_util_get_os_disk): Likewise.
13908 (grub_util_biosdisk_get_grub_dev): Likewise.
13909 (grub_util_check_block_device): Likewise.
13910 (grub_util_check_char_device): Likewise.
13911 (grub_make_system_path_relative_to_its_root): Likewise.
13912 * util/grub-editenv.c (create_envblk_file): Likewise.
13913 (open_envblk_file): Likewise.
13914 (write_envblk): Likewise.
13915 * util/grub-fstest.c (cmd_cp): Likewise.
13916 (cmd_cat): Likewise.
13917 (cmd_cmp): Likewise.
13918 * util/grub-menulst2cfg.c (main): Likewise.
13919 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
13920 (write_font_width_spec): Likewise.
13921 (write_font_pf2): Likewise.
13922 * util/grub-mkimage.c (generate_image): New argument outname.
13923 All users updated.
13924 Remove unreacheable message.
13925 (options): Unify messages.
13926 (help_filter): Likewise.
13927 * util/grub-mklayout.c (usage): Removed (unused).
13928 (main): Print filename in error.
13929 * util/grub-mkrescue.in: Fix wrong quoting.
13930 * util/grub-setup.c (setup): Print filename in error.
13931 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
13932 (check_sas): Likewise.
13933 * util/misc.c (grub_util_get_fp_size): Removed.
13934 (grub_util_get_image_size): Print filename in error.
13935 (grub_util_read_at): Removed.
13936 (grub_util_read_image): Print filename in error.
13937 (grub_util_load_image): Likewise.
13938 (grub_util_write_image_at): New argument filename. All users updated.
13939 Print filename in error.
13940 (grub_util_write_image): New argument filename. All users updated.
13941 Print filename in error.
13942 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
13943 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
13944
0a96117d
VS
139452012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13946
13947 * grub-core/Makefile.core.def (pxechain): New module.
13948 * grub-core/loader/i386/pc/pxechainloader.c: New file.
13949 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
13950 function.
13951 (grub_pc_net_config_real): Use grub_pxe_get_cached.
13952 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
13953
aca002f7
VS
139542012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13955
13956 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
13957 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
13958 * include/grub/err.h (grub_error_saved): New struct.
13959 (grub_errmsg): Make array size explicit.
13960 * include/grub/misc.h (grub_error_save): New function.
13961 (grub_error_load): Likewise.
13962 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
13963 (grub_error_push): Update `errno' member name.
13964 (grub_error_pop): Likewise
13965 * grub-core/net/tftp.c (tftp_data): New member save_err.
13966 (tftp_receive): Save error.
13967 (tftp_open): Restore error.
13968
a51dab13
VS
139692012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
13972 to real mode down to execute A20-related code in protected mode as
13973 intended.
13974
eb6e6649
GS
139752012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
13976
13977 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
13978 NULL when the argument `level' has an unexpected value.
13979
92cd0f6e
VS
139802012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13981
13982 Move platform-dependent files from $prefix to $prefix/$platform.
13983
13984 * config.h.in (GRUB_TARGET_CPU): New definition.
13985 (GRUB_PLATFORM): Likewise.
13986 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
13987 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
13988 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13989 * grub-core/kern/dl.c (grub_dl_load): Likewise.
13990 * grub-core/normal/autofs.c (read_fs_list): Likewise.
13991 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
13992 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
13993 * grub-core/normal/term.c (read_terminal_list): Likewise.
13994 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
13995 $prefix/locale.
13996 (grub_gettext_init_ext): Likewise.
13997 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
13998 grub_platform.
13999 * util/grub-install.in: Update directories.
14000 * util/grub-mknetdir.in: Likewise.
14001 * util/grub-mkrescue.in: Likewise.
14002
db606889
VS
140032012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
14004
14005 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
14006 grub_error framework. All users updated.
14007
c39992a4
VS
140082012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
14009
14010 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
14011 lists (by always binsearching), improve caching (cache strings
14012 used for binsearch, not only results), improve
14013 maintainability (by using more structured binary search) and correct
14014 error handling.
14015
1e5ec32f
VS
140162012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
14017
14018 * grub-core/script/execute.c (grub_script_return): Fix warning.
14019
ac576cde
VS
140202012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
14021
14022 * grub-core/script/execute.c (grub_script_return): Fix potential
14023 NULL-dereference.
14024 Reported by: Jim Meyering.
14025
498453f6
VS
140262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14027
14028 * po/POTFILES.in: Regenerate.
14029 * util/grub-install.in: Gettextize the strings missed in first pass.
14030
8be63f2e
VS
140312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 * Makefile.util.def (grub-mkdevicemap): Removed.
14034 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
14035 * include/grub/util/deviceiter.h: Removed.
14036 * util/deviceiter.c: Likewise.
14037 * util/getroot.c (grub_util_get_os_disk): New function.
14038 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
14039 replacement for EFI.
14040 * util/grub-mkdevicemap.c: Removed.
14041 * util/grub-probe.c (probe): Handle PRINT_DISK.
14042 (argp_parser): Handle -t disk.
14043
8e1e4e39
VS
140442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14045
14046 * util/grub-mkfont.c: Migrate to argp.
14047 * util/grub-mklayout.c: Likewise.
14048 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14049 * util/grub-mkrelpath.c: Likewise.
14050 * util/grub-probe.c: Likewise.
14051 * util/grub-script-check.c: Likewise.
14052
4459819a
VS
140532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * util/grub-reboot.in: Add missing datarootdir.
14056 Add missing newline.
14057 * util/grub-set-default.in: Add missing datarootdir.
14058 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
14059 * util/grub-mkrescue.in: Likewise.
14060
f65741c7
VS
140612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14062
14063 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
14064
c1a33466
VS
140652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 * util/grub-kbdcomp.in: Add decent help and gettextize.
14068 * docs/man/grub-kbdcomp.h2m: New file.
14069
c76899a0
VS
140702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14071
14072 Migrate grub-mkimage.c to argp.
14073
14074 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
14075 (grub-setup): Likewise.
14076 * util/grub-setup.c (print_version): Move to ...
14077 * util/argp_common.c (print_version): ... here.
14078 * util/grub-setup.c (argp_program_version_hook): Move to ...
14079 * util/argp_common.c (argp_program_version_hook): ... here.
14080 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
14081 safety.
14082 * util/grub-mkimage.c (main): Migrate to argp.
14083
57db0757
VS
140842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 * util/grub-mkrescue.in: Use same message as
14087 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
14088 for better translations.
14089
18534ad9
VS
140902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14091
14092 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
14093 options with generic grub-mkrescue.in with the goal of future
14094 merge.
14095
c84ba308
VS
140962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14097
14098 * grub-core/kern/mm.c: Add missing include of i18n.h
14099 * grub-core/lib/relocator.c: Likewise.
14100
347998c2
VS
141012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
14104 error.
14105 (allocate_pages): Check return value.
14106 Replace fatal with error.
14107 (grub_linux_boot): Replace printf with dprintf.
14108 Check find_mmap_size return value.
14109 Replace fatal with error.
14110 Don't call grub_machine_fini.
14111 (grub_load_elf64): Replace printf with dprintf.
14112 (grub_cmd_linux): Likewise.
14113 (grub_cmd_initrd): Likewise.
14114 (grub_cmd_payload): Likewise.
14115
c779226e
VS
141162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
14119 message.
14120 * grub-core/video/radeon_fuloong2e.c
14121 (grub_video_radeon_fuloong2e_setup): Likewise.
14122 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
14123 * grub-core/video/video.c (grub_video_set_mode): Don't override
14124 standard out of memory message.
14125
dc87d45a
GS
141262012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14127
14128 NetBSD disk wedge support.
14129
14130 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
14131 [__NetBSD__]: Handle NetBSD disk wedges.
14132 * util/getroot.c (convert_system_partition_to_system_disk)
14133 [__NetBSD__]: Likewise.
14134
055f856f
MW
141352012-02-03 Mark Wooding <mdw@distorted.org.uk>
14136
14137 * util/grub-mkconfig.in: Use umask rather than chmod to create
14138 grub.cfg.new to avoid insecure grub.cfg.
14139
4a9f8346
VS
141402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14141
14142 * grub-core/commands/ls.c: Gettextize.
14143 * grub-core/commands/setpci.c: Likewise.
14144 * grub-core/commands/videotest.c: Likewise.
14145 * grub-core/disk/geli.c: Likewise.
14146 * grub-core/kern/mm.c: Likewise.
14147 * grub-core/lib/relocator.c: Likewise.
14148 * grub-core/loader/efi/appleloader.c: Likewise.
14149 * grub-core/loader/i386/xnu.c: Likewise.
14150 * grub-core/loader/ia64/efi/linux.c: Likewise.
14151 * grub-core/loader/xnu.c: Likewise.
14152 * grub-core/net/dns.c: Likewise.
14153 * grub-core/net/net.c: Likewise.
14154 * grub-core/script/lexer.c: Likewise.
14155 * grub-core/script/parser.y: Likewise.
14156 * grub-core/script/yylex.l: Likewise.
14157 * util/getroot.c: Likewise.
14158 * util/grub-setup.c: Likewise.
14159
a646a366
VS
141602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
14163 number.
14164
54e2be26
VS
141652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
14168
f7c71e68
VS
141692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
14172 macro.
14173 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
14174 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
14175
a32d5c71
VS
141762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14177
14178 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
14179 * util/grub-install.in: Gettextize.
14180 * util/grub-mkconfig.in: Likewise.
14181 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
14182 if not available.
14183 (grub_warn): Gettextize.
14184 * util/grub-mknetdir.in: Gettextize.
14185 * util/grub-mkrescue.in: Likewise.
14186 * util/grub-mkstandalone.in: Likewise.
14187 * util/grub-reboot.in: Likewise.
14188 * util/grub-set-default.in: Likewise.
14189 * util/grub.d/00_header.in: Likewise.
14190 * util/grub.d/10_hurd.in: Likewise.
14191 * util/grub.d/10_kfreebsd.in: Likewise.
14192 * util/grub.d/10_linux.in: Likewise.
14193 * util/grub.d/10_netbsd.in: Likewise.
14194 * util/grub.d/10_windows.in: Likewise.
14195 * util/grub.d/20_linux_xen.in: Likewise.
14196 * util/grub.d/30_os-prober.in: Likewise.
14197 * po/POTFILES-shell.in: Regenerate.
14198
69edd81a
RL
141992012-02-03 Richard Laager <rlaager@wiktel.com>
14200
14201 * util/grub-mkimage.c (main): Fix format-security warning.
14202 * util/grub-mkrelpath.c (main): Likewise.
14203 * util/grub-probe.c (main): Likewise.
14204
65f08dbf
RL
142052012-02-03 Richard Laager <rlaager@wiktel.com>
14206
14207 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
14208 failure.
14209 Put back lost PRINT_DRIVE.
14210
e9084abe
RL
142112012-02-03 Richard Laager <rlaager@wiktel.com>
14212
14213 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
14214 (grub_guess_root_devices): Replace strlen with sizeof.
14215 Avoid crash.
14216 (find_root_devices_from_poolname): Remove unused variable.
14217 Handle raidzN.
14218
cf5f7ee7
VS
142192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14220
14221 Support install on multi-device filesystems.
14222
14223 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
14224 (grub_guess_root_devices): ...this. Return char **. All users updated.
14225 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
14226 Removed.
14227 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
14228 (find_root_devices_from_poolname): ... here.
14229 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
14230 Support zfs-fuse.
14231 (grub_guess_root_device): Rename to ...
14232 (grub_guess_root_devices): ... this. Return char **. All users updated.
14233 * util/grub-install.in: Handle multi-device filesystems.
14234 * util/grub-probe.c (probe). Make device_names a char **. Add delim
14235 argument. All users updated.
14236 Handle multi-device filesystems.
14237 Use 'delim' as separator.
14238 Remove device check to allow filesystems on file.
14239 (main): Support -0 argument. Handle multi-device.
14240 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
14241 Fix a cross-device check while on it.
14242 (arguments): Remove root_dev.
14243 (argp_parser): Remove -r.
14244 (main): Remove root_dev.
14245
2f53a9ed
VS
142462012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14247
14248 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
14249
17e1d934
VS
142502012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14251
14252 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
14253 symbol.
14254 Reported by: NODA, Kai <nodakai>.
14255
d3e3fab5
VS
142562012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 Fix ehci on amd64.
14259
14260 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
14261 pointers.
14262 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
14263 (grub_ehci_setup_qh): Likewise.
14264 (grub_ehci_find_qh): Likewise.
14265 (grub_ehci_transaction): Likewise.
14266 (grub_ehci_setup_transfer): Likewise.
14267 (grub_ehci_check_transfer): Likewise.
14268 (grub_ehci_portstatus): Likewise.
14269 (grub_ehci_detect_dev): Likewise.
14270 (grub_ehci_transfer_controller_data): New field td_last_phys.
14271 (grub_ehci_setup_transfer): Fill td_last_phys.
14272 (grub_ehci_check_transfer): Use td_last_phys.
14273
3008675b
SG
142742012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
14275
14276 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
14277 if no submenu is present.
14278
fc9b5652
AN
142792012-02-01 Aleš Nesrsta <starous@volny.cz>
14280
14281 CBI support.
14282
14283 * include/grub/usb.h (grub_usbms_protocol_t): New values
14284 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
14285 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
14286 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
14287 (grub_usbms_dev): Add subclass, protocol and intrpt.
14288 Remove in_maxsz and out_maxsz.
14289 (grub_usbms_reset): Rename to ...
14290 (grub_usbms_bo_reset): .. this.
14291 (grub_usbms_cbi_cmd): New function.
14292 (grub_usbms_cbi_reset): Likewise.
14293 (grub_usbms_reset): Likewise.
14294 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
14295 (grub_usbms_transfer): Rename to ...
14296 (grub_usbms_transfer_bo): ... this.
14297 (grub_usbms_transfer_cbi): Likewise.
14298 (grub_usbms_transfer): Likewise.
14299
a2b81d53
AN
143002012-02-01 Aleš Nesrsta <starous@volny.cz>
143012012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14302
14303 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
14304 the support for the CS5536 modification thereos and few bugfixes.
14305
14306 * grub-core/Makefile.core.def (ehci): New module.
14307 * grub-core/bus/usb/ehci.c: New file.
14308 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
14309 port and hubaddr. All users updated.
14310 Save port and hubaddr into dev structure.
14311 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
14312 define.
14313 * include/grub/pci.h (grub_dma_phys2virt): New function.
14314 (grub_dma_virt2phys): Likewise.
14315 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
14316
b1d51f02
VS
143172012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14318
14319 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
14320 check as some mkfs implementations omit it.
14321
fc694106
VS
143222012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * docs/grub.texi (Unicode): Mention identifier and space limitations.
14325
6c0920e3
VS
143262012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14327
14328 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
14329 Add new member volname2.
14330 (grub_jfs_label): Use volname2 if available.
14331
d1a46f9a
VS
143322012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
14335 over last_mounted as seen in image generated by mkfs.nilfs2.
14336 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
14337
dec8ed14
VS
143382012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14339
14340 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
14341 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
14342 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
14343
7397c69b
VS
143442012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14345
14346 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
14347 over the sector.
14348
b3fe42ad
VS
143492012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
14352 subvolume name (by removing a bogus and useless check).
14353
10476bb0
VS
143542012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14355
14356 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
14357 sizeof while on it.
14358
9c08ad87
VS
143592012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
14362 (grub_scsi_read_capacity10): ... this.
14363 (grub_scsi_read_capacity16): New function.
14364 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
14365 0xffffffff.
14366 Fix off-by-one error.
14367 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
14368 64-bit unsigned.
14369 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
14370 (grub_scsi_read_capacity10): ... this.
14371 (grub_scsi_read_capacity_data): Rename to ...
14372 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
14373 (grub_scsi_read_capacity16): New struct.
14374 (grub_scsi_read_capacity16_data): Likewise.
14375 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
14376 grub_scsi_cmd_read_capacity10.
14377 New command grub_scsi_cmd_read_capacity16.
14378
bc8d0f45
VS
143792012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14380
14381 SCSI >2TiB support.
14382
14383 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
14384 (grub_scsi_write16): Likewise.
14385 (grub_scsi_read): Use read16 when necessary.
14386 (grub_scsi_write): Likewise.
14387 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
14388 (grub_scsi_write16): Likewise.
14389 (grub_scsi_cmd_t): Add READ16 and WRITE16.
14390
cc774926
VS
143912012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14392
14393 SCSI write support (for usbms mainly).
14394
14395 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
14396 a const pointer.
14397 (grub_scsi_write): Implement.
14398 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
14399
67639fd7
VS
144002012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14401
14402 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
14403 variable.
14404
9079d3ed
VS
144052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14406
14407 * grub-core/lib/posix_wrap/string.h (memchr): New function.
14408
c6a6f204
VS
144092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14410
14411 * po/POTFILES.in: Regenerate.
14412
ecbf8cd1
VS
144132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14414
14415 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
14416 with grub_printf to avoid unnecessary fatal failure.
14417
0b3b3b38
VS
144182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14419
14420 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
14421 (INT_MAX): Likewise.
14422 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
14423 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
14424 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
14425 (strcpy): Likewise.
14426 (strstr): Likewise.
14427 (strchr): Likewise.
14428 (strncpy): Likewise.
14429 (strcat): Likewise.
14430 (strncat): Likewise.
14431 (strcoll): Likewise.
14432 * include/grub/types.h (GRUB_SHRT_MAX): New define.
14433 (GRUB_INT_MAX): Likewise.
14434
db7337a3
VS
144352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
14438 unexpected error.
14439 (optimize_utf8): Likewise.
14440 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
14441
f37c87e1
VS
144422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14443
14444 * grub-core/boot/i386/pc/lnxboot.S: Use
14445 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
14446 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
14447 location.
14448 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
14449 definition.
14450 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
14451
63fe43f3
VS
144522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14453
14454 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
14455 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
14456 now to avoid double free.
14457 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
14458 hostdisk.
14459 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
14460 * util/grub-probe.c (escape_of_path): Always return a new copy.
14461 (print_full_name): Escape path.
14462 (probe): Don't call grub_util_devname_to_ofpath on NULL.
14463 Fix hints on abstractions.
14464
ebe2c961
VS
144652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14466
14467 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
14468 Don't add "root" line if no compatibility hont is available.
14469 Suggested by: Seth Goldberg.
14470
2b5336a2
VS
144712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14472
14473 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
14474 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
14475 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
14476 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
14477
74310bd8
VS
144782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14479
14480 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
14481
c30582ba
VS
144822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14483
14484 * util/grub-pe2elf.c (ehdr): Make static.
14485 (shdr): Likewise.
14486 (num_sections): Likewise.
14487 (offset): Likewise.
14488
5f47782c
VS
144892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14490
14491 Eliminate ofpath limits and possible overflows.
14492
14493 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
14494 (OF_PATH_MAX): Removed.
14495 (MAX_DISK_CAT): New const.
14496 (find_obppath): Use allocated rather than preallocated buffer.
14497 Return result. Argument of_path removed. All users updated.
14498 Add missing fdstat.
14499 (xrealpath): New function.
14500 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
14501 Allocate rather than use preallocated buffer. All users updated.
14502 (__of_path_common): Use allocated rather than preallocatecd buffer.
14503 Return result. Argument of_path removed. All users updated.
14504 (vendor_is_ATA): Read only needed part form the file.
14505 (check_sas): Allocate depending on contents rather than fixed.
14506 (main) [STANDALONE]: Handle NULL result.
14507
f990cbf9
VS
145082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 * grub-core/normal/completion.c (iterate_dev): Close the disk.
14511
9c6e84b8
VS
145122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14513
14514 Cryptodisk write support.
14515
14516 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
14517 (grub_cryptodisk_decrypt): Moved logic to ...
14518 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
14519 (grub_cryptodisk_write): Implement.
14520 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
14521 (grub_util_fd_write): ... this. Make global.
14522 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
14523
87cf9744
VS
145242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14525
14526 * include/grub/list.h (grub_list_remove): Don't crash if element is
14527 removed twice.
14528
ca8c0baf
VS
145292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14530
14531 Rename ofconsole to console.
14532
14533 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
14534 as sysnonym to console.
14535 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
14536 * grub-core/term/ieee1275/console.c: ... this. All users updated.
14537 Rename grub_ofconsole_ to grub_console_. All users updated
14538 (grub_console_term_output): Rename "ofconsole" to "console".
14539 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
14540 as "console".
14541
64c8b8f6
VS
145422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
14545 handling.
14546 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
14547 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
14548 GRUB_DISK_DEVICE_FILE_ID.
14549
f6c434d5
VS
145502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14551
14552 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
14553 and improve performance.
14554
5858b42d
VS
145552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14556
14557 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
14558 missing ieee1275/ prefix on whole disk.
14559
4ed3c26b
VS
145602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14561
14562 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
14563 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
14564
df71143e
VS
145652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14566
14567 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
14568
076e7c0f
VS
145692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14570
14571 Merge common RAID and LVM logic to an abstract diskfilter.
14572 Add LDM support using the same framework.
14573
14574 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
14575 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
14576 (libgrubmods): Remove grub-core/disk/raid.c and
14577 grub-core/partmap/gpt.c.
14578 * grub-core/Makefile.core.def (ldm): New module.
14579 (raid): Renamed to diskfilter. All users updated.
14580 * grub-core/disk/raid.c: Moved to ...
14581 * grub-core/disk/diskfilter.c: ... here.
14582 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
14583 (lv_num): New var.
14584 (find_array): Renamed to ...
14585 (find_lv): ... this. Support multi-LV. Skip nameless LVs
14586 (grub_is_array_readable): Renamed to ...
14587 (grub_is_lv_readable): ... this. Support multinode hierarchy.
14588 (insert_array): New argument id.
14589 (is_node_readable): New function.
14590 (scan_device): Rename to ...
14591 (scan_disk): .. this. Restrict to one disk.
14592 (scan_devices): New function.
14593 (grub_diskfilter_iterate): Support multi-LV.
14594 Skip invisible and nameless LVs.
14595 (grub_diskfilter_memberlist): Support multi-LV.
14596 (grub_diskfilter_read_node): New function.
14597 (grub_raid_read): Most of logic moved to ...
14598 (read_segment): ... here
14599 (read_lv): New function.
14600 (grub_diskfilter_get_vg_by_uuid): New function.
14601 (grub_diskfilter_make_raid): Likewise.
14602 * grub-core/disk/ldm.c: New file.
14603 * grub-core/disk/lvm.c (vg_list): Removed.
14604 (lv_count): Likewise.
14605 (scan_depth): Likewise.
14606 (is_lv_readable): Likewise.
14607 (grub_lvm_getvalue): Advance pointer past the number.
14608 (find_lv): Removed.
14609 (do_lvm_scan): Refactored into ...
14610 (grub_lvm_detect): ... this. Support raid.
14611 (grub_lvm_iterate): Removed.
14612 (grub_lvm_memberlist): Likewise.
14613 (grub_lvm_open): Likewise.
14614 (grub_lvm_close): Likewise.
14615 (read_lv): Likewise.
14616 (read_node): Likewise.
14617 (is_node_readable): Likewise.
14618 (is_lv_readable): Likewise.
14619 (grub_lvm_read): Likewise.
14620 (grub_lvm_write): Likewise.
14621 (grub_lvm_dev): Use diskfilter
14622 (GRUB_MOD_INIT): Likewise.
14623 (GRUB_MOD_FINI): Likewise.
14624 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
14625 new interface.
14626 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
14627 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14628 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
14629 grub_diskfilter_read_node.
14630 Fix a bug with xor.
14631 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
14632 grub_diskfilter_read_node.
14633 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
14634 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
14635 (grub_disk_dev_iterate): Move from here...
14636 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
14637 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
14638 Make global.
14639 (grub_hostdisk_find_partition_start): Likewise.
14640 (grub_hostdisk_os_dev_to_grub_drive): New function.
14641 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
14642 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
14643 * util/getroot.c (make_device_name): ... here.
14644 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
14645 Move to ...
14646 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
14647 * grub-core/kern/emu/hostdisk.c
14648 (convert_system_partition_to_system_disk): Move to ...
14649 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
14650 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
14651 * util/getroot.c (device_is_wholedisk): ... here.
14652 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
14653 * util/getroot.c (find_system_device): ... here.
14654 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
14655 Move to ...
14656 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
14657 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14658 Move to ...
14659 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
14660 Handle LDM.
14661 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14662 Move to ...
14663 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
14664 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
14665 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
14666 DISKFILTER.
14667 * include/grub/raid.h: Renamed to ...
14668 * include/grub/diskfilter.h: ... this.
14669 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
14670 (GRUB_RAID_LAYOUT_*): Make into array.
14671 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
14672 (grub_diskfilter_vg): New struct.
14673 (grub_diskfilter_pv_id): Likewise.
14674 (grub_raid_member): Removed.
14675 (grub_raid_array): Likewise.
14676 (grub_diskfilter_pv): New struct.
14677 (grub_diskfilter_lv): Likewise.
14678 (grub_diskfilter_segment): Likewise.
14679 (grub_diskfilter_node): Likewise.
14680 (grub_diskfilter_get_vg_by_uuid): New proto.
14681 (grub_raid_register): Inline.
14682 (grub_diskfilter_unregister): Likewise.
14683 (grub_diskfilter_make_raid): New proto.
14684 (grub_diskfilter_vg_register): Likewise.
14685 (grub_diskfilter_read_node): Likewise.
14686 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
14687 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
14688 (grub_util_is_ldm): Likewise.
14689 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
14690 (grub_hostdisk_find_partition_start): Likewise.
14691 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
14692 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
14693 New definition.
14694 (grub_gpt_partition_map_iterate): New proto.
14695 * include/grub/lvm.h (grub_lvm_vg): Removed.
14696 (grub_lvm_pv): Likewise.
14697 (grub_lvm_lv): Likewise.
14698 (grub_lvm_segment): Likewise.
14699 (grub_lvm_node): Likewise.
14700 * util/getroot.c [...]
14701 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
14702 (probe_abstraction): Likewise.
14703 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
14704 (main): Remove dead logic.
14705
8a7f9b9c
VS
147062012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 Simplify root device discover and don't fail when trying to open
14709 incorrect devices.
14710
14711 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
14712 function.
14713 (get_diskname_from_path): Likewise.
14714 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
14715 of iterating.
14716
30545b85
VS
147172012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14718
14719 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
14720
28ea58cf
VS
147212012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
14724 pastthe end.
14725
692dabca
VS
147262012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14727
14728 * util/grub-install.in: Add missing \.
14729 Reported by: gentoofan
14730
f6e4ea70
VS
147312012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
14734 (direct_read): Use correct compressed size.
14735 (grub_squash_read_data): Likewise.
14736
147372012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
14738
14739 * docs/grub.texi (Platform limitations): New section.
14740 (Platform-specific operations): Likewise.
14741 * docs/grub-dev.texi (Porting): Likewise.
14742
76261110
VS
147432012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14744
14745 IEEE1275 disk write support.
14746
14747 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
14748 const void *.
14749 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
14750 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
14751 and seek loginc to ...
14752 (grub_ofdisk_prepare): ... here.
14753 (grub_ofdisk_write): Implement.
14754
fc36d603
VS
147552012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14756
14757 ARC disk write support.
14758
14759 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
14760 (reopen): New argument writable. All users updated.
14761 Handle required access mode.
14762 (grub_arcdisk_write): Implement.
14763 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
14764 (grub_arc_firmware_vector): Make buffer to write a const buffer.
14765
e06c2e7a
VS
147662012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14767
14768 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
14769 (read_sblock): Don't attempt to read superblocks outside the disk size.
14770
ff447958
VS
147712012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14772
14773 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
14774 first superblock to find the second one when possible.
14775
9e88df39
VS
147762012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 * util/grub-install.in: Fix an ARC bug.
14779 Print a warning if no platform-specific setup is available.
14780
bb26e4ff
VS
147812012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 Use static allocation rather than scratch pointer in reed_solomon.
14784 It decreases its size significantly and avoids a variable in .text.
14785
14786 * grub-core/lib/reed_solomon.c (scratch): Removed.
14787 (chosenstat): New const or static array.
14788 (sigma): Likewise.
14789 (errpot): Likewise.
14790 (errpos): Likewise.
14791 (sy): Likewise.
14792 (mstat): Likewise.
14793 (errvals): Likewise.
14794 (eqstat): Likewise.
14795 (pol_evaluate): Replace x with log_x argument. All users updated.
14796 (syndroms): Removed.
14797 (gauss_solve): Use statically allocated arrays.
14798 (rs_recover): Likewise.
14799 Calculate syndroms directly.
14800 (decode_block): Use statically allocated arrays.
14801 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
14802 (main) [TEST]: Allow -DTEST -DSTANDALONE.
14803
2e13ede5
VS
148042012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14805
14806 Eliminate fixed limit on reed solomon decoder length.
14807
14808 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
14809 rather than hardcoding the address.
14810 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
14811 no_reed_solomon_length.
14812 Move gate_a20 to no-reed-solomon part.
14813 Don't force a particular size of no reed-solomon part.
14814 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14815 Removed.
14816 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
14817 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
14818
f8a9ab12
VS
148192012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14820
14821 * grub-core/commands/wildcard.c (match_files): Handle filenames
14822 without explicit device.
14823 (wildcard_expand): Don't add explicit device if not already present.
14824 * tests/grub_script_echo1.in: Add a new expansion test.
14825
87edb894
VS
148262012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 Replace single-linked with double-linked lists. It results in more
14829 compact and more efficient code.
14830
14831 * grub-core/kern/list.c (grub_list_push): Moved from here ...
14832 * include/grub/list.h (grub_list_push): ... to here. Set prev.
14833 (grub_list_remove): Moved from here ...
14834 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
14835 (grub_prio_list_insert): Set prev.
14836 * include/grub/list.h (grub_list): Add prev. All users updated.
14837
48b391e9
VS
148382012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14839
14840 Handle newer autotools. Add some missing quotes while on it.
14841
14842 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
14843 (pkglib_DATA): Move grub-mkconfig_lib from here ...
14844 (pkgdata_DATA): ... here.
14845 * Makefile.util.def (update-grub_lib): Removed.
14846 * conf/Makefile.common (pkglib_DATA): Removed.
14847 (pkglib_SCRIPTS): Likewise.
14848 (pkgdata_DATA): New variable.
14849 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
14850 needed.
14851 Add missing quotes.
14852 Remove unused variable while on it.
14853 * tests/util/grub-shell.in: Likewise.
14854 * util/grub-install.in: Likewise.
14855 * util/grub-mkconfig.in: Likewise.
14856 * util/grub-mknetdir.in: Likewise.
14857 * util/grub-mkrescue.in: Likewise.
14858 * util/grub-mkstandalone.in: Likewise.
14859 * util/grub.d/00_header.in: Likewise.
14860 * util/grub.d/10_hurd.in: Likewise.
14861 * util/grub.d/10_illumos.in: Likewise.
14862 * util/grub.d/10_kfreebsd.in: Likewise.
14863 * util/grub.d/10_linux.in: Likewise.
14864 * util/grub.d/10_netbsd.in: Likewise.
14865 * util/grub.d/10_windows.in: Likewise.
14866 * util/grub.d/20_linux_xen.in: Likewise.
14867 * util/grub.d/30_os-prober.in: Likewise.
14868 * util/update-grub_lib.in: Removed.
14869
148702012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
14871
14872 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
14873 a workaround for intel problem.
14874
66832792
PRP
148752012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
148762012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
148772012-01-23 pfsmorigo
14878
14879 * util/grub-install.in: Support dd'in into PreP partition.
14880 * util/grub-probe.c (probe): Support discovering partition type.
14881 (main): Support -t msdos_parttype.
14882
7816a17e
VS
148832012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14884
14885 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
14886 infinite recursion using counter.
14887 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
14888 init to skip it if the magic check fails.
14889 (dec_stream_header): Init s->crc32.
14890
8f9d3a8c
ZB
148912012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
148922012-01-22 Zachary Bedell <pendorbound@gmail.com>
148932012-01-22 Richard Laager <rlaager@wiktel.com>
14894
14895 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
14896 All users updated.
14897 (find_bestub): Determine correct size.
14898 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
14899 (scan_disk): Align the size down.
14900 Call check pool before find_bestub to have ashift.
14901
b055dd32
VS
149022012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14903
14904 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
14905 dprintf in no-malloc zone.
14906
d779e9bd
ML
149072012-01-22 Mario Limonciello <mario_limonciello@dell.com>
14908
14909 * configure.ac: Add back in test for limits.h.
14910
b508af69
VS
149112012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 Support 4K-sector NTFS.
14914
14915 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
14916 (grub_ntfs_data): Remove blocksize.
14917 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
14918 Remove data argument. All users updated.
14919
dad9c8b5
VS
149202012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14921
14922 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
14923 being in .text to avoid dprel references.
14924 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
14925 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
14926 (grub_arch_highmemsize): Likewise.
14927 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
14928 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
14929 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
14930
d43a777e
VS
149312012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14932
14933 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
14934
14935 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
14936 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
14937
34e4208f
VS
149382012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
14941 GRUB_UTIL.
14942 (grub_set_datetime_cmos): Likewise.
14943
3ec0fc1c
VS
149442012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 Make XZ compression parameters dependent on target and not host CPU.
14947
14948 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
14949 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
14950
22489834
VS
149512012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14952
14953 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
14954 set but not used variable.
14955
8502fbca
VS
149562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14957
14958 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
14959 created when no uuid support is compiled into mkfs.reiser.
14960
76df2068
VS
149612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14962
14963 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
14964 (utf8_to_macroman): Do the opposite.
14965 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
14966
64e3f8f6
VS
149672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14968
14969 * configure.ac: Refise build qemu_mips w/o unifont.
14970
9c271078
VS
149712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14972
14973 Eliminate grub_min/grub_max prone to overflow usage.
14974
14975 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
14976 (poll_nonroot_hub): Likewise.
14977 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
14978 (grub_affs_label): Likewise.
14979 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
14980 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
14981 (grub_hfs_label): Likewise.
14982 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
14983 * grub-core/fs/zfs/zfs.c (MIN): Remove.
14984 (zap_leaf_array_equal): Use grub_size. Remove MIN.
14985 (zap_leaf_array_get): Likewise.
14986 (dnode_get_path): Likewise.
14987 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
14988 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
14989 * grub-core/script/execute.c (grub_script_break): Likewise.
14990 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
14991 grub_max.
14992 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
14993 * include/grub/misc.h (grub_min): Removed.
14994 (grub_max): Likewise.
14995
80662dbc
VS
149962012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14997
14998 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
14999 direct.inode = 0.
15000
e6da1467
VS
150012012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15002
15003 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
15004
b1ac4cb1
VS
150052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15006
15007 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
15008
b4bf7c3b
VS
150092012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15010
15011 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
15012 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
15013
8ee1101a
VS
150142012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15015
15016 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
15017 rather than a hack for grub_strncasemap.
15018
150192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 Support multiple initrds
15022 Note: part of this was accidently committed in r3739.
15023
15024 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
15025 initrd.
15026 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
15027 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
15028 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
15029 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
15030 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
15031
4d1e2bc9
VS
150322012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15033
15034 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
15035 disks with unknown size.
15036 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
15037
75b49ebe
VS
150382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15039
15040 Remove defines pertaining to arbitrary limits not affecting GRUB
15041 anymore.
15042
15043 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
15044 (EXT2_MAX_SYMLINKCNT): Likewise.
15045 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
15046 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
15047 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
15048 (GRUB_PXE_MAX_BLKSIZE): Likewise.
15049 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
15050 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
15051 (DN_MAX_OBJECT_SHIFT): Likewise.
15052 (DN_MAX_OFFSET_SHIFT): Likewise.
15053 (DN_MAX_OBJECT): Likewise.
15054 (DNODES_PER_LEVEL_SHIFT): Likewise.
15055 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
15056 (SPA_MAXBLOCKSIZE): Likewise.
15057 (SPA_BLOCKSIZES): Likewise.
15058 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
15059 (MZAP_MAX_BLKSZ): Likewise.
15060
74a1dce7
VS
150612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15062
15063 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
15064 handle NULL appropriately.
15065 Remove MIN.
15066
30c7d3ce
VS
150672012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15068
15069 Fix efiemu.
15070
15071 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
15072 cpu/types.h.
15073 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
15074 * configure.ac: Fix efiemu check.
15075
3c76ea0c
VS
150762012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
15079 grub_probe.
15080 Reported by: adamwill
15081
7e532280
SG
150822012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
15083
15084 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
15085
30492374
VS
150862012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15087
15088 Fix handling of wide characters in gfxterm.
15089
15090 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
15091 (clear_char): Likewise.
15092 (paint_char): Skip code == NULL chars.
15093 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
15094
e70cb72f
VS
150952012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 * grub-core/normal/charset.c: Move comment to right place.
15098
5c827cf9
VS
150992012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15100
15101 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
15102 (GRUB_AFFS_FLAG_FFS): Put back where it was.
15103 (grub_affs_mount): Revert the correct version checking.
15104
53603892
VS
151052012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15106
15107 * docs/grub.texi (Unicode): Mention several other unsupported features.
15108
ff094b9b
VS
151092011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15110
15111 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
15112 case statements as compile-time one.
15113 (direct_read): Prevent spurious warnings.
15114 (grub_squash_read_data): Likewise.
15115
c029da8a
VS
151162011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15117
15118 Various squash4 fixes and LZO and XZ support.
15119
15120 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
15121 Add xzembed source files.
15122 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
15123 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
15124 (grub_squash_inode): New subtype long_dir.
15125 (SQUASH_TYPE_LONG_DIR): New inode type.
15126 (COMPRESSION): New enum.
15127 (XZBUFSIZ): New const.
15128 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
15129 (read_chunk): Use data->decompress.
15130 (zlib_decompress): New function.
15131 (lzo_decompress): Likewise.
15132 (xz_decompress): Likewise.
15133 (squash_mount): Set new data fields.
15134 (grub_squash_iterate_dir): Handle long dir.
15135 (squash_unmount): Free xzdec and xzbuf.
15136 (grub_squash_open): Check ino type.
15137 (direct_read): Stylistic fixes. Use data->decompress.
15138 (grub_squash_read_data): Likewise.
15139 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
15140 (get_byte): Likewise.
15141 (grub_zlib_disk_read): Removed.
15142 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
15143 (GRUB_POSIX_BOOL_DEFINED): New define.
15144 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
15145 * grub-core/lib/xzembed/xz.h: Addmissing includes.
15146 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
15147 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
15148
7a45a539
VS
151492011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15150
15151 Don't override more informative errors.
15152
15153 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
15154 * grub-core/font/font.c (open_section): Likewise.
15155 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
15156 filename. Don't override errors.
15157 (grub_cmd_openbsd_ramdisk): Don't override errors.
15158 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
15159 (grub_cmd_initrd): Likewise.
15160 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15161 (grub_cmd_initrd): Likewise.
15162 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
15163 (grub_cmd_linux): Likewise.
15164 (grub_cmd_initrd): Likewise.
15165 (grub_cmd_payload): Likewise.
15166 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
15167 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
15168 (grub_cmd_module): Likewise.
15169 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
15170 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
15171 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
15172 (grub_cmd_xnu_mkext): Likewise.
15173 (grub_cmd_xnu_ramdisk): Likewise.
15174 (grub_xnu_check_os_bundle_required): Likewise.
15175 (grub_xnu_load_kext_from_dir): Likewise.
15176 (grub_cmd_xnu_kextdir): Likewise.
15177 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
15178
b2d004db
VS
151792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15180
15181 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
15182 as 1024 in block size field. Found on one of my test images.
15183 Small optimisation while on it.
15184
ec000eac
VS
151852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15186
15187 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
15188 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
15189 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
15190 performance fixes while on it.
15191 (grub_sfs_close): Fix memory leak while on it.
15192 (grub_sfs_label): Convert Latin1 to UTF-8.
15193
f50e1165
VS
151942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15195
15196 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
15197 space to avoid overflows.
15198 (grub_hfs_label): Convert from macroman to UTF-8.
15199
2ae254de
VS
152002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15201
15202 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
15203
0108f491
VS
152042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15205
15206 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
15207
f45f5f89
VS
152082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15209
15210 * unicode: Import Unicode 6.0 data.
15211
4d8c4765
VS
152122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15213
63fa8ef9
VS
15214 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
15215 outside of range.
15216
152172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15218
15219 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
15220
15221 * include/grub/charset.h (grub_getend): New function.
15222 * grub-core/script/function.c (grub_script_function_find): Use
15223 grub_getend.
15224 * grub-core/normal/completion.c (add_completion): Likewise.
15225
f3cb4a4e
VS
152262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15227
15228 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
15229 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
15230 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
15231 (GRUB_UNICODE_TAG_END): Likewise.
15232 (GRUB_UNICODE_LAST_VALID): Likewise.
15233
5da8dbc5
VS
152342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15235
15236 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
15237 len and make it smaller. All users updated.
15238 * util/import_unicode.py: Put length and not end character.
15239 Check length.
15240
8569f13d
VS
152412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 Make better Unicode-compliant and unify some UTF-8 code pathes.
15244
15245 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
15246 valid character.
15247 (grub_is_valid_utf8): Use grub_utf8_process.
15248 Check resulting code range.
15249 (grub_utf8_to_ucs4): Use grub_utf8_process.
15250 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
15251 valid character.
15252
cc4fddf5
VS
152532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15254
15255 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
15256
bbc47747
VS
152572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15258
15259 * docs/grub.texi (Filesystems): Mention AFS.
15260
f63d6bf4
VS
152612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15262
15263 * docs/grub.texi (Filesystems): Clarify restrictions.
15264 (Regexp): Mention non-Unicode regexp behaviour.
15265 (Other): Mention non-Unicode matching behaviour.
15266
74bbf0db
VS
152672011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15268
f63d6bf4 15269 Make HFS implementation use MacRoman.
74bbf0db
VS
15270
15271 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
15272 (macroman): New const array.
15273 (macroman_to_utf8): New function.
15274 (utf8_to_macroman): Likewise.
15275 (grub_hfs_find_dir): Use utf8_to_macroman.
15276 (grub_hfs_dir): Use macroman_to_utf8.
15277 Set case_insensitive.
15278
4ea0316e
VS
152792011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15280
15281 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
15282
d3c13cbd
VS
152832011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 Integrate hints into autogeneration scripts.
15286
15287 * docs/grub.texi (Filesystems): Add a hostdisk example.
15288 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
15289 (grub-probe): Add ofpath.
15290 * gentpl.py: Remove group nosparc64.
15291 * grub-core/commands/search.c (cache_entry): New struct.
15292 (cache): New var.
15293 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
15294 * grub-core/commands/search_wrap.c (options): Add platform-specific
15295 hint options.
15296 (grub_cmd_search): Handle platform-specific hints.
15297 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
15298 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
15299 (grub_util_biosdisk_data): Likewise.
15300 (grub_util_biosdisk_open): Set device_map.
15301 (read_device_map): Handle "" as indication of no map.
15302 Set device_map.
15303 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
15304 (grub_util_biosdisk_get_compatibility_hint): New function.
15305 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
15306 * include/grub/emu/hostdisk.h
15307 (grub_util_biosdisk_get_compatibility_hint): New proto.
15308 * util/grub-install.in: Don't call grub-mkdevicemap.
15309 Add platform-specific hint to load.cfg.
15310 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
15311 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15312 hints. Set root preliminary to compatibility hint, not to OS name.
15313 * util/grub-probe.c (PRINT_*): Add hints.
15314 (print): Make static.
15315 (escape_of_path): New function.
15316 (guess_bios_drive): Likewise.
15317 (guess_efi_drive): Likewise.
15318 (guess_baremetal_drive): Likewise.
15319 (print_full_name): Likewise.
15320 (probe): Handle hints.
15321 (main): Likewise.
15322 * util/ieee1275/devicemap.c: Removed.
15323 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
15324 updated.
15325 (grub_util_devname_to_ofpath): Return NULL on failure.
15326
15327 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
15328 resource leak.
15329 * util/getroot.c (grub_util_pull_device): Fix memory leak.
15330
15331 * po/POTFILES.in: Regenerated.
15332
15333 Allow purely long options
15334
15335 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
15336 (SHORT_ARG_USAGE): Likewise.
15337 (grub_arg_show_help): Compare opt with help_options.
15338 (parse_option): Receive opt as argument. If makes big simplificatons.
15339 All users updated
15340
00ce2df3
VS
153412011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15342
15343 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
15344 Restructure to avoid warning.
15345
e77e325f
VS
153462011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 * util/grub-install.in: Account for possible escaped comma in device
15349 name.
15350
165099ea
VS
153512011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15352
15353 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
15354 channel.
15355
ce4a999d
VS
153562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
15359 allocation and zero-setting.
15360 (grub_ieee1275_get_devname): Check that alias is complete.
15361
379586ad
VS
153622011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
15365 unaligned segments.
15366
9197b0ad
VS
153672011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15368
15369 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
15370 prefix.
15371 (grub_ofdisk_open): Check and discard ieee1275 prefix.
15372 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15373 Add ieee1275 prefix.
15374
edddb7f9
VS
153752011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 * docs/grub.texi (Filesystems): Update.
15378
a1a8b1b9
VS
153792011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15380
15381 Support odc, newc and bigendian cpio formats.
15382
15383 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
15384 * grub-core/Makefile.core.def (newc): New module.
15385 (odc): Likewise.
15386 (cpio_be): Likewise.
15387 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
15388 (MAGIC): Likewise.
15389 (MAGIC2): Likewise.
15390 (head) [MODE_ODC]: Adapt for the format.
15391 (head) [MODE_NEWC]: Likewise.
15392 (head) [!MODE_*]: Write fields of interest as arrays.
15393 (MAGIC_USTAR): Removed.
15394 (read_number) [MODE_NEWC]: Change to hex.
15395 (read_number) [!MODE_*]: Parse binary arrays.
15396 (grub_cpio_find_file): Factor out the code for better structure and
15397 always use read_number.
15398 (grub_cpio_mount): Use MAGIC and MAGIC2.
15399 (grub_cpio_dir): Exit on first hook non-0 return.
15400 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
15401 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
15402 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
15403 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
15404 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
15405 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
15406 * grub-core/fs/newc.c: New file.
15407 * grub-core/fs/odc.c: Likewise.
15408 * grub-core/fs/cpio_be.c: Likewise.
15409
58eba9ee
VS
154102011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15411
15412 Fix handling of tar numbers occupying the whole field.
15413
15414 * grub-core/fs/cpio.c (read_number): New function.
15415 (grub_cpio_find_file): Use read_number instead of strtoull.
15416
a54a0e12
VS
154172011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
15420 occupying the whole field size.
15421
a6120aca
LA
154222011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
15423
15424 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
15425
a93964ce
VS
154262011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
15429
3ea1ca46
SG
154302011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
15431
15432 * grub-core/Makefile.core.def (lzma_decompress): Add missing
15433 TARGET_IMG_LDFLAGS.
15434
b87f7ef2
VS
154352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 * util/getroot.c (ESCAPED_PATH_MAX): New define.
15438 (mountinfo_entry): Increase the field size to take escaping into
15439 account.
15440 (find_root_device_from_libzfs): Add one byte to size of strings for
15441 security.
15442
62092395
VS
154432011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15444
15445 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
15446 an assert.
15447 * util/grub-setup.c (setup): Likewise.
15448
1f0b1a77
VS
154492011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15450
15451 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
15452 _LzmaDecodeA.
15453
8eba9997
VS
154542011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15455
15456 * docs/grub.texi (Internationalisation): New section.
15457
dd0c91e9
VS
154582011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15459
15460 * docs/grub.texi (Loopback booting): New section.
15461
154622011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
15463
15464 * util/grub-mkstandalone.in: Fix minor typo errors.
15465
198e150a
VS
154662011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15467
15468 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
15469
15470 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
15471 net/icmp.c and net/icmp6.c.
15472 (http): New module.
15473 (priority_queue): Likewise.
15474 * grub-core/io/bufio.c: Rewritten.
15475 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
15476 TYPE_WITH_CONFIGFILE_OPTION.
15477 (legacy_commands): Add bootp and dhcp.
15478 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
15479 (grub_legacy_parse): Likewise.
15480 * grub-core/lib/priority_queue.c: New file.
15481 * grub-core/net/arp.c: Add missing license header.
15482 (arp_find_entry): Removed.
15483 (arp_find_entry): Likewise.
15484 (grub_net_arp_resolve): Rename to ...
15485 (grub_net_arp_send_request): ...this.
15486 (grub_net_arp_receive): New card argument.
15487 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
15488 Set router and DNS server.
15489 (grub_net_configure_by_dhcp_ack): Handle routing information.
15490 (grub_cmd_bootp): Set checksum.
15491 (grub_bootp_init): Remove net_dhcp.
15492 * grub-core/net/dns.c: New file.
15493 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
15494 completion.
15495 (get_card_packet): Handle allocation.
15496 (grub_efinet_findcards): Set mtu.
15497 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
15498 (get_card_packet): Handle allocation.
15499 (emucard): Set mtu.
15500 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
15501 (GRUB_MOD_INIT): Set mtu.
15502 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
15503 mtu.
15504 (get_card_packet): Handle allocation.
15505 (grub_ofnet_findcards): Set mtu.
15506 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
15507 assert.
15508 (grub_net_recv_ethernet_packet): Handle IPv6.
15509 * grub-core/net/http.c: New file.
15510 * grub-core/net/icmp.c: Likewise.
15511 * grub-core/net/icmp6.c: Likewise.
15512 * grub-core/net/ip.c (ip6addr): New type.
15513 (ip6hdr): Likewise.
15514 (reassemble): Likewise.
15515 (cmp): New function.
15516 (reassembles): New variable.
15517 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
15518 (id): New variable.
15519 (send_fragmented): New function.
15520 (grub_net_send_ip_packet): Rename to ...
15521 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
15522 Handle non-UDP.
15523 (grub_net_recv_ip_packets): Rename to ...
15524 (handle_dgram): ... this. Check checksum. Handle non-UDP.
15525 (free_rsm): New function.
15526 (free_old_fragments): Likewise.
15527 (grub_net_recv_ip4_packets): New function.
15528 (grub_net_send_ip6_packet): Likewise.
15529 (grub_net_send_ip_packet): Likewise.
15530 (grub_net_recv_ip6_packets): Likewise.
15531 (grub_net_recv_ip_packets): Likewise.
15532 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
15533 (LINK_LAYER_CACHE_SIZE): New const.
15534 (link_layer_find_entry): New function.
15535 (grub_net_link_layer_add_address): Likewise.
15536 (grub_net_link_layer_resolve_check): Likewise.
15537 (grub_net_link_layer_resolve): Likewise.
15538 (grub_net_ipv6_get_slaac): Likewise.
15539 (grub_net_ipv6_get_link_local): Likewise.
15540 (grub_cmd_ipv6_autoconf): Likewise.
15541 (parse_ip): Handle one number representation.
15542 (parse_ip6): New functoion.
15543 (match_net): Handle IPv6.
15544 (grub_net_resolve_address): Handle IPv6 and DNS.
15545 (grub_net_resolve_net_address): Handle IPv6.
15546 (route_cmp): New function.
15547 (grub_net_route_address): Find best route.
15548 (grub_net_addr_to_str): Handle IPv6.
15549 (grub_net_addr_cmp): New function.
15550 (grub_net_add_addr): Register local route.
15551 (print_net_address): Handle net address.
15552 (grub_net_poll_cards): Retransmit TCP.
15553 (grub_net_poll_cards_idle_real): Likewise.
15554 (have_ahead): New function.
15555 (grub_net_seek_real): Use underlying seek.
15556 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
15557 * grub-core/net/tcp.c: New file.
15558 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
15559 (cmp): New function.
15560 (ack): Likewise.
15561 (tftp_receive): Handle unordered input.
15562 (destroy_pq): New function.
15563 (tftp_close): Close pq.
15564 * grub-core/net/udp.c: Put missing license header.
15565 (grub_net_udp_socket): New function.
15566 (udp_socket_register): Likewise.
15567 (grub_net_udp_close): Likewise.
15568 (grub_net_recv_udp_packet): Check checksum.
15569 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
15570 * include/grub/misc.h (grub_memchr): New function.
15571 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
15572 (grub_net_card_driver): Return buf in recv.
15573 (grub_net_slaac_mac_list): New struct.
15574 (grub_network_level_protocol_id): Add ipv6.
15575 (grub_net_network_level_addr): Likewise.
15576 (grub_net_network_level_net_addr): Likewise.
15577 (grub_net_app_protocol): Add seek.
15578 (grub_net_socket): Removed.
15579 (grub_net_sockets): Likewise.
15580 (grub_net_socket_register): Likewise.
15581 (grub_net_socket_unregister): Likewise.
15582 (FOR_NET_SOCKETS): Likewise.
15583 (grub_net_add_addr): Add const.
15584 (GRUB_NET_BOOTP_*): New enum.
15585 (grub_net_addr_cmp): New proto.
15586 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
15587 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
15588 (grub_net_hwaddr_to_str): NEw proto.
15589 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
15590 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
15591 (grub_dns_init): New proto.
15592 (grub_dns_fini): Likewise.
15593 (grub_net_tcp_retransmit): Likewise.
15594 (grub_net_link_layer_add_address): Likewise.
15595 (grub_net_link_layer_resolve_check): Likewise.
15596 (grub_net_link_layer_resolve): Likewise.
15597 (grub_net_dns_lookup): Likewise.
15598 (grub_net_add_dns_server): Likewise.
15599 (grub_net_remove_dns_server): Likewise.
15600 (GRUB_NET_TRIES): New const.
15601 (GRUB_NET_INTERVAL): Likewise.
15602 * include/grub/net/arp.h: Mostly rewritten.
15603 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
15604 * include/grub/net/ip.h: Mostly rewritten.
15605 * include/grub/net/netbuff.h: Indent.
15606 * include/grub/net/tcp.h: New file.
15607 * include/grub/net/udp.h: Mostly rewritten.
15608 * include/grub/priority_queue.h: New file.
15609 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
15610 (grub_swap_bytes64_compile_time): Likewise.
15611 (grub_cpu_to_be16_compile_time): Likewise.
15612 (grub_cpu_to_be32_compile_time): Likewise.
15613 (grub_cpu_to_be64_compile_time): Likewise.
15614 (grub_be_to_cpu64_compile_time): Likewise.
15615
215c1800
VS
156162011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15617
15618 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
15619 UINT_TO_PTR with cast.
15620
c17e546c
VS
156212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15622
15623 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
15624 don't use them.
15625
ff6b18b6
VS
156262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15627
15628 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
15629 already there.
15630
70ffcc93
VS
156312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15632
15633 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
15634 confusing ipxe.
15635
e5f4d260
VS
156362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
15639 Add missing const attribute.
15640 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
15641 Likewise.
15642 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
15643 Likewise.
15644
8e54b4b7
VS
156452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
15648 misaligned access.
15649 (serpent_setkey): Likewise.
15650 (serpent_encrypt_internal): Likewise.
15651 (serpent_decrypt_internal): Likewise.
15652 (serpent_encrypt): Don't put an alignment-increasing cast.
15653 (serpent_decrypt): Likewise.
15654 (serpent_test): Likewise.
15655
813c0a2b
VS
156562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15657
15658 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
15659
f2b60fbd
VS
156602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15661
15662 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
15663
15664 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
15665 grub_addr_t casts.
15666 (PTR_TO_UINT64): Likewise.
15667 (PTR_TO_UINT32): Likewise.
15668
5ef5c511
VS
156692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15670
15671 * util/grub-mkimage.c (generate_image): Decrease the higher limit
15672 because of stack.
15673 * util/grub-setup.c (setup): Don't add redundancy past the higher load
15674 limit.
15675
c476e6df
VS
156762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15677
15678 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
15679 text_width > available width a bit more gracefully.
15680
384ad7cc
VS
156812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15682
15683 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
15684 current address calculation.
15685
96f8caf8
VS
156862011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
15689 stack.
15690 (encode_block): Likewise.
15691
276b7a8b
VS
156922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15693
15694 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
15695 certainety.
15696
e3fd394a
VS
156972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15698
15699 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
15700 non-RS part to avoid RS messing with GDT.
15701 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
15702 Increase to suit in realmode routines.
15703
157042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15705
15706 * grub-core/kern/i386/realmode.S: Increase alignment.
15707 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
15708
ee9c2e7a
VS
157092011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15710
15711 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
15712 be deterministic.
15713 (syndroms): Compute 0 syndrom.
15714 (rs_recover): Use 0 syndrom.
15715
7a7f7cc9
VS
157162011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
15719
a14b16d1
VS
157202011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15721
15722 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
15723 brackets.
15724
9f59e9fc
VS
157252011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15726
ca1b552c
VS
15727 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
15728 account.
15729 (get_top_pad): Likewise.
15730 (get_right_pad): Likewise.
15731 (get_bottom_pad): Likewise.
15732
157332011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15734
15735 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 15736
e739d698
VS
157372011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15738
15739 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
15740 attribute as the structure isn't guaranteed to be properly aligned.
15741 (grub_efi_pci_device_path): Likewise.
15742 (grub_efi_pccard_device_path): Likewise.
15743 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
15744 specify the size of `memory_type'.
15745 (grub_efi_vendor_device_path): Likewise.
15746 (grub_efi_controller_device_path): Likewise.
15747 (grub_efi_acpi_device_path): Likewise.
15748 (grub_efi_expanded_acpi_device_path): Likewise.
15749 (grub_efi_atapi_device_path): Likewise.
15750 (grub_efi_scsi_device_path): Likewise.
15751 (grub_efi_fibre_channel_device_path): Likewise.
15752 (grub_efi_1394_device_path): Likewise.
15753 (grub_efi_usb_device_path): Likewise.
15754 (grub_efi_usb_class_device_path): Likewise.
15755 (grub_efi_i2o_device_path): Likewise.
15756 (grub_efi_mac_address_device_path): Likewise.
15757 (grub_efi_ipv4_device_path): Likewise.
15758 (grub_efi_ipv6_device_path): Likewise.
15759 (grub_efi_infiniband_device_path): Likewise.
15760 (grub_efi_uart_device_path): Likewise.
15761 (grub_efi_vendor_messaging_device_path): Likewise.
15762 (grub_efi_hard_drive_device_path): Likewise.
15763 (grub_efi_cdrom_device_path): Likewise.
15764 (grub_efi_vendor_media_device_path): Likewise.
15765 (grub_efi_file_path_device_path): Likewise.
15766 (grub_efi_protocol_device_path): Likewise.
15767 (grub_efi_piwg_device_path): Likewise.
15768 (grub_efi_bios_device_path): Likewise.
15769
cb8f88ea
VS
157702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15771
15772 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
15773 (grub_ucs4_to_utf8_alloc): Likewise.
15774 (grub_ucs4_to_utf8): Likewise.
15775 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
15776 (grub_ucs4_to_utf8_alloc): Likewise.
15777
309e5352
VS
157782011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15779
15780 AFFS never uses unicode.
15781
15782 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
15783 (grub_latin1_to_utf8): New inline function.
15784 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
15785
e7987e1b
VS
157862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
15789 overflow.
15790
efc2616e
VS
157912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15792
15793 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
15794 (grub_squash_dirent_header): Likewise.
15795 (read_chunk): Don't double swap.
15796 (grub_squash_iterate_dir): Fix swap sizes.
15797
3c349f5a
VS
157982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
15801
b453412d
VS
158022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15803
15804 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
15805 (grub_hfs_iterate_dir): Likewise.
15806
12e9d4d1
VS
158072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15808
15809 Fix video on platforms where unaligned access is forbidden.
15810 Make several optimisations while on it.
15811
15812 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
15813 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15814 (grub_video_fbblit_replace_32bit_1bit): Likewise.
15815 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15816 Disable.
15817 (grub_video_fbblit_replace_16bit_1bit):
15818 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15819 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15820 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
15821 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
15822 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15823 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15824 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
15825 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
15826 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
15827 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
15828 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
15829 (grub_video_fbblit_replace_index_RGB888): Likewise.
15830 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
15831 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
15832 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
15833 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
15834 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
15835 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15836 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15837 Disable.
15838 (grub_video_fbblit_blend_XXX565_1bit):
15839 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15840 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
15841 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
15842 void *.
15843 * grub-core/video/fb/video_fb.c (common_blitter)
15844 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
15845 (grub_video_fb_create_render_target_from_pointer)
15846 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
15847 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
15848 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
15849 definition.
15850 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
15851
ace96609
VS
158522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15853
15854 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
15855 HH22 and HM10 relocations.
15856
fd261d73
VS
158572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15858
15859 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
15860
e59b7857
VS
158612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15862
15863 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
15864 allocation succeeded.
15865
9b4baaa4
VS
158662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15867
15868 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
15869 argument a u8 pointer. All users updated.
15870 Handle unaligned buffers.
15871
dc713193
VS
158722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15873
15874 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
15875 add_part to workaround compiler bug.
15876
30dd48c2
VS
158772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15878
15879 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
15880
0c6087a8
VS
158812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15882
15883 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
15884 Reserve alignment invariants.
15885 (grub_multiboot_load): Likewise.
15886 (retrieve_video_parameters): Likewise.
15887 (grub_multiboot_make_mbi): Likewise.
15888
c2e77777
VS
158892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15890
15891 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
15892 incorrect pointer.
15893
b70b6d11
VS
158942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15895
15896 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
15897 (grub_pata_pio_write): Likewise.
15898
02a2bf83
VS
158992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15900
15901 Add noreturn attributes and remove unreachable code.
15902
15903 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
15904 code.
15905 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
15906 code. Mark as noreturn.
15907 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
15908 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
15909 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
15910 unreachable code.
15911 * grub-core/kern/main.c (grub_main): Mark as noreturn.
15912 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
15913 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
15914 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
15915 * include/grub/kernel.h (grub_main): Mark as noreturn.
15916 * include/grub/reader.h (grub_rescue_run): Likewise.
15917
2019d09e
VS
159182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15919
15920 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
15921 redundant declaration.
15922
d1c501ee
VS
159232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15924
15925 * include/grub/net.h (grub_net_network_level_interfaces): Remove
15926 redundant declaration.
15927 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
15928
61664420
VS
159292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15930
15931 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
15932 to ensure alignment.
15933 (grub_hdparm_print_identify): Make argument uint16 * to ensure
15934 alignment. Ensure tmp alignment.
15935 (grub_cmd_hdparm): Ensure buf alignment.
15936 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
15937 to ensure alignment.
15938 (grub_ata_dumpinfo): Ensure text alignment.
15939 (grub_atapi_identify): Preserve alignment invariant.
15940 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
15941
0d51ee20
VS
159422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15943
15944 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
15945 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
15946 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
15947 * include/grub/misc.h (grub_reboot)
15948 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
15949 (grub_halt) [__mips__]: Likewise.
15950
753ef8c1
VS
159512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15952
15953 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
15954 Remove redundant declaration.
15955 (grub_mmap_get_post64): Likewise.
15956 (grub_mmap_get_upper): Likewise.
15957 (grub_mmap_get_lower): Likewise.
15958
85c85365
VS
159592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15960
15961 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
15962 uint32_t * to ensure alignment.
15963 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
15964
a23f2cc4
VS
159652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15966
93018f64
VS
15967 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
15968 uint16_t * to ensure alignment.
15969 (sun_pc_partition_map_iterate): Make `block' a union to ensure
15970 alignment.
15971
159722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
15975 to ensure alignment.
15976 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
15977
58acccd6
VS
159782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15979
15980 * grub-core/fs/ntfs.c (u16at): Make into inline function.
15981 Handle unaligned pointers.
15982 (u32at): Likewise.
15983 (u64at): Likewise.
15984 (fixup): Use byte access instead of v16at.
15985 (find_attr): Fix imporper usage of v32at.
15986 (read_data): Likewise.
15987 (list_file): Handle byte-swapping and unaligned strings.
15988 (grub_ntfs_label): Likewise.
15989
9b05cad7
VS
159902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
15993 as it's not necessarily aligned.
15994
b3950b84
VS
159952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15996
15997 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
15998 redundant declaration.
15999 (grub_serial_init): Likewise.
16000 (grub_terminfo_init): Likewise.
16001
fcd232b7
VS
160022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16003
16004 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
16005 function.
16006 (ZAP_HASH_IDX): Likewise.
16007 (ZAP_LEAF_HASH_SHIFT): Likewise.
16008 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
16009 (LEAF_HASH): Likewise.
16010 (ZAP_LEAF_NUMCHUNKS): Likewise.
16011 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
16012 alignment invariants. Return pointer. All users updated.
16013 (ZAP_LEAF_ENTRY): Make into inline function.
16014 (NBBY): Removed.
16015 (xor): LIkewise.
16016 (xor_out): Use grub_crypto_xor.
16017 (dnode_get_path): Use grub_get_unaligned.
16018 (nvlist_find_value): Likewise.
16019 (grub_zfs_nvlist_lookup_uint64): Likewise.
16020 (grub_zfs_nvlist_lookup_string): Likewise.
16021 (get_nvlist_size): Likewise.
16022 (grub_zfs_open): Likewise.
16023 (fill_fs_info): Likewise.
16024 (grub_zfs_dir): Likewise.
16025 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
16026 alignment invariants.
16027 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
16028 necessarily aligned.
16029
f138623a
VS
160302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16031
16032 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
16033
564840dc
VS
160342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16035
16036 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
16037 arithmetic to conserve alignment invariants.
16038
9b40df20
VS
160392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16040
16041 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
16042 redundant declaration.
16043 (grub_efiemu_mm_obtain_request): Likewise.
16044 (grub_efiemu_prepare): Likewise.
16045
d1c930f9
VS
160462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
16049 to match types.
16050
4c5f3056
VS
160512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16052
16053 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
16054 case of aunaligned recptr.
16055 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
16056 alignment.
16057 (grub_hfsplus_btree_search): Handle unaligned index.
16058
728cba91
VS
160592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16060
16061 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
16062 to get freetag and skip.
16063
eb561f31
VS
160642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
16067 array.
16068 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
16069 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
16070
20993fbb
VS
160712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16072
16073 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
16074 name for checksum and fix allocation algorithm.
16075
1f313b94
VS
160762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16077
16078 * include/grub/types.h (grub_properly_aligned_t): New type.
16079 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
16080 (grub_get_unaligned16): Add explicit casts.
16081 (grub_get_unaligned32): Likewise.
16082 (grub_get_unaligned64): Likewise.
16083 (grub_set_unaligned16): New function.
16084 (grub_set_unaligned32): Likewise.
16085
47ae27ec
VS
160862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16087
16088 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
16089
78c2cd1c
VS
160902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
16093 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
16094 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
16095
53072f9b
VS
160962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16097
16098 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
16099 conditionals.
16100
055dc239
VS
161012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16102
16103 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
16104 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
16105
496bd074
VS
161062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16107
16108 Unify and improve RAID and crypto xor.
16109
16110 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
16111 changed to grub_crypto_xor
16112 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
16113 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
16114 Use bigger types when possible.
16115
ef6e4335
VS
161162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16117
16118 * grub-core/disk/raid.c (scan_devices): Fix condition.
16119
5d048bf2
VS
161202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
16123 Make name a const ptr.
16124
ee533335
VS
161252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
16128 first argument a const pointer.
16129 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
16130 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
16131 proto.
16132 (grub_children_iterate): Likewise.
16133 (grub_machine_mmap_iterate): Remove redundant declaration.
16134
cc8f3668
VS
161352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16136
16137 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
16138 (grub_cmd_acpi) [!x86]: Disable EBDA.
16139
c5fc563a
VS
161402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16141
16142 Enable UTF8 in gnulib regexp.
16143
16144 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
16145 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
16146 (isupper): Use grub_isupper.
16147 (isascii): New inline function.
16148 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
16149 * grub-core/lib/posix_wrap/wctype.h: Likewise.
16150 * grub-core/normal/charset.c (grub_utf8_process): New function.
16151 (grub_utf8_to_utf16): Use grub_utf8_process.
16152 (grub_encode_utf8_character): New function.
16153 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
16154 * include/grub/charset.h (grub_utf8_process): New declaration.
16155 (grub_encode_utf8_character): Likewise.
16156 * include/grub/misc.h (grub_islower): New inline function.
16157 (grub_isupper): Likewise.
16158 (grub_strchrsub): Moved down to fix the definitions.
16159
0af2346f
VS
161602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
16163 specification.
16164
74dbd244
VS
161652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16166
16167 * include/grub/loader.h (grub_loader_register_preboot_hook):
16168 Use struct preboot * and not void * for handle. All users updated.
16169 (grub_loader_unregister_preboot_hook): Likewise.
16170
1bc8f60d
VS
161712011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
16172
16173 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
16174 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
16175 UTF-16-BE. All users updated.
16176 (grub_hfsplus_cmp_catkey): Fix unicode handling.
16177 (grub_hfsplus_iterate_dir): Likewise.
16178 (grub_hfsplus_label): Likewise.
16179
48d6e456
VS
161802011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
16181
16182 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
16183
bf3a3857
VS
161842011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
16185
16186 Add missing const qualifiers.
16187
16188 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
16189 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
16190 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
16191 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
16192 (grub_lvm_check_flag): Likewise.
16193 * grub-core/efiemu/i386/coredetect.c
16194 (grub_efiemu_get_default_core_name): Likewise
16195 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
16196 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
16197 * grub-core/fs/ntfs.c (fixup): Likewise.
16198 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
16199 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
16200 (fzap_lookup): Likewise.
16201 (zap_lookup): Likewise.
16202 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
16203 * grub-core/lib/legacy_parse.c (check_option): Likewise.
16204 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
16205 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
16206 (grub_freebsd_add_meta_module): Likewise.
16207 (grub_cmd_freebsd_module): Likewise.
16208 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
16209 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
16210 (grub_xnu_writetree_get_size): Likewise.
16211 (grub_xnu_writetree_toheap_real): Likewise.
16212 (grub_xnu_find_key): Likewise.
16213 (grub_xnu_create_key): Likewise.
16214 (grub_xnu_create_value): Likewise.
16215 (grub_xnu_register_memory): Likewise.
16216 (grub_xnu_check_os_bundle_required): Likewise.
16217 (grub_xnu_scan_dir_for_kexts): Likewise.
16218 (grub_xnu_load_kext_from_dir): Likewise.
16219 * grub-core/normal/color.c (color_list): Likewise.
16220 * grub-core/normal/completion.c (current_word): Likewise.
16221 * grub-core/normal/menu_entry.c (insert_string): Likewise.
16222 * grub-core/term/serial.c (grub_serial_find): Likewise.
16223 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
16224 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
16225 Likewise.
16226 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
16227 (grub_freebsd_add_meta_module): Likewise.
16228 * include/grub/lib/arg.h (grub_arg_option): Likewise.
16229 * include/grub/net.h (grub_net_card_driver): Likewise.
16230 (grub_net_card): Likewise.
16231 (grub_net_app_protocol): Likewise.
16232 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
16233 * include/grub/serial.h (grub_serial_find): Likewise.
16234 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
16235 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
16236 (grub_xnu_create_value): Likewise.
16237 (grub_xnu_find_key): Likewise.
16238 (grub_xnu_scan_dir_for_kexts): Likewise.
16239 (grub_xnu_load_kext_from_dir): Likewise.
16240
16241 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
16242 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
16243 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
16244 Moved from here ...
16245 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
16246
112b4837
CW
162472011-11-28 Colin Watson <cjwatson@ubuntu.com>
16248
16249 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
16250
49e891ac
VS
162512011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
16252
16253 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
16254 (read_device): Fix size calculation.
16255
fd258e5c
RM
162562011-11-25 Robert Millan <rmh@gnu.org>
16257
16258 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
16259 (find_root_device_from_libzfs): Add zpool output parser to be used
16260 as fallback when libzfs isn't available.
16261
78845dc2
SG
162622011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
16263
16264 * po/Makefile.in.in: Add missing escape-continuation.
16265
adac5211
VS
162662011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
16267
16268 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
16269
10b64f1c
VS
162702011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16271
16272 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
16273
bb416954
VS
162742011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16275
16276 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
16277
bdfe9eeb
VS
162782011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16279
16280 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
16281
581ffa8a
VS
162822011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16283
16284 * grub-core/lib/adler32.c: Add missing license specification.
16285 * grub-core/lib/crc64.c: Likewise.
16286 * grub-core/loader/i386/pc/plan9.c: Likewise.
16287 * grub-core/partmap/plan.c: Likewise.
16288
2536cf64
LK
162892011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
16290
16291 Add facility to debug GRUB with gdb under qemu.
16292
16293 * grub-core/gdb_grub.in: New file.
16294 * grub-core/gmodule.pl.in: Likewise.
16295 * grub-core/Makefile.core.def (gmodule.pl): New script.
16296 (gdb_grub): Likewise.
16297
bc108a4a
VS
162982011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16299
16300 * util/grub-mount.c (argp_parser): Accept relative pathes.
16301 * util/grub-fstest.c (argp_parser): Likewise.
16302
111c1778
VS
163032011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16304
16305 Plan9 support.
16306
16307 * Makefile.util.def (libgrubmods): Add
16308 grub-core/partmap/plan.c.
16309 * docs/grub.texi: Notice Plan9 support.
16310 * grub-core/Makefile.core.def (plan9): New module.
16311 (part_plan): Likewise.
16312 * grub-core/loader/i386/pc/plan9.c: New file.
16313 * grub-core/partmap/plan.c: Likewise.
16314 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
16315 define.
16316 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
16317 * include/grub/mm.h (grub_extend_alloc): New inline function.
16318
c30be3b6
VS
163192011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16320
16321 Make Reed-Solomon faster by using power of generator representation of
16322 GF(256)*.
16323
16324 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
16325 (gf_double_t): Likewise.
16326 (gf_invert): Removed.
16327 (gf_powx): New array.
16328 (gf_powx_inv): Likewise.
16329 (scratch): Move higher.
16330 (gf_reduce): Removed.
16331 (gf_mul): Use powx.
16332 (gf_invert): Likewise.
16333 (init_inverts): Replaced with ...
16334 (init_powx): ...this. All users updated.
16335 (pol_evaluate): Replace multiplications with additions.
16336 (rs_encode): Likewise.
16337 (gauss_eliminate): Call gf_invert.
16338 (grub_reed_solomon_add_redundancy): Call init_powx.
16339 (grub_reed_solomon_recover): Call init_powx unconditionally.
16340
fa5aeffc
VS
163412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16342
16343 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
16344
a346b81c
VS
163452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16346
16347 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
16348 disk->partiton for safety.
16349
d89ee414
VS
163502011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16351
16352 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
16353 Fix a memory leak.
16354 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
16355
91ee7b6d
VS
163562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16357
16358 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
16359
91e5a33d
VS
163602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16361
16362 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
16363
9edd7be2
VS
163642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16365
16366 Fix spaces handling in proc/self/mountinfo.
16367
16368 * util/getroot.c (unescape): New function.
16369 (grub_find_root_device_from_mountinfo): Use unescape.
16370
ba102053
VS
163712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16372
16373 Support ZFS embedding.
16374
16375 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
16376 (grub_zfs_fs): Register grub_zfs_embed.
16377
aa94b870
VS
163782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16379
16380 Fix MIPS compilation.
16381
16382 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
16383 * include/grub/offsets.h: Rename decompressor fields from
16384 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
16385 * util/grub-mkimage.c (image_targets): Use new names.
16386
5fbdac14
VS
163872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16388
16389 Defer multiboot device parsing until we're in compressed part.
16390
16391 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
16392 bsd_part. setdevice has fallen into disuse.
16393 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
16394 (bsd_part): Likewise.
16395 (boot_dev): New variable.
16396 (multiboot_trampoline): Don't parse multiboot device.
16397 Pass multiboot device in %edx.
16398 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
16399 grub_boot_device.
16400 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
16401 Likewise.
16402 * grub-core/kern/i386/pc/startup.S: Save edx.
16403 (grub_boot_drive): Removed.
16404 (grub_install_dos_part): Likewise.
16405 (grub_install_bsd_part): Likewise.
16406 (grub_boot_device): New variable.
16407 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
16408 (grub_install_bsd_part): Likewise.
16409 (grub_boot_drive): Likewise.
16410 (grub_boot_device): New variable.
16411 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
16412 Removed.
16413 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16414 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
16415 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
16416 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
16417 * util/grub-install.in: Remove redundant condition.
16418
691cbb58
VS
164192011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16420
16421 Fix bug introduced by previous commit.
16422
16423 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
16424
60240b8b
VS
164252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16426
16427 Use decompressors framework on i386-pc. It increases core size
16428 by 46 bytes but improves compatibility and maintainability.
16429
16430 * grub-core/Makefile.core.def (lzma_decompress): New image.
16431 (kernel): Add i386_pc_ldflags.
16432 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
16433 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
16434 to real_to_prot, prot_to_real and device info.
16435 * include/grub/offsets.h: Renamed decompressor offsets.
16436 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
16437 (image_target_desc): Remove raw_size and rename decompressor fields.
16438 (compress_kernel): Handle lzma.
16439 (generate_image): Handle decompressors on i386-pc.
16440
e9d3421c
VS
164412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16442
16443 * configure.ac: Add -fno-asynchronous-unwind-tables.
16444
2b23074a
VS
164452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16446
16447 Move assembly code to C by using intwrap. It increases core size
16448 by 88 bytes but improves compatibility and maintainability.
16449
16450 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
16451 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
16452 ... here. Translated to C.
16453 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
16454 * grub-core/term/i386/pc/console.c (grub_console_getkey):
16455 ... here. Translated to C.
16456 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
16457 * grub-core/term/i386/pc/console.c (grub_console_getxy):
16458 ... here. Translated to C.
16459 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
16460 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
16461 ... here. Translated to C.
16462 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
16463 * grub-core/term/i386/pc/console.c (grub_console_cls):
16464 ... here. Translated to C.
16465 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
16466 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
16467 ... here. Translated to C.
16468 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
16469 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
16470 Translated to C.
16471 * grub-core/term/i386/pc/console.c (int10_9): New function.
16472 (grub_console_putchar): Likewise.
16473 * include/grub/i386/pc/console.h: Removed the not anymore shared
16474 functions.
16475
678f4b67
VS
164762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16477
16478 Move grub_chainloader_real_boot out of the kernel.
16479
16480 * grub-core/Makefile.am: Remove machine/loader.h.
16481 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16482 Removed.
16483 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
16484 variable.
16485 (grub_relocator16_keep_a20_enabled): Likewise.
16486 (grub_relocator16_boot): Fill new variables.
16487 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
16488 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
16489 relocator.
16490 (grub_chainloader_unload): Likewise.
16491 (grub_chainloader_cmd): Likewise.
16492 * include/grub/i386/pc/loader.h: Removed.
16493 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
16494 and esi. All initialisers updated.
16495
4626edf6
VS
164962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
164972011-11-12 Colin Watson <cjwatson@ubuntu.com>
16498
16499 * Makefile.util.def (grub-mount): New util.
16500 * .bzrignore: Add grub-mount.
16501 * configure.ac: Check for fuse and enable grub-mount if available.
16502 * docs/man/grub-mount.h2m: New file.
16503 * util/grub-mount.c: Likewise.
16504
10f0117b
VS
165052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16506
16507 * grub-core/commands/efi/fixvideo.c: Gettextize.
16508 * grub-core/commands/hashsum.c: Likewise.
16509 * grub-core/commands/i386/cmostest.c: Likewise.
16510 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16511 * grub-core/commands/i386/pc/lsapm.c: Likewise.
16512 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16513 * grub-core/commands/lsmmap.c: Likewise.
16514 * grub-core/commands/menuentry.c: Likewise.
16515 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
16516 * grub-core/commands/setpci.c: Likewise.
16517 * grub-core/loader/i386/bsd.c: Likewise.
16518 * grub-core/loader/i386/linux.c: Likewise.
16519 * util/getroot.c: Likewise.
16520 * util/grub-editenv.c: Likewise.
16521 * util/grub-fstest.c: Likewise.
16522 * util/grub-mkfont.c: Likewise.
16523 * util/grub-mkimage.c: Likewise.
16524 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16525 * util/grub-pe2elf.c: Likewise.
16526 * util/grub-probe.c: Likewise.
16527 * util/grub-setup.c: Likewise.
16528 * util/ieee1275/ofpath.c: Likewise.
16529 * util/misc.c: Likewise.
16530 * util/raid.c: Likewise.
16531
566f779b
RM
165322011-11-11 Robert Millan <rmh@gnu.org>
16533
16534 * util/getroot.c (grub_util_get_geom_abstraction): Remove
16535 __attribute__((unused)) from `os_dev', which *is* being used.
16536
b50787de
VS
165372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16538
16539 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
16540 forgotten define.
16541 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
16542 GRUB_IA64_DL_GOT_ALIGN.
16543 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
16544 GRUB_IA64_DL_TRAMP_ALIGN.
16545
119d11c8
VS
165462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 Replace grub_fatal with normal errors in i386 linux loader.
16549
16550 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
16551 (allocate_pages): Check find_efi_mmap_size return value.
16552 (grub_e820_add_region): Return error.
16553 (grub_linux_boot): Check mmap return value.
16554
6e0632e2
VS
165552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16556
16557 * grub-core/commands/acpihalt.c: Gettextized.
16558 * grub-core/commands/cacheinfo.c: Likewise.
16559 * grub-core/commands/cmp.c: Likewise.
16560 * grub-core/commands/efi/loadbios.c: Likewise.
16561 * grub-core/commands/gptsync.c: Likewise.
16562 * grub-core/commands/ieee1275/suspend.c: Likewise.
16563 * grub-core/commands/legacycfg.c: Likewise.
16564 * grub-core/commands/memrw.c: Likewise.
16565 * grub-core/commands/minicmd.c: Likewise.
16566 * grub-core/commands/parttool.c: Likewise.
16567 * grub-core/commands/time.c: Likewise.
16568 * grub-core/commands/videoinfo.c: Likewise.
16569 * grub-core/disk/geli.c: Likewise.
16570 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
16571 * grub-core/disk/luks.c: Likewise.
16572 * grub-core/disk/lvm.c: Likewise.
16573 * grub-core/font/font_cmd.c: Likewise.
16574 * grub-core/fs/zfs/zfscrypt.c: Likewise.
16575 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16576 * grub-core/gfxmenu/view.c: Likewise.
16577 * grub-core/kern/emu/hostdisk.c: Likewise.
16578 * grub-core/kern/emu/main.c: Likewise.
16579 * grub-core/kern/emu/misc.c: Likewise.
16580 * grub-core/kern/emu/mm.c: Likewise.
16581 * grub-core/kern/mips/arc/init.c: Likewise.
16582 * grub-core/kern/mips/loongson/init.c: Likewise.
16583 * grub-core/kern/partition.c: Likewise.
16584 * grub-core/lib/i386/halt.c: Likewise.
16585 * grub-core/lib/mips/arc/reboot.c: Likewise.
16586 * grub-core/lib/mips/loongson/reboot.c: Likewise.
16587 * grub-core/loader/i386/pc/chainloader.c: Likewise.
16588 * grub-core/loader/i386/xnu.c: Likewise.
16589 * grub-core/loader/multiboot.c: Likewise.
16590 * grub-core/net/bootp.c: Likewise.
16591 * grub-core/net/net.c: Likewise.
16592 * grub-core/normal/term.c: Likewise.
16593 * grub-core/partmap/bsdlabel.c: Likewise.
16594 * grub-core/parttool/msdospart.c: Likewise.
16595 * grub-core/term/gfxterm.c: Likewise.
16596 * grub-core/term/terminfo.c: Likewise.
16597 * grub-core/video/i386/pc/vbe.c: Likewise.
16598 * util/grub-menulst2cfg.c: Likewise.
16599 * util/grub-mkdevicemap.c: Likewise.
16600 * util/grub-mklayout.c: Likewise.
16601 * util/grub-mkrelpath.c: Likewise.
16602 * util/grub-script-check.c: Likewise.
16603 * util/ieee1275/grub-ofpathname.c: Likewise.
16604 * util/resolve.c: Likewise.
16605
073aa7a9
VS
166062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16607
16608 Support %1$d syntax.
16609
16610 * tests/printf_unit_test.c: New file.
16611 * Makefile.util.def (printf_test): New test.
16612 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
16613
c76b5417
VS
166142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16615
16616 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
16617 fix.
16618
df067ad1
VS
166192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16620
16621 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
16622 dprintf.
16623 * grub-core/font/font.c (grub_font_load): Likewise.
16624
5b289bc5
VS
166252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16626
16627 * util/grub-macho2img.c: Add comment concerning gettext.
16628 * grub-core/lib/legacy_parse.c: Likewise.
16629
c1860f87
VS
166302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16631
16632 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
16633 (grub_xvasprintf): Likewise.
16634
d35d0d37
VS
166352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16636
16637 Add const keyword to grub_env_get and gettextize week days.
16638
16639 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
16640 (grub_read_hook_datetime): Return const char *.
16641 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
16642 updated.
16643 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
16644 Mark for gettext.
16645 (grub_get_weekday_name): Return const char *. Call gettext.
16646 * grub-core/script/argv.c (grub_script_argv_append): Receive const
16647 char * and len as the argument. All users updated.
16648 (grub_script_argv_split_append): Receive const char *.
16649 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
16650 * include/grub/env.h (grub_env_get): Likewise.
16651 (grub_env_read_hook_t): Return const char *.
16652 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
16653 (grub_script_argv_split_append): Likewise.
16654
9aed8a71
VS
166552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16656
16657 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
16658
067fdf00
VS
166592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16660
16661 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
16662 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
16663
a8bd9d39
VS
166642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16665
16666 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
16667 Fix prototype.
16668
f7ce5baf
VS
166692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16670
16671 Fix mips compilation.
16672
16673 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
16674 normal decoder.
16675 (hashes): Use in embed decoder as well (for sizes).
16676 (dec_stream_header): Fix embed decompressor logic.
16677 (dec_stream_footer): Likewise.
16678
9bb182f3
VS
166792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
16682 an error and not a fatal on unrecognised relocation types.
16683
63a9e6f6
VS
166842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16685
16686 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16687 Issue error rather than printf on unknown arguments.
16688
4c458569
VS
166892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16690
16691 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
16692 Make buf a const.
16693
e2d22baf
VS
166942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16695
16696 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
16697 Fix module name.
16698
53dc8590
VS
166992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16700
16701 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
16702 leftover debug printf.
16703
6c189294
VS
167042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16705
16706 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
16707
f7688369
VS
167082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
16711 A stylistic fix.
16712
11a775a3
VS
167132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16714
16715 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
16716
33f784e8
SL
167172011-11-10 Shea Levy <slevy@tieronedesign.com>
16718
16719 Allow all modules to perform serial IO
16720
16721 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
16722 * include/grub/serial.h (grub_serial_port_configure): New inline
16723 function.
16724 (grub_serial_port_fetch): Likewise.
16725 (grub_serial_port_put): Likewise.
16726 (grub_serial_port_fini): Likewise.
16727 (grub_serial_find): New proto.
16728
f6276525
VS
167292011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16730
16731 Put symlink at the end of the node and fix a potential
16732 memory corruption.
16733
16734 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
16735 Make symlink into an array.
16736 (set_rockridge): Set have_symlink and alloc_dirents.
16737 (grub_iso9660_read_symlink): Use new layout.
16738 (grub_iso9660_iterate_dir): Fix memory corruption.
16739 Use new layout.
16740 (grub_iso9660_dir): Set have_symlink.
16741 (grub_iso9660_open): Likewise.
16742
c3591189
VS
167432011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16744
16745 Remove local keyword.
16746
16747 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
16748 (version_test_gt): Likewise.
16749 (version_find_latest): Likewise.
16750 (gettext_printf): Likewise.
16751 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
16752
cb544caa
VS
167532011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16754
16755 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
16756
45bd824d
VS
167572011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16758
16759 Fix ZFS memory and resource leaks.
16760
16761 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
16762 All users updated.
16763 Free type on exit.
16764 (fill_vdev_info): New parameter inserted. All users updated.
16765 (check_pool_label): Likewise.
16766 (scan_disk): Likewise.
16767 (scan_devices): Close non-inserted disks.
16768 (fzap_iterate): Free l.
16769 (unmount_device): Free children descripto memory.
16770
ad9a2f44
VS
167712011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16772
16773 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
16774 argument (access out of bounds).
16775
6b68db81
VS
167762011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16777
16778 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
16779 >= 6 drives.
16780
28840fda
VS
167812011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16782
16783 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
16784 Fix declaration.
16785
8a5a3a5b
VS
167862011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16787
16788 Fix several memory leaks.
16789
16790 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
16791 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
16792 (grub_cpio_dir): Likewise.
16793 * grub-core/fs/fat.c (grub_fat_label): Likewise.
16794 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
16795 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
16796 (grub_romfs_label): Likewise.
16797 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
16798 (squash_unmount): New function.
16799 (grub_squash_dir): Fix memory leak.
16800 (grub_squash_open): Likewise.
16801 (grub_squash_read): Likewise.
16802 (grub_squash_mtime): Likewise.
16803 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
16804 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
16805 * util/grub-fstest.c (fstest): Likewise.
16806
57b01250
VS
168072011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16808
16809 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
16810 avoid accessing beyond the array.
16811
19e81ba7
VS
168122011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16813
16814 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
16815
52b656c0
VS
168162011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16817
16818 Several AFFS fixes.
16819
16820 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
16821 (GRUB_AFFS_FLAG_FFS): Removed.
16822 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
16823 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
16824 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
16825 (grub_fshelp_node): Make block 32-bit.
16826 Add block_cache and last_block_cache.
16827 (grub_affs_read_block): Fill and use block cache.
16828 (grub_affs_read_file): Removed.
16829 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
16830 boot block.
16831 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
16832 safety.
16833 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
16834 space.
16835 (grub_affs_close): Free block cache.
16836 (grub_affs_read): Use grub_fshelp_read_file directly.
16837
438a746a
VS
168382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16839
16840 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
16841 with no error set.
16842
49a45021
VS
168432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16844
16845 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
16846 used variable.
16847 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16848 Likewise.
16849
3ae17eb8
VS
168502011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16851
16852 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
16853
16854 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
16855 byteswap when needed.
16856
27610c38
VS
168572011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16858
16859 Fix FreeBSD compilation.
16860
16861 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
16862 to avoid circular dependency.
16863 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
16864 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
16865 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
16866
4a19b601
VS
168672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16868
16869 Fix ZFS crypto error types.
16870
16871 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
16872 (grub_gcm_decrypt): Likewise.
16873 (grub_zfs_load_key_real): Fix error code type. Handle possible error
16874 from PBKDF2.
16875
958ee221
VS
168762011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16877
16878 Illumos support.
16879
16880 * Makefile.util.def (10_illumos): New script.
16881 * configure.ac: Set COND_HOST_ILLUMOS.
16882 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
16883 Support Illumos calls.
16884 (find_partition_start) [__sun__]: Likewise.
16885 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
16886 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
16887 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
16888 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
16889 device.
16890 * util/grub-probe.c (probe) [__sun__]: Do character check.
16891 * util/grub.d/10_illumos.in: New file.
16892
cac14fb6
VS
168932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16894
16895 Support escaped commas in hostdisk.
16896
16897 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
16898 (find_grub_drive): Use unescape_cmp.
16899 (make_device_name): Escape commas.
16900
78e08dc3
VS
169012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16902
16903 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
16904
9f421dd1
VS
169052011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16906
16907 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
16908 variable.
16909
ed64e9e2
VS
169102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16911
16912 Support trampoline jumps on powerpc.
16913
16914 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
16915 __ia64__ path.
16916 (grub_dl_load_segments): Set mod->sz.
16917 (grub_dl_flush_cache): Flush whole space occupied by module, not just
16918 segments.
16919 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
16920 (jump): Likewise.
16921 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
16922 function.
16923 (trampoline): New struct.
16924 (trampoline_template): New const.
16925 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
16926 * include/grub/dl.h (grub_dl): Add sz element.
16927 [__powerpc__]: Follow __ia64__.
16928 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
16929 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
16930 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
16931 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
16932
3084ede4
VS
169332011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16934
16935 ZFS crypto support.
16936
16937 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
16938 * grub-core/Makefile.core.def (zfscrypt): New module.
16939 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
16940 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
16941 it. All users updated.
16942 (grub_zfs_decrypt): New var.
16943 (grub_zfs_load_key): Likewise.
16944 (zio_checksum_functions): Add SHA256+MAC.
16945 (zio_checksum_verify): Handle incomplete comparison due to MAC.
16946 (zio_read): Handle encrypted blocks.
16947 (zap_verify): Remove incorrect check.
16948 (fzap_iterate): Handle non-standard fzap.
16949 (zap_iterate): Likewise.
16950 (zap_iterate_u64): New function.
16951 (dnode_get_fullpath): Load keys.
16952 * grub-core/fs/zfs/zfscrypt.c: New file.
16953 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
16954 (grub_crypto_ecb_encrypt): Make input const.
16955 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
16956 (grub_crypto_ecb_encrypt): Make input const.
16957 (GRUB_CIPHER_AES): New macro.
16958 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
16959 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
16960 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
16961 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
16962 prefix. All users updated.
16963 (grub_zfs_add_key): New proto.
16964 (grub_zfs_decrypt): Likewise.
16965 (grub_zfs_load_key): Likewise.
16966 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
16967 * util/grub-fstest.c (options): Add -K option.
16968 (argp_parser): Likewise.
16969
b632b404
VS
169702011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16971
16972 Support zle compression on ZFS.
16973
16974 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
16975 (decomp_table): Add zle.
16976 * include/grub/zfs/zio.h (zio_compress): Add zle.
16977
c7ba4f69
VS
169782011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16979
16980 Support BtrFS embedding.
16981
16982 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
16983 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
16984 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
16985 * util/grub-setup.c (setup): Use fs embedding if available.
16986 Add additional sanity check.
16987
455377d9
VS
169882011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16989
16990 * util/grub-install.in: Fix condition for config_opt.
16991
c2fd16ca
VS
169922011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16993
16994 Support third redundancy strip on raidz3.
16995
16996 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
16997 Return error on singularity. All users updated.
16998 (read_device): Don't stop on 3rd failure on raidz3.
16999
8622923b
VS
170002011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
17001
17002 Support case-insensitive ZFS subvolumes.
17003
17004 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
17005 All users updated.
17006 (zap_hash): Likewise.
17007 (name_cmp): New function.
17008 (zap_leaf_array_equal): New parameter case_insensitive.
17009 All users updated.
17010 (zap_leaf_lookup): Likewise.
17011 (fzap_lookup): Likewise.
17012 (zap_lookup): Likewise.
17013 (dnode_get_path): New parameter case_insensitive. Retrieve case
17014 sensitiviness of a volume. All users updated.
17015 (dnode_get_fullpath): New parameter case_insensitive.
17016 All users updated.
17017 (grub_zfs_dir): Set info.case_insensitiveness.
17018
95f2e860
VS
170192011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
17020
17021 Support second redundancy strip on raidz(2,3).
17022
17023 * grub-core/fs/zfs/zfs.c (powx): New array.
17024 (powx_inv): Likewise.
17025 (poly): New const.
17026 (xor_out): New function.
17027 (gf_mul): Likewise.
17028 (recovery): Likewise.
17029 (read_device): Use second redundancy strip.
17030
11ee4389
VS
170312011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
17032
17033 Use a power of generator representation of GF(256) multiplication group
17034 to save space time and complexity.
17035
17036 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
17037 (raid6_table2): Likewise.
17038 (powx): New array.
17039 (powx_inv): Likewise.
17040 (poly): New const.
17041 (grub_raid_block_mul): Replace with ...
17042 (grub_raid_block_mulx): ...this.
17043 (grub_raid6_init_table): Rewritten.
17044 (grub_raid6_recover): Use power of generator representation.
17045
09e2763f
VS
170462011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
17049 for the right device.
17050
8bec9a28
VS
170512011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
17052
17053 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
17054 expected by grub-mkimage and it's more clear since there is no implicit
17055 padding.
17056
dbd3a32e
VS
170572011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
17058
17059 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
17060 disk.
17061 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
17062
182c872a
PMH
170632011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
17064
17065 * util/grub-mkrescue.in: Fix handling xorriso option.
17066
1e51cabd
VS
170672011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17068
17069 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
17070 NULL.
17071
9cc3581d 170722011-11-03 crocket <crockabiscuit@gmail.com>
17073
17074 * util/grub.d/10_linux.in: Add Slackware initrd naming.
17075
158dc1ea
VS
170762011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 XZ CRC64 and SHA256 support.
17079
17080 * Makefile.util.def (libgrubmods): Add crc64.c.
17081 * grub-core/Makefile.core.def (crc64): New module.
17082 * grub-core/lib/crc64.c: New file.
17083 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
17084 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
17085 Fix the type.
17086 (MAX_HASH_SIZE): New define.
17087 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
17088 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
17089 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
17090 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
17091 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
17092 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
17093 Handle non-crc32 hashes.
17094 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
17095 (dec_stream_header): Handle non-crc32 hashes.
17096 (dec_stream_footer): Likewise.
17097 (dec_block_header): Likewise.
17098 (dec_main): Likewise.
17099 (xz_dec_init): Likewise.
17100 (xz_dec_reset): Likewise.
17101 (xz_dec_end): Likewise.
17102 * util/import_gcry.py: Add CRC64 line.
17103
9d9b3d2f
VS
171042011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17105
17106 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
17107 as well.
17108
7d0ac931
VS
171092011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17110
17111 Make reiserfs label retrieval similar to other *_label functions.
17112
17113 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
17114 (REISERFS_MAX_LABEL_LENGTH): Removed.
17115 (REISERFS_LABEL_OFFSET): Likewise.
17116 (grub_reiserfs_label): Rewritten.
17117
171182011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17119
17120 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
17121 field.
17122
cf5ba824
VS
171232011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17124
17125 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
17126
17744004
VS
171272011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
17128
17129 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
17130 drive failure on both raidz and raidz2.
17131
aca5aefc
VS
171322011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
17133
17134 Fix RAIDZ(2) for >= 5 devices.
17135
17136 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
17137 asize argument. All users updated.
17138
ce8ca56e
VS
171392011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17140
17141 Fix RAIDZ(2).
17142
17143 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
17144 (fill_vdev_info_real): Set ashift.
17145 (read_device): Rewrite RAIDZ part based on reverse engineering.
17146
7c01e783
VS
171472011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17148
17149 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
17150 don't report potentially unavialiable fields in debug output.
17151 (find_path): Fix double-free and memory leak.
17152
ce109e84
VS
171532011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17154
17155 Read label on UFS1.
17156
17157 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
17158 (grub_ufs_fs): Always set .label.
17159
87661123
VS
171602011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17161
17162 Use shifts in UFS.
17163
17164 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
17165 (grub_ufs_data): New field log2_blksz.
17166 (grub_ufs_read_file): Use shifts.
17167 (grub_ufs_mount): Check block size and logarithm it.
17168
46bc1dc2
VS
171692011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17170
17171 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
17172 long symlinks.
17173
19ee2987
VS
171742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17175
17176 Handle symlinks and long names on tar and cpio.
17177
17178 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
17179 (ATTR_FILE): Likewise.
17180 (ATTR_DIR): Likewise.
17181 (ATTR_LNK): Likewise.
17182 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
17183 (grub_cpio_find_file): Fill mode, handle linkname field as well as
17184 L and K entries.
17185 (grub_cpio_mount): Zero-fill data.
17186 (handle_symlink): New function.
46bc1dc2
VS
17187 (grub_cpio_dir): Handle symlinks.
17188 (grub_cpio_open): Likewise.
17189 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 17190
c83a08d8
VS
171912011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17192
17193 Fix iso9660 filename limitations and fix memory leaks.
17194
17195 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
17196 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
17197
45cdd3ea
VS
171982011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17199
17200 Fix JFS file name length limitations.
17201
17202 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
17203 (grub_jfs_diropen): Fix maximum filename length.
17204 (grub_jfs_getent): Fix filename length.
17205 (grub_jfs_lookup_symlink): Fix size checks.
17206
94ef05c2
VS
172072011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
17210 string.
17211
785ab8c7
VS
172122011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17213
eb0b6b45
VS
17214 Leverage BFS implementation to read AFS.
17215
17216 * Makefile.util.def (libgrubmods): Add afs.c.
17217 * grub-core/Makefile.core.def (afs): New module
17218 * grub-core/fs/afs.c: New file.
17219 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
17220
172212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17222
17223 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 17224
c4a1628f
VS
172252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17226
17227 * grub-core/fs/bfs.c: Run indent.
17228
5825b379
VS
172292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17230
17231 BFS implementation based on the specification.
17232
17233 * grub-core/fs/bfs.c: New file.
17234 * Makefile.util.def (libgrubmods): Add bfs.c.
17235 * grub-core/Makefile.core.def (bfs): New module.
17236
42b2a706
VS
172372011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17238
17239 * util/grub-fstest.c (cmd_cp): Clarify error message.
17240 (cmd_cmp): Likewise.
17241
61b99bfc
YB
172422011-10-30 Yves Blusseau <blusseau@zetam.org>
17243
17244 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
17245 and befs_be.
17246
faba3d16
VS
172472011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
17248
17249 Remove afs and befs because of copyright problem.
17250
17251 * grub-core/fs/afs.c: Removed.
17252 * grub-core/fs/afs_be.c: Removed.
17253 * grub-core/fs/befs.c: Removed.
17254 * grub-core/fs/befs_be.c: Removed.
17255 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
17256 * grub-core/Makefile.core.def (afs): Removed.
17257 (afs_be): Likewise.
17258 (befs): Likewise.
17259 (befs_be): Likewise.
17260
c39224b0
VS
172612011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17262
17263 Prefer rockridge over Joliet.
17264
17265 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
17266 to ...
17267 (set_rockridge): ... here.
17268 (grub_iso9660_mount): Check rockridge on the primary label when
17269 discovering. Ignore Joliet if Rockridge is present.
17270
e551115a
VS
172712011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17272
17273 Use shifts in nilfs2.
17274
17275 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
17276 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
17277 (grub_nilfs2_palloc_entries_per_group): Replace with ...
17278 (grub_nilfs2_log_palloc_entries_per_group): ... this.
17279 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
17280 (grub_nilfs2_entries_per_block): Replaced with ...
17281 (grub_nilfs2_log_entries_per_block_log): ... this.
17282 (grub_nilfs2_blocks_per_group): Replaced with ...
17283 (grub_nilfs2_blocks_per_group_log): ... this.
17284 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
17285 (grub_nilfs2_blocks_per_desc_block_log): ... this.
17286 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
17287 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
17288 (grub_nilfs2_palloc_entry_offset): Replaced ...
17289 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
17290 (grub_nilfs2_dat_translate): Use shifts.
17291 (grub_nilfs2_read_inode): Likewise.
17292 (GRUB_MOD_INIT): Ensure that logs are correct.
17293
564dd58c
VS
172942011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17295
17296 Use shifts in minix filesystem.
17297
17298 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
17299 (GRUB_MINIX_ZONE2SECT): Likewise.
17300 (grub_minix_data): Replace block_size with log_block_size.
17301 (grub_minix_read_file): Use shifts.
17302 (grub_minix_mount): Check block size and take a logarithm.
17303
ed9ba06d
VS
173042011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17305
17306 Use shifts in squash4.
17307
17308 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
17309 (squash_mount): Check block size and take logarithm.
17310 (direct_read): Use shifts.
17311
ad03fe76
VS
173122011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17313
17314 Correct befs block counting logic.
17315
17316 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
17317 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
17318 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
17319 (grub_afs_read_inode): Use block_shift.
17320 (RANGE_SHIFT): New definition.
17321 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
17322 unexpected conditions, use shifts and appropriate types.
17323 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
17324
6563f63d
VS
173252011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17326
17327 * grub-core/disk/raid.c (scan_devices): Check partition.
17328 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
17329
5b1ae25f
VS
173302011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17331
17332 Support BFS (befs) UUID.
17333
17334 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
17335 (grub_afs_small_data_element_header): New struct.
17336 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
17337 (grub_afs_read_attribute) [MODE_BFS]: New function.
17338 (grub_afs_iterate_dir): Allocate for complete inode.
17339 (grub_afs_mount): Likewise.
17340 (grub_afs_uuid) [MODE_BFS]: New function.
17341 (grub_afs_fs) [MODE_BFS]: Add .uuid.
17342
f8d82408
VS
173432011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17344
17345 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
17346 (zfs_unmount): Fix memory leak.
17347
5773fb64
VS
173482011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17349
17350 Support NTFS reparse points.
17351
17352 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
17353 (symlink_descriptor): New struct.
17354 (grub_ntfs_read_symlink): New function.
17355 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
17356 (grub_ntfs_open): Likewise.
17357
91c3fdde
VS
173582011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
17361
3be82e10
VS
173622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17363
17364 fstest xnu_uuid subcommand.
17365
17366 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
17367 grub-core/commands/xnu_uuid.c.
17368 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
17369 (fstest): Handle xnu_uuid.
17370 (options): Document xnu_uuid.
17371 (argp_parser): Parse xnu_uuid.
17372
8e32442e
VS
173732011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17374
17375 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
17376 -l argument. Add newline at the end if printing.
17377 (GRUB_MOD_INIT): Document -l.
17378
52a05075
VS
173792011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17380
17381 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
17382
1869edb5
VS
173832011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17384
17385 ZFS multi-device and version 33 support.
17386
17387 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
17388 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
17389 (grub_zfs_data): Add multidev-ice-related fields.
17390 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
17391 (dva_get_offset): Make dva const.
17392 (zfs_fetch_nvlist): New function.
17393 (fill_vdev_info_real): Likewise.
17394 (fill_vdev_info): Likewise.
17395 (check_pool_label): Likewise.
17396 (scan_disk): Likewise.
17397 (scan_devices): Likewise.
17398 (read_device): Likewise.
17399 (read_dva): Likewise.
17400 (zio_read_gang): Use read_dva.
17401 (zio_read_data): Likewise.
17402 (zap_leaf_lookup): Add missing endian conversion.
17403 (zap_verify): Add missing endian conversion. All users updated.
17404 (fzap_lookup): Likewise.
17405 (fzap_iterate): Likewise.
17406 (dnode_get_path): Handle SA bonus.
17407 (nvlist_find_value): Make input const. All users updated.
17408 (unmount_device): New function.
17409 (zfs_unmount): Use unmount_device.
17410 (zfs_mount): Use scan_disk.
17411 (zfs_mtime): New function.
17412 (grub_zfs_open): Handle system attributes.
17413 (fill_fs_info): Likewise.
17414 (grub_zfs_dir): Likewise.
17415 (grub_zfs_fs): Add mtime.
17416 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
17417 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
17418 (SA_MTIME_OFFSET): Likewise.
17419 (SA_SYMLINK_OFFSET): Likewise.
17420 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
17421 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
17422 (fstest): Support zfsinfo.
17423 (argp_parser): Likewise.
17424
186b4028
VS
174252011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17426
17427 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
17428 error.
17429
174302011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
17431
17432 ZFS fixes.
17433
17434 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
17435 sharing the same block. Iterate over correct number of indices.
17436 (dnode_get_path): Handle symlinks correctly.
17437
c0584900
VS
174382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17439
17440 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
17441
67e2bd71
VS
174422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17443
17444 Read label on HFS+.
17445
17446 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
17447 (grub_hfsplus_btree_search): Fix types.
17448 (grub_hfsplus_label): Implement.
17449
e9cc6b7b
VS
174502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17451
17452 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
17453
19832ddb
VS
174542011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17455
17456 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
17457
66b40850
VS
174582011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17459
17460 Fix symlink handling on iso9660.
17461
17462 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
17463 All users updated.
17464 (grub_iso9660_susp_iterate): Accept zero-size iterate.
17465 (grub_iso9660_read_symlink): Moved most of code ...
17466 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
17467
db821363
VS
174682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17469
17470 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17471 Use union to avoid breaking strict-aliasing rules.
17472
e1211949
VS
174732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17474
17475 Support multi-extent iso files.
17476
17477 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
17478 Add node.
17479 (grub_fshelp_node): Revamp. All users updated.
17480 (FLAG_*): New enum.
17481 (read_node): New function.
17482 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
17483 All users updated.
17484 (grub_iso9660_mount): Don't attempt to read sua when there is none.
17485 (get_node_size): New function.
17486 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
17487 entries.
17488 Fix memory leak on . and ..
17489 (grub_iso9660_read): Use read_node.
17490 (grub_iso9660_close): Free node.
17491
d4888031
VS
174922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17493
17494 Fix tar 4G limit and handle paths containing dot.
17495
17496 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
17497 (canonicalize): New function.
17498 (grub_cpio_find_file): Use canonicalize. Store offs in
17499 grub_disk_addr_t.
17500 (grub_cpio_dir): Use grub_disk_addr_t.
17501 (grub_cpio_open): Likewise.
17502
9f12e664
VS
175032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17504
17505 Fix handling of uncompressed blocks on squashfs and break 4G limit.
17506
17507 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
17508 unused flags.
17509 (grub_squash_inode): Add long_file and block_size.
17510 (grub_squash_cache_inode): New struct.
17511 (grub_squash_dirent): Make types into enum.
17512 (SQUASH_TYPE_LONG_REGULAR): New type.
17513 (grub_squash_frag_desc): Add field size.
17514 (SQUASH_BLOCK_FLAGS): New enum.
17515 (grub_squash_data): Use grub_squash_cache_inode.
17516 (grub_fshelp_node): Make ino_chunk 64-bit.
17517 (read_chunk): Minor argument change. All users updated.
17518 (squash_mount): Use correct le_to_cpu.
17519 (grub_squash_open): Handle LONG_REGULAR.
17520 (direct_read): New function.
17521 (grub_squash_read_data): Handle blocks correctly.
17522
9f326fba
VS
175232011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17524
17525 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
17526
f4d9b64b
VS
175272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17528
17529 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
17530
5bbd28b8
VS
175312011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17532
17533 Fix 2G limit on ZFS.
17534
17535 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
17536 types.
17537 (uberblock_verify): Likewise.
17538 (dmu_read): Likewise.
17539 (grub_zfs_read): Likewise. Remove invalid cast.
17540
68c72069
VS
175412011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17542
17543 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
17544 (grub_jfs_blkno): Fix incorrect shift.
17545 (grub_jfs_read_file): Use more appropriate types.
17546
6e536dc8
VS
175472011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17548
17549 Support triple indirect on minix2 and minix3.
17550
17551 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
17552 Declare triple_indir_zone.
17553 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
17554 indirect.
17555
e0864e7a
VS
175562011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17557
17558 Minix FS fixes.
17559
17560 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
17561 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
17562 Rename ctime to mtime. All users updated.
17563 (grub_minix_get_file_block): Fix types and double indirect computations.
17564
89481cab
VS
175652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17566
17567 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
17568 if no label is found.
17569 (grub_fat_iterate_dir): Fix file size type.
17570 (grub_fat_iterate_dir): Likewise.
17571
f646e143
VS
175722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17573
17574 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
17575 save some space.
17576 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17577 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17578
534d769e
VS
175792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17580
17581 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
17582
e084ba18
VS
175832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17584
17585 * util/import_gcry.py: Accept space between # and include.
17586
3471ecdf
VS
175872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17588
17589 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
17590
124df5f6
VS
175912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17592
17593 Fine grainely disable warnings on lexer. Remove Wno-error on it.
17594
17595 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
17596 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
17597 yylex_strncpy.
17598 * grub-core/script/yylex.l: Add fine-grained #pragma.
17599
4defb8d5
VS
176002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17601
17602 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
17603 New inline function.
17604 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
17605 Likewise.
17606 (memset) [GRUB_UTIL]: Likewise.
17607 (memcmp) [GRUB_UTIL]: Likewise.
17608
4e94ae65
VS
176092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
17612 inline function rather than a define.
17613
18c575e5
VS
176142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17615
17616 * util/grub-setup.c: Add missing include.
17617
f8bc22a8
VS
176182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17619
17620 * util/ieee1275/grub-ofpathname.c: Add missing include.
17621
3ce69fc9
VS
176222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17623
17624 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
17625 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
17626 Likewise.
17627
d1e293bb
VS
176282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17629
17630 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
17631 grub_memcmp usage.
17632
7a5c54a4
VS
176332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17634
17635 * util/grub-install.in: Add datarootdir as per automake manual
17636 suggestion.
17637 * util/grub-mknetdir.in: Likewise.
17638
176392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
17640
17641 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
17642 suggestion.
17643 * util/grub.d/10_kfreebsd.in: Likewise.
17644 * util/grub.d/10_linux.in: Likewise.
17645 * util/grub.d/10_netbsd.in: Likewise.
17646 * util/grub.d/10_windows.in: Likewise.
17647 * util/grub.d/20_linux_xen.in: Likewise.
17648
766f7d08
VS
176492011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
17650
17651 Remove redundant grub_kernel_image_size.
17652
17653 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
17654 _edata and _start.
17655 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
17656 the small code. It moves it only by few bytes but simplifies the code.
17657 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
17658 _start.
17659 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
17660 (grub_kernel_image_size): Removed.
17661 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
17662 (grub_kernel_image_size): Removed.
17663 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
17664 compiled with Apple toolchain.
17665 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
17666 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
17667 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
17668 (grub_total_module_size): Likewise.
17669 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
17670 Removed.
17671 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
17672 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
17673 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
17674 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
17675 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
17676 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
17677 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
17678 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
17679 Removed.
17680 (grub_total_module_size): Removed.
17681 * util/grub-mkimage.c (image_target_desc): Remove image_size.
17682 (image_targets): Likewise.
17683 Set .compressed_size to no field on sparc.
17684 (generate_image): Remove kernel_image_size handling.
17685
fcf1d672
SJ
176862011-10-19 Szymon Janc <szymon@janc.net.pl>
17687
17688 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
17689 NULL pointer dereference.
17690
de9c615e
VS
176912011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17692
17693 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
17694 done with a dedicated section.
17695
17696 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
17697 Ensure the correct position of boot_path.
17698 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
17699 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
17700 other fields.
17701 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
17702 * include/grub/boot.h: Removed. All references removed.
17703 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
17704 Removed.
17705 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
17706
e55599dc
VS
177072011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17708
17709 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
17710 name.
17711
36dd20ad
VS
177122011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17713
17714 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
17715
f8f72eb8
VS
177162011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17717
17718 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17719 Don't add the bogus brackets.
17720
a374751b
VS
177212011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17722
17723 ExFAT support.
17724
17725 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
17726 * grub-core/Makefile.core.def (exfat): New module.
17727 * grub-core/fs/exfat.c: New file.
17728 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
17729 (GRUB_FAT_ATTR_*): Make into an enum.
17730 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
17731 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
17732 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
17733 (GRUB_FAT_MAXFILE): Removed.
17734 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
17735 (grub_current_fat_bpb_t): New type.
17736 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
17737 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
17738 (grub_fat_dir_node_t): New type.
17739 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
17740 (fat_log2) [MODE_EXFAT]: Removed.
17741 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
17742 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
17743 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
17744 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
17745 (grub_fat_label) [MODE_EXFAT]: New function.
17746 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
17747 reserved_first_sector to 0.
17748
544c2487
VS
177492011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17750
17751 Move grub_reboot out of the kernel.
17752
17753 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
17754 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
17755 * grub-core/lib/efi/reboot.c: ... here.
17756 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
17757 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17758 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
17759 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
17760 * grub-core/lib/i386/reboot_trampoline.S: ... here.
17761 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
17762 * grub-core/lib/ieee1275/reboot.c: ... here.
17763 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
17764 * grub-core/lib/mips/arc/reboot.c: ... here.
17765 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
17766 * grub-core/lib/mips/loongson/reboot.c: ...here.
17767 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
17768 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
17769 * include/grub/emu/misc.h (grub_reboot): New function declaration.
17770 * include/grub/i386/reboot.h: New file.
17771 * include/grub/mips/loongson/ec.h: Fix includes.
17772 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
17773 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
17774 * grub-core/lib/i386/reboot.c: New file.
17775
a97501d2
VS
177762011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
17777
17778 Make grub_prefix into module to fix the arbitrary limit and save
17779 some space.
17780
17781 * grub-core/kern/emu/main.c (grub_prefix): Removed.
17782 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
17783 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
17784 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
17785 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
17786 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
17787 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
17788 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
17789 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17790 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
17791 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
17792 * include/grub/ia64/efi/kernel.h: Removed.
17793 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
17794 (grub_prefix): Removed.
17795 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
17796 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
17797 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
17798 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
17799 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
17800 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
17801 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
17802 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
17803 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
17804 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
17805 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17806 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17807 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17808 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17809 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
17810 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
17811 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
17812 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17813 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
17814 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
17815 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
17816 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
17817 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
17818 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
17819 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
17820 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
17821 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
17822 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
17823 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
17824 from module.
17825 * util/grub-mkimage.c (image_target_desc): Removed prefix and
17826 prefix_end.
17827 (image_targets): Likewise.
17828 (generate_image): Put prefix as a module.
17829
39705fad
VS
178302011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17831
17832 Replace grub_module_iterate with FOR_MODULES.
17833
17834 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
17835 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
17836 (grub_efi_modules_addr): ...this.
17837 * grub-core/kern/efi/init.c (grub_modbase): New variable.
17838 (grub_efi_init): Set grub_modbase.
17839 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
17840 (grub_modbase): New variable.
17841 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
17842 (grub_modbase): New variable.
17843 (grub_machine_init): Set grub_modbase.
17844 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
17845 (grub_modbase): New variable.
17846 (grub_machine_init): Set grub_modbase.
17847 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
17848 (grub_modbase): New variable.
17849 (grub_machine_init): Set grub_modbase.
17850 * grub-core/kern/main.c (grub_module_iterate): Remove.
17851 (grub_modules_get_end): Use grub_modbase.
17852 (grub_load_modules): Use FOR_MODULES.
17853 (grub_load_config): Likewise.
17854 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
17855 (grub_modbase): New variable.
17856 (grub_machine_init): Set grub_modbase.
17857 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
17858 (grub_modbase): New variable.
17859 (grub_machine_init): Set grub_modbase.
17860 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
17861 Removed.
17862 (grub_modbase): New variable.
17863 (grub_machine_init): Set grub_modbase.
17864 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
17865 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
17866 (grub_module_iterate): Likewise.
17867 (grub_modbase): New variable declaration.
17868 (FOR_MODULES): New macro.
17869
2afb7f6c
VS
178702011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17871
17872 * configure.ac: Check for __ctzdi2 and __ctzsi2.
17873 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
17874
366e34fa
VS
178752011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17876
17877 Fix few obvious type discrepancies.
17878
17879 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
17880 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
17881 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
17882 variable.
17883 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
17884 and connected types.
17885 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
17886 offset.
17887 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
17888 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
17889 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
17890 and connected types.
17891
177b960e
VS
178922011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17893
17894 Fix python 3.x incompatibilities.
17895
17896 * gentpl.py: Put brackets around print strings.
17897 * util/import_gcry.py: Open explicitly as utf-8.
17898 Use in instead of has_key.
17899
3b619ae1
VS
179002011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17901
17902 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
17903 (GRUB_XFS_INO_AGBITS): Make into inline function.
17904 (GRUB_XFS_INO_INOINAG): Likewise.
17905 (GRUB_XFS_INO_AG): Likewise.
17906 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17907 (GRUB_XFS_EXTENT_OFFSET): Likewise.
17908 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17909 (GRUB_XFS_EXTENT_SIZE): Likewise.
17910 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
17911 (GRUB_XFS_NEXT_DIRENT): Likewise.
17912 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
17913 (grub_xfs_read_file): Fix offset type.
17914
8bcebcb8
RM
179152011-10-15 Robert Millan <rmh@gnu.org>
17916
17917 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
17918
0017e5ef
RM
179192011-10-15 Robert Millan <rmh@gnu.org>
17920
17921 Fix build problem on FreeBSD and GNU/kFreeBSD.
17922
17923 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
17924
d8919552
VS
179252011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17926
17927 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
17928
17929 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
17930 types.
17931 (grub_hfsplus_btree_recoffset): Likewise.
17932 (grub_hfsplus_btree_recptr): Likewise.
17933 (grub_hfsplus_find_block): Likewise.
17934 (grub_hfsplus_btree_search): Likewise.
17935 (grub_hfsplus_read_block): Likewise.
17936 (grub_hfsplus_read_file): Likewise.
17937 (grub_hfsplus_mount): Likewise.
17938 (grub_hfsplus_btree_iterate_node): Likewise.
17939 (grub_hfsplus_btree_search): Likewise.
17940 (grub_hfsplus_iterate_dir): Likewise.
17941 (grub_hfsplus_read): A small code simplification.
17942
c81296b6
VS
179432011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17944
17945 * grub-core/kern/emu/hostdisk.c
17946 (convert_system_partition_to_system_disk): Don't assume that children
17947 of mapper nodes are mapper nodes.
17948
0eb8ffb1
VS
179492011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17950
17951 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
17952 * include/grub/misc.h (grub_isxdigit): New function.
17953 * grub-core/video/colors.c (my_isxdigit): Removed. All users
17954 switched to grub_isxdigit.
17955 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
17956 number starting with a letter.
17957
a98f4a08
RM
179582011-10-09 Robert Millan <rmh@gnu.org>
17959
17960 LVM support for FreeBSD and GNU/kFreeBSD.
17961
17962 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
17963 GNU/kFreeBSD.
17964 (LVM_DEV_MAPPER_STRING): Move from here ...
17965 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
17966 * util/getroot.c: Include `<grub/util/lvm.h>'.
17967 (grub_util_get_dev_abstraction): Enable
17968 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
17969 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
17970 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
17971 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
17972 support it.
17973 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
17974 GNU/kFreeBSD.
17975 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
17976 when LVM abstraction is required for ${GRUB_DEVICE}.
17977
050e8e90
SJ
179782011-10-06 Szymon Janc <szymon@janc.net.pl>
17979
17980 Add support for LZO compression in GRUB:
17981 - import of minilzo library,
17982 - LZO decompression for btrfs,
17983 - lzop files decompression.
17984
17985 * grub-core/io/lzopio.c: New file.
17986 * grub-core/lib/adler32.c: Likewise.
17987 * grub-core/lib/minilzo/lzoconf.h: Likewise.
17988 * grub-core/lib/minilzo/lzodefs.h: Likewise.
17989 * grub-core/lib/minilzo/minilzo.c: Likewise.
17990 * grub-core/lib/minilzo/minilzo.h: Likewise.
17991 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
17992 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
17993 grub-core/lib/minilzo/minilzo.c to common.
17994 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
17995 cflags in cppflags.
17996 * grub-core/Makefile.core.def (btrfs): Likewise.
17997 * grub-core/Makefile.core.def (lzopio): New module.
17998 (adler32): Likewise.
17999 * grub-core/fs/btrfs.c: Include minilzo.h.
18000 (GRUB_BTRFS_COMPRESSION_LZO): New define.
18001 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
18002 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
18003 (grub_btrfs_lzo_decompress): New function.
18004 (grub_btrfs_extent_read): Add support for LZO compression type.
18005 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
18006 (GRUB_USHRT_MAX): Likewise.
18007 (GRUB_UINT_MAX): Likewise.
18008 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
18009 (UINT_MAX): Likewise.
18010 (CHAR_BIT): Likewise.
18011 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
18012 grub-core/lib/posix_wrap/limits.h
18013 (UCHAR_MAX): Likewise.
18014 * include/grub/file.h (grub_file_filter_id): New compression filter
18015 GRUB_FILE_FILTER_LZOPIO.
18016 * include/grub/file.h (grub_file_filter_id): Set
18017 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
18018 * include/grub/types.h (grub_get_unaligned16): New function.
18019 (grub_get_unaligned32): Likewise.
18020 (grub_get_unaligned64): Likewise.
18021 * util/import_gcry.py (cryptolist): Add adler32.
18022
0eb8ffb1
VS
180232011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
18024
18025 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
18026 in perspective decreases the complexity of build system and fixes
18027 compilation right now.
18028
ce79cc99 180292011-10-01 Ales Nesrsta <starous@volny.cz>
18030
18031 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
18032 (fixed problem related to using UHCI with coreboot).
18033
8667a314
BC
180342011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
18035
18036 * gentpl.py: Use Autogen macros so that the output template file
18037 (Makefile.tpl) size is reduced.
18038
fc5efcc0
MK
180392011-09-29 Mads Kiilerich <mads@kiilerich.com>
18040
18041 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
18042 extra_dist.
18043
d1ab689d
ML
180442011-09-29 Mario Limonciello <mario_limonciello@dell.com>
18045
18046 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
18047 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
18048
c05de032
ML
180492011-09-29 Mario Limonciello <mario_limonciello@dell.com>
18050
18051 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
18052 _fullpath.
18053
cca7ccd8
ML
180542011-09-29 Mario Limonciello <mario_limonciello@dell.com>
18055
18056 Remove extra declaration of sleep for mingw32.
18057
18058 * util/misc.c (sleep) [__MINGW32__]: Removed.
18059 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
18060
e0b0dc83
GS
180612011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
18062
18063 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
18064 type and packname.
18065 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
18066 Resurrected.
18067 (NETBSD_BTINFO_BOOTWEDGE): New definition.
18068 (grub_netbsd_btinfo_bootwedge): New struct.
18069 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
18070 New function.
18071 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
18072
91a1a164
TH
180732011-09-28 Thomas Haller <thomas.haller@fen-net.de>
18074
18075 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
18076 loader.
18077
2ded951e
AB
180782011-09-28 Andreas Born <futur.andy@googlemail.com>
18079
18080 Fix incorrect identifiers in bash-completion.
18081
18082 * util/bash-completion.d/grub-completion.bash.in
18083 (_grub_mkpasswd-pbkdf2): Rename to ...
18084 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
18085 (_grub_script-check): Rename to ...
18086 (_grub_script_check): ... this. All users updated.
18087
69915030
VS
180882011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
18089
18090 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
18091 Return 0 if disk isn't biosdisk.
18092
20fd15f9
GS
180932011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
18094
18095 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
18096 on NetBSD.
18097 * Makefile.util.def (grub-fstest): Likewise.
18098
1a7d7db9
GS
180992011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
18100
18101 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
18102 Get sector size from disk label.
18103
2221ab6c
CW
181042011-09-05 Colin Watson <cjwatson@ubuntu.com>
18105
18106 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
18107 */README* as well as README*.
18108 Reported by: Axel Beckert.
18109
ca51c4a0
VS
181102011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18111
18112 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
18113 case of less than 256 MiB of RAM.
18114
ab80f326
VS
181152011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18116
18117 * grub-core/commands/wildcard.c (make_regex): Handle @.
18118
4155e697
VS
181192011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18120
18121 * util/grub-install.in: Move cryptodisk logic to appropriate place.
18122
ab178c08
SJ
181232011-08-21 Szymon Janc <szymon@janc.net.pl>
18124
18125 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
18126 AC_LANG_CONFTEST macros.
18127
7dc3c686
SJ
181282011-08-20 Szymon Janc <szymon@janc.net.pl>
18129
18130 Add grub-fstest option to uncompress data for commands.
18131
18132 * util/grub-fstest.c (uncompress): New var.
18133 (options): New option -u.
18134
fe8d4a7b
SJ
181352011-08-20 Szymon Janc <szymon@janc.net.pl>
18136
18137 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
18138 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
18139
a5219af1
SJ
181402011-08-20 Szymon Janc <szymon@janc.net.pl>
18141
18142 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
18143 file type was not recognized correctly (not gzip or corrupted).
18144
f87abff5
VS
181452011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18146
18147 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
18148 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
18149
d94497ea
VS
181502011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18151
18152 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
18153 loongson.
18154 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
18155 video_radeon_fuloong2e.
18156 * grub-core/video/radeon_fuloong2e.c: New file.
18157 * include/grub/video.h (grub_video_id_t): Add new ID
18158 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
18159
0d1fd011
VS
181602011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18161
18162 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
18163 define.
18164 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
18165 that PRID matches the detected subplatform and reset the subplatform
18166 if it doesn't.
18167
84beb0ee
VS
181682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18169
18170 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
18171
1227c133
VS
181722011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18173
18174 Fix PCI iterating on functions >= 4.
18175
18176 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
18177 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
18178 Removed.
18179 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
18180 (grub_pci_read): Fix bitmask.
18181 (grub_pci_read_word): Likewise.
18182 (grub_pci_read_byte): Likewise.
18183 (grub_pci_write): Likewise.
18184 (grub_pci_write_word): Likewise.
18185 (grub_pci_write_byte): Likewise.
18186
9594c689
VS
181872011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18188
18189 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
18190 can still be specified in TARGET_CFLAGS)
18191
14a2562c
VS
181922011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18193
18194 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
18195
18196 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
18197 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
18198 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
18199 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
18200 (FULOONG): Rename to ...
18201 (FULOONG2F): ... this. All users updated.
18202 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
18203 (machtype_fuloong2f_str): ... this.
18204 (machtype_fuloong2e_str): New string.
18205 Check for machtype_fuloong2e_str.
18206 * grub-core/loader/mips/linux.c (loongson_machtypes)
18207 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
18208 * grub-core/term/serial.c (loongson_defserial)
18209 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
18210 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
18211 loongson_defserial.
18212 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
18213 Rename to ...
18214 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
18215 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
18216 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
18217 to IMAGE_FULOONG2F_FLASH. All users updated.
18218 (image_targets): Rename images.
18219 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
18220
b526cbb6
SJ
182212011-08-19 Szymon Janc <szymon@janc.net.pl>
18222
18223 Make enable of disk cache statistics code configurable.
18224
18225 * configure.ac: --enable-cache-stats added.
18226 * config.h.in (DISK_CACHE_STATS): New define.
18227 * grub-core/Makefile.core.def (cacheinfo): New command.
18228 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
18229 * grub-core/commands/cacheinfo.c: New file.
18230 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
18231 moved to cacheinfo.c.
18232 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
18233 debug code.
18234 * include/grub/disk.h: Likewise.
18235
fb739ccd
SJ
182362011-08-19 Szymon Janc <szymon@janc.net.pl>
18237
18238 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
18239 * grub-core/Makefile.am: Likewise.
18240
2bba8cfd
VS
182412011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18242
18243 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
18244 non-zero pull.
18245
43526629
VS
182462011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18247
18248 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
18249 All users updated.
18250 (grub_jfs_lookup_symlink): Use correct starting inode.
18251
5c144cc8
VS
182522011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18253
18254 * util/grub-setup.c (main): Add missing gcry initialisation.
18255
b1257f65
VS
182562011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18257
18258 Don't accept text modes on EFI when booting Linux.
18259
18260 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
18261 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
18262
828bc390
ML
182632011-08-15 Mario Limonciello <mario_limonciello@dell.com>
182642011-08-15 Colin Watson <cjwatson@ubuntu.com>
18265
18266 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
18267 use of "/path/.." as in grub-install for EFI as well as handling
18268 symlinks correctly.
18269 Fixes Debian bug #637768.
18270
5f60ccac
CW
182712011-08-15 Colin Watson <cjwatson@ubuntu.com>
18272
18273 * util/grub-probe.c: Remove duplicate #include.
18274
6dc212f9
RM
182752011-08-10 Robert Millan <rmh@gnu.org>
18276
18277 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
18278
18279 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
18280 function.
18281 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
18282 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
18283
66816d85
RM
182842011-08-03 Robert Millan <rmh@gnu.org>
18285
18286 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
18287 la_array as packed.
18288 Reported by: Zachary Bedell
18289
20168fca
CW
182902011-07-26 Colin Watson <cjwatson@ubuntu.com>
18291
18292 * configure.ac: The Loongson port requires grub-mkfont due to its
18293 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
18294 be built.
18295
303b6246
CW
182962011-07-26 Colin Watson <cjwatson@ubuntu.com>
18297
18298 * util/grub-install.in: Don't source grub-mkconfig_lib until after
18299 processing arguments (otherwise help2man fails when GRUB has not yet
18300 been installed).
18301
6795300e
VS
183022011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18303
41aa28ea
VS
18304 New script grub-mkstandalone.
18305
18306 * Makefile.util.def (grub-mkstandalone): New script.
18307 * docs/man/grub-mkstandalone.h2m: New file.
18308 * util/grub-mkstandalone.in: Likewise.
18309
183102011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18311
18312 Support ATA disks with 4K sectors.
6795300e
VS
18313
18314 * include/grub/ata.h (grub_ata): New member log_sector_size.
18315 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
18316 (grub_ata_identify): Read sector size.
18317 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
18318
92227597
VS
183192011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18320
18321 * util/grub-install.in: Don't use uhci outside of x86.
18322
c77069f5
VS
183232011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18324
18325 * util/grub-mkrescue.in: Add missing quotes.
18326
183272011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
18328
18329 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
18330 dereference.
18331
583168a2
VS
183322011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18333
18334 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
18335
6be1c01f
VS
183362011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 * include/grub/video.h: add missing EXPORT_FUND on
18339 grub_video_edid_checksum and grub_video_edid_preferred_mode.
18340
a1167439
VS
183412011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18342
18343 * include/grub/mips/kernel.h: Fix define conflict.
18344
bf66054f
VS
183452011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18346
18347 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
18348 all four ways.
18349
8fc4fa45
CW
183502011-07-21 Colin Watson <cjwatson@ubuntu.com>
18351
18352 Preferred resolution detection for VBE.
18353
18354 * grub-core/video/video.c (grub_video_edid_checksum): New function.
18355 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
18356 the Flat Panel extension, in line with the X.org VESA driver.
18357 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
18358 New function.
18359 (grub_vbe_bios_get_ddc_capabilities): Likewise.
18360 (grub_vbe_bios_read_edid): Likewise.
18361 (grub_vbe_get_preferred_mode): Likewise.
18362 (grub_video_vbe_setup): When the mode is "auto", try to get the
18363 preferred mode from VBE, and use the largest mode that is no larger
18364 than the preferred mode (some BIOSes expose a preferred mode that is
18365 not in their mode list!). If this fails, fall back to 640x480 as a
18366 safe conservative choice.
18367 (grub_video_vbe_get_edid): New function.
18368 (grub_video_vbe_adapter): Add get_edid.
18369 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
18370 (struct grub_video_adapter): Add get_edid.
18371 (grub_video_edid_checksum): Add prototype.
18372 (grub_video_edid_preferred_mode): Likewise.
18373 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
18374 structure.
18375
18376 * grub-core/commands/videoinfo.c (print_edid): New function.
18377 (grub_cmd_videoinfo): Print EDID if available.
18378
18379 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
18380 is more appropriate on a wider range of platforms than 640x480.
18381 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
18382 documentation.
18383
ca5572a9
VS
183842011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18385
18386 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
18387
e4bcf625
VS
183882011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18389
18390 * po/POTFILES.in: Regenerate.
18391
c4edd548
VS
183922011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18393
18394 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
18395 incorrect memory usage.
18396
16a2bab0
VS
183972011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18398
18399 * util/grub-install.in: Source grub-mkconfig_lib.
18400
2e418de6
VS
184012011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18402
18403 Remove getroot.c from core on emu platform.
18404
18405 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
18406 kern/emu/raid.c.
18407 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
18408 useless.
18409 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
18410 * util/getroot.c (get_win32_path): ... here.
18411 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
18412 * util/getroot.c (fini_libzfs): ... here.
18413 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
18414 * util/getroot.c (grub_get_libzfs_handle): ... here.
18415 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
18416 Moved from here...
18417 * util/getroot.c (grub_find_zpool_from_dir): ... here.
18418 * grub-core/kern/emu/misc.c
18419 (grub_make_system_path_relative_to_its_root): Moved from here...
18420 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
18421 * grub-core/kern/emu/getroot.c: Moved from here ...
18422 * util/getroot.c: ... here. All users updated.
18423 * grub-core/kern/emu/raid.c: Moved from here ...
18424 * util/raid.c: ... here. All users updated.
18425
def9832a
VS
184262011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18427
18428 * po/POTFILES.in: Regenerate.
18429
cd8fe79a
VS
184302011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18431
18432 Fix compilation on GNU/Linux.
18433
18434 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
18435 Disable geli.
18436 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
18437 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
18438 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
18439
a251b719
VS
184402011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
184412011-07-07 Michael Gorven <michael@gorven.za.net>
184422011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
18443
18444 LUKS and GELI support.
18445
18446 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
18447 grub-core/disk/luks.c, grub-core/disk/geli.c,
18448 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
18449 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
18450 grub-core/lib/arg.c.
18451 (libgrubmods.a): Remove gcrypts cflags and cppflags.
18452 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
18453 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
18454 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
18455 (grub-bin2h): Add libgcry.a.
18456 (grub-mkimage): Likewise.
18457 (grub-mkrelpath): Likewise.
18458 (grub-script-check): Likewise.
18459 (grub-editenv): Likewise.
18460 (grub-mkpasswd-pbkdf2): Likewise.
18461 (grub-pe2elf): Likewise.
18462 (grub-fstest): Likewise.
18463 (grub-mkfont): Likewise.
18464 (grub-mkdevicemap): Likewise.
18465 (grub-probe): Likewise.
18466 (grub-ofpath): Likewise.
18467 (grub-mklayout): Likewise.
18468 (example_unit_test): Likewise.
18469 (grub-menulst2cfg): Likewise.
18470 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
18471 * grub-core/Makefile.core.def (cryptodisk): New module.
18472 (luks): Likewise.
18473 (geli): Likewise.
18474 * grub-core/disk/AFSplitter.c: New file.
18475 * grub-core/disk/cryptodisk.c: Likewise.
18476 * grub-core/disk/geli.c: Likewise.
18477 * grub-core/disk/luks.c: Likewise.
18478 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
18479 grub_util_is_lvm.
18480 (grub_util_get_dm_abstraction): New function.
18481 (grub_util_follow_gpart_up): Likewise.
18482 (grub_util_get_geom_abstraction): Likewise.
18483 (grub_util_get_dev_abstraction): Use new functions.
18484 (grub_util_pull_device): Pull GELI and LUKS.
18485 (grub_util_get_grub_dev): Handle LUKS and GELI.
18486 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
18487 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
18488 (follow_geom_up): Removed.
18489 (grub_util_fd_seek): New function.
18490 (open_device): Use grub_util_fd_seek.
18491 (nread): Rename to ..
18492 (grub_util_fd_read): ... this. All users updated.
18493 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
18494 (grub_crypto_cbc_decrypt): Likewise.
18495 (grub_crypto_hmac_write): Likewise.
18496 (grub_crypto_hmac_buffer): Likewise.
18497 (grub_password_get): Extend to util.
18498 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
18499 New member modname.
18500 (gcry_md_spec) [GRUB_UTIL]: Likewise.
18501 * include/grub/cryptodisk.h: New file.
18502 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
18503 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
18504 LUKS and GELI.
18505 (grub_util_follow_gpart_up): New proto.
18506 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
18507 (grub_util_fd_read): Likewise.
18508 (grub_cryptodisk_cheat_mount): Likewise.
18509 (grub_util_cryptodisk_print_uuid): Likewise.
18510 (grub_util_get_fd_sectors): Likewise.
18511 * util/grub-fstest.c (mount_crypt): New var.
18512 (fstest): Mount crypto if requested.
18513 (options): New option -C.
18514 (argp_parser): Parse -C.
18515 (main): Init and fini gcry.
18516 * util/grub-install.in: Support cryptodisk install.
18517 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
18518 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
18519 cryptodisk.
18520 (prepare_grub_to_access_device): Likewise.
18521 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
18522 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
18523 (probe_cryptodisk_uuid): New function.
18524 (probe_abstraction): Likewise.
18525 (probe): Use new functions.
18526 * util/import_gcry.py: Create Makefile.utilgcry.def.
18527 Add modname member.
18528
9bfdcbbc
VS
185292011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18530
18531 Lazy device scanning.
18532
18533 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
18534 (grub-setup): Remove util/raid.c.
18535 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
18536 * grub-core/disk/lvm.c (scan_depth): New variable.
18537 (grub_lvm_iterate): Rescan if necessary.
18538 (find_lv): New function based on grub_lvm_open.
18539 (grub_lvm_open): Use find_lv. Rescan on error.
18540 (is_node_readable): New function.
18541 (is_lv_readable): Likewise.
18542 (grub_lvm_scan_device): Skip already found disks.
18543 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
18544 Stop if searched device is found and readable.
18545 * grub-core/disk/raid.c (inscnt): New variable.
18546 (scan_depth): Likewise.
18547 (scan_devices): New function based on grub_raid_register. Abort if
18548 looked for device is found.
18549 (grub_raid_iterate): Rescan if needed.
18550 (find_array): NEw function based on -grub_raid_open.
18551 (grub_raid_open): Use find_array and rescan.
18552 (insert_array): Set became_readable_at.
18553 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
18554 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
18555 New function.
18556 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
18557 (grub_util_pull_device): New function.
18558 (grub_util_get_grub_dev): Call grub_util_pull_device.
18559 * util/raid.c: Moved to ..
18560 * grub-core/kern/emu/raid.c: ... here.
18561 (grub_util_raid_getmembers): New parameter "bootable".
18562 All users updated. Support 1.x.
18563 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
18564 All users updated.
18565 * include/grub/disk.h (grub_disk_pull_t): New enum.
18566 (grub_disk_dev): Change iterate prototype.
18567 All users updated.
18568 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
18569 New proto.
18570 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
18571 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
18572 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
18573 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
18574 All users updated.
18575 * include/grub/util/raid.h: Removed.
18576
1c358e59
VS
185772011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18578
18579 * po/POTFILES.in: Regenerate.
18580
abee94ed
VS
185812011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18582
18583 Unify sparc init with other ieee1275.
18584
18585 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
18586 instead of kern/sparc64/ieee1275/init.c.
18587 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
18588 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
18589 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
18590 grub/machine/kernel.h.
18591 (grub_ieee1275_original_stack) [__sparc__]: New variable.
18592 (grub_claim_heap) [__sparc__]: Use sparc version.
18593 (grub_machine_init): Moved args parsing to
18594 (grub_parse_cmdline): ...this.
18595 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
18596 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
18597 New definition.
18598 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
18599
18600 Move BOOTP to separate file.
18601
18602 * grub-core/Makefile.core.def (net): Add net/bootp.c.
18603 * grub-core/net/net.c: Move all BOOTP functions to
18604 * grub-core/net/bootp.c: ... here.
18605
18606 Use frame interface on PXE.
18607
18608 * grub-core/Makefile.core.def (pxecmd): Removed.
18609 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
18610 * grub-core/commands/i386/pc/pxecmd.c: Removed.
18611 * grub-core/i386/pc/pxe.c: Moved from here ...
18612 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
18613 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
18614 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
18615
18616 EFI network support.
18617
18618 * grub-core/Makefile.core.def (efinet): New module.
18619 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
18620 here...
18621 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
18622 All users updated.
18623 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
18624 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
18625 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
18626 * grub-core/net/drivers/efi/efinet.c: New file.
18627 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
18628 (grub_efi_net_config): New extern var.
18629
18630 Various cleanups and bugfixes.
18631
18632 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
18633 error.
18634 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
18635 disk declared as partition.
18636 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
18637 leak on failure.
18638 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
18639 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
18640 (grub_debug_zalloc): Likewise.
18641 (grub_debug_realloc): Likewise.
18642 (grub_debug_memalign): Likewise.
18643 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
18644 Check that target is IPv4.
18645 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
18646 local-mac-address as fallback.
18647 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
18648 memory leak.
18649 * grub-core/net/ip.c (ipchksum): Rename to ...
18650 (grub_net_ip_chksum): ... this. All users updated.
18651 (grub_net_recv_ip_packets): Special handling for DHCP.
18652 * util/grub-mkimage.c (generate_image): Zero-out aout header.
18653
18654 Unify prefix handling
18655
18656 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
18657 (grub_machine_get_bootlocation): ... this.
18658 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
18659 (grub_machine_get_bootlocation): ... this.
18660 (grub_prefix): New variable.
18661 (prefix): Removed.
18662 (root_dev): New variable.
18663 (dir): Likewise.
18664 (main): Use new variables.
18665 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
18666 Revamped into ...
18667 (grub_machine_get_bootlocation): ... this.
18668 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
18669 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
18670 (grub_machine_get_bootlocation): ... this.
18671 (grub_machine_set_prefix): Removed.
18672 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
18673 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
18674 Revamped into ...
18675 (grub_machine_get_bootlocation): ... this.
18676 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
18677 (grub_set_prefix_and_root): ... this. All users updated.
18678 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
18679 Revamped into ...
18680 (grub_machine_get_bootlocation): ... this.
18681 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
18682 (grub_machine_get_bootlocation): New proto.
18683 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
18684
18685 Less intrusive and more reliable seek on network implementation.
18686
18687 * grub-core/kern/file.c (grub_file_net_seek): Removed.
18688 (grub_file_seek): Don't call grub_file_net_seek.
18689 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
18690 (grub_net_fs_read_real): .. this.
18691 (grub_net_seek_real): Use net->offset.
18692 (grub_net_fs_read): Seek if necessary.
18693
18694 Unify IEEE1275 netwotk config with the other platforms.
18695
18696 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
18697 New variable.
18698 (grub_machine_get_bootlocation): Support network.
18699 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
18700 Support type and device parsing.
18701 (grub_ieee1275_get_device_type): New function.
18702 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
18703 into ...
18704 (grub_ieee1275_net_config_real): ... this.
18705 (grub_ofnet_probecards): Removed.
18706 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
18707 * include/grub/ieee1275/ofnet.h: Removed.
18708 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
18709 extern var.
18710 (grub_ieee1275_get_device_type): New function.
18711
18712 Unify network device closing across platforms and make more robust.
18713
18714 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
18715 grub_grubnet_fini.
18716 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
18717 already.
18718 * grub-core/net/net.c (grub_net_network_level_interface_register):
18719 Update num_ifaces.
18720 (grub_net_card_unregister): Close all interfaces.
18721 (receive_packets): Don't poll if no iterfaces are registered.
18722 Open if necessary.
18723 (grub_net_fini_hw): New function.
18724 (grub_net_restore_hw): Likewise.
18725 (fini_hnd): New variable.
18726 (GRUB_MOD_INIT): Register preboot hook.
18727 (GRUB_MOD_FINI): Run and unregister preboot hook.
18728
18729 Poll network cards when idle.
18730
18731 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
18732 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
18733 * grub-core/net/net.c (receive_packets): Save last poll time.
18734 (grub_net_poll_cards_idle_real): New function.
18735 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
18736 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
18737 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
18738
18739 Rename ofnet interfaces.
18740
18741 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
18742 (grub_ofnet_findcards): Use ofnet_%s names.
18743
18744 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
18745
18746 Cleanup socket opening.
18747
18748 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
18749 (grub_net_fs_close): Likewise.
18750 (grub_net_fs_read_real): Use eof member.
18751 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
18752 (+grub_net_udp_close): New inline function.
18753
18754 * include/grub/net/tftp.h: Moved to the top of ...
18755 * grub-core/net/tftp.c: ... here.
18756 * include/grub/net/ip.h: Moved mostly to the top of ...
18757 * grub-core/net/ip.c: ... here.
18758 * include/grub/net/ethernet.h: Moved mostly to the top of ...
18759 * grub-core/net/ethernet.c: ... here.
18760
18761 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
18762
18763 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
18764 FS name.
18765
18766 * include/grub/net/ip.h (ipv4_ini): Removed.
18767 (ipv4_fini): Likewise.
18768
18769 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
18770 (grub_net_send_ip_packets): Likewise.
18771
cf1337aa
VS
187722011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
18775 grub_read_cmos prototype.
18776
93c06ff9
VS
187772011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18778
18779 VGA text support in qemu-mips
18780
18781 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
18782 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
18783 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
18784 text.
18785 * grub-core/kern/i386/qemu/init.c: Renamed to ...
18786 * grub-core/kern/vga_init.c: ... this.
18787 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
18788 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
18789 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
18790 Adjust.
18791 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
18792 GRUB_MACHINE_PCI_IO_BASE.
18793
748ccabe
VS
187942011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18795
18796 MIPS qemu flash support.
18797
18798 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
18799 magic.
18800 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
18801 (grub_machine_init): Probe memory if its size isn't known.
18802 * util/grub-mkimage.c (image_targets): Add flash targets.
18803 (generate_image): Handle flash targets.
18804
d7345994
VS
188052011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18806
18807 MIPS qemu at_keyboard support.
18808
18809 * gentpl.py (videoinkernel): Add qemu-mips.
18810 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
18811 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
18812 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
18813 modules.
18814 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
18815 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
18816 * grub-core/term/serial.c (grub_serial_register)
18817 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
18818
a07a81b3
VS
188192011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18820
18821 CMOS support on sparc.
18822
18823 * gentpl.py (cmos): Add powerpc and sparc.
18824 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
18825 powerpc and sparc.
18826 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
18827 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
18828 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
18829 grub_set_datetime_cmos.
18830 * grub-core/lib/ieee1275/cmos.c: New file.
18831 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
18832 (find_rtc): Set no_ieee1275_rtc on error.
18833 (grub_get_datetime): Call grub_get_datetime_cmos on error.
18834 (grub_set_datetime): Call grub_set_datetime_cmos on error.
18835 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
18836 fail. Move value to argument. All users updated
18837 (grub_cmos_write): Likewise.
18838 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
18839 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
18840 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
18841 grub_get_datetime_cmos and grub_set_datetime_cmos.
18842
77546584
GS
188432011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18844
18845 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
18846 sourcing grub-mkconfig_lib.
18847 * util/update-grub_lib.in: Likewise.
18848 * util/grub.d/00_header.in: Likewise.
18849 * util/grub.d/10_hurd.in: Likewise.
18850 * util/grub.d/10_kfreebsd.in: Likewise.
18851 * util/grub.d/10_linux.in: Likewise.
18852 * util/grub.d/10_netbsd.in: Likewise.
18853 * util/grub.d/10_windows.in: Likewise.
18854 * util/grub.d/20_linux_xen.in: Likewise.
18855 * util/grub.d/30_os-prober.in: Likewise.
18856
54894791
CW
188572011-06-28 Colin Watson <cjwatson@ubuntu.com>
18858
18859 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
18860 default_bg_color rather than black.
18861 (grub_gfxterm_fullscreen): Likewise.
18862 (grub_gfxterm_background_color_cmd): Save new background color in
18863 default_bg_color.
18864
8d5d8444
VS
188652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18866
18867 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
18868
5afeb5bd
VS
188692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18870
18871 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
18872 mismerge.
18873
ba7df45e
VS
188742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18875
18876 Chainloading on coreboot support.
18877
18878 * grub-core/Makefile.core.def (chain): Add coreboot.
18879 * grub-core/loader/i386/coreboot/chainloader.c: New file.
18880
d0b526b2
VS
188812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18882
18883 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
18884 if it happens.
18885
5ff1d945
VS
188862011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18887
18888 Implement time command.
18889
18890 * grub-core/Makefile.core.def (time): New module.
18891 * grub-core/commands/time.c: New file.
18892 * grub-core/script/parser.y: Remove "time" keyword.
18893 * grub-core/script/yylex.l: Likewise.
18894
5ebaad7e
VS
188952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18896
18897 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
18898
bdea3798
VS
188992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
18902 when handling leftovers.
18903
b28c5655
VS
189042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18905
18906 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
18907 so that help2man doesn't fail.
18908
b6f945dc
VS
189092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18910
18911 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
18912 type in pointers on sparc64.
18913 (get_card_packet): Likewise.
18914
f9b75e8a
CW
189152011-06-27 Colin Watson <cjwatson@ubuntu.com>
18916
18917 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
18918 with `*'.
18919 (grub_cmd_videoinfo): Fetch current video mode.
18920
1e3d9b86
VS
189212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
18924 because of underlying system restrictions.
18925
efff4b1c
VS
189262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18927
18928 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
18929 necessary.
18930
9fc9ce37
VS
189312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18932
18933 Coreboot video support.
18934
18935 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
18936 (vbe): Likewise.
18937 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
18938 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
18939 here ...
18940 * grub-core/kern/i386/int.S: ... here.
18941 * grub-core/video/i386/pc/vbe.c: Updated includes.
18942 * grub-core/video/i386/pc/vga.c: Likewise.
18943 * include/grub/i386/coreboot/memory.h
18944 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
18945 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
18946 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
18947 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
18948 Disable interrupts.
18949 * include/grub/i386/pc/vga.h: Removed. All users updated.
18950
41bec7fe
VS
189512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18952
18953 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
18954 definitions for dprintf.
18955 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
18956
ca80309d
VS
189572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18958
18959 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
18960 prototype.
18961 (get_card_packet): Likewise.
18962
9e322ce8
YB
189632011-06-26 Yves Blusseau <blusseau@zetam.org>
18964
18965 Display the path of the file when file is not found
18966
18967 * grub-core/fs/fat.c: Display the filename when file is not found.
18968 * grub-core/fs/fshelp.c: Likewise.
18969 * grub-core/fs/hfs.c: Likewise.
18970 * grub-core/fs/jfs.c: Likewise.
18971 * grub-core/fs/minix.c: Likewise.
18972 * grub-core/fs/ufs.c: Likewise.
18973 * grub-core/fs/btrfs.c: Likewise.
18974 * grub-core/commands/i386/pc/play.c: Likewise.
18975
cbf597af
SJ
189762011-06-26 Szymon Janc <szymon@janc.net.pl>
18977
18978 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
18979 pointer checks before calling grub_free().
18980 * grub-core/commands/wildcard.c (match_devices): Likewise.
18981 * grub-core/commands/wildcard.c (match_files): Likewise.
18982 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
18983 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
18984 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
18985 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
18986 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
18987 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
18988 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
18989 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18990 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
18991
6295b32f
P
189922011-06-25 Patrick <p55@mailinator.com>
18993
18994 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
18995
77c0840b
VS
189962011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
18997
18998 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
18999 (grub_pxe_send): Likewise.
19000 (GRUB_MOD_INIT): Fix types.
19001
40ea05de
SJ
190022011-06-24 Szymon Janc <szymon@janc.net.pl>
19003
19004 * grub-core/io/xzio.c: Fix code style issues
19005
90162423
MRA
190062011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
190072011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
19008
19009 Network infrastructure.
19010 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
19011
19012 * include/grub/net/arp.h: New file.
90162423
MRA
19013 * include/grub/net/device.h: Likewise.
19014 * include/grub/net/ethernet.h: Likewise.
19015 * include/grub/net/ip.h: Likewise.
19016 * include/grub/net/netbuff.h: Likewise.
19017 * include/grub/net/tftp.h: Likewise.
19018 * include/grub/net/udp.h: Likewise.
19019 * include/grub/ieee1275/ofnet.h: Likewise.
19020 * include/grub/emu/export.h: Likewise.
19021 * include/grub/net.h: Likewise.
19022 * grub-core/net/arp.c: Likewise.
19023 * grub-core/net/ethernet.c: Likewise.
19024 * grub-core/net/ip.c: Likewise.
19025 * grub-core/net/udp.c: Likewise.
19026 * grub-core/net/tftp.c: Likewise.
19027 * grub-core/net/netbuff.c: Likewise.
19028 * grub-core/net/net.c: Likewise.
19029 * grub-core/net/drivers/emu/emunet.c: Likewise.
19030 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
19031 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
19032 export.h.
19033 * grub-core/Makefile.core.def (net): New module.
19034 (tftp): Likewise.
19035 (ofnet): Likewise.
19036 (emunet): Likewise.
19037 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
19038 network protocols.
19039 * grub-core/kern/device.c (grub_net_open) : New variable.
19040 (grub_device_open): Handle network device.
19041 (grub_device_close): Likewise.
19042 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
19043 (grub_grubnet_fini): Likewise.
19044 (grub_file_seek): Seek in network device.
19045 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
19046 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
19047 network root.
19048 (grub_machine_fini): Call grub_grubnet_fini.
19049 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
19050 network.
19051 (grub_ieee1275_get_aliasdevname): New function.
19052 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19053 Add unofficial Solaris network info.
19054 (grub_multiboot_make_mbi): Likewise.
19055 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
19056 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
19057 * include/grub/device.h (grub_fs): Removed.
19058 * include/grub/err.h (grub_err_t): Add network-related values.
19059 * include/grub/i386/pc/pxe.h: Removed bootp parts.
19060 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
19061 (grub_ieee1275_get_aliasdevname): New proto.
19062 * include/grub/net.h: Rewritten.
423a1849 19063
031f22a0
VS
190642011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19065
19066 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
19067 names.
19068
4388ca72
VS
190692011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19070
19071 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
19072 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
19073 it truncates the output.
19074 Reported by: Ximin Luo.
19075
98e2f506
VS
190762011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19077
19078 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
19079
2a5e94d8
VS
190802011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19081
19082 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
19083 partmap before abstraction.
19084
535c1910
AK
190852011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
19086
19087 * util/grub-mkconfig_lib.in: Add missing quotes.
19088
bc09e1a2
VS
190892011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19090
19091 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
19092 old method if mountinfo would return /dev/root and /dev/root doesn't
19093 exist.
19094
290766fb
VS
190952011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19096
19097 ZFS zlib support
19098
19099 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
19100 (decomp_table): Add zlib entries.
19101 (zio_read): USe 8 bits for compression function rather than 3.
19102 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
19103
191042011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19105
19106 * grub-core/disk/ahci.c: Add missing license statements.
19107 * grub-core/fs/romfs.c: Likewise.
19108 * grub-core/lib/ia64/setjmp.S: Likewise.
19109 * grub-core/loader/i386/pc/freedos.c: Likewise.
19110 * grub-core/loader/ia64/efi/linux.c: Likewise.
19111 * grub-core/video/colors.c: Likewise.
19112 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
19113
5ab3f48a
VS
191142011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19115
19116 AHCI support.
19117
19118 * grub-core/Makefile.core.def (ata_pthru): Removed.
19119 (ahci): New module.
19120 (pata): Likewise.
19121 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
19122 on unload.
19123 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
19124 readwrite.
19125 (grub_hdparm_do_check_powermode_cmd): Likewise.
19126 (grub_hdparm_do_smart_cmd): Likewise.
19127 (grub_hdparm_set_val_cmd): Likewise.
19128 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
19129 * grub-core/disk/ahci.c: New file.
19130 * grub-core/disk/ata.c: Factor out the low-level part into ...
19131 * grub-core/disk/pata.c: ... here.
19132 * grub-core/disk/ata_pthru.c: Contents moved to ...
19133 * grub-core/disk/pata.c: ... here.
19134 * grub-core/disk/scsi.c (grub_scsi_names): New array.
19135 (grub_scsi_iterate): Use grub_scsi_names.
19136 (grub_scsi_open): Likewise.
19137 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
19138 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
19139 (grub_ata_regs_t): New struct.
19140 (grub_disk_ata_pass_through_parms): Likewise.
19141 (grub_ata_device): Renamed to ...
19142 (grub_ata): ... this.
19143 (grub_ata_dev): New struct.
19144 Removed all low-level inline functions.
19145 * include/grub/scsi.h: Add PATA and AHCI subsystems.
19146 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
19147 iterate hooks and open. All users updated.
19148 * util/grub-install.in: Handle AHCI disk module.
19149
c31dc5f5
SJ
191502011-06-23 Szymon Janc <szymon@janc.net.pl>
19151
19152 Add support for DRI and RSTn markers in JPEG files.
19153
19154 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
19155 (JPEG_MARKER_RST0): Likewise.
19156 (JPEG_MARKER_RST1): Likewise.
19157 (JPEG_MARKER_RST2): Likewise.
19158 (JPEG_MARKER_RST3): Likewise.
19159 (JPEG_MARKER_RST4): Likewise.
19160 (JPEG_MARKER_RST5): Likewise.
19161 (JPEG_MARKER_RST6): Likewise.
19162 (JPEG_MARKER_RST7): Likewise.
19163 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
19164 (grub_jpeg_decode_dri): New function.
19165 (grub_jpeg_decode_sos): Move image data related part into
19166 grub_jpeg_decode_data function.
19167 (grub_jpeg_decode_data): New function.
19168 (grub_jpeg_reset): New function.
19169 (grub_jpeg_decode_jpeg): Handle new markers.
19170
fe12fd5b
VS
191712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19172
19173 * util/ieee1275/ofpath.c (check_sas): Close fd.
19174 (main): Free of_path.
19175 Reported by: David Volgyes <dvolgyes>.
19176
03147f46
VS
191772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19178
19179 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
19180 Reported by: David Volgyes <dvolgyes>.
19181
cad3237f
VS
191822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19183
19184 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
19185 file after stat.
19186 Reported by: David Volgyes <dvolgyes>.
19187
13548d26
VS
191882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19189
19190 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
19191
19192 Reported by: David Volgyes <dvolgyes>.
19193
e061a1b5
VS
191942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19195
19196 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
19197 Prevent memory leak.
19198
1abe47dc
VS
191992011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19200
19201 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
19202 (main): Close file.
e061a1b5 19203 Reported by: David Volgyes <dvolgyes>.
1abe47dc 19204
fbc62666
VS
192052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19206
19207 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
19208 to continue if allocation is failed.
19209
19210 Reported by: David Volgyes <dvolgyes>.
19211
e98c83e9
DV
192122011-06-23 David Volgyes <dvolgyes>
19213
19214 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
19215 dereference.
19216
a199a8cd
VS
192172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19218
19219 Fix spurious warning.
19220
19221 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
19222 (acorn_partition_map_find): Use .bin member.
19223
e2d1dba0
VS
192242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19225
19226 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
19227 /dev/root as a valid device.
19228
8a5d6919
JM
192292011-06-23 Jim Meyering <meyering@redhat.com>
19230
e2d1dba0
VS
19231 Avoid NULL deref in grub_device_open.
19232
8a5d6919
JM
19233 * grub-core/kern/device.c (grub_device_open): Don't dereference
19234 a NULL pointer upon failed grub_env_get.
19235
f7db6f4a
VS
192362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19237
19238 Support non-512B sectors and agglomerate reads.
19239
19240 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
19241 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
19242 (disk_io_guid): Removed.
19243 (make_devices): Locate solely by BlockIO.
19244 (grub_efidisk_open): Fill log_sector_size and total_sectors.
19245 (grub_efidisk_read): Use read_blocks.
19246 (grub_efidisk_write): Use write_blocks.
19247 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
19248 log_sector_size.
19249 (get_safe_sectors): Handle non-512B sectors.
19250 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
19251 sectors.
19252 (grub_biosdisk_write): Handle non-512B sectors.
19253 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
19254 (grub_scsi_read): Remove special non-512B block handling (now handled
19255 one level up).
19256 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
19257 and do sanity checks.
19258 (grub_disk_adjust_range): Handle non-512B sectors.
19259 (transform_sector): New function.
19260 (grub_disk_read_small): Likewise.
19261 (grub_disk_read): Rewritten.
19262 (grub_disk_write): Handle non-512B sectors.
19263 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
19264 log_sector_size.
19265 (open_device): Use log_sector_size.
19266 (grub_util_biosdisk_read): Likewise.
19267 (grub_util_biosdisk_write): Likewise.
19268 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
19269 non-512B sectors.
19270 (pc_partition_map_embed): Likewise.
19271 * include/grub/disk.h (grub_disk): New field log_sector_size.
19272 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
19273 (GRUB_DISK_CACHE_BITS): Increased to 6.
19274 * util/grub-fstest.c (fstest): New command testload.
19275 (argp_parser): Likewise.
19276
881ac815
RM
192772011-06-16 Robert Millan <rmh@gnu.org>
19278
19279 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
19280 `ata' driver on kernel of FreeBSD 9.
19281
19282 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
19283 (get_ataraid_disk_name): New functions.
19284 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
19285 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
19286 get_ataraid_disk_name() and get_ada_disk_name().
19287
1e9aef7d
CW
192882011-06-13 Colin Watson <cjwatson@ubuntu.com>
19289
19290 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
19291 input format.
19292
351c7c8a
CW
192932011-05-29 Colin Watson <cjwatson@ubuntu.com>
19294
19295 * docs/grub.texi (Obtaining and Building GRUB): Substitute
19296 `ftp.gnu.org' for `alpha.gnu.org'.
19297
6b4e6430
CW
192982011-05-27 Colin Watson <cjwatson@ubuntu.com>
19299
19300 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
19301 partitions under /dev/disk/by-id/.
19302
c64db050
CW
193032011-05-27 Colin Watson <cjwatson@ubuntu.com>
19304
19305 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
19306 after ten consecutive open failures. Scanning all the way up to
19307 10000 is excessive and can cause serious performance problems in
19308 some configurations.
19309 Fixes Ubuntu bug #787461.
19310
245f4aba
VS
193112011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19312
19313 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
19314 opening new one.
19315
f767c929
VS
193162011-05-21 Colin Watson <cjwatson@ubuntu.com>
193172011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19318
19319 Don't stat devices unless we have to.
19320
19321 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
19322 dir == /dev/mapper.
19323 (grub_guess_root_device): Use already known os_dev if possible.
19324 * grub-core/kern/emu/hostdisk.c
19325 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
19326 if device is known to be a dm one.
19327
f35fa3a6
CW
193282011-05-20 Colin Watson <cjwatson@ubuntu.com>
19329
19330 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
19331 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
19332 Reported by: Pawel Tecza.
19333
9a79fcf2
VS
193342011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
19335
19336 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
19337 (lsefisystab): Likewise.
19338 (lssal): Likewise.
19339 (lsefimmap): Likewise.
19340 (hdparm): Enable on qemu-mips.
19341 (setjmp): Add ia64 nodist.
19342 (serial): Simplify tags.
19343
63e3eea9
CW
193442011-05-18 Colin Watson <cjwatson@ubuntu.com>
19345
19346 * Makefile.util.def (grub-ofpathname): Install manual page.
19347
09728256
CW
193482011-05-18 Colin Watson <cjwatson@ubuntu.com>
19349
19350 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
19351
8b63a142
CW
193522011-05-18 Colin Watson <cjwatson@ubuntu.com>
19353
19354 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
19355
e775d8ed
VS
193562011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19357
19358 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
19359 into dprintf.
19360
bf947d36
VS
193612011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19362
19363 Use full 64-bit division.
19364
19365 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
19366 (grub_divmod64): ... this.
19367 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
19368 version.
19369
b84f26c5
CW
193702011-05-18 Colin Watson <cjwatson@ubuntu.com>
19371
19372 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
19373 `source'.
19374
5626056f
CW
193752011-05-18 Colin Watson <cjwatson@ubuntu.com>
19376
19377 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
19378 to avoid accidents when debugging with 'sh -x'.
19379 * grub-core/gensyminfo.sh.in: Likewise.
19380 * tests/example_scripted_test.in: Likewise.
19381 * tests/grub_cmd_regexp.in: Likewise.
19382 * tests/grub_script_blanklines.in: Likewise.
19383 * tests/grub_script_dollar.in: Likewise.
19384 * tests/grub_script_expansion.in: Likewise.
19385 * tests/grub_script_final_semicolon.in: Likewise.
19386 * tests/partmap_test.in: Likewise.
19387 * tests/util/grub-shell-tester.in: Likewise.
19388 * tests/util/grub-shell.in: Likewise.
19389
e2965f4a
CW
193902011-05-18 Colin Watson <cjwatson@ubuntu.com>
19391
19392 Move gfxmenu color handling to video, so that gfxterm can use it
19393 too.
19394
19395 * grub-core/gfxmenu/named_colors.c: Move to ...
19396 * grub-core/video/colors.c: ... here. Rename
19397 grub_gui_get_named_color to grub_video_get_named_color.
19398 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
19399 * grub-core/video/colors.c (my_isxdigit): ... here.
19400 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
19401 Move to ...
19402 * grub-core/video/colors.c (parse_hex_color_component): ... here.
19403 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
19404 to ...
19405 * grub-core/video/colors.c (grub_video_parse_color): ... here.
19406
19407 * include/grub/gui.h (grub_gui_color_t): Move to ...
19408 * include/grub/video.h (grub_video_rgba_color_t): ... here.
19409 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
19410 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
19411 * include/grub/gui.h (grub_gui_map_color): Move to ...
19412 * include/grub/video.h (grub_video_map_rgba_color): ... here.
19413 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
19414 to ...
19415 * include/grub/video.h (grub_video_get_named_color): ... here.
19416 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
19417 * include/grub/video.h (grub_video_parse_color): ... here.
19418
19419 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
19420 video/colors.c.
19421 (gfxmenu): Remove gfxmenu/named_colors.c.
19422 (video) [videomodules]: Add video/colors.c.
19423
19424 Add a background_color command.
19425
19426 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
19427 function.
19428 (GRUB_MOD_INIT): Register background_color command.
19429 (GRUB_MOD_FINI): Unregister background_color command.
19430 (redraw_screen_rect): Allow blend/replace of text layer to be
19431 controlled independently from whether there is a background bitmap.
19432 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
19433 changing bitmap.
19434
1e4b4390
VS
194352011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19436
26618ff0
VS
19437 Patch BPB in ntldr and chainloader --bpb.
19438
1e4b4390
VS
19439 * grub-core/fs/fat.c: Include grub/fat.h.
19440 (grub_fat_bpb): Moved to ...
19441 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
19442 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
19443 grub/ntfs.h.
19444 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
19445 Moved from here...
19446 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
19447 here.
19448 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
19449 New function.
19450 (grub_chainloader_cmd): Patch BPB if --bpb is given.
19451 (GRUB_MOD_INIT): Show --bpb.
19452 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
19453 * grub-core/normal/main.c (features): New variable.
19454 (GRUB_MOD_INIT): Set feature_* variables.
19455 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
19456 proto.
19457 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
19458
cf02731e
VS
194592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19460
19461 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
19462 for cleanness.
19463
e3a1073f
VS
194642011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19465
19466 FreeDOS direct loading support.
19467
19468 * docs/grub.texi (Supported OS): Add FreeDOS.
19469 * grub-core/Makefile.core.def (freedos): New module.
19470 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
19471 variable.
19472 (grub_relocator16_boot): Handle %ebx.
19473 * grub-core/lib/i386/relocator16.S: Likewise.
19474 * grub-core/loader/i386/pc/freedos.c: New file.
19475
05caa461
VS
194762011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19477
19478 Long Linux command line support.
19479
19480 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19481 (maximal_cmdline_size): New variable.
19482 (allocate_pages): Use maximal_cmdline_size.
19483 (grub_cmd_linux): Set and use maximal_cmdline_size.
19484 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19485 (allocate_pages): Use maximal_cmdline_size.
19486 (grub_cmd_linux): Set and use maximal_cmdline_size.
19487 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
19488 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
19489 and cmdline_size.
19490
a2491e23
VS
194912011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
194922011-05-18 Colin Watson <cjwatson@ubuntu.com>
19493
19494 Improve devmapper support
19495
19496 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
19497 (grub_util_is_lvm): New function.
19498 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
19499 than lvm if not dmraid.
19500 Handle mapped md nodes.
19501 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
19502 (grub_util_device_is_mapped): ... this. Make always available. All users
19503 updated.
19504 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
19505 (convert_system_partition_to_system_disk): Handle lvm, mpath and
19506 dmraid nodes.
19507 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
19508
6ad6223e
VS
195092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19510
19511 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
19512
19513 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
19514 * grub-core/modinfo.sh.in: New file.
19515 * grub-core/Makefile.core.def (modinfo.sh): New script.
19516 * util/grub-mknetdir.in: Use modinfo.sh.
19517 * util/grub-mkrescue.in: Likewise.
19518
543a8f6e
VS
195192011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19520
19521 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
19522 Fix potential usage of Elf32 instead of Elf64 when compiling on
19523 32-bit architecture. Add endianness macros while on it.
19524
4959e111
VS
195252011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19526
19527 Use mipsel- rather than mips- in directories involving mipsel ports to
19528 allow both endiannesses coexist.
19529
19530 * configure.ac: proparate target_cpu=mipsel rather than resetting to
19531 mips. All conditions adjusted.
19532 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
19533 variable.
19534 * util/grub-install.in: Adjust conditions to take renaming into account.
19535 * util/grub-mkimage.c (image_targets): Likewise. New target
19536 mips-qemu_mips-elf for bigendian mips.
19537
35341bbc
VS
195382011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19539
19540 Avoid unnecessary copying on MIPS.
19541
19542 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
19543 early if src == dest.
19544 * util/grub-mkimage.c (generate_image): Arange for src == dest if
19545 compression is none.
19546
b772baed
VS
195472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19548
19549 Reduce memory footprint on SGI by putting modules before the kernel
19550 as opposed to after.
19551
19552 * grub-core/Makefile.core.def (kernel): Increase linking address.
19553 (none_decompress): Likewise.
19554 (xz_decompress): Likewise.
19555 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
19556 address.
19557 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
19558 layout change.
19559 (grub_arch_modules_addr): New function.
19560 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
19561 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
19562 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
19563 here.
19564 * grub-core/kern/mips/startup.S (total_size): Rename to ...
19565 (grub_total_modules_size): ... this. Make global.
19566 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
19567 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
19568 New definition.
19569 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
19570 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
19571 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
19572 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
19573 * util/grub-mkimage.c (image_target_desc): New flag
19574 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
19575 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
19576 (generate_image): Handle images with modules before kernel.
19577
566a1917
VS
195782011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19579
19580 Prevent potential loss of memory map by overwrite on qemu-mips.
19581
19582 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19583 Save ram size in $s4.
19584 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
19585 All users changed to grub_arch_memsize.
19586 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
19587 Loongson.
19588 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
19589 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
19590 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
19591 external variable.
19592
5d420cd9
CW
195932011-05-17 Colin Watson <cjwatson@ubuntu.com>
19594
19595 * .bzrignore: Remove grub-dumpbios.
19596
d064b830
CW
195972011-05-17 Colin Watson <cjwatson@ubuntu.com>
19598
19599 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
19600 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
19601 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
19602 existing options which append).
19603 * docs/grub.texi (Simple configuration): Document new options.
19604 Reported by: Ian Jackson. Fixes Debian bug #617538.
19605
3ca2b466
CW
196062011-05-17 Colin Watson <cjwatson@ubuntu.com>
19607
19608 * util/grub-fstest.c (cmd_cat): New function.
19609 (fstest): Handle CMD_CAT.
19610 (options): Add cat.
19611 (argp_parser): Handle cat.
19612
24c9143a
CW
196132011-05-17 Colin Watson <cjwatson@ubuntu.com>
19614
19615 * Makefile.util.def (grub-bin2h): Don't install.
19616 * docs/man/grub-bin2h.h2m: Remove.
19617
90f7ac19
VS
196182011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19619
19620 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
19621 place.
19622
8d4a5178
VS
196232011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19624
19625 Reenable qemu-mips port.
19626
19627 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
19628 Fix small arc bug while on it.
19629 * gentpl.py: Handle qemu_mips.
19630 * grub-core/Makefile.am: Likewise.
19631 * grub-core/Makefile.core.def: Likewise.
19632 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
19633 inappropriate includes.
19634 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
19635 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
19636 * grub-core/kern/main.c (grub_modules_get_end)
19637 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
19638 * grub-core/kern/mips/qemu-mips: Moved to ..
19639 * grub-core/kern/mips/qemu_mips: ... this.
19640 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
19641 (grub_machine_init): Call terminfo_init and serial_init.
19642 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
19643 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19644 New variable.
19645 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
19646 parameter passing.
19647 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
19648 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
19649 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
19650 * include/grub/mips/qemu_mips/cmos.h: New file.
19651 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
19652 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
19653 Removed.
19654 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
19655 Use correct mips-style address.
19656 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
19657 (GRUB_TICKS_PER_SECOND): Removed.
19658 (grub_get_rtc): Likewise.
19659 (grub_cpu_idle): Likewise.
19660 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
19661 New definition.
19662 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
19663 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
19664 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
19665 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
19666 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
19667 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
19668 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
19669 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
19670
400b9371
VS
196712011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19672
19673 SGI ARCS port.
19674
19675 * Makefile.util.def (libgrubmods.a): Add dvh.c.
19676 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
19677 platforms.
19678 * configure.ac: New target mips-arc.
19679 * gentpl.py: Likewise.
19680 * grub-core/Makefile.am: Likewise.
19681 * grub-core/Makefile.core.def: Likewise.
19682 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
19683 (none_decompress): Likewise.
19684 (lsdev): New module.
19685 (datetime): Use lib/arc/datetime.c on ARC.
19686 (part_dvh): New module.
19687 * grub-core/commands/arc/lsdev.c: New file.
19688 * grub-core/disk/arc/arcdisk.c: Likewise.
19689 * grub-core/kern/mips/arc/init.c: Likewise.
19690 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
19691 aligned addresses.
19692 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
19693 support.
19694 (grub_arch_dl_relocate_symbols): Likewise.
19695 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
19696 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
19697 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
19698 platforms.
19699 * grub-core/lib/arc/datetime.c: New file.
19700 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
19701 pci.h on non-loongson.
19702 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
19703 (grub_linux_boot): Set unused registers to 0.
19704 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
19705 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
19706 * grub-core/mmap/mips/uppermem.c: ...here.
19707 * grub-core/partmap/dvh.c: New file.
19708 * grub-core/term/arc/console.c: Likewise.
19709 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
19710 (grub_terminfo_set_current): Add terminal "arc".
19711 (grub_terminfo_readkey): Support ARC sequences.
19712 * include/grub/arc/arc.h: New file.
19713 * include/grub/arc/console.h: Likewise.
19714 * include/grub/disk.h (grub_disk_dev_id): Add
19715 GRUB_DISK_DEVICE_ARCDISK_ID.
19716 * include/grub/mips/arc/kernel.h: New file.
19717 * include/grub/mips/arc/memory.h: Likewise.
19718 * include/grub/mips/arc/time.h: Likewise.
19719 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
19720 * include/grub/mips/kernel.h (grub_halt): ... here.
19721 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
19722 here...
19723 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
19724 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
19725 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
19726 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
19727 proto.
19728 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
19729 from here ...
19730 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
19731 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
19732 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
19733 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
19734 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
19735 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
19736 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
19737 (grub_phys_addr_t): Moved from here ...
19738 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
19739 (grub_vtop): Moved from here ...
19740 * include/grub/mips/memory.h (grub_vtop): ... here.
19741 (grub_map_memory): Moved from here ...
19742 * include/grub/mips/memory.h (grub_map_memory): ... here.
19743 (grub_unmap_memory): Moved from here ...
19744 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
19745 (grub_machine_mmap_iterate): Moved from here ...
19746 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
19747 (grub_mmap_get_lower): Moved from here ...
19748 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
19749 (grub_mmap_get_upper): Moved from here ...
19750 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
19751 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19752 here ...
19753 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19754 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
19755 here ...
19756 * include/grub/mips/time.h (grub_get_rtc): ... here.
19757 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19758 here ...
19759 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19760 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
19761 here ...
19762 * include/grub/mips/time.h (grub_cpu_idle): ... here.
19763 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
19764 definition.
19765 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
19766 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
19767 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
19768 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
19769 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
19770 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
19771 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
19772 (GRUB_MACHINE_LINK_ADDR): Likewise.
19773 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
19774 to 6.
19775 * util/grub-install.in: Run dvhtool on ARC.
19776 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 19777 (generate_image): Handle ECOFF output for mips-arc.
400b9371 19778
c8ecc840
VS
197792011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19780
19781 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
19782 blocks.
19783
153a4b55
VS
197842011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19785
19786 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
19787 after enabling port.
19788
ff44d107
VS
197892011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19790
19791 Skip incorrect USB devices.
19792
19793 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
19794 configcnt == 0.
19795 * include/grub/usb.h (grub_usb_err_t): New enum value
19796 GRUB_USB_ERR_BADDEVICE.
19797
638dbe4f
VS
197982011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19799
19800 Fuloong video init support.
19801
19802 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
19803 well.
19804 (grub_vga_read_arx): New function.
19805 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
19806 definition.
19807 (framebuffer): New members io, mmioptr and mmiobase.
19808 (read_sis_cmd): New function.
19809 (write_sis_cmd): Likewise.
19810 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
19811 rather than 640x400.
19812 * grub-core/video/sis315_init.c: New file.
19813
c3fc520c
VS
198142011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19815
19816 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
19817 non-loongson.
19818 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
19819 to grub_dl_register_symbol.
19820
67b1e5c9
VS
198212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19822
19823 Fix compilation errors.
19824
19825 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
19826 potentially unused.
19827 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
19828 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
19829 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
19830 to loongson machines.
19831
b756f75f
VS
198322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19833
19834 Several FS mtime support.
19835
19836 * grub-core/fs/affs.c (grub_affs_time): New struct.
19837 (grub_affs_file): New field mtime.
19838 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
19839 type. Removed 'size'. New field 'di'. All users updated.
19840 (grub_affs_mount): Simplify checsum checking.
19841 (grub_affs_iterate_dir): New helper grub_affs_create_node.
19842 (grub_affs_dir): Handle mtime.
19843 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
19844 (grub_cpio_dir): Likewise.
19845 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
19846 (grub_hfs_filerec): New field mtime.
19847 (grub_hfs_dir): Handle mtime.
19848 (grub_hfs_mtime): New function.
19849 (grub_hfs_fs): Register grub_hfs_mtime.
19850 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
19851 (grub_iso9660_dir): New field mtime.
19852 (grub_fshelp_node): New field dirent.
19853 (iso9660_to_unixtime): New function.
19854 (iso9660_to_unixtime2): Likewise.
19855 (grub_iso9660_read_symlink): Use node->dirent.
19856 (grub_iso9660_iterate_dir): Likewise.
19857 (grub_iso9660_dir): Set mtime.
19858 (grub_iso9660_mtime): New function.
19859 (grub_iso9660_fs): Register grub_iso9660_mtime.
19860 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
19861 (grub_jfs_inode): New fields atime, ctime and mtime.
19862 (grub_jfs_dir): Set mtime.
19863 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19864 * grub-core/fs/ntfs.c (list_file): Set mtime.
19865 (grub_ntfs_dir): Likewise.
19866 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
19867 (grub_reiserfs_iterate_dir): Set mtime.
19868 (grub_reiserfs_dir): Likewise.
19869 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
19870 (grub_fshelp_node): Likewise.
19871 (grub_sfs_iterate_dir): Set mtime.
19872 (grub_sfs_dir): Likewise.
19873 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
19874 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
19875 (grub_xfs_inode): New fields atime, mtime, ctime.
19876 (grub_xfs_dir): Set mtime.
19877 * include/grub/datetime.h (grub_datetime2unixtime): New function.
19878 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
19879 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
19880
19881 Support UDF symlinks.
19882
19883 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
19884 (grub_ufs_read_symlink): New function. All users updated.
19885
19886 Check amiga partmap checksum.
19887
19888 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
19889 (grub_amiga_partition): Likewise.
19890 (amiga_partition_map_checksum): New function.
19891 (amiga_partition_map_iterate): Check checksum.
19892
5470225d
VS
198932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19894
19895 ROMFS support.
19896
19897 * Makefile.util.def (libgrubmods.a): Add romfs.
19898 * grub-core/Makefile.core.def (romfs): New module.
19899 * grub-core/fs/romfs.c: New file.
19900
d4680a35
VS
199012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19902
19903 Squashfs v4 support.
19904
19905 * Makefile.util.def (libgrubmods.a): Add squash4.
19906 * grub-core/Makefile.core.def (squash4): New module.
19907 * grub-core/fs/squash4.c: New file.
19908 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
19909 disk_input_start, disk_input.
19910 (get_byte): Handle disk_input.
19911 (grub_zlib_disk_read): New function.
19912 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
19913
bcb18e74
FZ
199142011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
199152011-05-15 Feiran Zheng <famcool@gmail.com>
19916
19917 * Makefile.util.def (libgrubmods.a): Add minix3.
19918 * grub-core/Makefile.core.def (minix3): New module.
19919 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
19920 (GRUB_MINIX_BSIZE): Removed.
19921 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
19922 (grub_minix_ino_t): New type.
19923 (grub_minix_le_to_cpu_ino): New macro.
19924 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
19925 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
19926 (grub_minix_data): New field block_size.
19927 (grub_minix_read_file): Handle 64-bit correctly.
19928 * grub-core/fs/minix3.c: New file.
19929
32297d5f
TG
199302011-05-15 Tristan Gingold <gingold@free.fr>
199312011-05-15 Robert Millan <rmh.grub@aybabtu.com>
199322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19933
19934 IA64 support.
19935
19936 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
19937 * configure.ac: Add ia64-efi target.
19938 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
19939 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
19940 * gentpl.py: Add ia64_efi platform.
19941 Rename x86_efi to efi and Add ia64-efi. All users updated.
19942 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
19943 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
19944 Remove kern/generic/rtc_get_time_ms.c on EFI.
19945 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
19946 kern/ia64/dl_helper.c on ia64-efi.
19947 Add kern/emu/cache.c on emu.
19948 (linux): Use on loader/ia64/efi/linux.c on ia64.
19949 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
19950 whether symbol is a function.
19951 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
19952 (grub_symbol): New field 'isfunc'.
19953 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
19954 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
19955 (grub_dl_load_segments): Place all sections into the same region.
19956 [__ia64__]: Create trampolines and got.
19957 [GRUB_MACHINE_EMU]: Call mprotect.
19958 (grub_dl_resolve_symbols): Resolve symbol type as well.
19959 [__ia64__]: Create function descriptors.
19960 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
19961 (grub_rtc_get_time_ms): ... this. Expressions simplified.
19962 (grub_get_rtc): New function.
19963 * grub-core/kern/emu/cache.c [__ia64__]: New file.
19964 * grub-core/kern/emu/cache.S: Renamed to ...
19965 * grub-core/kern/emu/cache_s.S: ... this.
19966 [__ia64__]: Add a nop.
19967 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
19968 [__ia64__]: New function.
19969 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
19970 * grub-core/kern/ia64/dl.c: New file.
19971 * grub-core/kern/ia64/dl_helper.c: Likewise.
19972 * grub-core/kern/ia64/efi/init.c: New file.
19973 * grub-core/kern/ia64/efi/startup.S: Likewise.
19974 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
19975 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
19976 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
19977 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
19978 * grub-core/loader/ia64/efi/linux.c: New file.
19979 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
19980 (GRUB_MOD_DEP): Likewise.
19981 (grub_dl) [__ia64__]: New fields got and tramp.
19982 (grub_dl): New field 'base'.
19983 (grub_dl_register_symbol): New argument isfunc. All users updated.
19984 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
19985 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
19986 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
19987 (grub_ia64_dl_get_tramp_got_size): New proto.
19988 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
19989 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
19990 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
19991 * include/grub/efi/api.h: Skip call wrappers on ia64.
19992 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
19993 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
19994 * include/grub/elf.h (ELF_ST_INFO): New definition.
19995 * include/grub/ia64/efi/kernel.h: New file.
19996 * include/grub/ia64/efi/memory.h: Likewise.
19997 * include/grub/ia64/efi/time.h: Likewise.
19998 * include/grub/ia64/kernel.h: Likewise.
19999 * include/grub/ia64/setjmp.h: Likewise (from glibc).
20000 * include/grub/ia64/time.h: New file.
20001 * include/grub/ia64/types.h: Likewise.
20002 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
20003 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
20004 New protos.
20005 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
20006 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
20007 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
20008 * util/grub-mkimage.c (image_target_desc): New field pe_target.
20009 All users updated.
20010 (EFI64_HEADER_SIZE): New definition. All users updated.
20011 (image_targets): Add ia64-efi.
20012 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
20013 jumpers_addr. All users updated.
20014 Create function descriptors.
20015 (count_funcs): New function.
20016 (unaligned_uint32): New struct.
20017 (MASK20): New definition.
20018 (MASK19): Likewise.
20019 (MASKF21): Likewise.
20020 (add_value_to_slot_20b): New function.
20021 (add_value_to_slot_21_real): Likewise.
20022 (add_value_to_slot_21): Likewise.
20023 (ia64_kernel_trampoline): New struct.
20024 (nopm): New variable.
20025 (jump): Likewise.
20026 (make_trampoline): New function.
20027 (relocate_addresses): Handle ia64.
20028 (make_reloc_section): Likewise.
20029 (load_image): Likewise.
20030
983b414d
VS
200312011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
20032
20033 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
20034 warning. Move variables before code while on it.
20035
5d063cdc
VS
200362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
20037
20038 Fuloong support.
20039
20040 * configure.ac: Rename yeeloong platform to loongson. All users updated.
20041 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
20042 * grub-core/boot/mips/loongson/fuloong.S: New file.
20043 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
20044 Explicitly init CS5536.
20045 [FULOONG]: Don't use serial until CS5536 is available.
20046 Set GPIO based on dumps.
20047 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
20048 [FULOONG]: Handle GPIO and memory controller differences.
20049 Parse machine type in $a2.
20050 * grub-core/boot/mips/startup_raw.S: Determine and save the
20051 architecture.
20052 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
20053 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
20054 init on architecture type.
20055 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
20056 SIS315E. Don't init at_keyboard on fuloong.
20057 (grub_halt): Support Fuloong.
20058 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
20059 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
20060 (loongson_machtypes): New array.
20061 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
20062 type.
20063 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
20064 config. All users updated. Handle CS5536 serial.
20065 * grub-core/term/serial.c (grub_serial_register): Conditionalise
20066 default port on machine type. Register serial as inactive.
20067 * grub-core/video/sis315pro.c: New file.
20068 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
20069 definition.
20070 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
20071 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
20072 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
20073 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
20074 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
20075 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
20076 to ...
20077 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
20078 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
20079 definition.
20080 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
20081 (grub_arch_machine): New extern var.
20082 * include/grub/mips/loongson/serial.h
20083 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
20084 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
20085 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
20086 (GRUB_MACHINE_SERIAL_PORT0): ... this.
20087 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
20088 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
20089 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
20090 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
20091 * include/grub/term.h (grub_term_register_input_inactive): New inline
20092 function.
20093 (grub_term_register_output_inactive): Likewise.
20094 * include/grub/video.h (grub_video_driver_id): New value
20095 GRUB_VIDEO_DRIVER_SIS315PRO.
20096 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
20097 New field "names". All users updated.
20098 New field value IMAGE_FULOONG_FLASH.
20099 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
20100
6ada82d1
JU
201012011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
20102
20103 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
20104 and add some clarification.
20105
90c571a4
VS
201062011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20107
20108 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
20109 platforms if kernel is compressed.
20110
de04eecf
VS
201112011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20112
20113 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
20114 unused modules since currently referrence counter isn't reliable and
20115 there isn't much memory to recover there anyway.
20116
57688121
VS
201172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20118
20119 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
20120 rather than resetting it to allow modules to reference themselves
20121 in init.
20122
3d2c7e35
VS
201232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20124
20125 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
20126 counter on dependencies since grub_dl_unref already handles this.
20127
b25db218
VS
201282011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20129
20130 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
20131 on error if not already done.
20132
25a45338
VS
201332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20134
20135 Fix few potential memory misusage.
20136
20137 * grub-core/font/font.c (load_font_index): Don't free char_index to
20138 avoid double free.
b25db218
VS
20139 (grub_font_load): Zero-fill font at alloc for safety.
20140 Close file on error.
20141 (free_font): Free bmp_idx.
25a45338 20142
0cac83df
VS
201432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20144
20145 * docs/grub.texi (Installation): Fix several outdated claims.
20146
2217a143
VS
201472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20148
20149 Handle module_license on windows.
20150
20151 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
20152 sections shifted.
20153 (insert_string): Make argument const char * instead of char *.
20154 (write_section_data): Handle long section names.
20155 Handle module_license.
20156
d4de6b01
VS
201572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20158
20159 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
20160 handle class-free menuentries.
20161 (grub_normal_add_menu_entry): Add a check to be sure.
20162
4c2a3b43
VS
201632011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20164
20165 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
20166 PgUp and PgDown.
20167
85c6210f
VS
201682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20169
20170 * configure.ac: Bump version to 1.99.
20171
36084912
VS
201722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20173
20174 Give ATA device a bit more time on first try in order to allow disks
20175 to spin up.
20176
20177 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
20178 if dev->present is 1. Reset dev->present on failure.
20179 (grub_ata_device_initialize): Set dev->present to 1.
20180 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
20181 (grub_ata_device): New member 'present'.
20182
bda0e219
VS
201832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20184
20185 * util/grub-mkimage.c (generate_image): Update hash.
20186
19e1c41b
VS
201872011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20188
20189 Flush caches on DMA memory.
20190
20191 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
20192 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
20193 (grub_dma_free): Likewise.
20194 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
20195
91bbcc0c
VS
201962011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20197
20198 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
20199 to avoid asm treating ld and sd as macros.
20200
60ddfad3
VS
202012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20202
20203 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
20204 decompressor.
20205
a298aa04
VS
202062011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20207
20208 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
20209 grub_decompress_core since later would fail if grub_decompress_core
20210 is too far.
20211
9b44feca
VS
202122011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20213
20214 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
20215 R_MIPS_JALR since it's used by newer compiler.
20216
56dbe7b4
VS
202172011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
20218
20219 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
20220
52856af2
VS
202212011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20222
20223 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
20224 file_path to 0 for surety.
20225 (grub_chainloader_boot): Set exit_data to NULL.
20226 Unset the loader once done.
20227 (grub_cmd_chainloader): Fix confusing error message if file is empty.
20228
9c9bfc6d
VS
202292011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20230
20231 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
20232 unknown key into a dprintf.
20233
dd94a3df
VS
202342011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
20237 on first non-existant partition.
20238
fa68d99c
VS
202392011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20240
20241 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
20242 openning fails.
20243 Reported by: Mark Korenberg.
20244
157effb7
VS
202452011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20246
20247 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
20248 overflow.
20249
ea75312f
VS
202502011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20251
20252 * util/grub-mkimage.c (main): Explicitely flush and sync the output
20253 before closing to ensure that it will be readable by grub-setup.
20254
072b5d31
VS
202552011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20256
20257 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
20258 (devpath_1): Use MAKE_PIWG_PATH.
20259 (devpath_2): Likewise.
20260 (devpath_3): Likewise.
20261 (devpath_4): Likewise.
20262 (devpath_5): Likewise.
20263 (devpath_6): Likewise.
20264
20265 The appleldr.mod was checked that to be binary identical to previous
20266 version.
20267
7fae0051
Z
202682011-05-05 Zach <mikezackles>
20269
20270 Support 2010 Macbooks.
20271
20272 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
20273 (devs): Add devpath_6.
20274
7c515bee
VS
202752011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20276
20277 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
20278 /dev/random. /dev/urandom is good enough for our purposes (salting).
20279
ed660bd8
VS
202802011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20281
20282 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
20283
ee5614b7
VS
202842011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20285
20286 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
20287 hexadecimal.
20288
664889a6
VS
202892011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20290
20291 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
20292 and not 0 on failure.
20293
bd405bbc
CW
202942011-05-03 Colin Watson <cjwatson@ubuntu.com>
20295
20296 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
20297 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
20298 disk; otherwise grub_fs_probe will not fall back to the next
20299 filesystem.
20300 (grub_pxefs_open): Likewise, for consistency.
20301 Reported and tested by: Ezekiel Grave.
20302
4ebff753
CW
203032011-05-03 Colin Watson <cjwatson@ubuntu.com>
20304
20305 * tests/partmap_test.in: Don't hardcode path to parted.
20306 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
20307
8f942553
CW
203082011-05-01 Colin Watson <cjwatson@ubuntu.com>
20309
20310 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
20311 of `ls' to find out which devices are available.
20312
3c62402d
VS
203132011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20314
20315 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
20316 than source address for efi mmap buffer.
20317
723f63f2
VS
203182011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20319
20320 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
20321 wrong action on non-detecting the magic.
20322
68797f92
VS
203232011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20324
20325 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
20326 already supplied by another part of the module (fixes compilation on
20327 FreeBSD).
20328
6be8715d
VS
203292011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20330
20331 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
20332 match the one used by mdadm.
20333
e91dba5b
CW
203342011-04-21 Colin Watson <cjwatson@ubuntu.com>
20335
20336 * po/README: Add instructions for creating po/LINGUAS.
20337
c85140b3
CW
203382011-04-21 Colin Watson <cjwatson@ubuntu.com>
20339
20340 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
20341 #551428.
20342
20343 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
20344 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
20345 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
20346 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
20347 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
20348 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
20349 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
20350 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
20351 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
20352 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
20353 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
20354 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
20355 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
20356 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
20357 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
20358 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
20359 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
20360 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
20361 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
20362 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
20363 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
20364 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
20365
92051871
CW
203662011-04-21 Colin Watson <cjwatson@ubuntu.com>
20367
20368 * grub-core/kern/emu/getroot.c
20369 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
20370 test that was incorrectly reintroduced in r3214.
20371 Reported by: Ian Dall. Fixes Savannah bug #33133.
20372
b13f79a4
CW
203732011-04-21 Colin Watson <cjwatson@ubuntu.com>
20374
20375 Fix stack pointer handling in 16-bit relocator.
20376
20377 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
20378 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
20379 Fixes Ubuntu bug #683904.
20380
9b710a88
VS
203812011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20382
20383 * configure.ac: Bump version to 1.99~rc2.
20384
d97e7b59
VS
203852011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20386
20387 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
20388 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
20389 * grub-core/lib/x86_64/setjmp.S: Likewise.
20390 * grub-core/lib/mips/setjmp.S: Likewise.
20391 * grub-core/lib/powerpc/setjmp.S: Likewise.
20392 * grub-core/lib/sparc64/setjmp.S: Likewise.
20393
0624551c
VS
203942011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20395
20396 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
20397 * grub-core/lib/efi/datetime.c: Likewise.
20398
e8f28d4c
VS
203992011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20400
20401 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
20402 New function.
20403 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
20404 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
20405 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
20406
bba79a15
VS
204072011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20408
20409 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
20410 bitmap.
20411 (grub_gfxterm_term_init): Likewise.
20412
abc474ef
VS
204132011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20414
20415 Take into account the decorations the computing menu entry width.
20416
20417 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
20418 (grub_gfxmenu_create_box): Register get_border_width.
20419 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
20420 if available.
20421 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
20422 get_border_width.
20423
e74b3947
EP
204242011-04-18 Endres Puschner <code@e7p.de>
20425
20426 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
20427 Don't skip first class.
20428
34faa595
VS
204292011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20430
20431 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
20432 chunks.
20433 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
20434
93a777e3
VS
204352011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20436
20437 Complete 64-bit division support.
20438
20439 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
20440 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
20441 * include/grub/misc.h (grub_divmod64): Rename to ...
20442 (grub_divmod64_full): ... this.
20443 (grub_divmod64): New inline function.
20444
a5102d94
VS
204452011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20446
20447 * util/grub-mkimage.c (generate_image): Add forgotten comma.
20448
f3fb7b36
VS
204492011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20450
20451 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
20452 performing the necessary test.
20453
9ac718b0
VS
204542011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20455
20456 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
20457 (kfreebsd.elf): Likewise.
20458 (pc-chainloader.elf): Likewise.
20459 (ntldr.elf): Likewise.
20460
50d2cc5a
VS
204612011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20462
20463 Identify RAID by its UUID rather than (guessed) name.
20464
20465 * grub-core/disk/raid.c (ascii2hex): New function.
20466 (grub_raid_open): Accept mduuid/%s specification.
20467 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
20468 (get_mdadm_uuid): ... this.
20469 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
20470
e03f7bea
VS
204712011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
20472
20473 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
20474 to negative size.
20475
e74c3112
CW
204762011-04-13 Colin Watson <cjwatson@ubuntu.com>
20477
20478 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
20479 btrfs subvolume.
20480 * util/grub.d/20_linux_xen.in: Likewise.
20481
78fa584f
CW
204822011-04-13 Colin Watson <cjwatson@ubuntu.com>
20483
20484 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
20485 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
20486
20487 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20488 Build a list of relevant visible mounts using the mnt_id and
20489 parent_mnt_id fields, and then scan that list at the end.
20490
9d5f8162
CW
204912011-04-12 Colin Watson <cjwatson@ubuntu.com>
20492
20493 * docs/grub.texi (normal): New section.
20494 (normal_exit): New section.
20495 (Embedded configuration): Add reference to normal.
20496 (GRUB only offers a rescue shell): Likewise.
20497 * docs/grub-dev.texi (Error Handling): Fix typo.
20498
09a9d66f
CW
204992011-04-12 Colin Watson <cjwatson@ubuntu.com>
20500
20501 * NEWS: Drop obsolete entry about probe-only btrfs support.
20502
0c676933
CW
205032011-04-12 Colin Watson <cjwatson@ubuntu.com>
20504
20505 * util/import_gcry.py: Fix typo.
20506
ec9f5e0d
VS
205072011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20508
20509 * NEWS: Add btrfs support.
20510
fe6b2cba
VS
205112011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
205122011-04-11 Colin Watson <cjwatson@ubuntu.com>
20513
20514 BtrFS support. Written by me (Vladimir) with important bugfixes and
20515 even more important testing by Colin.
20516
20517 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
20518 * grub-core/Makefile.core.def (btrfs): Add crc.c.
20519 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
20520 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
20521 mem_input_off and mem_input. All users updated to accept in-RAM input.
20522 (gzio_seek): New function.
20523 (test_zlib_header): Likewise.
20524 (grub_gzio_read): Likewise.
20525 (grub_zlib_decompress): Likewise.
20526 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
20527 Accept partial and non-virtual mounts.
20528 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
20529 avoid receiving /dev/dm-X as device.
20530 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
20531 Handle bind and partial mounts.
20532 * grub-core/lib/crc.c: New file.
20533 * include/grub/deflate.h: Likewise.
20534 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
20535 proto.
20536 * include/grub/lib/crc.h: New file.
20537
e745cf0c
VS
205382011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20539
20540 Implement automatic module license checking according to new GNU
20541 guidelines.
20542
20543 * grub-core/kern/dl.c (grub_dl_check_license): New function.
20544 (grub_dl_load_core): Use grub_dl_check_license.
20545 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
20546 (GRUB_MOD_LICENSE): Likewise.
20547 (GRUB_MOD_DUAL_LICENSE): Likewise.
20548 All modules updated.
20549
2a9bc016
CW
205502011-04-11 Colin Watson <cjwatson@ubuntu.com>
20551
20552 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
20553 reserved_first_sector to 1. btrfs reserves plenty of space for boot
20554 loaders.
20555 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
20556
8a3bc88e
VS
205572011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20558
20559 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
20560
af869a4a
VS
205612011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20562
20563 * util/grub-fstest.c (read_file): Report GRUB error if file opening
20564 failed.
20565
9ee8d94f
VS
205662011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20567
20568 * grub-core/kern/file.c (grub_file_open): Don't take into account the
20569 parenthesis in the middle of the filename.
20570
b01abe3e
VS
205712011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20572
20573 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
20574 rather than trying to put initrd way too high.
20575 Reported by: Ryan Lortie <desrt@desrt.ca>
20576
335bda1e
VS
205772011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20578
20579 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
20580 improperly removed string.
20581
5ca1a64d
VS
205822011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20583
20584 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
20585 is_disk.
20586 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
20587 (open_device) Likewise.
20588 (grub_util_biosdisk_close): Likewise.
d8ce9995 20589 Reported by: Mark Korenberg.
5ca1a64d 20590
cbac5b1e
AK
205912011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
20592
20593 * util/grub-mkconfig_lib.in: Add missing quotes.
20594
088cdb65
CW
205952011-04-10 Colin Watson <cjwatson@ubuntu.com>
20596
20597 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
20598 is NULL.
20599
8b8a81fa
VS
206002011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20601
20602 Dynamically count the number of lines for the lower banner.
20603
20604 * grub-core/normal/menu_entry.c (per_term_screen): New member
20605 num_entries.
20606 (print_down): Use num_entries.
20607 (update_screen): Likewise.
20608 (grub_menu_entry_run): Set num_entries.
20609 * grub-core/normal/menu_text.c (menu_viewer_data): New member
20610 num_entries.
20611 (grub_print_message_indented): Move real part to ...
20612 (grub_print_message_indented_real): ... here. Additional argument
20613 dry_run.
20614 (draw_border): Additional argument num_entries.
20615 (print_message): Additional argument dry_run.
20616 (print_entries): Receive menu viewer data.
20617 (grub_menu_init_page): New argment num_entries.
20618 (menu_text_set_chosen_entry): Use num_entries.
20619 (grub_menu_try_text): Likewise.
20620 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
20621 All users updated.
20622 (grub_ucs4_count_lines): New function.
20623 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
20624 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
20625 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
20626 (grub_term_border_height): Likewise.
20627 (grub_term_num_entries): Likewise.
20628
277f955b
VS
206292011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20630
20631 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
20632 Remove now unused string.
20633
536ce85a
CW
206342011-04-09 Colin Watson <cjwatson@ubuntu.com>
20635
20636 * docs/grub-dev.texi (Finding your way around): Update for 1.99
20637 build system.
20638 (Getting started): GRUB is developed in Bazaar now, not Subversion.
20639
20640 (Comment): Fix typo.
20641 (Getting started): General copy-editing.
20642 (Typical Development Experience): Likewise.
20643 (Error Handling): Likewise.
20644 (Video API): Likewise.
20645
2cf09e32
CW
206462011-04-09 Colin Watson <cjwatson@ubuntu.com>
20647
20648 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
20649 throughout.
20650
1ec652f4
VS
206512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20652
20653 * util/grub-mkimage.c (main): Handle special naming of yeeloong
20654 directory.
20655
2c583728
CW
206562011-04-08 Colin Watson <cjwatson@ubuntu.com>
20657
20658 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
20659 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
20660 "development".
20661
d7a565e9
VS
206622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20663
20664 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
20665 grub_strcpy since the lines aren't necessarily 0-terminated.
20666
7c2e4909
VS
206672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20668
20669 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
20670 root on legacy.
20671
34c09785
VS
206722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20673
20674 * grub-core/commands/probe.c (options): Argument to set isn't optional.
20675 (GRUB_MOD_INIT): DEVICE isn't optional.
20676
6a6f8058
VS
206772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20678
20679 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
20680 word on new line if it's too long anyway. Fixes a hang.
20681
2e335e90
VS
206822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20683
20684 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
20685 const.
20686 * util/grub-setup.c (main): Reuse md device name if available.
20687 * util/raid.c (grub_util_raid_getmembers): Receive device name and
20688 not GRUB name as argument.
20689 Based on patch by: Florian Wagner <fwagner>.
20690
10a7a867
VS
206912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20692
20693 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20694 Place mbi on low memory for better compatibility.
20695
7a3d6cd9
VS
206962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20697
20698 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
20699
18dd6b47
VS
207002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
207012011-04-08 Colin Watson <cjwatson@ubuntu.com>
20702
20703 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 20704 * conf/Makefile.common: Likewise.
18dd6b47 20705
3c0e3f14
VS
207062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20707
f7148863
VS
20708 * grub-core/normal/menu.c: Add missing include.
20709
207102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20711
20712 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 20713
6d1fa41f
MZ
207142011-04-08 Martin Zuther <mzuther@mzuther.de>
20715
20716 * util/grub-mkconfig.in: Ignore emacsen backup.
20717
478182a8
VS
207182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20719
20720 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
20721 on open.
20722 (grub_util_biosdisk_close): Likewise.
20723
72a89a54
VS
207242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20725
20726 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
20727 const attribute and use grub_isdigit.
20728
b5ebecfa
A
207292011-04-06 Andrey <dev_null@ukr.net>
20730
20731 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
20732 gcc warning.
20733
7755f66e
VS
207342011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20735
20736 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
20737 useful grub_dprintf's.
20738
461121ff
VS
207392011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20740
20741 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
20742
2a961775
VS
207432011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20744
20745 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
20746
adf594cc
VS
207472011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20748
20749 Output errors if theme loading failed.
20750
20751 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
20752 grub_gfxterm_fullscreen on error paths to ...
20753 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
20754 theme loading error.
20755
665900a3
VS
207562011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20757
20758 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
20759 space for older compilers.
20760 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20761
a562b479
VS
207622011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20763
20764 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
20765 and report them as not RAID members since they are useless for GRUB.
20766 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20767
850e9373
VS
207682011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20769
20770 Increase LVM implementation robustness in order not to crash on
20771 configurations like pvmove. Previously code assumed that in some places
20772 only lvs or only pvs are used whereas it seems that they are used
20773 interchangeably.
20774
20775 * grub-core/disk/lvm.c (read_node): New function.
20776 (read_lv): Use read_node.
20777 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
20778 Match volumes only at the end when all lvs are found. Take both
20779 pvs (first) and lvs (second) into account.
20780 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
20781 mirror_* into node_*. All users updated.
20782 (grub_lvm_stripe): Merge this ...
20783 (grub_lvm_mirror): ... and this ...
20784 (grub_lvm_node): ... into this. All users updated.
20785
6f332153
VS
207862011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20787
20788 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
20789 of function to allow further scanning for LVMs.
20790
829ea451
VS
207912011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20792
20793 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
20794 on failed seek as it breaks open fd reusage.
20795
09ceb9a5
VS
207962011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20797
20798 * util/grub-install.in: Add a recommendation to use --recheck before
20799 reporting bugs.
20800
67e11623
VS
208012011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20802
20803 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
20804 are obtained.
20805
caee5efd
VS
208062011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20807
20808 GRUB developper manual based on existing Internals section and
20809 contributions by the various authors with active copyright assignment.
20810
20811 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
20812 * docs/font_char_metrics.png: New file.
20813 * docs/font_char_metrics.txt: Likewise.
20814 * docs/grub-dev.texi: Likewise.
20815 * docs/grub.texi (Internals): Move from here ...
20816 * docs/grub-dev.texi: ... here.
20817
2cccc747
CW
208182011-04-01 Colin Watson <cjwatson@ubuntu.com>
20819
20820 Store the loopback device as data on loopback grub_disk structures,
20821 rather than the file it points to. This fixes use of freed memory
20822 if an existing loopback device is replaced.
20823
20824 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
20825 disk->data, not dev->file.
20826 (grub_loopback_read): Adjust file assignment to match.
20827 Fixes Ubuntu bug #742967.
20828
186ae367
CW
208292011-04-01 Colin Watson <cjwatson@ubuntu.com>
20830
20831 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
20832 when replacing an existing device.
20833
cfed2ad0
VS
208342011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
20835
20836 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
20837 memory corruptions.
20838
20839 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
20840 unsigned.
20841 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
20842 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
20843 (grub_jfs_read_inode): Likewise.
20844 (grub_jfs_opendir): Likewise. Remove now useless casts.
20845 (grub_jfs_getent): Likewise.
20846 Make ino a grub_uint32_t rather than int.
20847 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
20848 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
20849 division and module with bit operations.
20850 (grub_jfs_find_file): Make ino a grub_uint32_t.
20851 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
20852
05d2ed32
CW
208532011-04-01 Colin Watson <cjwatson@ubuntu.com>
20854
20855 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
20856 warning. (This was in fact always initialised before use, but GCC
20857 wasn't smart enough to prove that.)
20858 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
20859
91dc6073
VS
208602011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20861
20862 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
20863 stack alignment.
20864 (efi_wrap_1): Likewise.
20865 (efi_wrap_2): Likewise.
20866 (efi_wrap_3): Likewise.
20867 (efi_wrap_4): Likewise.
20868 (efi_wrap_5): Likewise.
20869 (efi_wrap_6): Likewise.
20870 (efi_wrap_10): Likewise.
20871 Based on information by: Red Hat/Peter Jones.
20872
a8afc1d1
CW
208732011-03-31 Colin Watson <cjwatson@ubuntu.com>
20874
20875 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
20876 set-but-not-used variable.
20877
a826cc7d
CW
208782011-03-31 Colin Watson <cjwatson@ubuntu.com>
20879
20880 * docs/grub.texi (Simple configuration): Be more explicit about
20881 GRUB_DEFAULT, and add an example.
20882 Reported by: Leslie Rhorer.
20883
875b67ba
CW
208842011-03-30 Colin Watson <cjwatson@ubuntu.com>
20885
20886 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
20887 shell".
20888
fd7cd914
AS
208892011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20890
20891 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
20892 * util/grub.d/20_linux_xen.in: Likewise.
20893
090b1b6a
VS
208942011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20895
20896 * util/grub.d/10_linux.in: Try alternative config filenames where
20897 we parse config file.
20898 * util/grub.d/20_linux_xen.in: Likewise.
20899
baad885c
AS
209002011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20901
20902 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
20903 * util/grub.d/20_linux_xen.in: Likewise.
20904
241e41f5
VS
209052011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20906
20907 * grub-core/disk/raid.c (insert_array): Add few potentially
20908 useful grub_util_info.
20909 (grub_raid_register): Likewise.
20910
56445fb2
VS
209112011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20912
20913 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
20914 Preserve partition number in mdadm code path.
20915
c871b1c6
VS
209162011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20917
20918 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
20919 few potentially useful grub_util_info.
20920
5e631b4f
CW
209212011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20922
20923 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
20924
2d5d0333
CW
209252011-03-30 Colin Watson <cjwatson@ubuntu.com>
20926
20927 * docs/grub.texi (default): Use @example rather than nested
20928 itemized lists to avoid breaking gendocs.
20929
3d7ed04e
CW
209302011-03-30 Colin Watson <cjwatson@ubuntu.com>
20931
20932 * docs/grub.texi (Future): Update.
20933
abf04200 209342011-03-30 Colin Watson <cjwatson@ubuntu.com>
20935
20936 * docs/grub.texi (Environment): New chapter.
20937 (Changes from GRUB Legacy): Link to "Environment block" section for
20938 details of limitations.
20939 (Simple configuration): Likewise. Link to documentation of gfxmode
20940 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
20941 respectively.
20942 (Shell-like scripting): Note that normal variables are stored in the
20943 environment.
20944 (gettext): Link to documentation of lang and locale_dir.
20945 (list_env): New section.
20946 (load_env): New section.
20947 (save_env): New section.
20948
20949 (Reporting bugs): Fix typo.
20950
e1ad0edd
VS
209512011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20952
20953 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
20954 the example.
20955
5d803174
VS
209562011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20957
20958 * grub-core/term/at_keyboard.c (set_scancodes)
20959 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
20960
2a2da1d0
CW
209612011-03-30 Colin Watson <cjwatson@ubuntu.com>
20962
20963 * docs/grub.texi (Menu-specific commands): Remove some semantics
20964 that were true in GRUB Legacy but not in GRUB 2.
20965 (submenu): New section.
20966 (false): New section.
20967 (read): New section.
20968 (true): New section.
20969
a7527639
CW
209702011-03-30 Colin Watson <cjwatson@ubuntu.com>
20971
20972 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
20973
209742011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
20975
20976 * docs/grub.texi (Simple configuration): Explain some of the
20977 current limitations of grub-mkconfig.
8a748df2 20978 Reported by: Leslie Rhorer.
e30af029 20979
fc858482
VS
209802011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20981
20982 Old macs search for boot.efi rather than for bootia32.efi.
20983
20984 * util/grub-install.in: Copy bootia32.efi to boot.efi.
20985 * util/grub-mkrescue.in: Likewise.
20986 Suggested by: Peter Jones.
20987
e1eb511d
VS
209882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20989
20990 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
20991
70e75364
VS
209922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20993
20994 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
20995 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
20996 (grub_lvm_mirror): New struct.
20997 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
20998 (grub_lvm_iterate): Iterate only visible volumes.
20999 (grub_lvm_read): Factor out to ..
21000 (read_lv): ... this. Support mirrors.
21001 (grub_lvm_read): New wrapper function.
21002 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
21003 stripped or mirrored.
21004
fc18f6a3
VS
210052011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21006
21007 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
21008
5c650f4c
CW
210092011-03-29 Colin Watson <cjwatson@ubuntu.com>
21010
21011 * docs/grub.texi (loopback): New section.
21012
61d7156b
CW
210132011-03-29 Colin Watson <cjwatson@ubuntu.com>
21014
21015 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
21016 removed -p option.
21017
994b8264
CW
210182011-03-29 Colin Watson <cjwatson@ubuntu.com>
21019
21020 * docs/grub.texi (BIOS installation): New section, partly based on
21021 previous text in other sections.
21022 (Installing GRUB using grub-install): Replace BIOS discussion with a
21023 cross-reference.
21024 (Images): Likewise.
21025
9e4d19e0
VS
210262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21027
21028 * grub-core/kern/emu/hostdisk.c (find_partition_start)
21029 [HAVE_DIOCGDINFO]: Add safety checks.
21030
a307c0b2
VS
210312011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21032
21033 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
21034 per default compiled in kernel and prior to 8.0 isn't shipped at all.
21035
b4db4f39
CW
210362011-03-29 Colin Watson <cjwatson@ubuntu.com>
21037
21038 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
21039 real_sb->size is zero (e.g. RAID-0), get the disk size from
21040 real_sb->data_size instead.
21041 Fixes Ubuntu bug #743136.
21042
35e5f84c
VS
210432011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21044
21045 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
21046 printf clauses for printing size and start.
21047
d2e29d81
VS
210482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21049
21050 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
21051 Reported and tested by: Timothy Nikkel.
21052
ed5587af
VS
210532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21054
21055 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
21056 (dirty_region_add_real): ... this.
21057 (dirty_region_add): Don't discard margin refresh when performing
21058 scheduled repaint.
21059
a1dc717c
VS
210602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21061
21062 * grub-core/lib/relocator.c (allocate_regstart)
21063 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
21064 terminals are capabple of malloc-free operation.
21065 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
21066 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
21067
9f3677d3
VS
210682011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
21069
21070 * util/grub-setup.c: Copy the partition table zone if floppy support
21071 is disabled, even if no partition table is found.
21072
21073 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
21074 during POST if an invalid partition table is contained in the PBR
21075 of the active partition when GRUB is installed to a partition.
21076
24148725
CW
210772011-03-28 Colin Watson <cjwatson@debian.org>
21078
21079 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
21080 comment.
21081
f329eda7
CW
210822011-03-28 Colin Watson <cjwatson@debian.org>
21083
21084 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
21085 to be specific about what kind of RAID device we're scanning for.
21086
c482ad98
SG
210872011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
21088
21089 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
21090 return freed string.
21091
5ee04984
VS
210922011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21093
21094 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
21095
f4727da9
VS
210962011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21097
21098 Use libgeom on FreeBSD to detect partitions.
21099
21100 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
21101 (grub-mkrelpath): Likewise.
21102 (grub-script-check): Likewise.
21103 (grub-editenv): Likewise.
21104 (grub-mkpasswd-pbkdf2): Likewise.
21105 (grub-fstest): Likewise.
21106 (grub-mkfont): Likewise.
21107 (grub-mkdevicemap): Likewise.
21108 (grub-probe): Likewise.
21109 (grub-setup): Likewise.
21110 (grub-ofpathname): Likewise.
21111 (grub-mklayout): Likewise.
21112 (example_unit_test): Likewise.
21113 (grub-menulst2cfg): Likewise.
21114 * grub-core/Makefile.core.def (grub-emu): Likewise.
21115 (grub-emu-lite): Likewise.
21116 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
21117 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
21118 define HAVE_DIOCGDINFO.
21119 (follow_geom_up) [FreeBSD]: New function.
21120 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
21121 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
21122 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
21123 unconditionally of HAVE_DIOCGDINFO.
21124
82fe6c75
VS
211252011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21126
21127 Fix FreeBSD compilation problem.
21128
21129 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
21130 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
21131
4c6c9431
CW
211322011-03-24 Colin Watson <cjwatson@ubuntu.com>
21133
21134 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
21135 Switch back to page zero before loading a kernel, since some kernel
21136 drivers expect that.
21137 Thanks to: Felix Kuehling.
21138
c7064d94
VS
211392011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21140
21141 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
21142 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
21143 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
21144
3f71cded
VS
211452011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21146
21147 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
21148 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
21149
ef6de21a
VS
211502011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21151
21152 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
21153 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
21154 malloc is disabled.
21155
8bc66a2c
VS
211562011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21157
21158 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
21159 for modules headers when counting the needed allocation size.
21160
5657722c
VS
211612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21162
21163 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
21164 if no ASCII character is found to prevent crash.
21165
41a85f55
AK
211662011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
21167
21168 * grub-core/video/bitmap.c (match_extension): Ignore case.
21169
59e1e5f1
VS
211702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21171
21172 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
21173
bd4d051a
VS
211742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21175
21176 * grub-core/script/parser.y: Declare "time" as valid argument.
21177
bae7fcc1
PJ
211782011-03-23 Peter Jones <pjones@redhat.com>
21179
21180 Fix incorrect assert failure reporting.
21181
21182 * grub-core/tests/example_functional_test.c (example_test): Add
21183 a failure comment.
21184 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
21185 (failure_start): ...this. Check that malloc succeeded.
21186 Don't call xvasprintf. Return failure struct.
21187 (failure_append_vtext): New function.
21188 (failure_append_text): Likewise.
21189 (add_failure): Likewise.
21190 (grub_test_assert_helper): Likewise.
21191 * include/grub/test.h (grub_test_assert_helper): New declaration.
21192 (grub_test_assert): Macro rewritten.
21193
537dc9be
VS
211942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21195
21196 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
21197
fa3e01bf
VS
211982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21199
21200 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
21201
b1d28404
VS
212022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21203
21204 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
21205 into GRUB-style one.
21206
2e3e2e09
VS
212072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21208
21209 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
21210 error and not grub_errno.
21211 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
21212
ed57e557
VS
212132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21214
21215 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
21216 GRUB_USB_SPEED_NONE in case of failure and not the error code.
21217
d1611f01
VS
212182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21219
21220 * grub-core/efiemu/i386/pc/cfgtables.c
21221 (grub_machine_efiemu_init_tables): Make declaration a prototype.
21222 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
21223 (grub_xnu_unlock): Likewise.
21224 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
21225
7d4e39d6
VS
212262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21227
21228 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
21229 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
21230 * grub-core/commands/hashsum.c (aliases): Likewise.
21231 * grub-core/commands/setpci.c (pci_registers): Likewise.
21232 * grub-core/disk/usbms.c (attach_hook): Likewise.
21233 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
21234 (zio_checksum_table): Likewise.
21235 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
21236 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
21237 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
21238 * grub-core/lib/relocator.c (leftovers): Likewise.
21239 (extra_blocks): Likewise.
21240 * grub-core/loader/i386/bsd.c (relocator): Likewise.
21241 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
21242 (modules_last): Likewise.
21243 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
21244 (devices): Likewise.
21245 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
21246 (modules_last): Likewise.
21247 * grub-core/normal/auth.c (users): Likewise.
21248 * grub-core/normal/context.c (initial_menu): Likewise.
21249 (current_menu): Likewise.
21250 * grub-core/normal/crypto.c (crypto_specs): Likewise.
21251 * grub-core/term/serial.c (grub_serial_ports): Likewise.
21252 (grub_serial_terminfo_input_template): Likewise.
21253 (grub_serial_terminfo_output_template): Likewise.
21254 (grub_serial_terminfo_input): Likewise.
21255 (grub_serial_terminfo_output): Likewise.
21256 (registered): Likewise.
21257 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
21258
40fc4659
VS
212592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21260
21261 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
21262 grub_video_mode_type_t.
21263 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
21264 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
21265 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
21266
2da48d28
VS
212672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21268
21269 * util/grub-install.in: Correct the x86-64 name as x86_64.
21270
9b43bf39
CW
212712011-03-11 Colin Watson <cjwatson@ubuntu.com>
21272
21273 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
21274 initial chunk read from the kernel always includes GRUB's multiboot
21275 header, which is now outside the first sector.
21276
be1a7ce0
CW
212772011-03-09 Colin Watson <cjwatson@ubuntu.com>
21278
21279 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
21280 cached mmap_size, so that this works correctly when called multiple
21281 times.
21282 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
21283
83a3c48d
CW
212842011-03-09 Colin Watson <cjwatson@ubuntu.com>
21285
21286 * docs/grub.texi (Simple configuration): Tidy up formatting.
21287
57d75699
SJ
212882011-03-07 Szymon Janc <szymon@janc.net.pl>
21289
21290 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
21291 Set-but-not-used variable removed.
21292
028501a0
VS
212932011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21294
21295 Workaround yet another IEEE1275 bug.
21296
21297 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
21298 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
21299 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
21300 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
21301 is set.
21302 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21303 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
21304
d998657d
VS
213052011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21306
21307 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
21308 error.
21309
fee7cdd4
CW
213102011-02-11 Colin Watson <cjwatson@ubuntu.com>
21311
21312 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
21313 empty, since in that case we can only generate either nothing or a
21314 syntactically invalid configuration file.
21315 Reported by: Michal Suchanek. Fixes Debian bug #612898.
21316
97286eb5
CW
213172011-02-09 Colin Watson <cjwatson@ubuntu.com>
21318
21319 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
21320 (Making a GRUB bootable CD-ROM): Likewise.
21321 (Invoking grub-mkrescue): New section.
21322 Reported by: Yann Dirson. Fixes Debian bug #612585.
21323
22b28eb3
CW
213242011-02-09 Colin Watson <cjwatson@ubuntu.com>
21325
21326 * util/grub-install.in: Remove unnecessary brackets from tr
21327 arguments.
21328 * util/grub.d/10_hurd.in: Likewise.
21329 * util/grub.d/10_kfreebsd.in: Likewise.
21330 * util/grub.d/10_linux.in: Likewise.
21331 * util/grub.d/20_linux_xen.in: Likewise.
21332 Reported by: Jamie Heilman. Fixes Debian bug #612564.
21333
7e735e43
CW
213342011-02-08 Colin Watson <cjwatson@ubuntu.com>
21335
21336 * include/grub/file.h (not_easly_seekable): Rename to ...
21337 (not_easily_seekable): ... this. Update all users.
21338
800f1881
CW
213392011-01-28 Colin Watson <cjwatson@ubuntu.com>
21340
21341 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
21342 grub-mkrescue.
21343
3281d3d6
VS
213442011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
21345
21346 * util/grub-mkimage.c (generate_image): Refuse to create the images
21347 bigger than the actual flash (512K) in Loongson machines. 512K is also
21348 the biggest chip supported by them.
21349
3533413c
VS
213502011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21351
21352 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
21353
73ae4f4f
VS
213542011-01-22 Anthony DeRobertis <anthony@derobert.net>
21355
21356 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
21357 super_offset field.
21358
37f4f608
VS
213592011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 * util/grub-install.in: Ignore install device on platforms
21362 where it doesn't make sense. Always use UUIDs except on pc, efi and
21363 sparc64.
21364 Reported by: Daniel Kahn Gillmor.
21365
03a4ccb5
VS
213662011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21367
21368 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
21369
ffc8f4d8
VS
213702011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21371
21372 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
21373 (iterate_real): Don't rely on partition being non-NULL.
21374
80f23be7
VS
213752011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21376
21377 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
21378 supported platforms. Put a compile time assert for this rather than
21379 generate a warning with 32-bit shift.
21380
5d4f4dd5
VS
213812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21382
21383 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
21384 logical expression more readable.
21385
e489601a
VS
213862011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21387
21388 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
21389 even if some elements have a name.
21390 Reported by: Alexander GQ Gerasiov.
21391
96e0a6ea
CW
213922011-01-22 Colin Watson <cjwatson@ubuntu.com>
21393
21394 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
21395 path unreadable if `grub-probe -t abstraction' fails, for example if
21396 memberlist fails on an LVM volume group.
21397 Reported by: Darius Jahandarie.
21398
81431e2b
CW
213992011-01-22 Colin Watson <cjwatson@ubuntu.com>
21400
21401 * docs/grub.texi (Simple configuration): Document
21402 GRUB_PRELOAD_MODULES.
21403
5e79d66a
CW
214042011-01-17 Colin Watson <cjwatson@ubuntu.com>
21405
21406 * .bzrignore: Remove nonexistent grub-pbkdf2.
21407
646ada34
VS
214082011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
21409
21410 * configure.ac: Bump version to 1.99~rc1.
21411
04360337
VS
214122011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21413
21414 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
21415 for safety.
21416
46c9db88
VS
214172011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21418
21419 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
21420 module.
21421
214222011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
21423
21424 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
21425
4fbf1852
VS
214262011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21427
21428 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
21429 diskdevid.
21430
f1632d4d
VS
214312011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21432
21433 Fix compilation on cygwin.
21434
21435 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
21436 -R .drectve on cygwin.
21437 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
21438 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
21439 (COND_CYGWIN): New condition.
21440 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
21441 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
21442 not @TARGET_OBJ2ELF@.
21443 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
21444 type to determine whether aux is to be used.
21445
0b5e127b
VS
214462011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21447
21448 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
21449 realpath'ed device string.
21450 Handle floppy (somewhat).
21451 Issue error in unknown case rather than garbage.
21452 Reported by: Axel Beckert.
21453
173b71e9
VS
214542011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21455
21456 * util/grub.d/00_header.in (load_video): Handle the case when no video
21457 drivers available.
21458 Thanks to: Axel Beckert.
21459
f8f479db
VS
214602011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21461
21462 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
21463 variable. Fixes problem on big endian platforms.
21464
8fc0a245
VS
214652011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21466
21467 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
21468 It doesn't work well there.
21469
b8494fbe
VS
214702011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21471
21472 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
21473 warning.
21474 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
21475 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
21476 counter.
21477
b44a558c
VS
214782011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21479
21480 Use alias->path rather than buggy "canon".
21481
21482 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
21483 (ofdisk_hash_add): New argument curcan. All users updated.
21484
51fa856c
CW
214852011-01-11 Colin Watson <cjwatson@ubuntu.com>
21486
21487 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
21488
9da068a5
VS
214892011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21490
21491 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
21492 loadmask before doing any calculations. Use correct type for offset.
21493 (grub_linux_load64): Likewise.
21494
86205c94
CW
214952011-01-11 Colin Watson <cjwatson@ubuntu.com>
21496
21497 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
21498 with NULL.
21499 (console_grub_equivalences_unshift): Likewise.
21500 Reported by: Daniel Dehennin.
21501
4531a206
VS
215022011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21503
21504 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
21505 (set_env_limn_ro): Likewise.
21506 (GRUB_MOD_INIT): Likewise.
21507 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
21508 ARRAY_SIZE while on it.
21509 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
21510 * grub-core/normal/context.c (grub_env_export): Move from here ...
21511 * grub-core/kern/env.c (grub_env_export): ... here.
21512 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
21513 prefix.
21514 * grub-core/kern/main.c (grub_main): Export root and prefix.
21515 * include/grub/env.h (grub_env_export): Export.
21516 Reported by: Seth Goldberg.
21517
45146057
VS
215182011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21519
21520 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21521 Take into account space used by ELF sections and multiboot palette.
21522 Reported by: Grégoire Sutre.
21523
f093110b
VS
215242011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21525
21526 * BUGS: New file.
21527
3395fe52
VS
215282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21529
21530 Pass more appropriate video id to Linux.
21531
21532 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
21533 grub_video_get_driver_id and variable gfxpayloadforcelfb to
21534 fill have_vga.
21535 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
21536 shift params->lfb_size.
21537 * include/grub/i386/linux.h: Make an enume out of have_vga values.
21538
c2fa6cbb
VS
215392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21540
21541 * util/grub-menulst2cfg.c: Add missing include of misc.h.
21542
b3ff6ff0
VS
215432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21544
21545 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
21546 separator and pass bootpath/devid even if only one of them is available.
21547 Reported by: Seth Goldberg.
21548
ae67942e
VS
215492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21550
21551 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
21552 implementations bug on them.
21553
21554 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
21555 memory.
21556 (filter_memory_map): Likewise.
21557
d570097a
VS
215582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21559
21560 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
21561 Reported by: nebuchadnezzar.
21562
a508e776
VS
215632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21564
21565 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
21566 Reported by: nebuchadnezzar.
21567
dcb883b1
VS
215682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21569
21570 Submenu default support.
21571
21572 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
21573 auto_boot. All users updated.
21574 Declared static.
21575 Handle chosen and default with submenus.
21576 (grub_menu_execute_with_fallback): Declared static.
21577 Don't notify failure if autobooted. Upper level does it.
21578 (menuentry_eq): New function.
21579 (get_entry_number): Use menuentry_eq.
21580 (show_menu): New parameter "autobooted". All users updated.
21581 (grub_show_menu): Likewise.
21582 * include/grub/normal.h (grub_show_menu): Likewise.
21583 * include/grub/menu.h (grub_menu_execute_entry): Removed.
21584 (grub_menu_execute_with_fallback): Likewise.
21585
6fef99b4
VS
215862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21587
21588 * util/grub-mklayout.c (usage): Update help text.
21589
47a77af5
VS
215902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21591
21592 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
21593
ce6bb3ee
VS
215942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21595
21596 * util/grub-menulst2cfg.c (main): Trim the line.
21597
db87be2a
VS
215982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21599
21600 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
21601 (grub_machine_init): Don't check amount of low memory as reportedly
21602 INT 12h can be broken and if low memory is too low we wouldn't have
21603 gotten into grub_machine_init anyway.
21604
c49849cc
VS
216052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21606
21607 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
21608 (grub_machine_mmap_iterate): Take low memory into account
21609
b1969b30
VS
216102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21611
21612 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
21613 badfs.
21614 Reported by: TiCPU.
21615
cf0eaf13
VS
216162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21617
21618 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
21619 members errors.
21620
1f060f39
GS
216212011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21622
21623 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
21624 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
21625
a21e5672
GS
216262011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21627
21628 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
21629 openbsd and netbsd types being in part_bsd module.
21630
c88172fa
VS
216312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21632
21633 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
21634 (_FILE_OFFSET_BITS): Likewise.
21635 Reported by: Seth Goldberg.
21636
53798c4b
GS
216372011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21638
21639 * configure.ac: Check for libdevmapper header.
21640
e7121b69
VS
216412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21642
21643 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
21644 avoid aliasing.
21645 (fzap_lookup): Likewise.
21646 (dnode_get): Likewise.
21647 (make_mdn): Likewise.
21648 (zfs_mount): Likewise.
21649 (fzap_iterate): Use temporary pointer to avoid aliasing.
21650 (grub_zfs_read): Likewise.
21651 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
21652 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
21653 pointers to avoid aliasing.
21654 (grub_cmd_xnu_kernel64): Likewise.
21655 (grub_xnu_load_driver): Likewise.
21656
fc836af9
VS
216572011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21658
21659 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
21660 aliasing warning.
21661 (grub_cmd_terminal_output): Likewise.
21662 Reported and tested by: Grégoire Sutre.
21663
f9f37648
VS
216642011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21665
21666 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
21667 warning.
21668 Reported and tested by: Grégoire Sutre.
21669
ec1dfd63
VS
216702011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21671
21672 * configure.ac: Do CPU substitution even if it's specified explicitly.
21673 Reported and tested by: Alain Greppin.
21674
9462775a
VS
216752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21676
21677 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
21678 Reported and tested by: Alain Greppin.
21679
0fd48e35
VS
216802011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21681
21682 Satisfy some bison versions need for inttypes.h.
21683
21684 * grub-core/lib/posix_wrap/inttypes.h: New file.
21685 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
21686 (int16_t): Likewise.
21687 (int32_t): Likewise.
21688 (int64_t): Likewise.
21689 Reported and tested by: Alain Greppin.
21690
43f1bc83
VS
216912011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21692
21693 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
21694 Silence spurious warning.
21695 Reported and tested by: Alain Greppin.
21696
64d1f041
SJ
216972011-01-07 Szymon Janc <szymon@janc.net.pl>
21698
21699 * docs/grub.texi (Support automatic decompression): Update with xz
21700 decompression support.
21701
25953e10
SJ
217022011-01-07 Szymon Janc <szymon@janc.net.pl>
21703
21704 Improve loaders' kernel command line handling.
21705
21706 * grub-core/lib/cmdline.c: New file.
21707 * include/grub/lib/cmdline.h: Likewise.
21708 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
21709 grub_create_loader_cmdline to create kernel command line.
21710 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21711 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
21712 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
21713 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
21714 (linux): Add lib/cmdline.c on common.
21715
e72d259f
VS
217162011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21717
21718 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
21719 inopos might be unaligned.
21720
c0cf26da
VS
217212011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21722
21723 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
21724 endian transformations.
21725 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21726 Based on report by: Doug Nazar.
21727
0ca09e6c
DN
217282011-01-07 Doug Nazar <nazard.michi@gmail.com>
21729
21730 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
21731 array->members[i].start_sector.
21732 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
21733
014b6806
VS
217342011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21735
21736 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
21737 Reported and tested by: Grégoire Sutre.
21738
415502c2
CW
217392011-01-06 Colin Watson <cjwatson@ubuntu.com>
21740
21741 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
21742 avoid causing test failures by clearing the screen.
21743
71b6a2b7
CW
217442011-01-06 Colin Watson <cjwatson@ubuntu.com>
21745
21746 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
21747 Fix prefix check to handle the case where dir ends with a slash
21748 (most significantly, "/" itself).
21749 Reported by: Michael Vogt.
21750
b3f8d28a
VS
217512011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21752
21753 Run terminfo_cls on initing terminfo output to clear the screen and
21754 move the cursor to (0,0).
21755
21756 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
21757 Call grub_terminfo_output_init.
21758 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
21759 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
21760 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
21761
4c3e4f37
VS
217622011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21763
21764 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
21765 only when needed.
21766
488f71f1
VS
217672011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21768
21769 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
21770 CTRL.
21771
18a38098
VS
217722011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21773
21774 The E820 type 5 is BADRAM, not EXEC_CODE.
21775
21776 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21777 (GRUB_E820_BADRAM): New define.
21778 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
21779 into reserved. Propagate BADRAM.
21780 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21781 (GRUB_E820_BADRAM): New define.
21782
9eae2084
VS
217832011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21784
21785 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
21786 Ignore the memory post-4G.
21787 (grub_relocator_firmware_alloc_region): Additional debug statement.
21788
ebc71d28
VS
217892011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21790
21791 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
21792 names.
21793 Reported by: David Pravec.
21794
446fa400
VS
217952011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21796
21797 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
21798 BIOSes.
21799
a0159f37
VS
218002011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21801
21802 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
21803 Prevent overflow.
21804 (grub_reed_solomon_recover): Likewise.
21805
e5146ca1
VS
218062011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21807
21808 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
21809
218102011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
21811
21812 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
21813 variable.
21814
5b1bdf12
CW
218152011-01-04 Colin Watson <cjwatson@ubuntu.com>
21816
21817 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
21818 descriptions of extract_legacy_entries_source and
21819 extract_legacy_entries_configfile.
21820 Reported by: Seung Soo, Ha.
21821
99d925aa
CW
218222011-01-03 Colin Watson <cjwatson@ubuntu.com>
21823
21824 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
21825 on devices that do not implement function 0.
21826
4af0504b
DV
218272011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
21828
21829 * grub-core/fs/hfsplus.c: Make parent unsigned.
21830 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
21831 overflows.
21832 (grub_hfsplus_cmp_extkey): Likewise
21833
469ee10a
VS
218342011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21835
21836 * util/grub-install.in: Correctly use bootloader_id and not
21837 GRUB_DISTRIBUTOR on efibootmgr line.
21838
323a8e9c
VS
218392011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21840
21841 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
21842
1b394975
IC
218432010-12-31 Ian Campbell <ijc@hellion.org.uk>
21844
21845 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
21846 Xen and reorder menu item wording to make it clearer that this entry
21847 will launch Xen. Print separate messages when loading Xen and
21848 Linux.
21849
275bff5f
VS
218502010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21851
21852 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
21853 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
21854 loop in case of incorrect amiga partmap.
21855
307806cb
VS
218562010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21857
21858 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
21859 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
21860 Reported by:EHeM.
21861
b12b923e
VS
218622010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21863
21864 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
21865 spurious warning.
21866 Reported by: crocket
21867
14b48a19
VS
218682010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21869
21870 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
21871 Preload EFIemu.
21872 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
21873
693db2df
VS
218742010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21875
21876 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
21877 is loaded
21878 (grub_cmd_xnu_kextdir): Likewise.
21879 (grub_cmd_xnu_splash): Likewise.
21880
c7638645
VS
218812010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21882
21883 Avoid using Reed-Solomon with 0 redundancy.
21884
21885 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
21886 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
21887 or 0 redundancy.
21888 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
21889 (grub_reed_solomon_recover): Likewise.
21890
25dd4780
VS
218912010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21892
21893 Don't use disk subsystem in freebsd_boot.
21894
21895 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
21896 (freebsd_biosdev): Likewise.
21897 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
21898 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
21899
0b2db943
VS
219002010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
21901
21902 Handling of files of unknown size is currently limited. They can't be
21903 used e.g. for initrd or modules. Moreover gzip handling of not
21904 easily seekable files is buggy. Disable unknown file size for now. May
21905 be inefficient but works.
21906
21907 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
21908 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
21909
5c408d0f
MP
219102010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
21911
21912 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
21913 floppy probe.
21914
190a011a
JD
219152010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
21916
21917 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
21918
022d01b8
SL
219192010-12-25 Shea Levy <shlevy>
21920
21921 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
21922
c4855fdc
VS
219232010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21924
21925 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
21926 Windows Server 2008.
21927 Reported by: Devin Giddings.
21928
0354b867
VS
219292010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21930
21931 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
21932 writing an error message because of async power management.
21933 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
21934 (grub_reboot): Likewise.
21935
ab66c69f
JU
219362010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
21937
21938 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
21939 keep unit tests from failing when they shouldn't.
21940
1426ef35
CW
219412010-12-21 Colin Watson <cjwatson@ubuntu.com>
21942
21943 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
21944 previous patch increased the size of the RS code by 20 bytes (at
21945 least with gcc-4.4), so increase this by 20 bytes to match.
21946 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
21947
20641b6b
CW
219482010-12-21 Colin Watson <cjwatson@ubuntu.com>
21949
21950 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
21951 scratch area. Make sure to initialise chosen in standalone mode as
21952 well as non-standalone.
21953 Reported by: Robert Hooker and Andy Whitcroft.
21954 Tested by: Andy Whitcroft.
21955
d060ad60
CW
219562010-12-21 Colin Watson <cjwatson@ubuntu.com>
21957
21958 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
21959 constructing a new unescaped string and passing it to grub_xputs in
21960 one go, rather than passing characters to grub_printf one at a time.
21961
b889cfad
CW
219622010-12-21 Colin Watson <cjwatson@ubuntu.com>
21963
21964 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
21965 initialising utf16.
21966
4e01b6c8
CW
219672010-12-21 Colin Watson <cjwatson@ubuntu.com>
21968
21969 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
21970 comment. Add an extra layer of quotation, requiring the output of
21971 this function to be used in a printf format string.
21972 (gettext_printf): New function.
21973 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
21974 Extract translatable strings from here-documents and use a temporary
21975 variable instead, so that xgettext can find them.
21976 * util/grub.d/10_kfreebsd.in: Likewise.
21977 * util/grub.d/10_linux.in: Likewise.
21978 * util/grub.d/20_linux_xen.in: Likewise.
21979
21980 * po/grub.d.sed: New file.
21981 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
21982 arguments. Set c-format flags on all strings extracted from
21983 util/grub.d/ (xgettext refuses to include these itself for strings
21984 it extracted from a shell file, but these really are c-format).
21985
5318fe98
VS
219862010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21987
21988 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
21989 Avoid next pointing to nowhere.
21990
6c85b743
VS
219912010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21992
21993 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
21994 rather than assuming than rootblock is exactly in the middle.
21995 (grub_affs_label): Likewise.
21996
a2a08a35
VS
219972010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21998
21999 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
22000 reserved_first_sector to 0.
22001 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
22002 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
22003 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
22004
7059d1ec
VS
220052010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22006
22007 Fix handling of UTF-16 UDF labels.
22008
22009 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
22010 (read_string): .. here.
22011 (grub_udf_label): Use read_string.
22012
30aff4cb
BC
220132010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
22014
22015 * grub-core/normal/menu_entry.c (run): Execute commands from menu
22016 editor under argument scope.
22017 Reported by: Jordan Uggla
22018
5cf86f4b
VS
220192010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22020
22021 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
22022
32570200
CW
220232010-12-18 Colin Watson <cjwatson@ubuntu.com>
22024
22025 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
22026 line, and other keys scroll an entire page (previous handling was
22027 for \r and \n to scroll a page and other keys to scroll two lines).
22028
e1dffcf2
VS
220292010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22030
22031 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
22032 Set ptrdest to correct get_physical_target_address rather than
22033 incorrect get_virtual_current_address.
22034
b04298cf 220352010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
22036
22037 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
22038 correct cat to grub_uint8_t * rather than grub_uint32_t *.
22039
5367ecd3
CW
220402010-12-10 Colin Watson <cjwatson@ubuntu.com>
22041
22042 * .bzrignore: Ignore grub-core/rs_decoder.S.
22043
1fb430f8
CW
220442010-12-10 Colin Watson <cjwatson@ubuntu.com>
22045
22046 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
22047 .mo/.mo.gz opening sequence to ...
22048 (grub_mofile_open_lang): ... here.
22049 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
22050 * util/grub.d/00_header.in (grub_lang): Include country part of
22051 locale.
22052 Reported by: Mario Limonciello.
22053
a94a6671
RM
220542010-12-09 Robert Millan <rmh@gnu.org>
22055
22056 * NEWS: Document addition of ZFS support.
22057
24b7938b
CW
220582010-12-04 Colin Watson <cjwatson@ubuntu.com>
22059
22060 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
22061 rather than `/ 2', as the latter requires -Wa,--divide which would
22062 require bumping our minimum binutils version.
22063
bddc3ef6
BC
220642010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
22065
22066 * util/grub-script-check.c (main): Print script line number on
22067 error.
22068
bf78d5b2
RM
220692010-12-01 Robert Millan <rmh@gnu.org>
22070
22071 * grub-core/fs/zfs/zfs.c: New file.
22072 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
22073 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
22074 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
22075 * grub-core/fs/zfs/zfsinfo.c: Likewise.
22076
22077 * include/grub/zfs/dmu.h: Likewise.
22078 * include/grub/zfs/dmu_objset.h: Likewise.
22079 * include/grub/zfs/dnode.h: Likewise.
22080 * include/grub/zfs/dsl_dataset.h: Likewise.
22081 * include/grub/zfs/dsl_dir.h: Likewise.
22082 * include/grub/zfs/sa_impl.h: Likewise.
22083 * include/grub/zfs/spa.h: Likewise.
22084 * include/grub/zfs/uberblock_impl.h: Likewise.
22085 * include/grub/zfs/vdev_impl.h: Likewise.
22086 * include/grub/zfs/zap_impl.h: Likewise.
22087 * include/grub/zfs/zap_leaf.h: Likewise.
22088 * include/grub/zfs/zfs.h: Likewise.
22089 * include/grub/zfs/zfs_acl.h: Likewise.
22090 * include/grub/zfs/zfs_znode.h: Likewise.
22091 * include/grub/zfs/zil.h: Likewise.
22092 * include/grub/zfs/zio.h: Likewise.
22093 * include/grub/zfs/zio_checksum.h: Likewise.
22094
22095 * Makefile.util.def: Build ZFS into libgrubmods.
22096 * grub-core/Makefile.core.def: Build zfs.mod.
22097
3f0f3831
SJ
220982010-11-30 Szymon Janc <szymon@janc.net.pl>
22099
22100 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
22101 variable.
22102 * grub-core/commands/wildcard.c (match_files): Likewise.
22103
3a4253b2
RM
221042010-11-30 Robert Millan <rmh@gnu.org>
22105
22106 * grub-core/loader/i386/bsd.c
22107 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
22108 whether kernel is loaded using grub_loader_is_loaded(), rather
22109 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
22110 certain error conditions.
22111
8c317b27
RM
221122010-11-30 Robert Millan <rmh@gnu.org>
22113
c5c9cd3e
RM
22114 * grub-core/commands/echo.c: Include `<grub/term.h>'.
22115 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 22116
49d3ab46
VS
221172010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
22118
22119 Avoid using tricks for initialising endian variables.
22120
22121 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
22122 Make const.
22123 (GRUB_MOD_INIT): Don't byte-swap.
22124 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
22125 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
22126 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
22127 (grub_swap_bytes32_compile_time): Likewise.
22128 (grub_cpu_to_le32_compile_time): Likewise.
22129 (grub_cpu_to_le16_compile_time): Likewise.
22130
f420a804
VS
221312010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
22132
22133 * util/grub-setup.c (setup): Stop recommending --force. People who
22134 understand the dangers of blocklists are able to find this option
22135 anyway and the ones who don't shouldn't use it anyway.
22136
4e7db17b
RM
221372010-11-26 Robert Millan <rmh@gnu.org>
22138
22139 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
22140 Update all users.
22141
9be57a0d
CW
221422010-11-26 Colin Watson <cjwatson@ubuntu.com>
22143
22144 Fix LVM-on-RAID probing.
22145
22146 * util/grub-probe.c (probe): Remember which disk was detected as
22147 RAID (perhaps an LVM physical volume). Use that disk's raidname
22148 rather than that of the top-level disk.
22149
2c7859b3 221502010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 22151
d7647bb6
BC
22152 Fix cmdline argument quotes for setparams command of menuentry
22153 definitions.
7e623b0d
BC
22154
22155 * grub-core/commands/menuentry.c (setparams_prefix): Use single
22156 quotes for arguments.
f866fe80 22157 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 22158 grub_strchrsub function instead.
f866fe80 22159
7955bea0 22160 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 22161
74f72a64
CW
221622010-11-24 Colin Watson <cjwatson@ubuntu.com>
22163
22164 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
22165 effort by skipping "." and ".." entries up-front.
22166 Suggested by: Michael Lazarev.
22167
5a407278
CW
221682010-11-24 Colin Watson <cjwatson@ubuntu.com>
22169
22170 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
22171 ldflags to ldadd, to fix link line ordering.
22172 (none_decompress): Likewise.
22173
3030d8ec
CW
221742010-11-24 Colin Watson <cjwatson@ubuntu.com>
22175
22176 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
22177 platforms.
22178 (grub-emu-lite): Remove kern/emu/cache.S.
22179
b7fbac12
CW
221802010-11-23 Colin Watson <cjwatson@ubuntu.com>
22181
22182 * util/deviceiter.c (compare_devices): If the by-id link for a
22183 device couldn't be resolved, fall back to sorting by the by-id link
22184 rather than segfaulting.
22185 Reported and tested by: Daniel Mierswa.
22186
5225f328
CW
221872010-11-23 Colin Watson <cjwatson@ubuntu.com>
22188
22189 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
22190 ldflags, to fix link line ordering.
22191
038b3ce8
CW
221922010-11-23 Colin Watson <cjwatson@ubuntu.com>
22193
22194 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
22195 linkers are picky about this.
22196
bf16e98e
CW
221972010-11-23 Colin Watson <cjwatson@ubuntu.com>
22198
22199 * grub-core/Makefile.am (command.lst): Adjust sed expression
22200 ordering so that extended and priority commands aren't treated as
22201 ordinary commands.
22202
7242bab6
CW
222032010-11-23 Colin Watson <cjwatson@ubuntu.com>
22204
22205 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
22206 Remove byte-swapping function calls, which are not valid in
22207 structure initialisers.
22208 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
22209 non-const.
22210 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
22211 grub_gpt_partition_type_bios_boot.
22212
14e8b279
CW
222132010-11-22 Colin Watson <cjwatson@ubuntu.com>
22214
22215 Fix test program build on GNU/kFreeBSD.
22216
22217 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
22218 $(LIBNVPAIR)' library dependencies.
22219
e6f63338 222202010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
22221
22222 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
22223
cf8ffc38
CW
222242010-11-22 Colin Watson <cjwatson@ubuntu.com>
22225
22226 * util/grub-install.in: Remove excessive quoting that broke
22227 installations to RAID devices.
22228
7f8b0fd7
VS
222292010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22230
22231 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
22232 bootloader version instead of 0.
22233
dfd240b1
VS
222342010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22235
22236 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
22237 warning.
22238
7b61e609
VS
222392010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22240
22241 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
22242 retrieve the metadat sector if size isn't known.
22243 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22244
9dfe92d0
RM
222452010-11-18 Robert Millan <rmh@gnu.org>
22246
22247 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
22248 with grub_memcmp().
22249
41cc919e
VS
222502010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
22251
22252 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
22253 arrow.
22254 Reported by: Jordan Uggla.
22255
1afcc914
VS
222562010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22257
22258 Make better UTF compliant.
22259
22260 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
22261 sequences as incorrect.
22262 (grub_is_valid_utf8): Likewise.
22263 (grub_utf8_to_ucs4): Likewise.
22264 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
22265 (grub_ucs4_to_utf8_alloc): Likewise.
22266 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
22267
f1808884
VS
222682010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22269
22270 Make legacy_source behave like source.
22271
22272 * grub-core/commands/legacycfg.c (legacy_file): Don't call
22273 grub_show_menu.
22274 (grub_cmd_legacy_source): Call grub_show_menu if needed.
22275
24ec575b
CW
222762010-11-16 Colin Watson <cjwatson@debian.org>
22277
22278 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
22279 (-Wunused implies -Wunused-parameter, but not vice versa).
22280
72b7c7aa
CW
222812010-11-16 Colin Watson <cjwatson@ubuntu.com>
22282
22283 * configure.ac: Make error messages less confusing by testing for
22284 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
22285 accepted, but produces a diagnostic if something else is wrong).
22286
e98937aa
VS
222872010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22288
22289 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
22290 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
22291 (now unused).
22292 (grub_keyboard_controller_init)
22293 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
22294 read the initial state since controller isn't inited yet.
22295
f6bbabc3
VS
222962010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22297
22298 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
22299 allocate_regbeg may need to create new chunk header.
22300
22e7dbb2
VS
223012010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22302
22303 Fix quoting in legacy parser.
22304
22305 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
22306 single quotes.
22307 (grub_legacy_parse): Likewise.
22308 Reported by: Jordan Uggla.
22309 Tested by: Jordan Uggla.
22310
03f80960
VS
223112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22312
22313 Don't add -lgcc on i386 and x86_64.
22314
22315 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
22316 * conf/Makefile.common (LDADD_KERNEL): Likewise.
22317 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
22318
779dc15b
VS
223192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22320
22321 * configure.ac: Add -Wno-trampolines when supported.
22322
d20a3b37
MV
223232010-11-14 Modestas Vainius <modax@debian.org>
22324
22325 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
22326 fakeraid.
22327
e5360933
GC
223282010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22329
22330 Add generic logical block size support for UDF.
22331
22332 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
22333 (GRUB_UDF_BLKSZ): Removed.
22334 (struct grub_udf_data): New field "lbshift" to hold the logical block
22335 size of the file system in log2 format. All users updated.
22336 (sblocklist): Change type to unsigned.
22337 (grub_udf_mount): Change type of "sblklist" to unsigned.
22338 Move AVDP search before VRS recognition, because the latter requires
22339 knowledge of the logical block size, which is detected during the
22340 former.
22341 Detect and validate logical block size during AVDP search, adding
22342 support for block sizes 512, 1024 and 4096.
22343 Make VRS recognition independent of block size.
22344
cb0229c5
GC
223452010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22346
22347 Properly handle deleted files on UDF.
22348
22349 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
22350 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
22351 set.
22352
406858a8
GC
223532010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22354
22355 Support reading files larger than 2 GiB.
22356
22357 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
22358 "offset" to grub_off_t.
22359 (grub_udf_read_file): Likewise for parameter "pos".
22360
130da6a7
VS
223612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22362
22363 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
22364 unavailable.
22365 (Simple configuration): Refer to Changes from GRUB Legacy about
22366 save_env availability.
22367
65e93f6b
VS
223682010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22369
22370 * util/grub-install.in: Ignore empty partition table detection
22371 instead of trying to include part_ module.
22372
1fd08bf1
VS
223732010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22374
22375 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
22376 LVM on RAID support.
22377
de1a024f
VS
223782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22379
22380 Properly define WORDS_BIGENDIAN in wrapped environments.
22381
22382 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
22383 definition.
22384 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
22385
22386 Reported by: Manoel Rebelo Abranches.
22387 Tested by: Manoel Rebelo Abranches.
22388
bc5dd0b9
VS
223892010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22390
22391 * util/grub-mkconfig.in: Fix quoting.
22392
58c184be
VS
223932010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22394
22395 Support big ext2 files.
22396
22397 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
22398 (grub_ext2_read_block): Support triple indirect blocks.
22399 (grub_ext2_read_file): Use 64-bit types and read size_high.
22400 (grub_ext2_open): Read size_high.
22401 Reported by: Ximin Luo.
22402 Tested by: Manoel Rebelo Abranches.
22403
5f0c02b3
VS
224042010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22405
22406 * util/grub-install.in: Handle filenames containing spaces.
22407 Reported by: Jordan Uggla.
22408 Tested by: Jordan Uggla.
22409
4417aae6
VS
224102010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22411
22412 * util/grub-mkconfig.in (grub_script_check): New variable.
22413 Use grub_script_check instead of grub-script-check.
22414 Reported by: Barry Jackson.
22415
7625a68e
VS
224162010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22417
22418 * docs/grub.texi (menu): Correct the order.
22419 Reported by: D. Hugh Redelmeier.
22420
10001ac5
VS
224212010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
22422
22423 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
22424 jump.
22425
9c4cf53b
MRA
224262010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22427
10001ac5
VS
22428 * include/grub/elfload.h (grub_elf32_size): New parameter.
22429 All users updated.
9c4cf53b
MRA
22430 Return maximum segments alignment.
22431 (grub_elf64_size): Likewise.
22432 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
22433 Return maximum segments alignment.
22434 (grub_elf64_size): Likewise.
22435 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
22436 (grub_linux_claimmap_iterate): New function. Uses the
22437 "available" property in the "memory" node for memory allocation
22438 for kernel in the PowerPC loader.
9c4cf53b
MRA
22439 (grub_linux_load32): Correctly find linux entry point offset.
22440 (grub_linux_load64): Likewise.
22441
d2bf06bf
RM
224422010-11-07 Robert Millan <rmh@gnu.org>
22443
22444 On mips-yeeloong, build with -march=loongson2f when this flag is
22445 available (GCC >= 4.4).
22446 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
22447 `-march=mips3'.
22448 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
22449 or otherwise add -march=mips3.
22450
898c99a2
BC
224512010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
22452
87220a68
BC
22453 Suppress shell expansion on echo '*' and echo "*" like cases.
22454 Reported by: Jordan Uggla.
898c99a2
BC
22455
22456 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
22457 string arguments before shell expansion.
22458 * tests/grub_cmd_echo.in: New testcases.
22459
4f9b406a
RM
224602010-11-07 Robert Millan <rmh@gnu.org>
22461
22462 * conf/mips-qemu-mips.rmk: Remove stale file from previous
22463 transition.
22464
80c6d25e
VS
224652010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
22466
22467 * grub-core/kern/emu/hostdisk.c
22468 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
22469
4a1a0153
VS
224702010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22471
22472 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
22473 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
22474 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
22475
34706ddc
VS
224762010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22477
22478 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
22479
6972dea9
VS
224802010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22481
22482 * util/grub-install.in: Replace useless recomendation to pass
22483 --modules with a recomendation to report a bug.
22484
9c693bd6
VS
224852010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22486
22487 Properly register serial terminfo.
22488 Reported by: Jordan Uggla
22489
22490 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
22491 const.
22492 (grub_serial_terminfo_output_template): Likewise.
22493 (grub_cmd_serial): Register "serial" with terminfo.
22494 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
22495 grub_serial_terminfo_output.
22496
6c9e4c0c
RM
224972010-11-05 Robert Millan <rmh@gnu.org>
22498
22499 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
22500 needed).
22501
b9b3839f
RM
225022010-11-05 Robert Millan <rmh@gnu.org>
22503
22504 On Yeeloong, pass machine type information to Linux.
22505
22506 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
22507 (LOONGSON_MACHTYPE): New macro, set to
22508 "machtype=lemote-yeeloong-2f-8.9inches".
22509 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
22510 additional argument to Linux.
22511
1a3aaff4
RM
225122010-11-04 Robert Millan <rmh@gnu.org>
22513
22514 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
22515 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
22516 (its SATA disks are detected as slaveless IDE master drives on
22517 kFreeBSD).
22518 Reported by Carsten Aulbert.
22519
a75f4f62
CW
225202010-11-02 Colin Watson <cjwatson@ubuntu.com>
22521
22522 * util/bin2h.c (main): Fix spelling error in generated output.
22523
33b4b0c6
GS
225242010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
22525
22526 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
22527
2b36fbf4
VS
225282010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22529
22530 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
22531 vga= option is supplied.
22532
74aaf558
VS
225332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22534
22535 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
22536 * util/grub.d/10_kfreebsd.in: Likewise.
22537 * util/grub.d/10_linux.in: Likewise.
22538 * util/grub.d/20_linux_xen.in: Likewise.
22539
6428dec3
VS
225402010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22541
22542 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
22543 argument as an argument to no-argument option.
22544
f8729d98
VS
225452010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22546
22547 * util/grub.d/10_linux.in: Add missing load_video with explicit
22548 GRUB_GFXPAYLOAD_LINUX.
22549
89d68fa6
VS
225502010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22551
22552 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
22553
3a1197cd
VS
225542010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22555
22556 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
22557 elements with invlid index.
22558 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22559 * grub-core/disk/raid.c (insert_array): Automatically reallocate
22560 members.
22561 * include/grub/raid.h (grub_raid_member): New struct.
22562 (grub_raid_array): Transform devices and start_sector into usage of
22563 grub_raid_member. All users updated
22564 (allocated_devs): New member.
22565
71574288
VS
225662010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22567
22568 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
22569 is modified
22570
8d40ec65
BC
225712010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
22572
22573 NetBSD build fix for getline function conflict from gnulib.
22574
22575 * Makefile.util.def (libgrubkern.a): New library for grub kernel
22576 components that depend on gnulib headers.
22577 (libgrubmods.a): Renamed from earlier libgrub.a.
22578 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
22579
95b9257e
VS
225802010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22581
22582 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
22583 install rather than creating a broken install.
22584
26c53dc6
VS
225852010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22586
22587 * util/grub-setup.c (argp): Remove misleading example of installing to
22588 a partition.
22589
4171b3c5
VS
225902010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22591
22592 * util/grub-setup.c (setup): Clarify the error message.
22593
18568d18
VS
225942010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22595
22596 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
22597
4f6a2e21
VS
225982010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22599
22600 * grub-core/kern/emu/misc.c
22601 (grub_make_system_path_relative_to_its_root)
22602 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
22603
226042010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
22605
22606 * grub-core/kern/emu/misc.c
22607 (grub_make_system_path_relative_to_its_root): Revert r2882.
22608
e138c458
VS
226092010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
22610
22611 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
22612 useless field head. All users updated.
22613 (free_subchunk): Correct handling of IN_REGION subchunk.
22614
0cbcdf0e
CW
226152010-10-22 Colin Watson <cjwatson@ubuntu.com>
22616
22617 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
22618 (Supported kernels): Likewise.
22619
b65ea155
GS
226202010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22621
22622 Make mktemp invocations portable.
22623
22624 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
22625 exit if mktemp fails.
22626 * tests/grub_script_blockarg.in: Likewise.
22627 * tests/partmap_test.in: Likewise.
22628 * tests/util/grub-shell-tester.in: Likewise.
22629 * tests/util/grub-shell.in: Likewise.
22630 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22631 * Makefile.am: Likewise, and chain shell commands with `&&'
22632 instead of ';'.
22633 * util/grub-mkrescue.in: Use the same explicit template as above, and
22634 exit if mktemp fails.
22635
05f43cdd
BC
226362010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
22637
22638 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
22639 Linux kernel, reported by Dennis Schridde.
22640
800e6a9b
SJ
226412010-10-17 Szymon Janc <szymon@janc.net.pl>
22642
22643 * grub-core/normal/auth.c (grub_auth_check_authentication):
22644 Set-but-not-used variable removed.
22645
d82df574
VS
226462010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22647
22648 * docs/grub.texi (GNU/Linux): Document APM unavailability with
22649 32-bit linux protocol.
22650
7bced458
VS
226512010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22652
22653 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
22654 cursor shape for sanity.
22655
5b027690
VS
226562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22657
22658 * docs/grub.texi (Installation): Document buggy BIOS install.
22659
ba5f65cf
VS
226602010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22661
22662 * docs/grub.texi (Installation): Indent.
22663
fdf2ec9c
VS
226642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22665
22666 * util/grub-setup.c (setup): New parameter allow_floppy.
22667 (arguments): New member allow_floppy.
22668 (argp_parser): Handle --allow-floppy.
22669 (main): Pass allow_floppy.
22670 * util/grub-install.in: New option --allow-floppy passed though to
22671 grub-setup.
22672
861dfd4c
VS
226732010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22674
22675 * util/grub-install.in: Handle partitionless disks.
22676
f77a8c24
VS
226772010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22678
22679 * util/grub-setup.c (setup): Don't clean blocklists before readability
22680 verfification.
22681
27d9ee32
VS
226822010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22683
22684 * docs/grub.texi (Installation): Document embedding zone. Remove
22685 obsolete grub-install example.
22686
6bdda8f8
SJ
226872010-10-16 Szymon Janc <szymon@janc.net.pl>
22688
22689 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
22690 Set-but-not-used variable ifdef'ed.
22691 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
22692 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
22693 variable removed.
22694 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
22695 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
22696 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
22697 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
22698 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
22699 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22700 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
22701 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
22702 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
22703 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
22704 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
22705 Likewise.
22706
e19b016b
VS
227072010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22708
22709 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
22710 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
22711 enum value.
22712
6c8d3002
VS
227132010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22714
22715 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
22716 synonym to _S5_. Needed for some DSDTs.
22717
c32b51c9
VS
227182010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22719
22720 Userspace ACPI parser debugging.
22721
22722 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
22723 headers and add relevant defines. Don't include standard headers.
22724 (main) [GRUB_DSDT_TEST]: New function.
22725 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
22726 Don't declare functions.
22727
fbfbeb39
VS
227282010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22729
22730 Remove dead grub_efi_mm_fini.
22731
22732 * grub-core/kern/efi/mm.c (allocated_page): Removed.
22733 (ALLOCATED_PAGES_SIZE): Likewise.
22734 (MAX_ALLOCATED_PAGES): Likewise.
22735 (allocated_pages): Likewise.
22736 (grub_efi_allocate_pages): Don't record allocated pages.
22737 (grub_efi_free_pages): Likewise.
22738 (grub_efi_mm_init): Likewise.
22739 (grub_efi_mm_fini): Removed.
22740
65f7ed7c
VS
227412010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22742
22743 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
22744 (grub_efi_mm_init): Take into account the memory map size increase.
22745
24977b44
VS
227462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22747
22748 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
22749 (serial_hw_put): Wait based on real time rather than port reads. Don't
22750 roken ports.
22751 * include/grub/serial.h (grub_serial_port): New field broken.
22752
1eb01cd2
RM
227532010-10-16 Robert Millan <rmh@gnu.org>
22754
22755 * grub-core/kern/emu/misc.c
22756 (grub_make_system_path_relative_to_its_root): Fix premature return
22757 when processing non-root ZFS filesystems.
5f8b440b 22758 Reported by Sergio Talens-Oliag.
1eb01cd2 22759
2d5fed60
RM
227602010-10-15 Robert Millan <rmh@gnu.org>
22761
22762 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
22763 guarantee compressed ones are processed first.
22764
d0f4c1ea
VS
227652010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22766
22767 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
22768 grub_efiemu_autocore.
22769
d87c681f
VS
227702010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22771
22772 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
22773 rather than 0x1b.
22774 (grub_console_getkey): Use correct jae opcode rather than ja.
22775
219b3564
RM
227762010-10-12 Robert Millan <rmh@gnu.org>
22777
22778 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
22779 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
22780 variable. All references updated.
22781
22782 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
22783
20c6bb7e
VS
227842010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
22785
22786 Correctly distinguish mdraid flavours.
22787
22788 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
22789 (insert_array): New argument raid.
22790 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
22791 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
22792 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
22793
74baff84
VS
227942010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
22795
22796 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
22797 handling of special keys.
22798
3ef068df 227992010-10-02 Aleš Nesrsta <starous@volny.cz>
22800
c7980ad9
VS
22801 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
22802 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 22803
a9455194 228042010-10-02 Aleš Nesrsta <starous@volny.cz>
22805
c7980ad9
VS
22806 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
22807 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
22808 users updated.
a9455194 22809 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 22810 Use right endpoint when querying descriptor.
a9455194 22811
441cfe65
VS
228122010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22813
22814 Clear out 0x80 color bit on EFI.
22815 Tested by: decoder
22816 Reported by: decoder and meta tech.
22817
22818 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
22819 (grub_console_setcolorstate): Clear out 0x80 bit.
22820 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
22821 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
22822 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
22823
bf26bcc4
VS
228242010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22825
22826 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
22827 Set to "auto".
22828
6e3c515d
VS
228292010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22830
22831 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
22832 mo_file after freeing.
22833
e6d983ba
VS
228342010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22835
22836 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
22837
74ccb5b5
VS
228382010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22839
22840 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
22841 flags.
22842
17821956
VS
228432010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22844
22845 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
22846 usage.
22847
ee74fa48
VS
228482010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22849
22850 Put terminfo into core on ieee1275 and yeeloong (needed for console).
22851
22852 * gentpl.py: New groups terminfoinkernel and terminfomodule.
22853 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
22854 and terminfo.h when needed.
22855 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
22856 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
22857 (terminfo): Enable only on terminfokernel.
22858 (extcmd): Likewise.
22859 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
22860 * include/grub/lib/arg.h: Likewise.
22861 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
22862 incorrect usage of ->.
22863
aa438e68
VS
228642010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22865
22866 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
22867 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
22868
57994012
VS
228692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22870
22871 Fix coreboot compilation.
22872
22873 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22874 Take VBE info into account even if only text is supported.
22875 (fill_vbe_info): Take into account the case when only VGA text
22876 is supported.
22877 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
22878 on coreboot, multiboot and qemu.
22879
2a406611
VS
228802010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22881
22882 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
22883 debug messages.
22884 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
22885
d33613fc
VS
228862010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22887
22888 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
22889 parameters.
22890
44a1b432
VS
228912010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22892
22893 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
22894 if they were BSD-style.
22895
edde54e6
VS
228962010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22897
22898 * grub-core/boot/i386/pc/lnxboot.S: Replace
22899 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
22900 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
22901
b65830fa
VS
229022010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22903
22904 Write embedding zone using Reed-Solomon.
22905
22906 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
22907 * grub-core/Makefile.am (rs_decoder.S): New target.
22908 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
22909 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
22910 (multiboot): Move to RS part.
22911 (post_reed_solomon): New label.
22912 (grub_boot_drive): Move to non-RS part since it's modified in memory
22913 on boot.
22914 Include rs_decoder.S.
22915 * grub-core/lib/reed_solomon.c: New file.
22916 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
22917 New definition.
22918 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
22919 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
22920 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
22921 * include/grub/partition.h (grub_partition_map): Change prototype of
22922 embed to allow returning additional sectors.
22923 * include/grub/reed_solomon.h: New file.
22924 * util/grub-setup.c (setup): Handle Reed-Solomon.
22925
0b4b227f
CW
229262010-09-28 Colin Watson <cjwatson@ubuntu.com>
22927
22928 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22929 i386 and x86-64 definedness tests.
22930
f772623b
YB
229312010-09-27 Yves Blusseau <blusseau@zetam.org>
22932
22933 Fix generation of kernel_syms.lst
22934
22935 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
22936 ASM_PREFIX
22937
8e57a6ca
RM
229382010-09-26 Robert Millan <rmh@gnu.org>
22939
22940 Support degraded ZFS arrays in "grub-probe -t device" resolution.
22941
22942 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
22943 the pool is an array of devices, iterate through it and return the
22944 first device that passes a stat() test (instead of blindly returning
22945 the first one).
22946
f9130836
RM
229472010-09-26 Robert Millan <rmh@gnu.org>
22948
22949 Build fixes for GNU/kFreeBSD.
22950
22951 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
22952 to programs that require ZFS conversion.
22953 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
22954 kernels that don't have FLOPPY_MAJOR.
22955
96510faf
BC
229562010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22957
22958 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
22959
449333eb
BC
229602010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22961
22962 Fix grub-emu build.
22963
22964 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
22965 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
22966 mdraid09 and mdraid1x.
22967
e1fd1939
CW
229682010-09-24 Colin Watson <cjwatson@ubuntu.com>
22969
22970 Re-enable grub-extras.
22971
22972 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
22973 avoid confusing Automake. Run autogen only twice, once for the top
22974 level and once for grub-core. Add Makefile.util.def and
22975 Makefile.core.def from extra modules to the appropriate autogen
22976 invocations. If Makefile.common exists in an extra module, include
22977 it in both Makefile.util.am and grub-core/Makefile.core.am;
22978 similarly, include any Makefile.util.common file in Makefile.util.am
22979 and any Makefile.core.common file in grub-core/Makefile.core.am.
22980 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
22981 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
22982 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
22983 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
22984
22985 * gentpl.py (gvar_add): Turn GVARS into a set.
22986 (global_variable_initializers): Sort global variables on output.
22987 (vars_init): New function.
22988 (first_time): Likewise.
22989 (library): Ensure that non-global variable initialisations are
22990 emitted before the first time we emit code for a library block.
22991 Append to variables rather than setting them. Only emit
22992 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
22993 each conditional path.
22994 (program): installdir() emits an Autogen macro, so must be passed to
22995 var_add rather than gvar_add.
22996 (data): Likewise.
22997 (script): Likewise.
22998 (rules): New function, centralising handling for different target
22999 types. Set up Guile association lists for first_time and vars_init,
23000 and send most output to a diversion so that variable initialisations
23001 can be emitted first.
23002 (module_rules): Use new rules function.
23003 (kernel_rules): Likewise.
23004 (image_rules): Likewise.
23005 (library_rules): Likewise.
23006 (program_rules): Likewise.
23007 (script_rules): Likewise.
23008 (data_rules): Likewise.
23009
23010 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
23011
23012 * .bzrignore: Add contrib and grub-core/contrib. Remove
23013 grub-core/Makefile.gcry.am.
23014
1d12cf29
YB
230152010-09-24 Yves Blusseau <blusseau@zetam.org>
23016
23017 * grub-core/lib/LzFind.c: Add missing include.
23018 * grub-core/lib/LzmaEnc.c: Likewise.
23019 * grub-core/script/lexer.c: Likewise.
23020 * grub-core/script/yylex.l: Likewise.
23021 * util/grub-macho2img.c: Likewise.
23022 * util/grub-menulst2cfg.c: Likewise.
23023 * util/grub-mklayout.c: Likewise.
23024 * util/grub-mkpasswd-pbkdf2.c
23025 * util/grub-mkrelpath.c: Likewise.
23026 * util/resolve.c: Likewise.
23027
dd363028
BC
230282010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
23029
23030 * Makefile.util.def (example_unit_test): Add
23031 grub-core/gnulib/libgnu.a.
23032
f5a109e2
GS
230332010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
23034
23035 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
23036
6d0fa83c
VS
230372010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
23038
23039 Support xz compression on yeeloong.
23040
23041 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
23042 * configure.ac: Check for LZMA.
23043 * grub-core/Makefile.core.def (xz_decompress): New target.
23044 (none_decompress): Likewise.
23045 * grub-core/boot/decompressor/minilib.c: New file.
23046 * grub-core/boot/decompressor/none.c: Likewise.
23047 * grub-core/boot/decompressor/xz.c: Likewise.
23048 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
23049 * grub-core/kern/mips/cache_flush.S: Likewise.
23050 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
23051 * grub-core/kern/mips/startup.S: Move first stage to ...
23052 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
23053 nomacro.
23054 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
23055 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
23056 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
23057 Allocate statically.
23058 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
23059 Allocate statically or use scratch. Don't check CRC32.
23060 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
23061 Allocate statically. Don't check CRC32.
23062 * include/grub/decompressor.h: New file.
23063 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
23064 Removed.
23065 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
23066 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
23067 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
23068 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
23069 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
23070 * util/grub-mkimage.c (grub_compression_t): New type.
23071 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
23072 (image_target_desc): New field default_compression.
23073 (image_targets): Adjust yeeloong targets.
23074 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
23075 (compress_kernel): New parameter comp.
23076 (generate_image): Likewise. Handle new compression case.
23077 (options): New option --compression
23078 (help): Likewise.
23079 (main): Handle new option.
23080
1b655af6
GS
230812010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
23082
23083 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
23084
8f03f0b5
CW
230852010-09-22 Colin Watson <cjwatson@ubuntu.com>
23086
23087 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
23088 typo in __i386__ conditional.
23089
7835dfd3
VS
230902010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
23091
23092 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
23093 include.
23094
e255597e
VS
230952010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
23096
6d0fa83c 23097 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
23098
23099 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
23100 new tags as supported.
23101 (acpiv2_size): New function.
23102 (grub_multiboot_get_mbi_size): Take new tags into account.
23103 (grub_multiboot_make_mbi): Add new tags.
23104 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 23105
6cc14051 231062010-09-21 Aleš Nesrsta <starous@volny.cz>
23107
23108 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
23109 Added missing configuration of USB device.
23110
df7769d8
CW
231112010-09-21 Colin Watson <cjwatson@ubuntu.com>
23112
23113 * grub-core/normal/menu_entry.c (run): Make sure we always return
23114 a value.
23115
b031012d
CW
231162010-09-21 Colin Watson <cjwatson@ubuntu.com>
23117
23118 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
23119 NumberOfPages is UINT64 according to the UEFI specification, not
23120 UINTN. Fix printf format.
23121
174de8f3
CW
231222010-09-21 Colin Watson <cjwatson@ubuntu.com>
23123
23124 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
23125 `err' to grub_usb_err_t.
23126 Reported and tested by: KESHAV P.R.
23127
d7dbe923
CW
231282010-09-21 Colin Watson <cjwatson@ubuntu.com>
23129
23130 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
23131 tpart non-const, so that we can assign to it. (Since this is a
23132 typedef, the constness refers to the pointer rather than what it
23133 points to.)
23134
8d5e2af3
CW
231352010-09-21 Colin Watson <cjwatson@ubuntu.com>
23136
23137 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
23138 $(top_srcdir)/grub-core/gnulib as well as
23139 $(top_builddir)/grub-core/gnulib.
23140 Reported by: KESHAV P.R.
23141
5c527783
CW
231422010-09-21 Colin Watson <cjwatson@ubuntu.com>
23143
23144 * util/grub-install.in: Fix the bootloader ID option to be
23145 consistently --bootloader-id, not --bootloader_id.
23146 Reported by: KESHAV P.R.
23147
d309a16e
CW
231482010-09-21 Colin Watson <cjwatson@ubuntu.com>
23149
23150 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
23151 check hash checksum." consistently translatable.
23152
b830cd16
YB
231532010-09-21 Yves Blusseau <blusseau@zetam.org>
23154
23155 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
23156 $(top_builddir).
23157
c4fe27a8
CW
231582010-09-21 Colin Watson <cjwatson@ubuntu.com>
23159
23160 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
23161 (GRUB_MOD_INIT): Register sha1sum command.
23162 (GRUB_MOD_FINI): Unregister sha1sum command.
23163
a4c1d277
YB
231642010-09-21 Yves Blusseau <blusseau@zetam.org>
23165
23166 Keep boot and grub directory names in sync with utils scripts
23167
23168 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
23169 * config.h.in: Add previous macros.
23170 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
23171 * util/grub-install.in: Use $bootdir and $grubdir variables.
23172
4eff79d2
CW
231732010-09-21 Colin Watson <cjwatson@ubuntu.com>
23174
23175 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
23176 convert partition names to disk names if the new `convert' parameter
23177 is set.
23178 (grub_util_biosdisk_get_grub_dev): If opening the disk device
23179 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
23180 disk in its own right. This can happen with Xen disk images.
23181
934d7e44
YB
231822010-09-21 Yves Blusseau <blusseau@zetam.org>
23183
23184 * util/grub-editenv.c: Update strings to avoid warnings when generating
23185 grub.pot file.
23186 * util/grub-setup.c: Likewise.
934d7e44 23187
df3367cc
VS
231882010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
23189
23190 * configure.ac: Change version to 1.99~beta0.
23191
77a94e98
VS
231922010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
23193
23194 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
23195 Add BADRAM.
23196 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
23197 Likewise.
23198 * include/multiboot.h: Resynced with specification.
23199 * include/multiboot2.h: Likewise.
23200
269004c1
CW
232012010-09-21 Colin Watson <cjwatson@ubuntu.com>
23202
23203 Fix po directory handling.
23204
23205 * configure.ac: Create po/Makefile.in rather than po/Makefile.
23206 * grub-core/gnulib/Makefile.am: Import gettext module.
23207 * m4/gnulib-cache.m4: Likewise.
23208 * m4/gnulib-comp.m4: Likewise.
23209 * m4/gettext.m4: New file, from gnulib.
23210 * m4/glibc2.m4: Likewise.
23211 * m4/iconv.m4: Likewise.
23212 * m4/intdiv0.m4: Likewise.
23213 * m4/intl.m4: Likewise.
23214 * m4/intldir.m4: Likewise.
23215 * m4/intlmacosx.m4: Likewise.
23216 * m4/intmax.m4: Likewise.
23217 * m4/inttypes-pri.m4: Likewise.
23218 * m4/lcmessage.m4: Likewise.
23219 * m4/lib-ld.m4: Likewise.
23220 * m4/lib-link.m4: Likewise.
23221 * m4/lib-prefix.m4: Likewise.
23222 * m4/lock.m4: Likewise.
23223 * m4/nls.m4: Likewise.
23224 * m4/po.m4: Likewise.
23225 * m4/printf-posix.m4: Likewise.
23226 * m4/progtest.m4: Likewise.
23227 * m4/threadlib.m4: Likewise.
23228 * m4/uintmax_t.m4: Likewise.
23229 * m4/visibility.m4: Likewise.
23230 * po/Makefile.am: Remove.
23231 * po/Makefile.in.in: New file, from gettext.
23232 ($(DOMAIN).pot-update): Support POTFILES-shell.
23233 * po/Makevars: New file.
23234 * po/POTFILES-shell: Rename to ...
23235 * po/POTFILES-shell.in: ... this. Update.
23236 * po/POTFILES: Rename to ...
23237 * po/POTFILES.in: ... this. Update.
23238 * po/Rules-quot: New file, from gettext.
23239 * po/boldquot.sed: Likewise.
23240 * po/en@boldquot.header: Likewise.
23241 * po/en@quot.header: Likewise.
23242 * po/insert-header.sin: Likewise.
23243 * po/quot.sed: Likewise.
23244 * po/remove-potcdate.sin: Likewise.
23245
3e0fa5d0
VS
232462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23247
23248 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
23249
ade9bd66
VS
232502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23251
23252 * util/grub.d/20_linux_xen.in: Use submenus.
23253
fc55cc4c
VS
232542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23255
23256 Support submenus.
23257
23258 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
23259 parameter submenu. All users updated.
23260 * grub-core/normal/main.c (free_menu): Rename to ...
23261 (grub_normal_free_menu): ... this. Made global.
23262 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
23263 if requested.
23264 * grub-core/normal/menu_entry.c (screen): New field submenu.
23265 (make_screen): Set submenu.
23266 (run): Open new context if requested.
23267 * include/grub/menu.h (grub_menu_entry): New field submenu.
23268 * include/grub/normal.h (grub_normal_free_menu): New proto.
23269
600cedf7
VS
232702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23271
23272 Menu entries extractor.
23273
23274 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
23275 variants.
23276 (GRUB_MOD_INIT): Register new variants.
23277 (GRUB_MOD_FINI): Unregister new variants.
23278 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
23279 into grub_cmd_legacy_source.
23280 (grub_cmd_legacy_source): Implement extractor variants.
23281 (GRUB_MOD_INIT): Register new variants.
23282 (GRUB_MOD_FINI): Unregister new variants.
23283 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
23284 as an extractor.
23285 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
23286 search as an extractor.
23287 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
23288 test as an extractor.
23289 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
23290 as an extractor.
23291 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
23292 (grub_env_new_context): New function.
23293 (grub_env_context_open): Likewise.
23294 (grub_env_extractor_open): Likewise.
23295 (grub_env_extractor_close): Likewise.
23296 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23297 grub_extractor_level.
23298 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
23299 * include/grub/env.h (grub_env_extractor_open): New proto.
23300 (grub_env_extractor_close): Likewise.
23301 * include/grub/normal.h (grub_extractor_level): New external variable.
23302
7bda3a87
VS
233032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23304
23305 Make cutmem accept a region specification.
23306 Suggested by: Samuel Thibault
23307
23308 * grub-core/mmap/mmap.c (parsemem): New function.
23309 (grub_cmd_cutmem): Handle new arguments.
23310
2ea57f88
VS
233112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23312
23313 New command cutmem.
23314
23315 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
23316 (GRUB_MOD_INIT): Register new command.
23317 (GRUB_MOD_FINI): Unregister new command.
23318
74342e31
VS
233192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23320
23321 Support some annoying BSD and Minix subpartitions.
23322
23323 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
23324 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
23325 Properly handle concatenation.
23326 * grub-core/kern/device.c (grub_device_iterate): Likewise.
23327 * grub-core/normal/completion.c (iterate_partition): Likewise.
23328 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
23329 contain partition. All users updated.
23330 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
23331 struct.
23332 (grub_openbsdlabel_partition_map): Likewise.
23333 (bsdlabel_partition_map_iterate): Rename to ..
23334 (iterate_real): ... this. New arguments sector, freebsd and pmap.
23335 (bsdlabel_partition_map_iterate): New function.
23336 (netopenbsdlabel_partition_map_iterate): Likewise.
23337 (netbsdlabel_partition_map_iterate): Likewise.
23338 (openbsdlabel_partition_map_iterate): Likewise.
23339 (GRUB_MOD_INIT): Register new partmaps.
23340 (GRUB_MOD_FINI): Unregister new partmaps.
23341 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
23342 (grub_partition_msdos_iterate): ... this. All users updated.
23343 Don't support embedding other than in a minix partition.
23344 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
23345 proto.
23346 * include/grub/partition.h (grub_partition): New field msdostype.
23347 * util/grub-install.in: Handle openbsd and netbsd types being in
23348 part_bsd module.
23349
1e8d555b
VS
233502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23351
23352 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
23353
23354 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
23355 * grub-core/Makefile.core.def (mdraid): Renamed to ...
23356 (mdraid09): ... this.
23357 (mdraid1x): New module.
23358 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
23359 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
23360
899d8af4
VS
233612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23362
23363 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
23364 vsprintf.
23365
40901acd
CW
233662010-09-20 Colin Watson <cjwatson@ubuntu.com>
23367
23368 * grub-core/commands/efi/lsefimmap.c: Correct header.
23369 * NEWS: Update.
23370
dfe3b247
CW
233712010-09-20 Colin Watson <cjwatson@ubuntu.com>
23372
23373 * util/grub-editenv.c (argp_parser): Don't pass translated strings
23374 as printf format strings; the translations might contain '%' which
23375 could cause a crash.
23376 (main): Likewise.
23377 * util/grub-fstest.c (argp_parser): Likewise.
23378 * util/grub-setup.c (argp_parser): Likewise.
23379 (main): Likewise.
23380
3286a4b4
VS
233812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23382
23383 Use argp in grub-fstest.
23384
23385 * util/grub-fstest.c: Don't include getopt.h.
23386 Include argp.h.
23387 (root): New variable.
23388 (args_count): Likewise.
23389 (nparm): Likewise.
23390 (num_disks): Likewise.
23391 (images): Likewise.
23392 (cmd): Likewise.
23393 (debug_str): Likewise.
23394 (args): Likewise.
23395 (options): Transformed to argp.
23396 (usage): Removed.
23397 (main): Split argument parsing into ...
23398 (argp_parser): ... this. Changed to argp format.
23399 (argp): New variable.
23400 (main): Use argp_parse.
23401
3dccbe4b
TG
234022010-09-20 Tristan Gingold <gingold@free.fr>
234032010-09-20 Robert Millan <rmh.grub@aybabtu.com>
234042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23405
23406 * grub-core/commands/efi/lsefimmap.c: New file.
23407 * grub-core/Makefile.core.def (lsefimmap): New module.
23408 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
23409
38c259a7
VS
234102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23411
23412 Pause the execution (10s max) if any errors are displayed so the user
23413 has a chance to see them.
23414
23415 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
23416 (grub_print_error): Increment grub_err_printed_errors.
23417 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
23418 execution if any errors were displayed.
23419 (show_menu): Remove old code for pause.
23420 * grub-core/normal/menu_entry.c (run): Likewise.
23421 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
23422 users updated.
23423 (grub_normal_get_char_counter): Likewise.
23424 * include/grub/err.h (grub_err_printed_errors): New external variable.
23425 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
23426
f218b09c
VS
234272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23428
23429 Support multiboot VBE info.
23430
23431 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
23432 Take VBE info into account.
23433 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
23434 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23435 Call fill_vbe_info when appropriate.
23436 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
23437 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
23438 as supported.
23439 (grub_multiboot_get_mbi_size): Take new tags into account.
23440 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
23441 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23442 Call fill_vbe_tag when appropriate.
23443 (grub_multiboot_make_mbi): Properly align tags.
23444 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
23445 function.
23446 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
23447 proto.
23448 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
23449
a9cc5438
VS
234502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23451
23452 Suport manual terminal geometry specification.
23453
23454 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
23455 Save state in grub_ofconsole_terminfo_output.
23456 (grub_ofconsole_term): Use grub_terminfo_getwh.
23457 (grub_ofconsole_getwh): Removed.
23458 * grub-core/term/serial.c (grub_serial_getwh): Removed.
23459 (grub_serial_term): Use grub_terminfo_getwh.
23460 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
23461 (options): New struct.
23462 (OPTION_*): New enum.
23463 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
23464 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
23465 width and height.
23466 (grub_terminfo_getwh): New proto.
23467 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
23468
1a8fed20
VS
234692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23470
23471 Handle legacy "terminal" command.
23472
23473 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
23474 and FLAG_TERMINAL.
23475 (legacy_commands): Add terminal and title.
23476 (grub_legacy_parse): Handle terminal. Simplify title handling.
23477
41e9c57d
VS
234782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23479
23480 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
23481 parameters overflow.
23482
61c874c5
CW
234832010-09-20 Colin Watson <cjwatson@ubuntu.com>
23484
23485 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
23486 widthspec.h.
23487
23488 * docs/grub.texi (Shell-like scripting): Document `!'.
23489 (Network): Simplify using new i386-pc-pxe format. Mention
23490 grub-mknetdir.
23491
23492 * NEWS: Update.
23493
943682b4
CW
234942010-09-20 Colin Watson <cjwatson@ubuntu.com>
23495
23496 * Makefile.am (SUBDIRS): Restore "."; it's important to force
23497 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
23498 when needed.
23499
6d3d698d
CW
235002010-09-20 Colin Watson <cjwatson@ubuntu.com>
23501
23502 * grub-core/commands/efi/lsefisystab.c: Correct header.
23503 * grub-core/commands/efi/lssal.c: Likewise.
23504 * grub-core/commands/testload.c: Likewise.
23505
c982589f
CW
235062010-09-20 Colin Watson <cjwatson@ubuntu.com>
23507
23508 * util/grub-mkrescue.in: Add explicit root argument to --set to
23509 prevent the UUID being interpreted as an argument to --set (matches
23510 previous change to prepare_grub_to_access_device).
23511
a63c31b6
CW
235122010-09-20 Colin Watson <cjwatson@ubuntu.com>
23513
23514 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
23515 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
23516 the verbosity of later #ifs.
23517 (find_partition_start): Define this function on FreeBSD too.
23518 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
23519 function.
23520 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
23521 on FreeBSD.
23522
6439b8ee
YB
235232010-09-20 Yves Blusseau <blusseau@zetam.org>
23524
23525 * util/grub-editenv.c: Use argp instead of getopt.
23526
c5930ec8
YB
235272010-09-20 Yves Blusseau <blusseau@zetam.org>
23528
23529 * util/grub-setup.c: Use argp instead of getopt.
23530
15c69261
YB
235312010-09-20 Yves Blusseau <blusseau@zetam.org>
23532
23533 Use gnulib-tool to create gnulib source files.
23534
23535 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
23536 grub-core/gnulib directories
23537 * .bzignore: Add **/.deps and autogenerated gnulib files
23538 * configure.ac: Assign auxiliary directory to build-aux, add invocation
23539 of gnulib macros, add grub-core/gnulib/Makefile
23540 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
23541 include m4 directory to aclocal.
23542 * Makefile.util.def: Remove direct compilation of gnulib source files
23543 and use the new grub-core/gnulib/libgnu.a.
23544 * build-aux/config.rpath: move config.rpath from top directory to
23545 build-aux
23546 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
23547 in gnulib headers
23548 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
23549 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
23550 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
23551 header.
23552 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
23553 string.
23554
e511c9f5
YB
235552010-09-20 Yves Blusseau <blusseau@zetam.org>
23556
23557 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
23558 grub-core/genmod.sh and grub-core/gensyminfo.sh
23559
c2dede05
BC
235602010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
23561
23562 Add a test for echo command options.
23563
23564 * tests/grub_cmd_echo.in: New test.
23565 * Makefile.util.def: Rules for new test.
23566
c55f5018
SJ
235672010-09-20 Szymon Janc <szymon@janc.net.pl>
23568
23569 Remove crc.mod and move crc command to hashsum.mod.
23570 Remove lib/crc.c - users updated to use gcrypt implementation.
23571
23572 * grub-core/commands/crc.c: Removed.
23573 * grub-core/Makefile.core.def (crc): Module removed.
23574 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
23575 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
23576 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
23577 * grub-core/lib/crc.c: Removed.
23578 * include/grub/lib/crc.h: Removed.
23579 * Makefile.util.def (crc): Remove lib/crc.c
23580 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
23581 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
23582 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
23583 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
23584 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
23585 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
23586
e0337366
VS
235872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23588
23589 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
23590
742f9232
VS
235912010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23592
23593 Split config.h for util and core.
23594
23595 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
23596 (ADDR32): Likewise.
23597 (DATA32): Likewise.
23598 (BSS_START_SYMBOL): Likewise.
23599 (END_SYMBOL): Likewise.
23600 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
23601 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
23602 * config.h.in: New file.
23603 * configure.ac: Use config-util.h as config define file.
23604 Rename MACHINE into GRUB_MACHINE. All users updated.
23605 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
23606 updated.
23607 (NESTED_FUNC_ATTR): Likewise.
23608 Substitue new variables.
23609 (COND_HAVE_ASM_USCORE): New conditional.
23610 * grub-core/Makefile.am (ASM_PREFIX): New variable.
23611 (kernel_syms.lst): Use ASM_PREFIX.
23612 * grub-core/kern/emu/console.c: Include config-util.h.
23613 * grub-core/kern/emu/misc.c: Likewise.
23614 * grub-core/kern/emu/mm.c: Likewise.
23615 * include/grub/emu/misc.h: Likewise.
23616 * include/grub/libgcc.h: Likewise.
23617
39feb0e8
VS
236182010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23619
23620 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
23621 constants usage.
23622 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
23623 Fix GRUB_TERM_KEY_* constants usage.
23624 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
23625
9af6dac3
VS
236262010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23627
23628 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
23629 print pointer.
23630 * grub-core/bus/usb/uhci.c: Remove empty define.
23631 (grub_uhci_check_transfer): Add missing cast.
23632 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
23633 print pointer.
23634 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
23635 PRIuGRUB_SIZE.
23636 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
23637
d6d94820
VS
236382010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23639
23640 * grub-core/Makefile.core.def (legacycfg): Add
23641 lib/i386/pc/vesa_modes_table.c on emu.
23642
3572f2b6
BC
236432010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23644
23645 Reduce number of temporary files generated by build system.
23646
23647 * grub-core/gencmdlist.sh: Removed.
23648 * grub-core/genfslist.sh: Removed.
23649 * grub-core/genhandlerlist.sh: Removed.
23650 * grub-core/genmodsrc.sh: Removed.
23651 * grub-core/genpartmaplist.sh: Removed.
23652 * grub-core/genparttoollist.sh: Removed.
23653 * grub-core/gentermiinallist.sh: Removed.
23654 * grub-core/genvideolist.sh: Removed.
23655
23656 * grub-core/genmod.sh.in: New file.
23657 * grub-core/gensyminfo.sh.in: New file.
23658
23659 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
23660 * conf/Makefile.extra-dist: Update with new files.
23661 * gentpl.py: Remove rules related to unnecessary temporary files.
23662 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
23663 and und-* files.
23664 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
23665 genmod.sh scripts.
23666 * grub-core/bus/usb/uhci.c: Remove empty #define.
23667 * grub-core/genmoddep.awk: Updated with new syminfo format.
23668 * util/bash-completion.d/Makefile.am: Add config.log to
23669 CLEANFILES.
23670
c836b030
YB
236712010-09-19 Yves Blusseau <blusseau@zetam.org>
23672
23673 * Makefile.util.def: Add forgotten $(LIBINTL) library.
23674
2f4e8053
BC
236752010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23676
23677 * util/grub-mkconfig.in: Check the config script for syntax errors
23678 before saving.
23679
75831c34
CW
236802010-09-19 Colin Watson <cjwatson@ubuntu.com>
236812010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23682
23683 * Makefile.util.def (grub-install): Use util/grub-install.in on all
23684 platforms.
23685 * util/grub-install.in: Add EFI and IEEE1275 support.
23686 * util/i386/efi/grub-install.in: Removed.
23687 * util/ieee1275/grub-install.in: Likewise.
23688
eaf41b25
VS
236892010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23690
23691 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
23692 (grub_cmd_cmosclean): Likewise.
23693 (GRUB_MOD_INIT): Register command cmosclean.
23694 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
23695 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
23696
1a9130dd
CPE
236972010-09-18 Carles Pina i Estany <carles@pina.cat>
236982010-09-18 Aleš Nesrsta <starous@volny.cz>
236992010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23700
23701 Add keyboard layouts support.
23702
23703 * Makefile.util.def (grub-mklayout): New file.
23704 (grub-kbdcomp): New script.
23705 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
23706 Add keyboard_layouts.h.
23707 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
23708 commands/boot.c on yeeloong.
23709 (keylayouts): New module.
23710 * grub-core/bus/usb/ohci.c
23711 * grub-core/bus/usb/uhci.c
23712 * grub-core/bus/usb/usbhub.c (rescan): New variable.
23713 (grub_usb_add_hub): Poll interrupt pipe for device handling.
23714 (attach_root_port): Likewise.
23715 (poll_nonroot_hub): Likewise.
23716 (grub_usb_poll_devices): Likewise.
23717 (detach_device): Close transfer.
23718 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
23719 function.
23720 (grub_usb_bulk_setup_readwrite): Likewise.
23721 (grub_usb_bulk_finish_readwrite): Likewise.
23722 * grub-core/commands/keylayouts.c: New file.
23723 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
23724 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
23725 aliases.
23726 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
23727 support scancode 2.
23728 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
23729 * include/grub/keyboard_layouts.h: New file.
23730 * util/grub-mklayout.c: New file.
23731 * util/grub-kbdcomp.in: Likewise.
23732
a1d84a5e
VS
237332010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23734
23735 Unify memory types.
23736
23737 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
23738 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
23739 types.
23740 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
23741 (grub_upper_mem): Likewise.
23742 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
23743 * include/grub/memory.h (grub_memory_type_t): New enum.
23744 All users updated.
23745
9696382e
VS
237462010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23747
23748 * grub-core/Makefile.core.def (lsapm): New module.
23749 * grub-core/commands/i386/pc/lsapm.c: New file.
23750 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
23751 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
23752 Likewise.
23753 * include/grub/i386/pc/apm.h: New file.
23754 * include/multiboot.h (multiboot_apm_info): New struct.
23755
237562010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23757
23758 GRUB-legacy configuration file support.
23759
23760 * Makefile.util.def (grub-menulst2cfg): New util.
23761 * docs/man/grub-menulst2cfg.h2m: New file.
23762 * grub-core/Makefile.core.def (legacycfg): New module.
23763 * grub-core/commands/legacycfg.c: New file.
23764 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
23765 (grub_normal_add_menu_entry): ... this.
23766 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
23767 (grub_normal_set_password): ...this.
23768 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
23769 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
23770 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
23771 * grub-core/lib/legacy_parse.c: New file.
23772 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
23773 * include/grub/i386/pc/vesa_modes_table.h: New file.
23774 * include/grub/legacy_parse.h: Likewise.
23775 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
23776 * util/grub-menulst2cfg.c: New file.
23777
bf8d1338
CW
237782010-09-17 Colin Watson <cjwatson@ubuntu.com>
23779
23780 * grub-core/kern/emu/hostdisk.c
23781 (convert_system_partition_to_system_disk): Initialise node.
23782
9c0bad2e
CW
237832010-09-17 Colin Watson <cjwatson@ubuntu.com>
23784
23785 * grub-core/kern/emu/hostdisk.c
23786 (convert_system_partition_to_system_disk): Fix devmapper memory pool
23787 leak.
23788 Reported and based on patch by: Modestas Vainius.
23789
a939d135
CW
237902010-09-17 Colin Watson <cjwatson@ubuntu.com>
23791
23792 Fix DM-RAID probing with recent versions of device-mapper udev
23793 rules.
23794
23795 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
23796 canonicalise device paths under /dev/mapper/.
23797 (convert_system_partition_to_system_disk): Compare the
23798 uncanonicalised path to /dev/mapper/ rather than the canonicalised
23799 path, since device nodes under /dev/mapper/ are often symlinks.
23800
0f7ee3c9
YB
238012010-09-17 Yves Blusseau <blusseau@zetam.org>
23802
23803 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
23804
10854d0d
YB
238052010-09-16 Yves Blusseau <blusseau@zetam.org>
23806
23807 * configure.ac: Avoid some annoying error messages if freetype-config
23808 program is not found.
23809
108538d8
CW
238102010-09-16 Colin Watson <cjwatson@ubuntu.com>
23811
23812 Support RAID on virtio devices, and others.
23813
23814 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
23815 Rename to ...
23816 [__MINGW32__] (grub_find_device): ... this.
23817 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
23818 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
23819 reasonable default if dir is NULL.
23820 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
23821 ...
23822 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
23823 (grub_guess_root_device): Update callers.
23824 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
23825
23826 * util/raid.c (grub_util_getdiskname): Remove.
23827 (grub_util_raid_getmembers): Use grub_find_device rather than
23828 grub_util_getdiskname.
23829
e5bfc130
CW
238302010-09-16 Colin Watson <cjwatson@ubuntu.com>
23831
23832 * docs/grub.texi (serial): Remove obsolete comment about GRUB
23833 needing to be compiled with serial support.
23834 (ls): Indicate that multiple files are accepted.
23835 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
23836 indicate that multiple files are accepted.
23837
be458ae2
CW
238382010-09-16 Colin Watson <cjwatson@ubuntu.com>
23839
23840 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
23841 libgrub_a_init.c, and util/bash-completion.d/grub.
23842
cb731b5e
VS
238432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23844
23845 * util/grub-setup.c (setup): Fix incorrect container semantics.
23846
35139e8a
VS
238472010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23848
23849 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
23850 misusage.
23851 Reported by: J. Nick Terry
23852
e50fca4a
VS
238532010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23854
23855 Move embedding routines to partmap sources files.
23856
23857 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
23858 [GRUB_UTIL]: New variable.
23859 (gpt_partition_map_iterate): Set part.parent.
23860 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
23861 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
23862 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
23863 New function.
23864 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
23865 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
23866 (grub_partition_map) [GRUB_UTIL]: New field embed.
23867 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
23868 (setup): Use ->embed.
23869
f00478b7
VS
238702010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23871
23872 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
23873 function.
23874 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
23875 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
23876
2b94e3ff
YB
238772010-09-15 Yves Blusseau <blusseau@zetam.org>
23878
23879 Add function to get completions from usage.
23880
23881 * util/bash-completion.d/grub-completion.bash.in: Add function to get
23882 completions from usage. Use LC_ALL=C to get options properly.
23883
2e04a006
VS
238842010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23885
23886 * grub-core/gnulib/basename-lgpl.c: Imported.
23887 * grub-core/gnulib/basename.c: Likewise.
23888 * grub-core/gnulib/dirname-lgpl.c: Likewise.
23889 * grub-core/gnulib/dirname.c: Likewise.
23890 * grub-core/gnulib/dirname.h: Likewise.
23891 * grub-core/gnulib/stripslash.c: Likewise.
23892
5dcdf93a
VS
238932010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23894
23895 * grub-core/gnulib/error.c: Resynced.
23896 * grub-core/gnulib/getopt.c: Likewise.
23897 * grub-core/gnulib/getopt_int.h: Likewise.
23898 * grub-core/gnulib/regex.h: Likewise.
23899 * grub-core/gnulib/regex_internal.c: Likewise.
23900 * grub-core/gnulib/regex_internal.h: Likewise.
23901
014f47b7
SJ
239022010-09-15 Szymon Janc <szymon@janc.net.pl>
23903
23904 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
23905 CRC calculations and validity checks.
23906 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
23907 calculations.
23908
dd521a4a
SJ
239092010-09-15 Szymon Janc <szymon@janc.net.pl>
23910
23911 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
23912
79c4eeb9
VS
239132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23914
23915 Fix incorrect echo options handling.
23916 Reported by: Yves Blusseau.
23917
23918 * include/grub/command.h (grub_command_flags_t): New flags
23919 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
23920 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
23921 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
23922
ed80f7d5
VS
239232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23924
23925 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
23926 users updated.
23927 (GRUB_COMMAND_FLAG_MENU): Likewise.
23928 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23929 (GRUB_COMMAND_FLAG_TITLE): Removed.
23930 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23931 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
23932 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
23933 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
23934 (grub_command_flags_t): New enum. All users updated.
23935
5fe7620a
SG
239362010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
23937
23938 Fix solaris compilation.
23939
23940 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
23941 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
23942 (grub-emu-list): Likewise.
23943
545b752f
VS
239442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23945
23946 Remove deprecated root command.
23947
23948 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
23949 updated.
23950
6c1a338c
VS
239512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23952
23953 * util/i386/pc/grub-setup.c: Merge this ...
23954 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
23955 * util/grub-setup.c: ... into this.
23956 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
23957 New struct.
23958
239592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23960
23961 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
23962 possible.
23963
d2ea4551
VS
239642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23965
23966 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
23967 allocate p.
23968
3c3b5040
VS
239692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23970
23971 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
23972 explicit root argument to set to prevent UUID to be interpreted as
23973 argument to set.
23974
b71c3fae
VS
239752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23976
23977 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
23978
275433e6
VS
239792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23980
23981 Don't export grub_gate_a20.
23982
23983 * grub-core/kern/i386/pc/init.c: Remove leftovers.
23984 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
23985 to ...
23986 (grub_gate_a20): ... this. All users updated.
23987 * include/grub/i386/pc/init.h: Removed. All users updated.
23988
a5dbb1f1
VS
239892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23990
23991 Create euro.pf2 which supports most European languages.
23992
23993 * Makefile.am (grubdata_DATA): Add euro.pf2.
23994 (euro.pf2): New target.
23995 (CLEANFILES): Add euro.pf2.
23996
62a747cb
VS
239972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23998
23999 * configure.ac: Disable emu-usb by default to prevent inadvertent
24000 device takeover.
24001
608e43b1
VS
240022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24003
24004 Disable usbserial on grub-emu since our libusb code isn't good enough
24005 yet.
24006
24007 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
24008 (usbserial_pl2303): Likewise.
24009 (usbserial_ftdi): Likewise.
24010
94564f81
VS
240112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24012
24013 * include/grub/disk.h (grub_disk): Remove has_partitions.
24014 All users updated.
24015 * disk/loopback.c (grub_loopback): Remove has_partitions.
24016 All users updated.
24017 (options): Remove partitions. All users updated.
24018 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
24019 * util/i386/pc/grub-setup.c (setup): copy partition table only when
24020 actual partition table is found.
24021
3352800b
VS
240222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24023
24024 Remove readability checks (too many false negatives).
24025
24026 * util/grub-install.in: Remove readability checks.
24027 * util/grub-mkconfig.in: Likewise.
24028 * util/grub.d/10_hurd.in: Likewise.
24029 * util/grub.d/10_kfreebsd.in: Likewise.
24030 * util/grub.d/10_linux.in: Likewise.
24031 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
24032 way.
24033
2419f17a
VS
240342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24035
24036 Enable acpi shutdown on all ACPI platforms.
24037
24038 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
24039 on coreboo, multiboot and EFI.
24040 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
24041 (grub_acpi_halt): Likewise.
24042 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
24043 (grub_cmd_halt): Don't call grub_acpi_halt directly.
24044 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
24045 * grub-core/lib/i386/halt.c (grub_halt)
24046 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
24047
0575c7c3
VS
240482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24049
24050 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
24051 context.
24052
54ac3cd1
VS
240532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24054
24055 * grub-core/video/efi_gop.c: Fix over-80-chars line.
24056 * grub-core/video/efi_uga.c: Likewise.
24057
b2a30ac5
VS
240582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24059
24060 Filter devaliases and never open same device twice.
24061
24062 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
24063 (last_ihandle): Likewise.
24064 (ofdisk_hash_ent): New member shortest.
24065 (ofdisk_hash_add): Add canonical path too.
24066 (scan): New function.
24067 (grub_ofdisk_iterate): Iterate over hashed entries.
24068 (compute_dev_path): Don't add :0.
24069 (grub_ofdisk_open): Don't really open the disk.
24070 (grub_ofdisk_close): Avoid closing unrelated disk.
24071 (grub_ofdisk_read): Implement reopen logic.
24072 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
24073 New function.
24074 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
24075 New proto.
24076
fb53b340
VS
240772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24078
24079 Fix sparc64.
24080
24081 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
24082 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
24083 right address. Add sparc64_ieee1275_ldflags.
24084 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
24085 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
24086 to grub_host_to_target_addr
24087 (load_image): Likewise.
24088
f452b040
VS
240892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24090
24091 * grub-core/normal/completion.c (complete_file): Handle device
24092 containing slash.
24093 Fix based on patch by Doug Nazar.
24094
9b5b2541
VS
240952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24096
24097 grub-mknetdir script.
24098
24099 * Makefile.util.def (grub-mknetdir): New module.
24100 * tests/util/grub-shell.in: Support boot=net
24101 * util/grub-mknetdir.in: New file.
24102
9d2be652
VS
241032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24104
24105 videoinfo on non-vbe.
24106
24107 * grub-core/Makefile.core.def (vbeinfo): Removed.
24108 (vbetest): Removed.
24109 (videoinfo): New module.
24110 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
24111 * grub-core/commands/i386/pc/vbetest.c: Removed.
24112 * grub-core/commands/videoinfo.c: New file.
24113 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
24114 specification.
24115 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
24116 as vbetest.
24117 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
24118 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
24119 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
24120 mode_number. New parameter mode. All users updated.
24121 (grub_video_gop_iterate): New function.
24122 (grub_video_efi_gop): New member iterate.
24123 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
24124 (grub_vbe_set_video_mode): Remove setting useless fields.
24125 (vbe2videoinfo): New function.
24126 (grub_video_vbe_iterate): Likewise.
24127 (grub_video_vbe_setup): Use vbe2videoinfo.
24128 (grub_video_vbe_print_adapter_specific_info): New function.
24129 (grub_video_vbe_adapter): New fields iterate and
24130 print_adapter_specific_info.
24131 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
24132 All users updated.
24133 (grub_video_mode_info): New field mode_number.
24134 (grub_video_adapter): New fields iterate and
24135 print_adapter_specific_info.
24136
179503f5
TG
241372010-09-13 Tristan Gingold <gingold@free.fr>
241382010-09-13 Robert Millan <rmh.grub@aybabtu.com>
241392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24140
24141 * grub-core/commands/efi/lsefisystab.c: New file.
24142 * grub-core/commands/efi/lssal.c: Likewise.
24143 * grub-core/Makefile.core.def (lsacpi): New module.
24144 (lsefisystab): Likewise.
24145 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
24146 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
24147 (grub_efi_sal_system_table): New struct.
24148 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
24149 (grub_efi_sal_system_table_memory_descriptor): Likewise.
24150 (grub_efi_sal_system_table_platform_features): Likewise.
24151 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
24152 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
24153 (grub_efi_sal_system_table_ap_wakeup): Likewise.
24154 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
24155
cf9827de
VS
241562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24157
24158 Support explicit user claim that a device is BIOS-visible.
24159
24160 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
24161 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
24162 * grub-core/kern/emu/hostdisk.c
24163 (convert_system_partition_to_system_disk): Support mdX.
24164 (find_system_device): New parameter add. All users updated.
24165 (grub_util_biosdisk_is_present): New function.
24166 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
24167 proto.
24168
53f0eb1f
VS
241692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24170
24171 Search hints support.
24172
24173 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
24174 All users updated.
24175
b23ffd70
YB
241762010-09-13 Yves Blusseau <blusseau@zetam.org>
24177
24178 Bash completion script for util commands
24179
24180 * Makefile.am: Add util/bash-completion.d directory
24181 * configure.ac: Likewise.
24182 * util/bash-completion.d/Makefile.am: New file.
24183 * util/bash-completion.d/grub-completion.bash.in: Likewise.
24184
d547dc28
VS
241852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24186
24187 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
24188 (print_backlog): set backlog_ucs4 and backlog_glyphs.
24189 Reported by: Yves Blusseau.
24190
2fc8ccb9
VS
241912010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24192
24193 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
24194 partition size and offset.
24195
d8a84076
VS
241962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24197
24198 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
24199
84fb3b3d
VS
242002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24201
24202 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
24203
768ec2e2
VS
242042010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24205
24206 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
24207 (grub_xvasprintf): Likewise.
24208
4870900f
VS
242092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24210
24211 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
24212
faca6bec
VS
242132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24214
24215 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
24216 args ending with NULL.
24217
242182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
24219
24220 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
24221 pointer.
24222
3c70f225
SJ
242232010-09-11 Szymon Janc <szymon@janc.net.pl>
24224
24225 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
24226
4df7996d
VS
242272010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24228
24229 Shutdown using ACPI.
24230
24231 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
24232 * grub-core/commands/acpihalt.c: New file.
24233 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
24234 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
24235 (grub_acpi_halt): New proto.
24236 (GRUB_ACPI_SLP_EN): New const.
24237 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
24238 (GRUB_ACPI_OPCODE_*): New enum.
24239 (GRUB_ACPI_EXTOPCODE_*): Likewise.
24240
126b4c32
TG
242412010-09-11 Tristan Gingold <gingold@free.fr>
242422010-09-11 Robert Millan <rmh.grub@aybabtu.com>
242432010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24244
24245 * commands/lsacpi.c: New file.
24246 * grub-core/Makefile.core.def (lsacpi): New module.
24247 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
24248 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
24249 (grub_acpi_madt_entry_header): New struct.
24250 (grub_acpi_madt): Likewise.
24251 (grub_acpi_madt_entry_interrupt_override): Likewise.
24252 (grub_acpi_madt_entry_sapic): Likewise.
24253 (grub_acpi_madt_entry_lsapic): Likewise.
24254 (grub_acpi_madt_entry_platform_int_source): Likewise.
24255 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
24256 (PRIuGRUB_UINT32_T): Likewise.
24257 (PRIxGRUB_UINT64_T): Likewise.
24258
1aa4fe88
VS
242592010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24260
24261 Implement loading palette on ieee1275_fb.
24262
24263 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
24264 (have_setcolors): Likewise.
24265 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
24266 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
24267 (grub_video_ieee1275_set_palette): Implement.
24268
25761e13
VS
242692010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
242702010-09-11 Colin Watson <cjwatson@ubuntu.com>
24271
24272 * util/grub-install.in (grub_partition): New variable.
24273 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
24274 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
24275 Fixes a bug reported by Yves Blusseau.
24276
050abaea
VS
242772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24278
24279 Fix emu on mipsel.
24280
24281 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
24282 =grub_cpu_flush_cache on all mips and not only yeeloong.
24283 * configure.ac (COND_mips): New conditional.
24284 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
24285 platforms.
24286 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
24287 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
24288 [GRUB_LINKER_HAVE_INIT]: New function.
24289 (grub_emu_post_init): Likewise.
24290 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
24291 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
24292 * include/grub/cache.h (_mips): Include mips/cache.h.
24293 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
24294 LVM and RAID prototypes.
24295 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
24296 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
24297 function.
24298
5ed7d816
CW
242992010-09-10 Colin Watson <cjwatson@ubuntu.com>
24300
24301 * util/grub-install.in: Don't try to verify core.img until after
24302 running grub-mkimage to create it.
24303
90367e04
RM
243042010-09-10 Robert Millan <rmh@gnu.org>
24305
24306 * util/grub.d/10_hurd.in: Add misc readability checks.
24307 * util/grub.d/10_kfreebsd.in: Likewise.
24308 * util/grub.d/10_linux.in: Likewise.
24309
c452fa66
CW
243102010-09-10 Colin Watson <cjwatson@ubuntu.com>
24311
24312 * util/grub-install.in: ${imgext} won't be defined here until the
24313 install branch is merged. For the meantime, only verify core.img on
24314 i386-pc and sparc64-ieee1275 platforms.
24315
c38fe9f4
RM
243162010-09-10 Robert Millan <rmh@gnu.org>
24317
24318 Solaris support in grub_find_zpool_from_dir(). Thanks
24319 Seth Goldberg for referring to getextmntent() facility.
24320
24321 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
24322 `sys/mkdev.h'.
24323 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
24324 `<sys/mnttab.h>'.
24325 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
24326 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
24327 method for finding zpool name.
24328
905f7773
CW
243292010-09-10 Colin Watson <cjwatson@ubuntu.com>
24330
24331 grub-fstest needs the host and hostfs modules while other utilities
24332 actively require those modules to be absent, so grub-fstest needs
24333 its own initialisation and finalisation code.
24334
24335 * Makefile.am (grub_fstest.pp): New target.
24336 (grub_fstest_init.lst): Likewise.
24337 (grub_fstest_init.c): Likewise.
24338 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
24339
fb90b546
RM
243402010-09-10 Robert Millan <rmh@gnu.org>
24341
24342 * configure.ac: Check for `struct statfs.f_fstypename' and
24343 `struct statfs.f_mntfromname'.
24344
24345 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
24346 kFreeBSD-specific code.
24347
66d4bea5
RM
243482010-09-10 Robert Millan <rmh@gnu.org>
24349
24350 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
24351 on ZFS. Now non-main filesystems are supported as / too.
24352
b6a690ee
CW
243532010-09-09 Colin Watson <cjwatson@ubuntu.com>
24354
24355 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
24356 and grub-core/disk/host.c to ...
24357 (grub-fstest): ... here. Having the host disk implementation
24358 present confuses grub-probe and other utility programs.
24359
24360 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
24361 when writing to a file, not when writing to stdout.
24362
8901b00c 243632010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
24364
24365 * tests/partmap_test.in: New test for partitions.
24366 * Makefile.util.def: Rules for new test.
24367
7bf45fdd
RM
243682010-09-09 Robert Millan <rmh@gnu.org>
24369
24370 * util/grub-probe.c (probe): Fix a pair of unhandled error
24371 conditions.
24372
4dfbc574
RM
243732010-09-09 Robert Millan <rmh@gnu.org>
24374
24375 Basic Btrfs support (detection and UUID).
24376
24377 * grub-core/fs/btrfs.c: New file.
24378 * Makefile.util.def (library): Register btrfs.c.
24379 * grub-core/Makefile.core.def: Likewise.
24380
6b8e78ae
RM
243812010-09-08 Robert Millan <rmh@gnu.org>
24382
24383 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
24384 with (optional) parameters to specify device and relative path.
24385 * util/grub-install.in: Use is_path_readable_by_grub() to
24386 verify readability of a few critical files.
24387 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
24388 verify readability of grub.cfg.new.
24389
27f21a8b
VS
243902010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24391
24392 Split minix.mod into minix.mod and minix2.mod.
24393
24394 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
24395 * grub-core/Makefile.core.def (minix2): New module.
24396 * grub-core/fs/minix.c: Use definitions instead of runtime version
24397 checking.
24398 * grub-core/fs/minix2.c: New file.
24399
c0e53ea5
YB
244002010-09-08 Yves Blusseau <blusseau@zetam.org>
24401
24402 Add new --boot-directory option to replace --root-directory
24403
24404 * util/grub-install.in: Add new --boot-directory option
24405 * util/grub-reboot.in: Likewise.
24406 * util/grub-set-default.in: Likewise.
24407
b9fe6ea2
YB
244082010-09-08 Yves Blusseau <blusseau@zetam.org>
24409
24410 * util/grub-mkconfig.in: Use new variable.
24411
d87aedff
YB
244122010-09-08 Yves Blusseau <blusseau@zetam.org>
24413
24414 * configure.ac: Define some useful variables.
24415
e55e8495
VS
244162010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24417
24418 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24419 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
24420 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
24421 Use terminfo and don't use cursor-on/cursor-off unless it's known
24422 to work.
24423 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
24424 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
24425
6fa6d675
CW
244262010-09-08 Colin Watson <cjwatson@ubuntu.com>
24427
24428 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
24429 starts with "(,", fill the drive containing the loaded image in
24430 between those two characters, but expect that a full partition
24431 specification including partition map names will follow.
24432
92f2aef0
RM
244332010-09-08 Robert Millan <rmh@gnu.org>
24434
24435 * configure.ac: Remove `--enable-grub-fstest' option.
24436 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
24437
24438 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
24439 `grub-fstest' instead of `grub-probe' for readability verification.
24440 * util/grub-probe.c (probe): Remove readability verification kludge.
24441
99fd620d
RM
244422010-09-08 Robert Millan <rmh@gnu.org>
24443
24444 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
24445 initializing `GRUB_FS'.
24446
058e30ac 244472010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
24448
24449 Not command (!) support to GRUB script.
24450
24451 * tests/grub_script_not.in: New test.
24452 * Makefile.util.def: Rules for new test.
24453
24454 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
24455 ! command as a special case.
24456 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
24457
b61d05ed 244582010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24459
058e30ac 24460 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
24461 grub_free.
b61d05ed 24462
4d69c786 244632010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24464
24465 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
24466
aa3119c4 244672010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24468
24469 * docs/grub.texi (Shell-like scripting): Documentation for break,
24470 continue, shift and return commands.
24471
db0f7e3d
VS
244722010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
24473
24474 Rename CD-ROM to cd on BIOS.
24475
24476 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
24477 "cd".
24478 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
24479
88b87c93
VS
244802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24481
24482 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
24483 * util/grub-probe.c (main): Likewise.
24484 * util/i386/pc/grub-setup.c (main): Likewise.
24485 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24486 Reported and debugged by: alexxy
24487
294f324d
VS
244882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24489
24490 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
24491 diagnostic info.
24492
d7ee3441
JS
244932010-09-05 Jo Shields <directhex@apebox.org>
24494
24495 * util/grub.d/30_os-prober.in: Add missing classes.
24496
d7e06c1f
VS
244972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24498
24499 * docs/grub.texi (Theme file format): Document new position format.
24500
fc157e53
VS
245012010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24502
24503 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
24504 a table. Use @code instead of @verbatim.
24505
506e9a1c
CB
245062010-09-05 Colin D Bennett <colin@gibibit.com>
24507
24508 Gfxmenu documentation.
24509
24510 * docs/grub.texi (Theme file format): New chapter.
24511
f0aff67c
SJ
245122010-09-05 Szymon Janc <szymon@janc.net.pl>
24513
24514 * grub-core/Makefile.core.def (xzio): New module.
24515 * grub-core/io/xzio.c: New file.
24516 * grub-core/lib/xzembed/xz.h: New file (from xembed).
24517 * grub-core/lib/xzembed/xz_config.h: Likewise.
24518 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
24519 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
24520 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
24521 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
24522 * grub-core/lib/xzembed/xz_private.h: Likewise.
24523 * grub-core/lib/xzembed/xz_stream.h: Likewise.
24524 * include/grub/file.h (grub_file_filter_id): New compression filter
24525 GRUB_FILE_FILTER_XZIO.
24526
82a85062
VS
245272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24528
24529 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
24530 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
24531 size.
24532
3579415d
VS
245332010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24534
24535 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
24536 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
24537
5124ae6d
VS
245382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24539
24540 Uncompressed checksum support.
24541
24542 * grub-core/commands/hashsum.c (options): Add option --uncompress.
24543 (check_list): New parameter uncompress.
24544 (grub_cmd_hashsum): Handle --uncompress.
24545
9aadb3d1
VS
245462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24547
24548 Reintroduce testload.
24549
24550 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
24551 from here ...
24552 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
24553 (GRUB_MOD_INIT): New function.
24554 (GRUB_MOD_FINI): Likewise.
24555 * grub-core/Makefile.core.def (testload): New module.
24556
a17792c3
SJ
245572010-09-05 Szymon Janc <szymon@janc.net.pl>
24558
24559 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
24560 (uint8_t): New type.
24561 (uint16_t): Likewise.
24562 (uint32_t): Likewise.
24563 (uint64_t): Likewise.
24564
b81e40a3
SJ
245652010-09-05 Szymon Janc <szymon@janc.net.pl>
24566
24567 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
24568
fc2ef117
VS
245692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24570
24571 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
24572 Made static.
24573 (grub_gzfile_open): Removed. All users updated.
24574 (GRUB_MOD_INIT): New function.
24575 (GRUB_MOD_FINI): Likewise.
24576 * grub-core/kern/file.c (grub_file_filters_all): New variable.
24577 (grub_file_filters_enabled): Likewise.
24578 (grub_file_open): Handle filters.
24579 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
24580 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
24581 * include/grub/file.h (grub_file_filter_id_t): New type.
24582 (grub_file_filter_t): Likewise.
24583 (grub_file_filters_all): New extern variable.
24584 (grub_file_filters_enabled): Likewise.
24585 (grub_file_filter_register): New inline function.
24586 (grub_file_filter_unregister): Likewise.
24587 (grub_file_filter_disable): Likewise.
24588 (grub_file_filter_disable_compression): Likewise.
24589 * include/grub/gzio.h: Removed.
24590
35ee15e0
BC
245912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24592
24593 Filename expansion support for wildcards in GRUB script.
24594
24595 * tests/grub_script_expansion.in: New test.
24596 * Makefile.util.def: Rule for new test.
24597
24598 * grub-core/commands/wildcard.c: New file, implements filename
24599 expansion support for GRUB script.
24600 * grub-core/Makefile.core.def: Rule update for regexp.mod.
24601 * grub-core/script/argv.c: Cosmetic changes.
24602 * grub-core/script/execute.c (grub_script_arglist_to_argv):
24603 Refactored to perform wildcard expansion on arguments.
24604 * include/grub/script_sh.h (grub_script_wildcard_translator): New
24605 struct.
24606
24607 * tests/util/grub-shell.in: Fix quoting for read input.
24608
5f0c4aca
BC
246092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24610
24611 Support for updating environment variables with matched substrings
24612 of regexp.
24613
24614 * tests/grub_cmd_regexp.in: New test.
24615 * Makefile.util.def: Rule for new test.
24616
24617 * grub-core/commands/regexp.c: New option -s to update environment
24618 variables with regexp matches.
24619
3759a35f
SJ
246202010-09-04 Szymon Janc <szymon@janc.net.pl>
24621
24622 * include/grub/file.h (grub_file): New member not_easly_seekable.
24623 (grub_file_seekable): New inline function.
24624 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
24625 easily seekable.
24626 (grub_gzio_open): Set not_easly_seekable.
24627 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
24628 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
24629
ed8c6dec
BC
246302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24631
24632 Support for options to appear multiple times on cmdline.
24633
24634 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
24635 * grub-core/commands/extcmd.c: Support for repeatable option.
24636 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
24637 repeatable option support.
24638
24639 Refactor menuentry into a regular command.
24640
24641 * grub-core/commands/menuentry.c: New file, menuentry command
24642 implementation.
24643 * grub-core/Makefile.core.def: Rule update for normal.mod.
24644 * grub-core/normal/main.c: Moved menuentry creation to
24645 grub-core/commands/menuentry.c.
24646 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
24647 (grub_menu_execute_entry_real): Removed.
24648 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
24649 function.
24650 (grub_script_execute_menuentry): Removed.
24651 * grub-core/script/parser.y (menuentry): Removed.
24652 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
24653 * grub-core/script/yylex.l (menuentry): Removed.
24654 * include/grub/menu.h (grub_menu_init): New prototype.
24655 (grub_menu_fini): New prototype.
24656 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
24657 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
24658 (grub_script_execute_sourcecode): New prototype.
24659
dacd0cf0
BC
246602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24661
24662 "return" command for GRUB script functions.
24663
24664 * tests/grub_script_return.in: New test.
24665 * Makefile.util.def: Rules for new test.
24666
24667 * grub-core/script/execute.c (grub_script_return): New function.
24668 * grub-core/script/main.c: Register/unregister return commaond.
24669 * include/grub/script_sh.h (grub_script_return): New prototype.
24670
52e72f9d
BC
246712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24672
24673 "setparams" command to update positional parameters.
24674
24675 * tests/grub_script_setparams.in: New test.
24676 * Makefile.util.def: Rules for new test.
24677
24678 * grub-core/script/argv.c (grub_script_argv_make): New function.
24679 * grub-core/script/execute.c (replace_scope): New function.
24680 (grub_script_setparams): New function.
24681 * grub-core/script/lexer.c: Remove unused variables.
24682 * grub-core/script/main.c: Register/unregister setparams command.
24683 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
24684 (grub_script_setparams): New prototype.
24685
25b60c91
BC
246862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24687
24688 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
24689 grub_free order.
24690
37e7bf68
BC
246912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24692
24693 Support for passing block of commands as an argument to extcmds.
24694
24695 * Makefile.util.def: Rules for new test.
24696 * tests/grub_script_blockarg.in: New test.
24697 * grub-core/tests/test_blockarg.c: New file, block argument
24698 command used in the test.
24699
24700 * include/grub/extcmd.h (grub_extcmd_context): New struct.
24701 (grub_register_extcmd_prio): New function prototype.
24702 (grub_extcmd_dispatcher): New function prototype.
24703 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
24704 type.
24705 * include/grub/script_sh.h (struct grub_script): New members
24706 `children', `next_siblings' and `refcnt' for block arguments and
24707 reference counting.
24708 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
24709 (grub_script_arg): New member `script' for block argument.
24710 (grub_script_argv): New member `script' for block argument.
24711 (grub_parser_param): New member `scripts' for block argument.
24712 (grub_script_mem_free): New extern function prototype.
24713 (grub_script_ref): New function prototype.
24714 (grub_script_unref): New function prototype.
24715
24716 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
24717 extcmd form to support block arguments.
24718 * grub-core/script/argv.c: Block arguments support.
24719 * grub-core/script/execute.c: Likewise.
24720 * grub-core/script/lexer.c: Likewise.
24721 * grub-core/script/main.c: Likewise.
24722 * grub-core/script/script.c: Likewise.
24723 * grub-core/script/parser.y: Likewise. New `block' and `block0'
24724 non-terminals.
24725
24726 * grub-core/commands/acpi.c: Update extcmd implementations with
24727 grub_extcmd_context_t.
24728 * grub-core/commands/cat.c: Likewise.
24729 * grub-core/commands/echo.c: Likewise.
24730 * grub-core/commands/extcmd.c: Likewise.
24731 * grub-core/commands/hashsum.c: Likewise.
24732 * grub-core/commands/hdparm.c: Likewise.
24733 * grub-core/commands/help.c: Likewise.
24734 * grub-core/commands/hexdump.c: Likewise.
24735 * grub-core/commands/i386/cpuid.c: Likewise.
24736 * grub-core/commands/i386/pc/drivemap.c: Likewise.
24737 * grub-core/commands/i386/pc/halt.c: Likewise.
24738 * grub-core/commands/i386/pc/sendkey.c: Likewise.
24739 * grub-core/commands/iorw.c: Likewise.
24740 * grub-core/commands/keystatus.c: Likewise.
24741 * grub-core/commands/loadenv.c: Likewise.
24742 * grub-core/commands/ls.c: Likewise.
24743 * grub-core/commands/lspci.c: Likewise.
24744 * grub-core/commands/memrw.c: Likewise.
24745 * grub-core/commands/probe.c: Likewise.
24746 * grub-core/commands/search_wrap.c: Likewise.
24747 * grub-core/commands/setpci.c: Likewise.
24748 * grub-core/commands/sleep.c: Likewise.
24749 * grub-core/disk/loopback.c: Likewise.
24750 * grub-core/hello/hello.c: Likewise.
24751 * grub-core/loader/i386/bsd.c: Likewise.
24752 * grub-core/loader/xnu.c: Likewise.
24753 * grub-core/term/gfxterm.c: Likewise.
24754 * grub-core/term/serial.c: Likewise.
24755 * grub-core/tests/lib/functional_test.c: Likewise.
24756
888d1500
BC
247572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24758
24759 Multi-line quoted strings support.
24760
24761 * grub-core/script/lexer.c (append_newline): Removed.
24762 (grub_script_lexer_yywrap): Refactored.
24763 (grub_script_lexer_init): Refactored.
24764 * grub-core/script/yylex.l (yywrap): New function.
24765 (grub_lexer_resplit): New function.
24766 (grub_lexer_unput): New function.
24767 * include/grub/script_sh.h (grub_lexer_param): New members, unput
24768 and resplit.
24769 * tests/grub_script_echo1.in: Added few more testcases.
24770
dda060dd
VS
247712010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24772
24773 * grub-core/kern/misc.c: Don't add abort alias in utils.
24774 Reported by: echoline.
24775
6556eba9
BC
247762010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
24777
24778 Add missing files into "make dist" tarball for other platforms.
24779
24780 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
24781 * conf/Makefile.common (dist_noinst_DATA): New variable.
24782 * conf/Makefile.extra-dist: Added missing make dist files.
24783 * grub-core/Makefile.core.def: Likewise.
24784
c8e7bf5f
VS
247852010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24786
24787 Compress grub_prefix.
24788
24789 * grub-core/boot/i386/pc/lnxboot.S: Use
24790 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
24791 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
24792 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
24793 GRUB_MACHINE_PREFIX_END. All users updated.
24794 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
24795 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
24796 + 0x40.
24797 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
24798 * util/grub-mkimage.c (image_target_desc): Change data_end to
24799 prefix_end. All users updated.
24800
a7c00cdb
VS
248012010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24802
24803 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
24804 value.
24805 (grub_openbsd_boot): Likewise.
24806 (grub_netbsd_boot): Likewise.
24807 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
24808 (grub_xnu_boot): Likewise.
24809
9f915872
VS
248102010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24811
24812 * configure.ac: Clean LIBS variable after tests.
24813
efa1bee7
CW
248142010-09-02 Colin Watson <cjwatson@ubuntu.com>
24815
24816 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
24817
61d720e5
VS
248182010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24819
24820 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
24821 echo if libdevmapper will be used.
24822
ef8e0ec8
IT
248232010-09-02 Ian Turner <Ian.Turner@deshaw.com>
24824
24825 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
24826 constant for the same file.
24827
03e261d8
VS
248282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24829
24830 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
24831
c2a4eba6
CW
248322010-09-02 Colin Watson <cjwatson@ubuntu.com>
24833
24834 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
24835 grub-core/*.pp.
24836
9056cbf3
CW
248372010-09-02 Colin Watson <cjwatson@ubuntu.com>
24838
24839 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
24840 required by the boot protocol.
24841
24842 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
24843 ebp and edi members.
24844 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
24845 state.ebp and state.edi.
24846 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
24847 %ebp and %edi according to grub_relocator32_ebp and
24848 grub_relocator32_edi respectively.
24849 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
24850 and state.edi.
24851
529cc99a
VS
248522010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24853
24854 Add i386-pc-pxe image target.
24855
24856 * util/grub-mkimage.c (image_target_desc): New enum value
24857 IMAGE_I386_PC_PXE.
24858 (image_targets): New target i386-pc-pxe.
24859 (generate_image): Handle i386-pc-pxe image.
24860
9a093920
VS
248612010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24862
24863 Fix grub_pxe_scan.
24864
24865 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
24866 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
24867 All users updated.
24868 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
24869 (grub_pxe_pxenv): Correct type.
24870
f9cefc4e
CW
248712010-09-01 Colin Watson <cjwatson@ubuntu.com>
24872
24873 * NEWS: Document most of the important changes since 1.98.
24874
4066f57f
CW
248752010-09-01 Colin Watson <cjwatson@ubuntu.com>
24876
24877 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
24878 generated manual page) a little.
24879
da2891f9
CW
248802010-09-01 Colin Watson <cjwatson@ubuntu.com>
24881
24882 * docs/grub.texi: Add myself as an author.
24883
ad717fae
VS
248842010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24885
24886 * Makefile.util.def (libgrub.a): Add missing sunpc.
24887 Reported by: Seth Goldberg.
24888
eefe8abd
VS
248892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24890
24891 Interrupt wrapping and code simplifications.
24892
9494ef9a
VS
24893 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
24894 x86_noieee1275 which are functionaly equivalent in this case.
24895 (grub-install): Make source on each platform explicit. Enable on
24896 all noemu.
24897 * gentpl.py (x86_efi_pc): Removed group.
24898 (x86_noefi): Likewise.
24899 (i386_noefi): Likewise.
24900 (x86_noieee1275): Likewise.
24901 (i386_noieee1275): Likewise.
24902 (i386_noefi_noieee1275): Likewise.
24903 (i386_pc_qemu_coreboot): Likewise.
24904 (i386_coreboot_multiboot): Likewise.
24905 (i386_pc_coreboot_multiboot_qemu): Likewise.
24906 (x86_noefi_mips): Likewise.
24907 (noieee1275): Likewise.
24908 (ieee1275_mips): Likewise.
24909 (noemu_noieee1275): Likewise.
24910 (cmos): New group.
24911 (usb): Likewise.
24912 (videoinkernel): Likewise.
24913 (videomodules): Likewise.
eefe8abd 24914 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
24915 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
24916 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
24917 include/grub/loader.h, include/grub/msdos_partition.h,
24918 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
24919 include/grub/machine/console.h, include/grub/machine/vga.h,
24920 include/grub/machine/vbe.h, include/grub/machine/init.h,
24921 include/grub/machine/kernel.h, include/grub/cpu/time.h,
24922 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 24923 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
24924 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
24925 * grub-core/Makefile.core.def (kernel): Explicit the source for
24926 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
24927 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
24928 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
24929 Use videoinkernel tag.
24930 (usb): Enable on all usb.
24931 (usbserial_common): Likewise.
24932 (usbserial_pl2303): Likewise.
24933 (usbserial_ftdi): Likewise.
24934 (uhci): Enable on all x86.
24935 (ohci): Enable on all pci.
24936 (cmostest): Enable on all CMOS.
24937 (acpi): Include commands/acpi.c on all platforms.
24938 (halt): Add relevant lib/*/halt.c.
24939 (hdparm): Enable on all pci.
24940 (lspci): Likewise.
24941 (usbtest): Enable on all usb.
24942 (ata): Enable on all pci.
24943 (ata_pthru): Likewise.
24944 (usbms): Enable on all usb.
24945 (usb_keyboard): Likewise.
24946 (font): Use tag videomodules.
24947 (bufio): Likewise.
24948 (datetime): Use tag cmos. Enable on all noemu.
24949 (mmap): Use tags common and x86.
24950 (gfxterm): Use tag videomodules.
24951 (bitmap): Likewise.
24952 (bitmap_scale): Likewise.
24953 (video_fb): Likewise.
24954 (video): Likewise.
24955 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
24956 adjust padding accordingly. All users updated.
24957 (grub_ohci_transaction): Fix bad format specification.
24958 (GRUB_MOD_INIT): Add asserts for struct size.
24959 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
24960 (grub_alloc_td): Likewise.
24961 (grub_free_queue): Likewise.
24962 (grub_uhci_transfer): Likewise.
24963 (grub_uhci_transaction): Fix bad format specification.
24964 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24965 (grub_usb_bulk_readwrite): Likewise.
24966 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
24967 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
24968 Made static.
24969 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
24970 Made static.
24971 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
24972 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
24973 Transformed into C.
24974 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
24975 Moved from here ...
24976 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
24977 ... here. Transformed into C. Made static.
24978 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
24979 Moved from here ...
24980 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
24981 ... here. Transformed into C. Made static.
24982 * grub-core/kern/i386/pc/startup.S
24983 (grub_biosdisk_check_int13_extensions): Moved from here ...
24984 * grub-core/disk/i386/pc/biosdisk.c
24985 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
24986 Made static.
24987 * grub-core/kern/i386/pc/startup.S
24988 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
24989 * grub-core/disk/i386/pc/biosdisk.c
24990 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
24991 Transformed into C. Made static.
24992 * grub-core/kern/i386/pc/startup.S
24993 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
24994 * grub-core/disk/i386/pc/biosdisk.c
24995 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
24996 Transformed into C. Made static.
24997 * grub-core/kern/i386/pc/startup.S
24998 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
24999 * grub-core/disk/i386/pc/biosdisk.c
25000 (grub_biosdisk_get_diskinfo_standard): ... here.
25001 Transformed into C. Made static.
25002 * grub-core/kern/i386/pc/startup.S
25003 (grub_biosdisk_get_num_floppies): Moved from here ...
25004 * grub-core/disk/i386/pc/biosdisk.c
25005 (grub_biosdisk_get_num_floppies): ... here.
25006 Transformed into C. Made static.
25007 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
25008 New function.
25009 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
25010 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
25011 Transformed into C. Made static.
25012 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
25013 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
25014 Transformed into C. Made static.
25015 * grub-core/kern/i386/ieee1275/init.c: Removed.
25016 * grub-core/kern/i386/misc.S: Likewise.
25017 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
25018 Splitted from here ...
25019 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
25020 Transformed into C. Made static. All users updated.
25021 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
25022 Transformed into C. Made static. All users updated.
25023 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
25024 Moved from here...
25025 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
25026 Transformed into C. Made static. All users updated.
25027 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
25028 Moved from here...
25029 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
25030 Transformed into C. Made static. All users updated.
25031 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
25032 Removed (replaced by C version).
25033 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
25034 Moved from here...
25035 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
25036 Transformed into C. Made static.
25037 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
25038 Moved from here...
25039 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
25040 ... here. Transformed into C.
25041 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
25042 Moved from here...
25043 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
25044 ... here. Transformed into C.
25045 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
25046 Moved from here...
25047 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
25048 ... here. Transformed into C. Made static.
25049 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
25050 Moved from here...
25051 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
25052 ... here. Transformed into C.
21ed554b
VS
25053 * grub-core/kern/i386/pc/startup.S
25054 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
25055 * grub-core/video/i386/pc/vbe.c
25056 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
25057 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
25058 Moved from here...
25059 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
25060 ... here. Transformed into C.
25061 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
25062 Moved from here...
25063 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
25064 ... here. Transformed into C.
25065 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
25066 Moved from here...
25067 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
25068 ... here. Transformed into C.
25069 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
25070 Moved from here...
25071 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
25072 ... here. Transformed into C.
25073 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
25074 Moved from here...
25075 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
25076 ... here. Transformed into C. Made static.
25077 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
25078 Moved from here...
25079 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
25080 ... here. Transformed into C. Made static.
25081 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
25082 Moved from here...
25083 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
25084 ... here. Transformed into C. Made static.
25085 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
25086 pxe_rm_entry as third argument.
25087 (grub_bios_interrupt): New function.
25088 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
25089 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
25090 of calling grub_stop.
25091 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
25092 * grub-core/lib/efi/halt.c (grub_halt): ...here.
25093 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
25094 * grub-core/lib/emu/halt.c (grub_halt): ... here.
25095 * grub-core/lib/i386/halt.c: Moved from here ...
25096 * grub-core/lib/i386/halt.c: ... here.
25097 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
25098 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
25099 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
25100 grub_stop_floppy.
25101 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
25102 * include/grub/i386/coreboot/init.h: Removed.
25103 * include/grub/i386/multiboot/init.h: Likewise.
25104 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
25105 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
25106 * include/grub/i386/pc/int.h: New file.
25107 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
25108 (grub_pxe_scan): Removed.
25109 (grub_pxe_call): Update prototype.
25110 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
25111 prototypes.
25112 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
25113 * include/grub/i386/qemu/init.h: Removed.
25114 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
25115 noreturn.
25116 (grub_halt): Likewise.
25117 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
25118 (grub_reboot): Likewise.
25119 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
25120 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
25121 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
25122
215dd471
RM
251232010-08-30 Robert Millan <rmh@gnu.org>
25124
25125 * NEWS: Document addition of ZFS support in `grub-install' and
25126 `grub-mkconfig'.
25127
ebd65b82
BC
251282010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
25129
25130 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
25131 dprintf output.
25132
11721d19
VS
251332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25134
25135 Remove leftover embedding of font objects.
25136
25137 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
25138 * util/grub-install.in (font): Removed.
25139 * util/grub-mkimage.c (generate_image): Remove font support. All users
25140 updated.
25141
37837d4e
VS
251422010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25143
25144 Remove leftover embedding of font objects.
25145
25146 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
25147 * util/grub-install.in (font): Removed.
25148 * util/grub-mkimage.c (generate_image): Remove font support. All users
25149 updated.
25150
b4c1aae0
VS
251512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25152
25153 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 25154 Reported by: Ian Turner
b4c1aae0 25155
8920a08d
VS
251562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25157
25158 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
25159 timeout to avoid indefinite boot stalling.
25160
f21db033
VS
251612010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25162
25163 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
25164 (grub_env_write_color_highlight): Likewise.
25165
9a9de209
VS
251662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25167
25168 * grub-core/normal/term.c (print_more): Return to normal and not
25169 to standard state after printing "---MORE---".
25170
3dca01d7
VS
251712010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25172
25173 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
25174 Mask out the bit 0x80 since it has other meaning that specifiing color.
25175
0b986c40
VS
251762010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25177
25178 New relocator. Allows for more kernel support and more straightforward
25179 loader writing.
25180
25181 * Makefile.am (BOOTTARGET): New variable.
25182 (QEMU32): Likewise.
25183 (linux.init.x86_64): New target.
25184 (linux.init.i386): Likewise.
25185 (multiboot.elf): Likewise.
25186 (kfreebsd.elf): Likewise.
25187 (kfreebsd.aout): Likewise.
25188 (pc-chainloader.elf): Likewise.
25189 (pc-chainloader.bin): Likewise.
25190 (ntldr.elf): Likewise.
25191 (ntldr.bin): Likewise.
25192 (multiboot2.elf): Likewise.
25193 (kfreebsd.init.x86_64): Likewise.
25194 (kfreebsd.init.i386): Likewise.
25195 (knetbsd.init.i386): Likewise.
25196 (kopenbsd.init.i386): Likewise.
25197 (knetbsd.init.x86_64): Likewise.
25198 (kopenbsd.init.x86_64): Likewise.
25199 (linux-initramfs.i386): Likewise.
25200 (linux-initramfs.x86_64): Likewise.
25201 (kfreebsd-mfsroot.i386.img): Likewise.
25202 (knetbsd.image.i386): Likewise.
25203 (kopenbsd.image.i386): Likewise.
25204 (kopenbsd.image.x86_64): Likewise.
25205 (knetbsd.miniroot-image.i386.img): Likewise.
25206 (kfreebsd-mfsroot.x86_64.img): Likewise.
25207 (knetbsd.image.x86_64): Likewise.
25208 (knetbsd.miniroot-image.x86_64.img): Likewise.
25209 (kfreebsd-mfsroot.i386.gz): Likewise.
25210 (bootcheck-kfreebsd-i386): Likewise.
25211 (kfreebsd-mfsroot.x86_64.gz): Likewise.
25212 (bootcheck-kfreebsd-x86_64): Likewise.
25213 (knetbsd.miniroot-image.i386.gz): Likewise.
25214 (bootcheck-knetbsd-i386): Likewise.
25215 (bootcheck-kopenbsd-i386): Likewise.
25216 (bootcheck-kopenbsd-x86_64): Likewise.
25217 (knetbsd.miniroot-image.x86_64.gz): Likewise.
25218 (bootcheck-knetbsd-x86_64): Likewise.
25219 (bootcheck-linux-i386): Likewise.
25220 (bootcheck-linux-x86_64): Likewise.
25221 (bootcheck-linux16-i386): Likewise.
25222 (bootcheck-linux16-x86_64): Likewise.
25223 (bootcheck-multiboot): Likewise.
25224 (bootcheck-multiboot2): Likewise.
25225 (bootcheck-kfreebsd-aout): Likewise.
25226 (bootcheck-pc-chainloader): Likewise.
25227 (bootcheck-ntldr): Likewise.
25228 (CLEANFILES): Add new targets.
25229 (BOOTCHECKS): New variable.
25230 (.PHONY): Add bootchecks.
25231 (SUCCESSFUL_BOOT_STRING): New variable.
25232 (BOOTCHECK_TIMEOUT): Likewise.
25233 (bootcheck): New target
25234 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
25235 * configure.ac: Correct efiemu excuse.
25236 * docs/grub.texi (Supported kernels): New chapter.
25237 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
25238 include/grub/mm_private.h. Simplify inclusion of
25239 include/grub/boot.h, include/grub/loader.h
25240 and include/grub/msdos_partition.h
25241 (KERNEL_HEADER_FILES) [i386_coreboot]:
25242 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
25243 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
25244 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
25245 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
25246 include/grub/machine/loader.h.
25247 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
25248 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
25249 extra_dist.
25250 (pci.mod): Enable on i386-multiboot.
25251 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
25252 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
25253 i386-qemu.
25254 (relocator.mod): Rewritten.
25255 (aout.mod): Enable on all x86.
25256 (bsd.mod): Likewise.
25257 (ntldr.mod): New module.
25258 (linux.mod): Use loader/i386/linux.c on all x86.
25259 (xnu.mod): Enable on all x86.
25260 (vga_text.mod): disable on EFI and QEMU.
25261 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
25262 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
25263 * grub-core/efiemu/loadcore.c: Likewise.
25264 * grub-core/efiemu/main.c: Likewise.
25265 (grub_efiemu_exit_boot_services): Removed.
25266 (grub_efiemu_finish_boot_services): Likewise.
25267 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
25268 function.
25269 * grub-core/efiemu/i386/nocfgtables.c: New file.
25270 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
25271 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
25272 (grub_efi_finish_boot_services): Moved from here ...
25273 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
25274 Fille finish memory map and related data.
25275 (finish_mmap_buf): New variable.
25276 (grub_efi_uintn_t finish_mmap_size): Likewise.
25277 (grub_efi_uintn_t finish_key): Likewise.
25278 (grub_efi_uintn_t finish_desc_size): Likewise.
25279 (grub_efi_uint32_t finish_desc_version): Likewise.
25280 (grub_efi_is_finished): Likewise.
25281 (grub_efi_get_memory_map): Use saved memory map if EFI is already
25282 finished.
25283 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
25284 (grub_elf64_phdr_iterate): Likewise.
25285 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
25286 (grub_os_area_size): Likewise.
25287 (grub_machine_init): Don't reserve os area.
25288 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
25289 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
25290 * grub-core/kern/i386/loader.S: Removed.
25291 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
25292 (grub_os_area_size): Likewise.
25293 (grub_machine_init): Don't reserve os area.
25294 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
25295 Don't call grub_dl_unload_all.
25296 Don't include loader.S.
25297 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
25298 Declare the memory after _end as available.
25299 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 25300 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 25301 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
25302 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
25303 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
25304 * include/grub/mm_private.h (grub_mm_header): ... here.
25305 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
25306 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
25307 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
25308 (grub_mm_region): ..here. Removed addr. Added pre_size.
25309 All users updated.
25310 * grub-core/kern/mm.c (base): Renamed to ...
25311 (grub_mm_base): ... this. Made global.
25312 (grub_real_malloc): Alloc from end of region.
25313 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
25314 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
25315 * grub-core/kern/powerpc/cache_flush.S: ... here.
25316 * grub-core/lib/efi/relocator.c: New file.
25317 * grub-core/lib/i386/relocator.c: Rewritten.
25318 * grub-core/lib/i386/relocator16.S: New file.
25319 * grub-core/lib/i386/relocator32.S: Likewise.
25320 * grub-core/lib/i386/relocator64.S: Likewise.
25321 * grub-core/lib/i386/relocator_asm.S: Rewritten.
25322 * grub-core/lib/i386/relocator_common.S: New file.
25323 * grub-core/lib/ieee1275/relocator.c: Likewise.
25324 * grub-core/lib/mips/relocator.c: Rewritten.
25325 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
25326 stylistic adjustments.
25327 * grub-core/lib/powerpc/relocator.c: New file.
25328 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
25329 * grub-core/lib/relocator.c: Rewritten.
25330 * grub-core/lib/x86_64/relocator_asm.S: New file.
25331 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
25332 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
25333 (bsd_tag): New struct.
25334 (tags): New variable.
25335 (tags_last): Likewise.
25336 (netbsd_module): New struct.
25337 (netbsd_mods): New variable.
25338 (netbsd_mods_last): Likewise.
25339 (openbsd_opts): New parameter "serial".
25340 (OPENBSD_SERIAL_ARG): New definition.
25341 (netbsd_opts): New parameter "serial".
25342 (NETBSD_SERIAL_ARG): New definition.
25343 (grub_freebsd_add_meta): Reorganised into ...
25344 (grub_bsd_add_meta): ...this. All users updated.
25345 (grub_freebsd_add_mmap): Reorganised into ...
25346 (generate_e820_mmap): ...this...
25347 (grub_bsd_add_mmap): ...and this. All users updated.
25348 (grub_freebsd_list_modules): Use tags.
25349 (grub_netbsd_add_meta_module): New function.
25350 (grub_netbsd_list_modules): Likewise.
25351 (grub_freebsd_boot): Use relocator and finish EFI.
25352 (grub_openbsd_boot): Likewise.
25353 (grub_netbsd_setup_video): New function.
25354 (grub_netbsd_add_modules): Likewise.
25355 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
25356 and finish EFI.
25357 (grub_bsd_unload): Unload tags.
25358 (grub_bsd_load_aout): Use relocator.
25359 (grub_bsd_elf32_size_hook): New function.
25360 (grub_bsd_elf32_hook): Use relocator.
25361 (grub_bsd_elf64_size_hook): New function.
25362 (grub_bsd_elf64_hook): Use relocator.
25363 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
25364 (grub_bsd_load): Zero-out openbsd_ramdisk.
25365 (grub_bsd_load): Use relocator.
25366 (grub_cmd_openbsd): Support serial.
25367 (grub_cmd_netbsd): Support modules.
25368 (grub_cmd_freebsd_module): Use relocator.
25369 (grub_netbsd_module_load): New function.
25370 (grub_cmd_netbsd_module): Likewise.
25371 (grub_cmd_openbsd_ramdisk): Likewise.
25372 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
25373 kopenbsd_ramdisk.
25374 (GRUB_MOD_FINI): Unregister new commands.
25375 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
25376 (grub_freebsd_load_elfmodule_obj): Use relocator.
25377 (grub_freebsd_load_elfmodule): Likewise.
25378 (grub_freebsd_load_elf_meta): Likewise.
25379 (grub_netbsd_load_elf_meta): New function.
25380 (grub_openbsd_find_ramdisk): Likewise.
25381 * grub-core/loader/i386/bsd_helper.S: Removed.
25382 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
25383 * grub-core/loader/i386/bsd_trampoline.S: Removed.
25384 * grub-core/loader/i386/efi/linux.c: Likewise.
25385 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
25386 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
25387 (DEFAULT_VIDEO_MODE): Likewise.
25388 (real_mode_target): New variable.
25389 (prot_mode_target): Likewise.
25390 (initrd_mem_target): Likewise.
25391 (relocator): Likewise.
25392 (efi_mmap_buf): Likewise.
25393 (efi_mmap_size): Likewise.
25394 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
25395 (free_pages): Use relocator.
25396 (allocate_pages): Account for efi_mmap and use relocator. Return error.
25397 (grub_linux_setup_video): Return error.
25398 (grub_linux_trampoline_start): Removed.
25399 (grub_linux_trampoline_end): Likewise.
25400 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
25401 andd video parameters depending on firmware.
25402 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
25403 [GRUB_MACHINE_EFI]: Pass EFI parameters.
25404 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
25405 (grub_cmd_initrd): Use relocator.
25406 * grub-core/loader/i386/linux_trampoline.S: Removed.
25407 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
25408 (elf_sec_entsize): Likewise.
25409 (elf_sec_shstrndx): Likewise.
25410 (elf_sections): Likewise.
25411 (grub_multiboot_load): Use relocator.
25412 (grub_multiboot_get_mbi_size): Account for sections.
25413 (grub_multiboot_make_mbi): Use relocator and support sections.
25414 (grub_multiboot_add_elfsyms): New function.
25415 (grub_multiboot_free_mbi): Free sections.
25416 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
25417 (grub_linux_real_target): Likewise.
25418 (grub_linux_real_chunk): Likewise.
25419 (grub_linux16_prot_size): Likewise.
25420 (grub_linux16_boot): Use relocator.
25421 (grub_linux_unload): Unload relocator.
25422 (grub_cmd_linux): Use relocator.
25423 (grub_cmd_initrd): Likewise.
25424 * grub-core/loader/i386/pc/ntldr.c: New file.
25425 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
25426 Don't try to guess CPU frequency.
25427 (grub_xnu_set_video): Stretch bitmap.
25428 (grub_xnu_boot): Use relocator.
25429 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
25430 (grub_linux_unload): Free relocator.
25431 (grub_linux_load32): Use relocator.
25432 (grub_linux_load64): Likewise.
25433 (grub_cmd_initrd): Likewise.
25434 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
25435 (grub_multiboot_unload): Unload relocator.
25436 (grub_cmd_multiboot): Use relocator.
25437 (grub_cmd_module): Likewise.
25438 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
25439 Use relocator and support sections.
25440 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
25441 (elf_sec_entsize): Likewise.
25442 (elf_sec_shstrndx): Likewise.
25443 (elf_sections): Likewise.
25444 (grub_multiboot_load): Use relocator.
25445 (grub_multiboot_get_mbi_size): Account for sections.
25446 (grub_multiboot_make_mbi): Use relocator and support sections.
25447 (grub_multiboot_add_elfsyms): New function.
25448 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
25449 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
25450 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
25451 Prototype changed. All users updated.
25452 (grub_xnu_align_heap): Simplified.
25453 (grub_xnu_writetree_toheap): Likewise.
25454 (grub_xnu_unload): Unload relocator.
25455 (grub_cmd_xnu_kernel): Use relocator.
25456 (grub_cmd_xnu_kernel64): Likewise.
25457 (grub_xnu_register_memory): Simplified.
25458 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
25459 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
25460 EFI is finished.
25461 (grub_console_checkkey): Likewise.
25462 (grub_console_getkey): Likewise.
25463 (grub_console_getwh): Likewise.
25464 (grub_console_getxy): Likewise.
25465 (grub_console_gotoxy): Likewise.
25466 (grub_console_cls): Likewise.
25467 (grub_console_setcolorstate): Likewise.
25468 (grub_console_setcursor): Likewise.
25469 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
25470 * grub-core/tests/boot/kbsd.init-i386.S: New file.
25471 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
25472 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
25473 * grub-core/tests/boot/kernel-8086.S: Likewise.
25474 * grub-core/tests/boot/kernel-i386.S: Likewise.
25475 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
25476 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
25477 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
25478 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
25479 * grub-core/tests/boot/knetbsd.cfg: Likewise.
25480 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
25481 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
25482 * grub-core/tests/boot/linux.cfg: Likewise.
25483 * grub-core/tests/boot/linux.init-i386.S: Likewise.
25484 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
25485 * grub-core/tests/boot/linux16.cfg: Likewise.
25486 * grub-core/tests/boot/multiboot.cfg: Likewise.
25487 * grub-core/tests/boot/multiboot2.cfg: Likewise.
25488 * grub-core/tests/boot/ntldr.cfg: Likewise.
25489 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
25490 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
25491 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
25492 New definition.
25493 * include/grub/dl.h (grub_dl_unload_all): Removed.
25494 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
25495 (grub_efi_finish_boot_services): Change prototype.
25496 (grub_efi_is_finished): New variable.
25497 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
25498 Changed prototype.
25499 (grub_efiemu_finish_boot_services): Removed.
25500 (grub_machine_efiemu_init_tables): New prototype.
25501 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
25502 (grub_elf64_phdr_iterate): Likewise.
25503 * include/grub/i386/bsd.h: Include relocator.h.
25504 (freebsd_tag_header): New struct.
25505 (grub_openbsd_bios_mmap): Removed.
25506 (grub_unix_real_boot): Removed.
25507 (grub_freebsd_load_elfmodule32): Changed prototype.
25508 (grub_freebsd_load_elfmodule_obj64): Likewise.
25509 (grub_freebsd_load_elf_meta32): Likewise.
25510 (grub_freebsd_load_elf_meta64): Likewise.
25511 (grub_freebsd_add_meta): Removed.
25512 (grub_netbsd_load_elf_meta32): New prototype.
25513 (grub_netbsd_load_elf_meta64): Likewise.
25514 (grub_bsd_add_meta): Likewise.
25515 (grub_openbsd_ramdisk_descriptor): New struct.
25516 (grub_openbsd_find_ramdisk32): New prototype.
25517 (grub_openbsd_find_ramdisk64): Likewise.
25518 * include/grub/i386/coreboot/loader.h: Removed.
25519 * include/grub/i386/efi/loader.h: Likewise.
25520 * include/grub/i386/ieee1275/loader.h: Likewise.
25521 * include/grub/i386/linux.h (linux_kernel_header): Change void *
25522 to grub_uint32_t.
25523 * include/grub/i386/loader.h: Removed.
25524 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
25525 value.
25526 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
25527 (grub_phys_addr_t): New type.
25528 (grub_vtop): New inline function.
25529 (grub_map_memory): Likewise.
25530 (grub_unmap_memory): Likewise.
25531 * include/grub/i386/multiboot/loader.h: Removed.
25532 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
25533 (NETBSD_BTINFO_CONSOLE): New definition.
25534 (NETBSD_BTINFO_SYMTAB): Likewise.
25535 (NETBSD_BTINFO_MODULES): Likewise.
25536 (NETBSD_BTINFO_FRAMEBUF): Likewise.
25537 (grub_netbsd_bootinfo): New struct.
25538 (grub_netbsd_btinfo_common): Use explicit bitsize.
25539 (grub_netbsd_btinfo_mmap_entry): Removed.
25540 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
25541 (grub_netbsd_btinfo_bootdisk): New struct.
25542 (grub_netbsd_btinfo_symtab): Likewise.
25543 (grub_netbsd_btinfo_serial): Likewise.
25544 (grub_netbsd_btinfo_modules): Likewise.
25545 (grub_netbsd_btinfo_framebuf): Likewise.
25546 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
25547 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
25548 Likewise.
25549 (grub_openbsd_bootargs): Use explicit bitsize.
25550 (grub_openbsd_bootarg_console): New struct.
25551 (GRUB_OPENBSD_COM_MAJOR): New definition.
25552 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
25553 * include/grub/i386/pc/efiemu.h: Removed.
25554 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
25555 * include/grub/i386/qemu/loader.h: Removed.
25556 * include/grub/i386/relocator.h: Rewritten.
25557 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
25558 * include/grub/mips/memory.h: New file.
25559 * include/grub/mips/multiboot.h: Rewritten.
25560 * include/grub/mips/relocator.h: Rewritten.
25561 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
25562 (grub_vtop): New function.
25563 (grub_map_memory): Likewise.
25564 (grub_unmap_memory): Likewise.
25565 * include/grub/misc.h (ALIGN_DOWN): New definition.
25566 * include/grub/mm.h (grub_mm_check_real): New proto.
25567 (GRUB_MM_CHECK): New definition.
25568 * include/grub/mm_private.h: New file.
25569 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
25570 (grub_multiboot_get_mbi_size): Removed.
25571 (grub_multiboot_make_mbi): Change prottype.
25572 (grub_multiboot_set_accepts_video): New proto.
25573 (grub_multiboot_add_elfsyms): Likewise.
25574 (grub_multiboot_payload_eip): New variable.
25575 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
25576 New prototype.
25577 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
25578 New definition.
25579 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
25580 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
25581 * include/grub/powerpc/ieee1275/loader.h: Removed.
25582 * include/grub/powerpc/memory.h: New file.
25583 * include/grub/powerpc/relocator.h: Likewise.
25584 * include/grub/relocator.h: Likewise.
25585 * include/grub/relocator_private.h: Likewise.
25586 * include/grub/sparc64/ieee1275/loader.h: Removed.
25587 * include/grub/x86_64/memory.h: New file.
25588 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
25589 (grub_xnu_heap_malloc): Likewise.
25590 (grub_xnu_heap_real_start): Removed.
25591 (grub_xnu_heap_start): Likewise.
25592 (grub_xnu_relocator): New variable.
25593 (grub_xnu_heap_target_start): Likewise.
25594 * tests/util/grub-shell.in: Support non-pc.
25595 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 25596
5303b85d
VS
255972010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25598
25599 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
25600 on malloc error.
25601 (grub_bidi_logical_to_visual): Check that malloc succeded.
25602 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
25603 puts.
25604 (grub_xputs_normal): Likewise.
25605
d768d159
VS
256062010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25607
25608 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
25609 extra_dist.
25610
256112010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25612
25613 * grub-core/efiemu/runtime/efiemu.sh: Removed.
25614
5bf84df4
VS
256152010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25616
25617 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
25618
3626810e
VS
256192010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25620
25621 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
25622 dprintf.
25623
a7363f53
BC
256242010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
25625
25626 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
25627
902f75f6
VS
256282010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25629
25630 * grub-core/normal/term.c (print_more): Fix a memory leak.
25631 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
25632 (grub_xputs_normal): Likewise.
25633
3c707967
VS
256342010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25635
25636 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
25637 the begining of the string
25638
2053cc07
VS
256392010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25640
25641 * grub-core/script/script.c (grub_script_parse): Free parsed on
25642 failure.
25643
46422ebf
VS
256442010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25645
25646 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
25647 on failure.
25648
9e0fa3f6
VS
256492010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25650
25651 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
25652 return.
25653
3393cf16
VS
256542010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25655
25656 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
25657 (scroll_up): Fix a memory leak.
25658
b17540cb
VS
256592010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25660
25661 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
25662 errors.
25663
67140446
VS
256642010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
25665
25666 Handle USB pendrives exposed as floppies.
25667
25668 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
25669 floppy.
25670 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25671 Check for partitions on all devices.
25672
e35e46fc
VS
256732010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25674
25675 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
25676 (readkey): Likewise.
25677
d24c6190
BC
256782010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
25679
25680 Multiple variable names support to "export" command.
25681
25682 * normal/context.c (grub_cmd_export): "export" command supports
25683 multiple variable names.
25684
04ddcc6a
ST
256852010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
25686
25687 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
25688 --target=drive output to Mach device name.
25689
0c8b61d8
BC
256902010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25691
25692 New Automake based build system for GRUB.
25693
25694 * ABOUT-NLS: New file.
25695 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
25696 in Makefile.util.def file.
25697 * Makefile.util.def: New file. Autogen build definitions file for
25698 GRUB host utils.
25699 * conf/Makefile.common: New file. Common variables for GRUB host
25700 utils and target modules.
25701 * conf/Makefile.extra-dist: New file. Extra files for make dist.
25702 * docs/Makefile.am: New file. Automake file for docs.
25703 * gentpl.py: New file. Python script to generate Autogen
25704 template.
25705 * grub-core/Makefile.am: New file. GRUB target modules' rules
25706 that doesn't fit in Makefile.core.def file.
25707 * grub-core/Makefile.core.def: New file. Autogen build
25708 definitions file for GRUB target modules.
25709 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
25710 specific setjmp.S file.
25711 * po/Makefile.am: New file.
25712
25713 * .bzrignore: New ignores.
25714 * INSTALL: New requirements, without Ruby.
25715 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
25716 * autogen.sh: Updated to invoke autogen as necessary.
25717 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
25718 and defines for Automake conditionals.
25719 * geninit.sh: Refactoring.
25720
25721 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
25722 necessary.
25723 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
25724 New prototype.
25725
25726 * include/grub/test.h: Fix functional test modules' naming.
25727 * grub-core/tests/example_functional_test.c: Fix test module name.
25728
25729 * util/misc.c: Hosted versions' of grub functions for libgrub.a
25730 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
25731 * util/grub-editenv.c: Likewise.
25732 * util/grub-fstest.c: Likewise.
25733 * util/grub-mkdevicemap.c: Likewise.
25734 * util/grub-mkfont.c: Likewise.
25735 * util/grub-mkimage.c: Likewise.
25736 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25737 * util/grub-probe.c: Likewise.
25738 * util/grub-script-check.c: Likewise.
25739 * util/i386/pc/grub-setup.c: Likewise.
25740 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25741
25742 * tests/util/grub-shell.in: Fix override directory path.
25743 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
25744 * util/import_gcry.py: Create Makefile.gcry.def file instead.
25745
25746 * util/lvm.c: Update #includes.
25747 * util/raid.c: Likewise.
25748 * util/resolve.c: Likewise.
25749 * grub-core/bus/emu/pci.c: Likewise.
25750 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
25751 * grub-core/lib/posix_wrap/string.h: Likewise.
25752 * grub-core/kern/emu/main.c: Likewise.
25753
25754 * grub-core/gensymlist.sh: New file. Script for generating kernel
25755 symbols file.
25756 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
25757
25758 * grub-core/gentrigtables.c: Fix unused variable warnings.
25759
25760 * Makefile.in: Removed.
25761 * conf/any-emu.rmk: Removed.
25762 * conf/common.rmk: Removed.
25763 * conf/i386-coreboot.rmk: Removed.
25764 * conf/i386-efi.rmk: Removed.
25765 * conf/i386-ieee1275.rmk: Removed.
25766 * conf/i386-multiboot.rmk: Removed.
25767 * conf/i386-pc.rmk: Removed.
25768 * conf/i386-qemu.rmk: Removed.
25769 * conf/i386.rmk: Removed.
25770 * conf/mips-yeeloong.rmk: Removed.
25771 * conf/mips.rmk: Removed.
25772 * conf/powerpc-ieee1275.rmk: Removed.
25773 * conf/sparc64-ieee1275.rmk: Removed.
25774 * conf/tests.rmk: Removed.
25775 * conf/x86-efi.rmk: Removed.
25776 * conf/x86_64-efi.rmk: Removed.
25777 * gendistlist.sh: Removed.
25778 * geninitheader.sh: Removed.
25779 * genkernsyms.sh.in: Removed.
25780 * genmk.rb: Removed.
25781 * gensymlist.sh.in: Removed.
25782 * mkinstalldirs: Removed.
25783 * boot: Moved ...
25784 * grub-core/boot: ... to here.
25785 * bus: Moved ...
25786 * grub-core/bus: ... to here.
25787 * commands: Moved ...
25788 * grub-core/commands: ... to here.
25789 * disk: Moved ...
25790 * grub-core/disk: ... to here.
25791 * efiemu: Moved ...
25792 * grub-core/efiemu: ... to here.
25793 * font: Moved ...
25794 * grub-core/font: ... to here.
25795 * fs: Moved ...
25796 * grub-core/fs: ... to here.
25797 * gencmdlist.sh: Moved ...
25798 * grub-core/gencmdlist.sh: ... to here.
25799 * genemuinit.sh: Moved ...
25800 * grub-core/genemuinit.sh: ... to here.
25801 * genemuinitheader.sh: Moved ...
25802 * grub-core/genemuinitheader.sh: ... to here.
25803 * genfslist.sh: Moved ...
25804 * grub-core/genfslist.sh: ... to here.
25805 * genhandlerlist.sh: Moved ...
25806 * grub-core/genhandlerlist.sh: ... to here.
25807 * genmoddep.awk: Moved ...
25808 * grub-core/genmoddep.awk: ... to here.
25809 * genmodsrc.sh: Moved ...
25810 * grub-core/genmodsrc.sh: ... to here.
25811 * genpartmaplist.sh: Moved ...
25812 * grub-core/genpartmaplist.sh: ... to here.
25813 * genparttoollist.sh: Moved ...
25814 * grub-core/genparttoollist.sh: ... to here.
25815 * genterminallist.sh: Moved ...
25816 * grub-core/genterminallist.sh: ... to here.
25817 * gentrigtables.c: Moved ...
25818 * grub-core/gentrigtables.c: ... to here.
25819 * genvideolist.sh: Moved ...
25820 * grub-core/genvideolist.sh: ... to here.
25821 * gettext: Moved ...
25822 * grub-core/gettext: ... to here.
25823 * gfxmenu: Moved ...
25824 * grub-core/gfxmenu: ... to here.
25825 * gnulib: Moved ...
25826 * grub-core/gnulib: ... to here.
25827 * hello: Moved ...
25828 * grub-core/hello: ... to here.
25829 * hook: Moved ...
25830 * grub-core/hook: ... to here.
25831 * io: Moved ...
25832 * grub-core/io: ... to here.
25833 * kern: Moved ...
25834 * grub-core/kern: ... to here.
25835 * lib: Moved ...
25836 * grub-core/lib: ... to here.
25837 * loader: Moved ...
25838 * grub-core/loader: ... to here.
25839 * mmap: Moved ...
25840 * grub-core/mmap: ... to here.
25841 * normal: Moved ...
25842 * grub-core/normal: ... to here.
25843 * partmap: Moved ...
25844 * grub-core/partmap: ... to here.
25845 * parttool: Moved ...
25846 * grub-core/parttool: ... to here.
25847 * script: Moved ...
25848 * grub-core/script: ... to here.
25849 * term: Moved ...
25850 * grub-core/term: ... to here
25851 * tests/example_functional_test.c: Moved ...
25852 * grub-core/tests/example_functional_test.c: ... to here.
25853 * tests/lib/functional_test.c: Moved ...
25854 * grub-core/tests/lib/functional_test.c: ... to here.
25855 * tests/lib/test.c: Moved ...
25856 * grub-core/tests/lib/test.c: ... to here.
25857 * video: Moved ...
25858 * grub-core/video: ... to here.
25859
645586e6
BC
258602010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25861
25862 Replace --enable-grub-emu-modules with grub-emu-lite.
25863
25864 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
25865 cache.S.
25866
25867 * include/grub/emu/misc.h (grub_emu_init): New prototype.
25868 * kern/emu/full.c: New file. For grub-emu specific initialization.
25869 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
25870 * kern/emu/main.c: Call initialization function grub_emu_init.
25871
25872 * Makefile.in: Include grub-emu-lite in install.
25873 * commands/parttool.c: Use grub_no_autoload to differentiate
25874 between grub-emu and grub-emu-lite.
25875 * include/grub/misc.h: New variable grub_no_autoload.
25876
25877 * conf/any-emu.rmk: New rules for grub-emu-lite.
25878 * configure.ac: Remove --enable-grub-emu-modules.
25879 * genmk.rb: Cleanup unnecessary rules.
25880 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
25881
25882 * normal/main.c: Don't load list files on grub-emu-lite.
25883 * util/misc.c (grub_arch_sync_caches): Removed.
25884
f86a4030
CW
258852010-08-23 Colin Watson <cjwatson@ubuntu.com>
25886
25887 * kern/mips/startup.S (grub_prefix): Update comment to refer to
25888 grub-mkimage rather than grub-mkelfimage.
25889 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
25890
06776944
VS
258912010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25892
25893 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
25894 a key after CapsLock or NumLock. It's just a qemu bug.
25895
df262419
VS
258962010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25897
25898 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
25899 needed by libusb wrapper.
25900
b40ea81b
ST
259012010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25902
25903 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
25904
dee50575
VS
259052010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25906
25907 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
25908 --nounzip is passed.
25909
fb1d7b79
VS
259102010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
25911
25912 USB hotunplugging and USB serial support.
25913
25914 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
25915 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
25916 (grub_uhci_transfer): Respect timeout and set *actual.
25917 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
25918 non-standard length.
25919 (grub_usb_device_attach): Autoload modules.
25920 (GRUB_MOD_INIT): Set grub_term_poll_usb.
25921 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
25922 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
25923 users updated.
25924 (grub_usb_add_hub): Fill nports and children.
25925 (attach_root_port): Receive hub instead of controller.
25926 All users updated. Fill hub->devices.
25927 (grub_usb_root_hub): Allocate hub->devices.
25928 (detach_device): New function.
25929 (poll_nonroot_hub): Fill children and detach devices.
25930 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
25931 actual arguments. All users updated.
25932 (grub_usb_bulk_read_extended): New function.
25933 * bus/usb/serial/common.c: New file.
25934 * bus/usb/serial/ftdi.c: Likewise.
25935 * bus/usb/serial/pl2303.c: Likewise.
25936 * commands/terminal.c (handle_command): Support wildcard.
25937 * commands/usbtest.c: Output "Unknown" instead of empty string.
25938 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
25939 (usbserial_common_mod_SOURCES): New variable.
25940 (usbserial_common_mod_CFLAGS): Likewise.
25941 (usbserial_common_mod_LDFLAGS): Likewise.
25942 (pkglib_MODULES): Add usbserial_pl2303.mod.
25943 (usbserial_pl2303_mod_SOURCES): New variable.
25944 (usbserial_pl2303_mod_CFLAGS): Likewise.
25945 (usbserial_pl2303_mod_LDFLAGS): Likewise.
25946 (pkglib_MODULES): Add usbserial_ftdi.mod.
25947 (usbserial_ftdi_mod_SOURCES): New variable.
25948 (usbserial_ftdi_mod_CFLAGS): Likewise.
25949 (usbserial_ftdi_mod_LDFLAGS): Likewise.
25950 (pkglib_MODULES): Add serial.mod.
25951 (serial_mod_SOURCES): New variable.
25952 (serial_mod_CFLAGS): Likewise.
25953 (serial_mod_LDFLAGS): Likewise.
25954 * conf/i386-pc.rmk: Likewise.
25955 * conf/mips-yeeloong.rmk: Likewise.
25956 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
25957 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25958 * disk/usbms.c (first_available_slot): New variable.
25959 (grub_usbms_attach): Don't reuse free slots due to potential cache
25960 problems.
25961 * include/grub/serial.h: Moved to ..
25962 * include/grub/ns8250.h: ...this.
25963 * include/grub/serial.h: New file.
25964 * include/grub/term.h (grub_term_poll_usb): New variable.
25965 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
25966 readkey. All users updated.
25967 (grub_terminfo_output_state): Pass term to put.
25968 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
25969 (grub_usb_controller_dev): Add timeout and actual arguments to
25970 transfer. All users updated.
25971 (grub_usb_interface): New field detach_data.
25972 (grub_usb_device): New fields children and nports.
25973 (grub_usb_ep_type_t): New type.
25974 (grub_usb_get_ep_type): New function.
25975 (grub_usb_bulk_read_extended): Likewise.
25976 * include/grub/usbdesc.h (grub_usb_desc): New type.
25977 * include/grub/usbserial.h: New file.
25978 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
25979 * kern/term.c (grub_term_poll_usb): New variable.
25980 (grub_getkey): Call grub_term_poll_usb if set.
25981 (grub_checkkey): Likewise.
25982 (grub_getkeystatus): Likewise.
25983 * term/serial.c: Moved controller-specific parts to ...
25984 * term/ns8250.c: ... here.
25985 * term/serial.c: Mostly rewritten.
25986 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
25987 according to spec.
25988
21a313de
RM
259892010-08-20 Robert Millan <rmh@gnu.org>
25990
25991 Make kFreeBSD code more generic to support ext2fs as root, ufs as
25992 a separate module and maybe other interesting combinations.
25993
25994 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
25995 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
25996 (kfreebsd_entry): Add generic filesystem module load routine.
25997 Map GRUB `ext2' to kFreeBSD `ext2fs'.
25998
63c734a6
CW
259992010-08-20 Colin Watson <cjwatson@ubuntu.com>
26000
26001 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
26002 "numcenter" (I misunderstood the purpose of this entry).
26003 * docs/grub.texi (sendkey): Likewise.
26004
c4d16542
CW
260052010-08-20 Colin Watson <cjwatson@ubuntu.com>
26006
26007 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
26008 status flag options; simply omitting the option is equivalent and
26009 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
26010 (keysym_table): Rename "num5numlock" to "numlock".
26011 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
26012 can uniformly say that only the last of multiple `sendkey'
26013 invocations has any effect.
26014 * docs/grub.texi (sendkey): New section.
26015
93541d66
CW
260162010-08-19 Colin Watson <cjwatson@ubuntu.com>
26017
26018 * commands/i386/pc/sendkey.c (options): Fix three typos.
26019
b4ece5e1
VS
260202010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
26021
26022 Implement sendkey support.
26023
26024 * commands/i386/pc/sendkey.c: New file.
26025 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
26026 (sendkey_mod_SOURCES): New variable.
26027 (sendkey_mod_CFLAGS): Likewise.
26028 (sendkey_mod_LDFLAGS): Likewise.
26029
51f1f5af
CW
260302010-08-18 Colin Watson <cjwatson@ubuntu.com>
26031
26032 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
26033 fix warnings from Autoconf.
26034
9da94e05
CW
260352010-08-18 Colin Watson <cjwatson@ubuntu.com>
26036
26037 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
26038 to avoid false positives with some assemblers that output things
26039 like "someprefix_func" as part of their output.
26040
729a0f2e
RM
260412010-08-15 Robert Millan <rmh@gnu.org>
26042
26043 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
26044 errors.
26045 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
26046 grub_get_libzfs_handle() errors.
26047
f3710e08
RM
260482010-08-14 Robert Millan <rmh@gnu.org>
26049
26050 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
26051 filesystem is not ZFS.
26052
7a3c13de
BC
260532010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
26054
26055 Fix for misspelled color names defaulting to black/black (bug
26056 reported by Doug Nazar)
26057
26058 * include/grub/normal.h (grub_parse_color_name_pair): Add return
26059 status to prototype.
26060 * normal/color.c (grub_parse_color_name_pair): Return failure
26061 status.
26062 (grub_env_write_color_normal): Ignore bad color names.
26063 (grub_env_write_color_highlight): Likewise.
26064 * normal/main.c (GRUB_MOD_INIT): Set default color names.
26065
ab8ba50d
BC
260662010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
26067
26068 "shift" command support to GRUB script.
26069
26070 * include/grub/script_sh.h (grub_script_shift): New prototype.
26071 * script/execute.c (grub_script_shift): New function.
26072 * script/main.c (grub_script_init): Register shift command.
26073 (grub_script_fini): Unregister shift command.
26074 * util/grub-script-check.c (grub_script_cmd_shift): New function.
26075
26076 * tests/grub_script_shift.in: New testcase.
26077 * conf/tests.rmk: Rules for new testcase.
26078
4d61999e
BC
260792010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
26080
26081 "continue" command support to GRUB script.
26082
26083 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
26084 (grub_script_break): Continue support.
26085 * script/main.c (grub_script_init): Register continue command.
26086 (grub_script_fini): Unregister continue command.
26087
26088 * tests/grub_script_continue.in: New testcase.
26089 * conf/tests.rmk: Rules for new testcase.
26090
4df51e00
BC
260912010-08-12 BVK Chaitanya <bvk@dbook>
26092
26093 "break" command support to GRUB script.
26094
26095 * conf/common.rmk: Rule updates to grub-script-check.
26096 * include/grub/misc.h (grub_min): New function.
26097 * include/grub/script_sh.h (grub_script_init): New prototype.
26098 (grub_script_fini): New prototype.
26099 (grub_script_break): New prototype.
26100 * script/main.c (grub_script_init): New function.
26101 (grub_script_fini): New function.
26102 * script/execute.c (grub_script_break): New function.
26103 * normal/main.c: Calls to grub_script_{init,fini}.
26104 * util/grub-script-check.c (grub_script_break): New function.
26105
26106 * tests/grub_script_break.in: New testcase.
26107 * conf/tests.rmk: Rules for new test case.
26108
f12c8420
BC
261092010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
26110
26111 Function parameters support to GRUB script.
26112
26113 * script/yylex.l (VARIABLE): Regular expression update.
26114 * script/function.c (grub_script_function_call): Moved ...
26115 * script/execute.c (grub_script_function_call): ... to here.
26116 (grub_script_execute_arglist_to_argv): Removed.
26117 (grub_script_arglist_to_argv): New function.
26118 * script/argv.c: New file.
26119 (grub_script_argv_free): New function.
26120 (grub_script_argv_next): Likewise.
26121 (grub_script_argv_append): Likewise.
26122 (grub_script_argv_split_append): Likewise.
26123 * include/grub/script_sh.h (grub_script_argv): New struct.
26124 (grub_script_argv_free): New function.
26125 (grub_script_argv_next): Likewise.
26126 (grub_script_argv_append): Likewise.
26127 (grub_script_argv_split_append): Likewise.
26128
26129 * conf/common.rmk (normal.mod): New source script/argv.c.
26130
26131 * tests/grub_script_echo1.in: More tests.
26132 * tests/grub_script_vars1.in: Likewise.
26133 * tests/grub_script_functions.in: New test case.
26134 * conf/tests.rmk: Rules for new testcase.
26135
8022b748
BC
261362010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
26137
26138 Remove grub_script_cmdblock struct.
26139
26140 * include/grub/script_sh.h: Remove grub_script_cmdblock.
26141 * script/parser.y: Likewise.
26142 * script/execute.c: Rename cmdblock suffix to cmdlist.
26143 * script/script.c: Likewise.
26144 * util/grub-script-check.c: Likewise.
26145
79a6ba61
YB
261462010-08-11 Yves Blusseau <blusseau@zetam.org>
26147
26148 * .bzrignore: add grub-macho2img
26149
d04b9414
VS
261502010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
26151
26152 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
26153
f947ab49
VS
261542010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
26155
26156 Remove the dump of sm712 initialisation sequence.
26157
26158 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
26159 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
26160 (GRUB_VGA_IO_MISC_WRITE): Likewise.
26161 (GRUB_VGA_CR_*): Added many registers.
26162 (GRUB_VGA_SR_*): Likewise.
26163 (GRUB_VGA_GR_*): Likewise.
26164 (grub_vga_write_arx): New function.
26165 (grub_video_hw_config): New struct.
26166 (grub_vga_set_geometry): New function.
26167 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
26168 GRUB_PCI_CLASS_SUBCLASS_VGA.
26169 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
26170 * video/sm712.c (grub_sm712_write_reg): New function
26171 (grub_sm712_read_reg): Likewise.
26172 (grub_sm712_sr_write): Likewise.
26173 (grub_sm712_gr_write): Likewise.
26174 (grub_sm712_cr_write): Likewise.
26175 (grub_sm712_write_arx): Likewise.
26176 (grub_sm712_cr_shadow_write): Likewise.
26177 (grub_sm712_write_dda_lookup): Likewise.
26178 (grub_video_sm712_setup): Initialise the video rather then
26179 blindly replay the dump.
26180 (main) [TEST]: Add a routine to be able to compile as standalone for
26181 tests.
26182 * video/sm712_init.c (sm712_init): Removed.
26183 (sm712_sr_seq1): New array.
26184 (sm712_sr_seq2): Likewise.
26185
f0206638
VS
261862010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
26187
26188 * include/grub/vga.h: Add missing grub/pci.h include.
26189
2764da3b
YB
261902010-08-10 Yves Blusseau <blusseau@zetam.org>
26191
26192 * util/grub-macho2img.c (main): fix typo
26193
cf0c775e
VS
261942010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
26195
26196 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
26197 (grub_vga_gr_read): Likewise.
26198 (grub_vga_cr_write): Likewise.
26199 (grub_vga_cr_read): Likewise.
26200 (grub_vga_sr_write): Likewise.
26201 (grub_vga_sr_read): Likewise.
26202 (grub_vga_palette_read): Likewise.
26203 (grub_vga_palette_write): Likewise.
26204 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
26205 (grub_sm712_sr_read): New function.
26206 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
26207 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
26208
07f360e9
RM
262092010-08-09 Robert Millan <rmh@gnu.org>
26210
26211 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
26212 out unused variables on non-ZFS build.
26213
346c2072
RM
262142010-08-08 Robert Millan <rmh@gnu.org>
26215
26216 Fix path generation for sub-filesystems in ZFS.
26217
26218 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
26219 missing slash.
26220
71175420
RM
262212010-08-08 Robert Millan <rmh@gnu.org>
26222
26223 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
26224
0d8286f3
RM
262252010-08-08 Robert Millan <rmh@gnu.org>
26226
26227 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
26228 exist, issue a proper error message (rely on `ls' for translated
26229 strings).
26230
55dd2924
RM
262312010-08-08 Robert Millan <rmh@gnu.org>
26232
26233 Fix grub-probe invocation.
26234
26235 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
26236
d3dd9e80
RM
262372010-08-04 Robert Millan <rmh@gnu.org>
26238
26239 * configure.ac: Remove checks for getfsstat() and getmntany().
26240 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
26241 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
26242 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
26243 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
26244 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
26245 function.
26246 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
26247 via find_mount_point_from_dir() and getfsstat() / getmntany().
26248
0de22aa9
RM
262492010-08-04 Robert Millan <rmh@gnu.org>
26250
26251 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26252 (grub_find_zpool_from_mount_point): Merge into ...
26253 (grub_find_zpool_from_dir): ... this.
26254 * kern/emu/misc.c: Likewise.
26255
26256 * kern/emu/misc.c
26257 (grub_make_system_path_relative_to_its_root): Replace
26258 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
26259 with grub_find_zpool_from_dir().
26260 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
26261
62858144
RM
262622010-08-04 Robert Millan <rmh@gnu.org>
26263
26264 Support OpenSolaris in ZFS device resolution.
26265
26266 * configure.ac: Check for getmntany().
26267 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
26268 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
26269 support.
26270
9dd6fd50
RM
262712010-08-03 Robert Millan <rmh@gnu.org>
26272
26273 Fix grub-emu build.
26274
26275 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
26276 * include/grub/emu/misc.h: ... here.
26277
26278 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
26279 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
26280
26281 * util/misc.c: Remove `<grub/util/libzfs.h>'.
26282 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
26283 (grub_get_libzfs_handle): Move to ...
26284 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
26285 (grub_get_libzfs_handle): ... here.
26286
c9f7ff97
BC
262872010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
26288
26289 * script/execute.c (grub_script_execute_cmdline): Check for NULL
26290 as command name case.
26291
a870a783
CW
262922010-08-02 Colin Watson <cjwatson@ubuntu.com>
26293
26294 * disk/raid.c (insert_array): Select unique numbers for named arrays
26295 as well, for use as keys in the disk cache.
26296
c7db243b
RM
262972010-08-01 Robert Millan <rmh@gnu.org>
26298
26299 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
26300 kFreeBSD device name, except on ZFS where the filesystem label is
26301 used.
26302 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
26303 `/boot/zfs/zpool.cache'.
26304 Set mountfrom kernel variable using ${kfreebsd_device}.
26305
f7abdefb
RM
263062010-08-01 Robert Millan <rmh@gnu.org>
26307
26308 Make it even harder to use uninitialized `libzfs_handle' (and
26309 make the interface a bit simpler).
26310
26311 * include/grub/util/misc.h (grub_util_init_libzfs)
26312 (libzfs_handle): Remove.
26313 (grub_get_libzfs_handle): New prototype.
26314
26315 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
26316 attribute.
26317 (grub_util_init_libzfs): Remove.
26318 (grub_get_libzfs_handle): New function.
26319
26320 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
26321 grub_get_libzfs_handle() to obtain a libzfs handle instead of
26322 accessing `libzfs_handle' directly.
26323
c882acc0
RM
263242010-08-01 Robert Millan <rmh@gnu.org>
26325
26326 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26327 (grub_find_zpool_from_mount_point): New function prototypes.
26328
26329 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26330 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26331
26332 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26333 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26334 `static' attribute.
26335
26336 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26337 finding zpool from mount point into ...
26338 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26339
26340 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26341 requested path is part of a ZFS pool, use
26342 grub_find_zpool_from_mount_point() to detect its filesystem name,
26343 and generate a path with `/fsname@path' syntax.
26344
8bfe31d8
CW
263452010-08-01 Colin Watson <cjwatson@ubuntu.com>
26346
26347 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
26348 (void) rather than () so that this is a proper prototype.
26349
553df63d
VS
263502010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26351
26352 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
26353
8687cf07
VS
263542010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26355
26356 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
26357 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
26358
ea9be8ea
CW
263592010-08-01 Colin Watson <cjwatson@ubuntu.com>
26360
26361 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
26362
6eea041a
CW
263632010-08-01 Colin Watson <cjwatson@ubuntu.com>
26364
26365 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
26366
2cfb45df
CW
263672010-08-01 Colin Watson <cjwatson@ubuntu.com>
26368
26369 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
26370 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
26371 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
26372 disable gfxpayload.
26373 (Shell-like scripting): Add real content.
26374 (Serial terminal): Suggest `terminal_input serial; terminal_output
26375 serial' rather than putting the two commands on separate lines,
26376 since console input will be inoperative after the first command.
26377 (menuentry): Document --class, --users, and --hotkey options.
26378 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
26379 Vladimir Serbinenko).
26380
7decd202
VS
263812010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
263822010-08-01 Colin Watson <cjwatson@ubuntu.com>
26383
26384 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
26385
c882acc0
RM
263862010-08-01 Robert Millan <rmh@gnu.org>
26387
26388 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26389 (grub_find_zpool_from_mount_point): New function prototypes.
26390
26391 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26392 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26393
26394 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26395 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26396 `static' attribute.
26397
26398 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26399 finding zpool from mount point into ...
26400 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26401
26402 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26403 requested path is part of a ZFS pool, use
26404 grub_find_zpool_from_mount_point() to detect its filesystem name,
26405 and generate a path with `/fsname@path' syntax.
26406
deb0caa3
RM
264072010-08-01 Robert Millan <rmh@gnu.org>
26408
26409 Prevent accidental use of uninitialized libzfs_handle.
26410
26411 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
26412 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
26413 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
26414
ce04ef47
CW
264152010-08-01 Colin Watson <cjwatson@ubuntu.com>
26416
26417 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
26418 util/grub.d/10_linux.in). Fixes Debian bug #591093.
26419
ebf53056
RM
264202010-08-01 Robert Millan <rmh@gnu.org>
26421
26422 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 26423
3710bb6b
RM
264242010-07-31 Robert Millan <rmh@gnu.org>
26425
26426 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
26427
8072efeb
RM
264282010-07-31 Robert Millan <rmh@gnu.org>
26429
26430 * kern/emu/misc.c: Add missing license header.
26431
3169f4c7
RM
264322010-07-31 Robert Millan <rmh@gnu.org>
26433
26434 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
26435
26436 * include/grub/util/libnvpair.h: Include `<config.h>'.
26437 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
26438 declaring libnvpair prototypes ourselves.
26439 * include/grub/util/libzfs.h: Include `<config.h>'.
26440 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
26441 declaring libzfs prototypes ourselves.
26442
26443 (libzfs_handle): Moved to ...
26444 * include/grub/util/misc.h (libzfs_handle): ... here.
26445 Include `<grub/util/libzfs.h>'.
26446
c9a00aee
RM
264472010-07-30 Robert Millan <rmh@gnu.org>
26448
26449 * include/grub/emu/misc.h: Add missing license header.
26450
a184f9c8
RM
264512010-07-30 Robert Millan <rmh@gnu.org>
26452
26453 Enable `grub-probe -t device' resolution on ZFS.
26454
26455 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
26456 * include/grub/util/libnvpair.h: New file.
26457 * include/grub/util/libzfs.h: New file.
26458
26459 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
26460 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
26461 `<grub/util/libnvpair.h>'.
26462 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
26463
26464 (find_mount_point_from_dir): New static function.
26465 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
26466 function.
26467 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
26468 find_root_device_from_libzfs() before ressorting to find_root_device().
26469
26470 * include/grub/util/misc.h (grub_util_init_libzfs): New function
26471 prototype.
26472 * util/misc.c: Include `<grub/util/libzfs.h>'.
26473 (grub_util_init_libzfs): New function.
26474 [HAVE_LIBZFS] (libzfs_handle): New global variable.
26475 [HAVE_LIBZFS] (fini_libzfs): New static function.
26476 (grub_util_init_libzfs): New function.
26477 * util/grub-probe.c (main): Call grub_util_init_libzfs().
26478
f7790cdd
RM
264792010-07-30 Robert Millan <rmh@gnu.org>
26480
26481 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
26482 (xmalloc, xrealloc, xstrdup, xasprintf): Add
26483 `warn_unused_result' attribute.
26484 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
26485 (grub_xasprintf, grub_xvasprintf): Likewise.
26486 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
26487
0806b63c
RM
264882010-07-29 Robert Millan <rmh@gnu.org>
26489
26490 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
26491 (probe): Handle `PRINT_FS_LABEL'.
26492 (main): Handle `-t fs_label'.
26493
9f841f5c
RM
264942010-07-29 Robert Millan <rmh@gnu.org>
26495
26496 * configure.ac: Remove grub-mkisofs checks.
26497
46371121
VS
264982010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26499
26500 * util/ieee1275/grub-install.in: Don't use empty grub_device.
26501 Reported by: Lennart Sorensen.
26502
265032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26504
26505 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
26506 prior to terminal_input/terminal_output separation. It's been over 1.5
26507 years and those versions weren't widely deployed.
26508
a9600892
CW
265092010-07-22 Colin Watson <cjwatson@ubuntu.com>
26510
26511 * disk/raid.c (insert_array): Don't count named arrays when looking
26512 for unused array numbers.
697e053c 26513 Reported and tested by: Michael Guntsche.
a9600892 26514
c03507df
CW
265152010-07-20 Colin Watson <cjwatson@ubuntu.com>
26516
26517 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
26518 implementation of this so that grub-emu links again, with a note
26519 that this should support hotplugging in the future.
26520
b26f1c11
CW
265212010-07-20 Colin Watson <cjwatson@ubuntu.com>
26522
26523 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26524
efc9d7f1
CW
265252010-07-20 Colin Watson <cjwatson@ubuntu.com>
26526
26527 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
26528 handle on failure.
26529 (grub_loopback_close): Remove empty function.
26530 (grub_loopback_dev): Remove close method.
26531
dd8ff5c9
CW
265322010-07-20 Colin Watson <cjwatson@ubuntu.com>
26533
26534 Disable EFI cursor when the EFI console becomes inactive.
26535
26536 * term/efi/console.c (grub_efi_console_init): New function.
26537 (grub_efi_console_fini): New function.
26538 (grub_console_term_output): Register init and fini methods.
26539
5e3bec67
VS
265402010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26541
26542 * tests/util/grub-shell-tester.in: Remove bashism and declare as
26543 sh script.
26544
afaec079
VS
265452010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26546
26547 * disk/loopback.c (grub_loopback): Replace filename with file.
26548 (delete_loopback): Handle new semantics.
26549 (grub_cmd_loopback): Likewise.
26550 (grub_loopback_iterate): Likewise.
26551 (grub_loopback_close): Likewise.
26552
a6a11f3c
VS
265532010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26554
26555 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
26556 with -p "".
26557 Reported by: Tito Keitel.
26558
64a638b0
VS
265592010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26560
26561 * docs/grub.texi (Naming convention): Document new naming convention.
26562
ab8ba957
VS
265632010-07-20 Vadim Solomin <vadic052@gmail.com>
265642010-07-20 Colin Watson <cjwatson@ubuntu.com>
26565
26566 Generate device.map in something closer to the old ordering.
26567
26568 * util/deviceiter.c (struct device): New declaration.
26569 (compare_file_names): Rename to ...
26570 (compare_devices): ... this. Sort by kernel name in preference to
26571 the stable by-id name, but keep the latter as a fallback comparison.
26572 Update header comment.
26573 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
26574 of `struct device' rather than of plain file names.
26575
a29d6a4b
TF
265762010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
26577
26578 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
26579 on i386.
26580
39d824e8
VS
265812010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26582
26583 * commands/acpi.c (setup_common_tables): Use sizeof instead of
26584 hardcoding size.
26585 (setv1table): Likewise.
26586
f058276b
FZ
265872010-07-20 Colin Watson <cjwatson@ubuntu.com>
26588
26589 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
26590 removing the homehost if present.
26591 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
26592 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
26593 removing the homehost if present.
26594 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
26595 if possible.
26596 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
26597
26598 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
26599 parameter. Set its pointer target to 0.
26600 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
26601 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
26602 `data_offset' value from the superblock for 1.x metadata.
26603 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
26604 data on the device.
26605 (insert_array): Record the start sector of data on the device.
26606 (grub_raid_register): Pass start_sector parameters to
26607 grub_raid_list->detect and insert_array.
26608 * include/grub/raid.h (struct grub_raid_array): Add start_sector
26609 member.
26610 (struct grub_raid): Add start_sector parameter to `detect'.
26611
26612 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
26613 __attribute__ ((packed)), leaving a comment.
26614 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
26615 (grub_mdraid_detect_09): ... here and ...
26616 (grub_mdraid_detect_1x): ... here.
26617
266182010-07-20 Peter Henn <peter.henn@web.de>
26619
26620 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
26621 chunk size and disk size, which are already given as sector counts
26622 as distinct from the 0.90 units. Fetch the correct device number
26623 from the role table instead of using the table index.
26624
266252010-07-20 Felix Zielcke <fzielcke@z-51.de>
26626
26627 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
26628 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
26629 (WriteMostly1): New macro.
26630 Set array->name to NULL for metadata format 0.90. Add support for
26631 metadata 1.x. Fix some comments.
26632 * disk/raid.c (): Add support for name based RAID arrays. Fix a
26633 few comments.
26634 * util/getroot.c (grub_util_get_grub_dev): Add support for
26635 /dev/md/name style devices.
26636
4b761da9
CW
266372010-07-20 Colin Watson <cjwatson@ubuntu.com>
26638
26639 * .bzrignore: Ignore 20_linux_xen.
26640
5771289a
CW
266412010-07-17 Colin Watson <cjwatson@ubuntu.com>
26642
26643 * util/import_unicode.py: Remove unnecessary imports.
26644
5dab68df
AN
266452010-07-17 Aleš Nesrsta <starous@volny.cz>
26646
26647 Hotplugging and USB hub support.
26648
26649 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
26650 (grub_ohci): Likewise.
26651 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
26652 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
26653 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
26654 (GRUB_OHCI_CTRL_EDS): Likewise.
26655 (GRUB_OHCI_BULK_EDS): Likewise.
26656 (GRUB_OHCI_TDS): Likewise.
26657 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
26658 (grub_ohci_ed_phys2virt): New function.
26659 (grub_ohci_virt_to_phys): Likewise.
26660 (grub_ohci_td_phys2virt): Likewise.
26661 (grub_ohci_td_virt2phys): Likewise.
26662 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
26663 attachment.
26664 (grub_ohci_find_ed): New function.
26665 (grub_ohci_alloc_td): Likewise.
26666 (grub_ohci_free_td): Likewise.
26667 (grub_ohci_free_tds): Likewise.
26668 (grub_ohci_transfer): Use previously allocated memory.
26669 (grub_ohci_portstatus): Reset status changed bit.
26670 (grub_ohci_detect_dev): Supply status changed.
26671 (grub_ohci_fini_hw): Free memory.
26672 (grub_ohci_restore_hw): Reallocate memory.
26673 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
26674 Reset status change.
26675 (grub_uhci_detect_dev): Supply status_change.
26676 * bus/usb/usb.c (attach_hooks): New var.
26677 (grub_usb_device_attach): New function.
26678 (grub_usb_register_attach_hook_class): Likewise.
26679 (grub_usb_unregister_attach_hook_class): Likewise.
26680 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
26681 (grub_usb_add_hub): Reset connection changed bit.
26682 (attach_root_port): New function.
26683 (grub_usb_root_hub): Likewise.
26684 (poll_nonroot_hub): Likewise.
26685 (grub_usb_poll_devices): Likewise.
26686 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
26687 * disk/usbms.c (grub_usbms_open): Use device hooks.
26688 (grub_usbms_iterate) :Poll devices.
26689 (grub_usbms_finddevs): Split into ...
26690 (grub_usbms_attach): ... this ...
26691 (grub_usbms_attach): ... and this.
26692 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
26693 in detect_dev.
26694 (grub_usb_interface): New fields attached and detach_hook.
26695 (grub_usb_attach_hook_class): New type.
26696 (grub_usb_attach_desc): New struct.
26697 (grub_usb_register_attach_hook_class): New function.
26698 (grub_usb_unregister_attach_hook_class): Likewise.
26699 (grub_usb_poll_devices): Likewise.
26700 (grub_usb_device_attach): Likewise.
26701 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
26702 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
26703
3222efaf
VS
267042010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26705
26706 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
26707 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
26708 delta determination style. Works with most NetBSD partitions too.
26709
139b714a
VS
267102010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26711
26712 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
26713 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
26714
986aad56
VS
267152010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26716
26717 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
26718
99be513c
AB
267192010-07-14 Anton Blanchard <anton@samba.org>
26720
26721 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
26722 ET_DYN files.
26723
18075f62
GS
267242010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26725
26726 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
26727
8d9a5b15
GS
267282010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26729
26730 * kern/partition.c (grub_partition_check_containment): New function to
26731 check that a partition is physically contained in a parent. Since
26732 offsets are relative (and non-negative), this reduces to checking that
26733 the partition ends before its parent.
26734 (grub_partition_map_probe): Discard out-of-range sub-partitions.
26735 (grub_partition_iterate): Likewise.
26736 * include/grub/partition.h (grub_partition_map): Slightly more detailed
26737 comments.
26738 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
26739 partitions that start before their parent, and add debug printfs.
26740
19563c25
CW
267412010-07-13 Colin Watson <cjwatson@ubuntu.com>
26742
26743 * Makefile.in (.SUFFIX): Spell correctly, as ...
26744 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
26745 bare module name without `.mod', e.g. `test') tried to invoke a
26746 Modula-2 compiler.
26747
1a1f1e67
CW
267482010-07-13 Colin Watson <cjwatson@ubuntu.com>
26749
26750 * README: Point to the Info manual.
26751
811b0dca
JS
267522010-07-13 Jiro SEKIBA <jir@unicus.jp>
26753
26754 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
26755 2nd superblock position from partition size.
26756
e4f4eafc
CW
267572010-07-10 Colin Watson <cjwatson@ubuntu.com>
26758
26759 * Makefile.in (MAINTAINER_CLEANFILES): Remove
26760 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
26761 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
26762 outputs.
26763
4274c30f
VS
267642010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26765
26766 Restructure SCSI .id handling.
26767 Reported and tested by: Aleš Nesrsta.
26768
26769 * disk/ata.c (grub_atapi_close): Removed. All users updated.
26770 (grub_atapi_dev): Changed .name to "ata". New field .id.
26771 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
26772 (grub_usbms_dev): New field .id.
26773 * disk/scsi.c (grub_scsi_iterate): Generate name.
26774 (grub_scsi_open): Parse name.
26775 * include/grub/scsi.h (grub_make_scsi_id): New function.
26776 (grub_scsi_dev): Change iterate and open to number instead of naming
26777 busses. All users updated.
26778 (grub_scsi): Remove name. Add .bus.
26779
5bc24388
VS
267802010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26781
26782 * commands/help.c (grub_cmd_help): Fix a typo.
26783
249975ba
VS
267842010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26785
26786 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
26787 Reported and tested by: Colin Watson.
26788
3eaac1a1
VS
267892010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26790
26791 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
26792 in this context.
26793
becce1b1
VS
267942010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
26795
26796 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
26797
f7bf0918
CW
267982010-07-07 Colin Watson <cjwatson@ubuntu.com>
26799
26800 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
26801 indentation.
26802
0b0f9620
CW
268032010-07-06 Colin Watson <cjwatson@ubuntu.com>
26804
26805 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
26806 and disk/raid6_recover.c.
26807 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26808 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26809
1e545469
CW
268102010-07-06 Colin Watson <cjwatson@ubuntu.com>
26811
26812 * term/gfxterm.c (repaint_schedulded): Rename to ...
26813 (repaint_scheduled): ... this. Update all callers.
26814 (repaint_was_schedulded): Rename to ...
26815 (repaint_was_scheduled): ... this. Update all callers.
26816
5357687a
CW
268172010-07-06 Colin Watson <cjwatson@ubuntu.com>
26818
26819 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
26820 which we expect to be handled by upper layers.
26821
29d7e783
BC
268222010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
26823
26824 * bus/usb/usbhub.c: #include time.h header.
26825
37582066
CW
268262010-07-06 Colin Watson <cjwatson@ubuntu.com>
26827
26828 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
26829 entry_name also for entries without stat blocks (e.g. ".."); fixes
26830 corruption of the first entry in a directory.
26831
c8c06953
CW
268322010-07-06 Colin Watson <cjwatson@ubuntu.com>
26833
26834 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
26835 after setting gfxterm as the active terminal. GRUB_BACKGROUND
26836 doesn't work otherwise.
26837
e75056f1
CW
268382010-07-05 Colin Watson <cjwatson@ubuntu.com>
26839
26840 * docs/grub.texi (Features): Update list of supported file systems.
26841 (GNU/Linux): Update for GRUB 2.
26842 (Serial terminal): Remove mention of --disable-serial, which was a
26843 GRUB Legacy configure option. Update instructions to use
26844 `terminal_input' and `terminal_output' rather than `terminal'.
26845 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
26846 configuration' and `Installing GRUB using grub-install'.
26847 (Menu entry editor): Update for GRUB 2.
26848 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
26849 Document new -a, -u, and -v options.
26850 (initrd): New section.
26851 (initrd16): New section.
26852 (linux): New section.
26853 (linux16): New section.
26854 (search): The `var' argument to `--set' is optional.
26855 (GRUB only offers a rescue shell): Go into a little more detail on
26856 drive ordering.
26857
5cf69151
CW
268582010-07-05 Colin Watson <cjwatson@ubuntu.com>
26859
26860 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
26861
e3f90044
CW
268622010-07-05 Colin Watson <cjwatson@ubuntu.com>
26863
26864 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
26865 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
26866
38d8f4f3
CW
268672010-07-05 Colin Watson <cjwatson@ubuntu.com>
26868
26869 * util/i386/pc/grub-setup.c (setup): Rename prefix to
26870 install_prefix, in line with install_dos_part and install_bsd_part.
26871 Add new prefix variable, which is copied to install_prefix after
26872 comparing core.img in memory with the one read from disk in the
26873 no-embedding case, and use that rather than overwriting
26874 install_prefix immediately when installing to a partition.
26875 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
26876 Bicakci.
26877
57ebd41e
GS
268782010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26879
26880 * configure.ac: Avoid == in test command, it's not portable.
26881 * util/grub.d/30_os-prober.in: Likewise.
26882
cb7f64b2
CW
268832010-07-04 Colin Watson <cjwatson@ubuntu.com>
26884
26885 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
26886
6b654bb0
GS
268872010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26888
26889 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
26890 multiple (top-level) partmaps.
26891
72a2026d
VS
268922010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26893
26894 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 26895 Reported by: Tino Keitel.
72a2026d 26896
df3eb88f
VS
268972010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26898
26899 Bidi and diacritics support.
26900
26901 * Makefile.in (widthspec.bin): New target.
26902 (widthspec.h): Likewise.
26903 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
26904 * autogen.sh: Generate unidata.c.
26905 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
26906 * commands/ls.c (grub_ls_list_devices): Likewise.
26907 (grub_ls_list_files): Likewise.
26908 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
26909 (grub_mini_cmd_lsmod): Likewise.
26910 * commands/read.c: Likewise.
26911 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
26912 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
26913 * lib/arg.c (grub_arg_show_help): Likewise.
26914 * lib/crypto.c (grub_password_get): Likewise.
26915 * normal/auth.c (grub_username_get): Likewise.
26916 * normal/misc.c (grub_normal_print_device_info): Likewise.
26917 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
26918 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
26919 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
26920 (normal/charset.c_DEPENDENCIES): New variable.
26921 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
26922 (pkglib_MODULES): Remove charset.mod.
26923 (charset_mod_SOURCES): Removed.
26924 (charset_mod_CFLAGS): Likewise.
26925 (charset_mod_LDFLAGS): Likewise.
26926 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
26927 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
26928 and term/tparm.c.
26929 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26930 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26931 (kernel_img_HEADERS): Add terminfo.h.
26932 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
26933 Fill ->font. Reverse ascii bitmaps.
26934 (grub_font_get_xheight): New function.
26935 * font/font.c (grub_font_get_string_width): Moved from here ...
26936 * gfxmenu/font.c (grub_font_get_string_width): ... here.
26937 * font/font.c (grub_font_draw_string): Moved from here ...
26938 * gfxmenu/font.c (grub_font_draw_string): ... here.
26939 * font/font.c (grub_font_dup_glyph): New function.
26940 (grub_font_blit_glyph): Likewise.
26941 (grub_font_blit_glyph_mirror): Likewise.
26942 (blit_comb): Likewise.
26943 (grub_font_construct_dry_run): Likewise.
26944 (grub_font_get_constructed_device_width): Likewise.
26945 (grub_font_construct_glyph): Likewise.
26946 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
26947 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
26948 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
26949 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
26950 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
26951 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
26952 (grub_font_get_xheight): New proto.
26953 (grub_font_get_constructed_device_width): Likewise.
26954 (grub_font_construct_glyph): Likewise.
26955 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
26956 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
26957 * include/grub/font.h (grub_font_draw_string): Moved from here ...
26958 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
26959 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
26960 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
26961 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
26962 (grub_console_getcharwidth): Likewise.
26963 * include/grub/misc.h (grub_xputs): New proto.
26964 (grub_puts): Inlined.
26965 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
26966 (grub_normal_get_line_counter): Removed.
26967 (grub_install_newline_hook): Likewise.
26968 (grub_normal_get_char_counter): New proto.
26969 (grub_normal_reset_more): Likewise.
26970 (grub_xputs_normal): Likewise.
26971 * include/grub/powerpc/ieee1275/console.h: Removed.
26972 * include/grub/sparc64/ieee1275/console.h: Likewise.
26973 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
26974 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
26975 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
26976 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
26977 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
26978 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
26979 (grub_term_input): Pass reference to self. All users updated.
26980 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
26981 Pass reference to self. New fields normal_color, highlight_color and
26982 data. All users updated.
26983 (grub_putchar): Removed.
26984 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
26985 (grub_unicode_estimate_width): New function.
26986 (grub_term_getcharwidth): Add defaults.
26987 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
26988 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
26989 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
26990 (grub_cls): Remove EXPORT_FUNC.
26991 (grub_setcolorstate): Inline.
26992 (grub_newline_hook): Removed.
26993 * include/grub/terminfo.h: Rewritten. All users updated.
26994 * include/grub/unicode.h: New file.
26995 * include/grub/video.h (grub_video_signed_rect): New type.
26996 * kern/emu/console.c (grub_console_highlight_color): Removed.
26997 (grub_console_normal_color): Likewise.
26998 (grub_console_standard_color): Made static.
26999 (grub_ncurses_putchar): Remove mapping.
27000 (grub_ncurses_getcharwidth): Removed.
27001 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
27002 (grub_ncurses_setcolor): Removed.
27003 (grub_ncurses_getcolor): Likewise.
27004 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
27005 (grub_console_putchar): ... this.
27006 (grub_console_putchar): Handle argument difference.
27007 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
27008 console_init_early and console_init_lately.
27009 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
27010 * kern/misc.c (grub_puts): Removed.
27011 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
27012 (grub_vsnprintf_real): Remove str = NULL support.
27013 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
27014 * normal/charset.c (grub_utf8_to_ucs4): ... here.
27015 * kern/term.c (grub_putcode): Renamed to ...
27016 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
27017 (grub_putchar): Removed.
27018 (grub_xputs_dumb): New function.
27019 (grub_xputs): New variable.
27020 * lib/charset.c: Move from here ...
27021 * normal/charset.c: ... to here.
27022 (grub_ucs4_to_utf8): New function.
27023 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
27024 (join_types): New variable.
27025 (unpack_join): New function.
27026 (bidi_types): New variable.
27027 (unpack_bidi): New function.
27028 (get_bidi_type): Likewise.
27029 (get_join_type): Likewise.
27030 (is_mirrored): Likewise.
27031 (grub_unicode_get_comb_type): Likewise.
27032 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
27033 (is_type_after): Likewise.
27034 (grub_unicode_aglomerate_comb): Likewise.
27035 (bidi_line_wrap): Likewise.
27036 (grub_bidi_line_logical_to_visual): Likewise.
27037 (grub_bidi_logical_to_visual): Likewise.
27038 (grub_unicode_mirror_code): Likewise.
27039 (grub_unicode_shape_code): Likewise.
27040 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
27041 Don't use grub_putchar.
27042 * normal/main.c (grub_normal_init_page): Use grub_putcode.
27043 (grub_normal_reader_init): Likewise.
27044 (grub_xputs_saved): New variable.
27045 (GRUB_MOD_INIT): Set grub_xputs.
27046 (GRUB_MOD_FINI): Restore grub_xputs.
27047 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
27048 (menu_init): Avoid printing gfxmenu error.
27049 (show_menu): Use grub_normal_get_char_counter.
27050 * normal/menu_entry.c (update_screen): Fix out-of-array.
27051 (complete): Avoid NULL dereferencing.
27052 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
27053 * normal/menu_text.c (print_spaces): Removed.
27054 (grub_print_ucs4): Likewise.
27055 (grub_print_message_indented): Use grub_print_ucs4.
27056 (print_message): Use grub_putcode.
27057 (print_entry): Hanlde diacritics.
27058 * normal/term.c (term_state): New type.
27059 (grub_more_lines): Removed.
27060 (term_states): New variable.
27061 (grub_normal_line_counter): Renamed to ..
27062 (grub_normal_char_counter): ...this. All users updated.
27063 (grub_normal_get_line_counter): Renamed to ...
27064 (grub_normal_get_char_counter): ... this.
27065 (grub_normal_reset_more): New function.
27066 (process_newline): Removed.
27067 (print_more): New function.
27068 (grub_install_newline_hook): Removed.
27069 (map_code): New function.
27070 (grub_puts_terminal): Use grub_print_ucs4.
27071 (putglyph): New function.
27072 (putcode_real): Likewise.
27073 (grub_putcode): Use putcode_real.
27074 (get_maxwidth): New function.
27075 (get_startwidth): Likewise.
27076 (print_ucs4_terminal): Likewise.
27077 (find_term_state): Likewise.
27078 (put_glyphs_terminal): Likewise.
27079 (print_backlog): Likewise.
27080 (print_ucs4_real): Likewise.
27081 (grub_print_ucs4): Likewise.
27082 (grub_xputs_normal): Likewise.
27083 * term/efi/console.c (grub_console_putchar): Output diacritics.
27084 (grub_console_getcharwidth): Removed.
27085 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
27086 * term/gfxterm.c (clear_char): Free chars.
27087 (scroll_up): Avoid leaking memory.
27088 (grub_gfxterm_putchar): Support diacritics.
27089 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
27090 * term/i386/pc/console.c (grub_console_term_output): Declare as
27091 GRUB_TERM_CODE_TYPE_VGA.
27092 * term/i386/pc/vga.c (grub_vga_term): Declare as
27093 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
27094 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
27095 GRUB_TERM_CODE_TYPE_VGA.
27096 * term/i386/vga_common.c (map_char): Removed.
27097 (grub_console_putchar): Likewise.
27098 (grub_console_getcharwidth): Likewise.
27099 * term/ieee1275/ofconsole.c: Simplify using terminfo.
27100 (colors): Reordered to match terminfo.
27101 (grub_ofconsole_normal_color): Removed.
27102 (grub_ofconsole_writeesc): Likewise.
27103 (grub_ofconsole_highlight_color): Likewise.
27104 (grub_ofconsole_getcharwidth): Likewise.
27105 (grub_ofconsole_setcolorstate): Likewise.
27106 (grub_ofconsole_setcolor): Likewise.
27107 (grub_ofconsole_getcolor): Likewise.
27108 (grub_ofconsole_readkey): Renamed to ...
27109 (readkey): ... this. Remove escape sequence handling. Return -1 on no
27110 key.
27111 (grub_ofconsole_checkkey): Removed.
27112 (grub_ofconsole_getkey): Likewise.
27113 (grub_ofconsole_getxy): Likewise.
27114 (grub_ofconsole_gotoxy): Likewise.
27115 (grub_ofconsole_cls): Likewise.
27116 (grub_ofconsole_refresh): Likewise.
27117 (grub_ofconsole_terminfo_input): New struct.
27118 (grub_ofconsole_terminfo_output): Likewise.
27119 (grub_ofconsole_term_input): Use terminfo.
27120 (grub_ofconsole_term_output): Likewise.
27121 (grub_console_init): Split into ...
27122 (grub_console_init_early): ...this and ...
27123 (grub_console_init_lately): ...this. Use terminfo.
27124 (grub_ofconsole_putchar): Renamed to ...
27125 (put): ... this. Remove mapping.
27126 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
27127 * term/serial.c: Simplify using terminfo.
27128 (xpos): Removed.
27129 (ypos): Likewise.
27130 (keep_track): Likewise.
27131 (registered): Likewise.
27132 (input_buf): Likewise.
27133 (npending): Likewise.
27134 (serial_translate_key_sequence): Likewise.
27135 (fill_input_buf): Likewise.
27136 (grub_serial_checkkey): Likewise.
27137 (grub_serial_getkey): Likewise.
27138 (grub_serial_getxy): Likewise.
27139 (grub_serial_gotoxy): Likewise.
27140 (grub_serial_putchar): Likewise.
27141 (grub_serial_cls): Likewise.
27142 (grub_serial_setcolorstate): Likewise.
27143 (grub_serial_setcursor): Likewise.
27144 (serial_hw_init): Use serial_hw_fetch.
27145 (grub_serial_terminfo_input): New variable.
27146 (grub_serial_terminfo_output): Likewise.
27147 (grub_serial_term_input): Use terminfo.
27148 (grub_serial_term_output): Likewise.
27149 * term/terminfo.c (putstr): Use put.
27150 (grub_terminfo_all_free): New function
27151 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
27152 (grub_terminfo_output_register): New function.
27153 (grub_terminfo_output_unregister): Likewise.
27154 (grub_terminfo_getxy): Likewise.
27155 (grub_terminfo_readkey): Likewise.
27156 (grub_terminfo_checkkey): Likewise.
27157 (grub_terminfo_getkey): Likewise.
27158 (grub_terminfo_input_init): Likewise.
27159 (print_terminfo): Likewise.
27160 (grub_cmd_terminfo): Handle encoding.
27161 (grub_terminfo_gotoxy): Track position.
27162 (grub_terminfo_cls): Likewise.
27163 (grub_terminfo_putchar): Likewise.
27164 (grub_terminfo_setcolorstate): Handle colors
27165 (grub_terminfo_cursor_on): This ...
27166 (grub_terminfo_cursor_off): ... and this merged into ...
27167 (grub_terminfo_setcursor): ... this.
27168 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
27169 * unicode/ArabicShaping.txt: New file (imported from Unicode).
27170 * unicode/BidiMirroring.txt: Likewise.
27171 * unicode/UnicodeData.txt: Likewise.
27172 * unicode/COPYING: Likewise.
27173 * util/grub-editenv.c (grub_putchar): Removed.
27174 (grub_xputs_real): New function.
27175 (grub_xputs): New variable.
27176 * util/grub-fstest.c (grub_putchar): Removed.
27177 (grub_xputs_real): New function.
27178 (grub_xputs): New variable.
27179 * util/grub-mkdevicemap.c (grub_putchar): Removed.
27180 (grub_xputs_real): New function.
27181 (grub_xputs): New variable.
27182 * util/grub-probe.c (grub_putchar): Removed.
27183 (grub_xputs_real): New function.
27184 (grub_xputs): New variable.
27185 * util/grub-script-check.c (grub_putchar): Removed.
27186 (grub_xputs_real): New function.
27187 (grub_xputs): New variable.
27188 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
27189 (grub_xputs_real): New function.
27190 (grub_xputs): New variable.
27191 * util/import_unicode.py: New file.
27192 * util/grub-mkfont.c (ft_errmsgs): New array.
27193 (grub_glyph_info): Make bitmap a pointer.
27194 (file_formats): New type WIDTH_SPEC.
27195 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
27196 (options): Add width-spec.
27197 (help): Likewise.
27198 (add_char): Renamed to ...
27199 (add_glyph): ... this.
27200 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
27201 (glyph_replace): New type.
27202 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
27203 (add_char): New function.
27204 (add_subst): Likewise.
27205 (process_cursive): Likewise.
27206 (add_font): Handle GSUB.
27207 (write_font_width_spec): New function.
27208 (main): Sort glyphs.
27209 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
27210 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
27211 * kern/term.c (grub_cls): Moved from here...
27212 * normal/term.c (grub_cls): ... here.
27213
50f0bcda
CW
272142010-07-02 Colin Watson <cjwatson@ubuntu.com>
27215
27216 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
27217 suitable for using within the format argument of printf when
27218 converting grub_size_t.
27219 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
27220 "x" to convert grub_size_t arguments.
27221
40372103
VS
272222010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27223
27224 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
27225 too long captions.
27226 (list_get_minimal_size): Take selection box into account.
27227
942a10c7
VS
272282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27229
27230 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
27231 NULL font.
27232
2bdb2892
CW
272332010-07-02 Colin Watson <cjwatson@ubuntu.com>
27234
27235 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
27236 devices when iterating over /dev/disk/by-id; they will be handled
27237 later if appropriate, which they aren't always (e.g. LVM).
27238
e03ed6c1
CW
272392010-07-02 Colin Watson <cjwatson@ubuntu.com>
27240
27241 * include/grub/misc.h (grub_reboot): Declare as noreturn.
27242 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
27243 fails.
27244 (grub_halt): Likewise.
27245 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
27246 reset-all fails.
27247 (grub_halt): Don't return, even if all of shut-down, power-off, and
27248 poweroff fail.
27249
47695765
CW
272502010-07-02 Colin Watson <cjwatson@ubuntu.com>
27251
27252 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
27253 arguments, not three.
27254
507736c8
CW
272552010-07-02 Colin Watson <cjwatson@ubuntu.com>
27256
27257 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
27258 * util/grub.d/10_linux.in: Use it to check for LVM, so that
27259 LVM-on-RAID is handled correctly.
27260
e3c8cd37
CW
272612010-07-02 Colin Watson <cjwatson@ubuntu.com>
27262
27263 * docs/grub.texi (Changes from GRUB Legacy): New section.
27264 (Future): Fix typo.
27265
8d4a2fec
CW
272662010-07-02 Colin Watson <cjwatson@ubuntu.com>
27267
27268 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
27269 grub.d/README accidentally ends up executable for one reason or
27270 another. Ignore it.
27271
1c4827be
VS
272722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27273
27274 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
27275 (gpt_partition_map_iterate): Support non-512B sectors.
27276
d9a0c941
VS
272772010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27278
27279 * kern/efi/init.c (grub_efi_init): Disable watchdog.
27280 Tested by: Seth Goldberg.
27281
48f27e87
VS
272822010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27283
27284 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
27285 Properly align mbi.
27286 Reported by: Seth Goldberg.
27287
b0c4f956
VS
272882010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27289
27290 * util/grub-mkrescue.in: Avoid module duplication.
27291
105a2e8c
SF
272922010-07-01 Sean Finney <seanius@seanius.net>
27293
27294 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
27295
5944958c
SF
272962010-07-01 Sean Finney <seanius@seanius.net>
27297
27298 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
27299
273002010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27301
27302 * disk/lvm.c (grub_lvm_checkvalue): New function.
27303 (grub_lvm_check_flag): Likewise.
27304
b79889ba
RM
273052010-07-01 Robert Millan <rmh@gnu.org>
27306
27307 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
27308 Support 'p' as partition separator on kernel of FreeBSD (used
27309 with GPT labels).
27310 (grub_util_biosdisk_get_grub_dev): Likewise.
27311
ec1d04f1
VS
273122010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27313
27314 Yeeloong firmware port.
27315
27316 * boot/mips/yeeloong/fwstart.S: New file.
27317 * bus/cs5536.c (gpiodump): New const.
27318 (set_io_space): New function.
27319 (set_iod): Likewise.
27320 (set_p2d): Likewise.
27321 (grub_cs5536_init_geode): Likewise.
27322 * commands/mips/yeeloong/lsspd.c: New file.
27323 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
27324 (serial_mod_SOURCES): New variable.
27325 (serial_mod_CFLAGS): Likewise.
27326 (serial_mod_LDFLAGS): Likewise.
27327 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
27328 term/terminfo.c and term/tparm.c.
27329 (pkglib_IMAGES): Add fwstart.img.
27330 (fwstart_img_SOURCES): New variable.
27331 (fwstart_img_CFLAGS): Likewise.
27332 (fwstart_img_ASFLAGS): Likewise.
27333 (fwstart_img_LDFLAGS): Likewise.
27334 (fwstart_img_FORMAT): Likewise.
27335 (pkglib_MODULES): Add lsspd.mod.
27336 (lsspd_mod_SOURCES): New variable.
27337 (lsspd_mod_CFLAGS): Likewise.
27338 (lsspd_mod_LDFLAGS): Likewise.
27339 (pkglib_MODULES): Add halt.mod.
27340 (halt_mod_SOURCES): New variable.
27341 (halt_mod_CFLAGS): Likewise.
27342 (halt_mod_LDFLAGS): Likewise.
27343 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
27344 (serial_mod_SOURCES): Removed.
27345 (serial_mod_CFLAGS): Likewise.
27346 (serial_mod_LDFLAGS): Likewise.
27347 * disk/ata.c (check_device): New function.
27348 (grub_ata_device_initialize): Use check_device.
27349 (grub_ata_iterate): Recheck devices.
27350 (grub_ata_open): Likewise.
27351 (grub_atapi_iterate): Likewise.
27352 (grub_atapi_open): Likewise.
27353 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
27354 (GRUB_ATA_CH1_PORT1): Likewise.
27355 (GRUB_ATA_CH0_PORT2): Likewise.
27356 (GRUB_ATA_CH1_PORT2): Likewise.
27357 * include/grub/mips/loongson.h: New file.
27358 * include/grub/mips/yeeloong/ec.h: Likewise.
27359 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
27360 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
27361 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
27362 * include/grub/misc.h (grub_halt): Declare as noreturn.
27363 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
27364 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
27365 (UART_ENABLE_FIFO_TRIGGER1): New definition.
27366 (UART_ENABLE_DTRRTS): Likewise.
27367 (UART_ENABLE_MODEM): Removed.
27368 (UART_ENABLE_OUT2): New const.
27369 * include/grub/term.h (grub_term_register_input_active): New function.
27370 (grub_term_register_output_active): Likewise.
27371 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
27372 argument.
27373 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
27374 (init_pci): New function.
27375 (grub_machine_init): Execute platform init when firmware. Init serial.
27376 (grub_halt): Implement.
27377 (grub_exit): Likewise.
27378 (grub_reboot): Likewise.
27379 * term/serial.c (serial_hw_init): Update macros.
27380 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
27381 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
27382 (image_targets): New target mipsel-yeeloong-flash.
27383 (generate_image): Support IMAGE_YEELOONG_FLASH.
27384 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
27385 (grub_video_sm712_setup): Init card.
27386 (grub_video_sm712_set_palette): Removed.
27387 * video/sm712_init.c: New file.
27388
ff4a70d2
CW
273892010-06-30 Colin Watson <cjwatson@ubuntu.com>
27390
27391 * Makefile.in (install-local): Temporarily prepend $(builddir) to
27392 PATH when running help2man and then run it on the unadorned
27393 executable names, rather than passing $(builddir)/* paths to
27394 help2man. This avoids the build directory ending up in generated
27395 manual pages.
27396
1246efeb
CW
273972010-06-29 Colin Watson <cjwatson@ubuntu.com>
27398
27399 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
27400 to avoid accidents when debugging with 'sh -x'.
27401 * util/grub-mkrescue.in: Likewise.
27402 * util/grub.d/00_header.in: Likewise.
27403 * util/grub.d/10_hurd.in: Likewise.
27404 * util/grub.d/10_kfreebsd.in: Likewise.
27405 * util/grub.d/10_linux.in: Likewise.
27406 * util/grub.d/10_netbsd.in: Likewise.
27407 * util/grub.d/10_windows.in: Likewise.
27408 * util/grub.d/20_linux_xen.in: Likewise.
27409 * util/grub.d/30_os-prober.in: Likewise.
27410 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27411
1ba9b889
CW
274122010-06-29 Colin Watson <cjwatson@ubuntu.com>
27413
27414 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
27415 last character in the buffer.
27416 Reported by: Vladimir Serbinenko.
27417
dccaf99d
RM
274182010-06-29 Robert Millan <rmh@gnu.org>
27419
27420 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
27421 (Command-line and menu entry commands): Document `badram' command.
27422
d500ed12
RM
274232010-06-28 Robert Millan <rmh@gnu.org>
27424
27425 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
27426 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
27427 command using ${GRUB_BADRAM} as parameter.
27428
20bc84a6
CW
274292010-06-28 Colin Watson <cjwatson@ubuntu.com>
27430
27431 * docs/grub.texi (Device map): New section.
27432 (Themes): New section (stub).
27433 * Makefile.in (docs/grub.info): The info documentation now builds
27434 without errors. Make sure it stays that way.
27435
4045dee1
VS
274362010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27437
27438 Use normal parser for menu entries.
27439 Reported by: Thomas Frauendorfer
27440
27441 * include/grub/parser.h (grub_parser_execute): Don't export.
27442 * normal/menu.c (grub_menu_execute_entry_real): New function.
27443 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
27444
bca58c7b
CW
274452010-06-28 Colin Watson <cjwatson@ubuntu.com>
27446
27447 * docs/grub.texi (Embedded configuration): New section (replacing
27448 old "Preset Menu" stub).
27449 (Images): New section.
27450 (configfile): Note that any menu entries defined in `file' are shown
27451 immediately.
27452
dec53e63
JT
274532010-06-28 Josh Triplett <josh@joshtriplett.org>
27454
27455 * mmap/i386/pc/mmap_helper.S: Set CF on return.
27456
c06e40f7
CW
274572010-06-28 Colin Watson <cjwatson@ubuntu.com>
27458
27459 * util/grub-install.in: Add --debug-image= option.
27460
cb88052b
CW
274612010-06-28 Colin Watson <cjwatson@ubuntu.com>
27462
27463 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
27464 possible on Linux.
27465
27466 * util/deviceiter.c (check_device): Rename to ...
27467 (check_device_readable_unique): ... this. Update all callers.
27468 Maintain and check a list of which devices (by canonicalized name)
27469 have already been seen.
27470 (clear_seen_devices): New function.
27471 (compare_file_names) [__linux__]: New function.
27472 (grub_util_iterate_devices): Clear the list of seen devices on exit
27473 and (just in case) on entry.
27474 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
27475 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
27476 seen-devices list, superseded by general code in check_device.
27477
bbe34652
CW
274782010-06-28 Colin Watson <cjwatson@ubuntu.com>
27479
27480 * commands/cat.c (options): New variable.
27481 (grub_cmd_cat): Parse options. If the --dos option is given, print
27482 DOS-style "\r\n" line endings as simple newlines (Debian bug
27483 #586358).
27484 (GRUB_MOD_INIT): Use extcmd.
27485 (GRUB_MOD_FINI): Likewise.
27486 * docs/grub.texi (cat): Document --dos.
27487
412e09f3
VS
274882010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27489
27490 XEN with Linux grub-mkconfig support.
27491
27492 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
27493 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
27494 GRUB_CMDLINE_XEN_DEFAULT.
27495 * util/grub.d/20_linux_xen.in: New file.
27496
53f3ef38 274972010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
27498
27499 Initialise VGA video on qemu ourselves.
27500
27501 * boot/i386/qemu/boot.S: Don't call 0xc000.
27502 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
27503 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
27504 (kernel_img_HEADERS): Add pci.h.
27505 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
27506 * configure.ac: Force unifont on qemu and yeeloong.
27507 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
27508 (grub_vga_palette_write): Use correct register.
27509 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
27510 Call grub_qemu_init_cirrus.
27511 * kern/i386/qemu/init.c: New file.
27512 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
27513
27514 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
27515
c75be4fb
PR
275162010-06-26 Pavel Roskin <proski@gnu.org>
27517
27518 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
27519 13.
27520
d8034603
CW
275212010-06-26 Colin Watson <cjwatson@ubuntu.com>
27522
27523 * docs/grub.texi (Simple configuration): Explain that
27524 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
27525 set to `true' to disable their respective recovery entries, not
27526 merely set.
27527
3fa06487
CW
275282010-06-26 Colin Watson <cjwatson@ubuntu.com>
27529
27530 Make the `source' command slightly faster.
27531
27532 * normal/main.c (grub_normal_execute): Don't re-read list files when
27533 nested.
27534
e9b29642
CW
275352010-06-23 Colin Watson <cjwatson@ubuntu.com>
27536
27537 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
27538 field position and mask size to red fields from mode_info, not
27539 green.
27540 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
27541 Remove redundant tag->common.framebuffer_type assignment.
27542 Reported by: Seth Goldberg.
27543
e726542f
CW
275442010-06-23 Colin Watson <cjwatson@ubuntu.com>
27545
27546 Sync up other versions of the Linux loader with Robert Millan's
27547 change of 2010-01-09, "Make loader output a bit more user-friendly".
27548
27549 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
27550 grub_dprintf().
27551 (grub_cmd_linux): Likewise.
27552 (grub_cmd_initrd): Likewise.
27553 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
27554 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27555
d6e98a17
CW
275562010-06-21 Colin Watson <cjwatson@ubuntu.com>
27557
27558 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
27559 larger than MEMORY_MAP_SIZE.
27560
14d3f08e
BC
275612010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
27562
27563 Fix parallel build.
27564
27565 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
27566 dependency.
27567 * script/parser.y: #include grub_script.tab.h header.
27568
4f9613a3
VS
275692010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27570
27571 Support >3GiB and <16MiB RAM in i386-qemu.
27572
27573 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
27574 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
27575 (grub_lower_mem): Removed.
27576 (grub_upper_mem): Likewise.
27577 (mem_size): Made static.
27578 (above_4g): New variable.
27579 (grub_machine_mmap_init): Detect small mem_size and above_4g.
27580 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
27581 support.
27582
05e51879
VS
275832010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27584
27585 Cirrus 5446 and Bochs video cards support.
27586
27587 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
27588 video_bochs.mod
27589 (video_cirrus_mod_SOURCES): New variable.
27590 (video_cirrus_mod_CFLAGS): Likewise.
27591 (video_cirrus_mod_LDFLAGS): Likewise.
27592 (video_bochs_mod_SOURCES): Likewise.
27593 (video_bochs_mod_CFLAGS): Likewise.
27594 (video_bochs_mod_LDFLAGS): Likewise.
27595 * include/grub/vga.h: New file.
27596 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
27597 (grub_video_fb_set_page_t): New type.
27598 (grub_video_fb_setup): New prototype.
27599 (grub_video_fb_swap_buffers): Likewise.
27600 (grub_video_fb_get_info_and_fini): Likewise.
27601 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
27602 (CRTC_DATA_PORT): Likewise.
27603 (CRTC_CURSOR): Likewise.
27604 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27605 (CRTC_CURSOR_ADDR_LOW): Likewise.
27606 (CRTC_CURSOR_DISABLE): Likewise.
27607 (update_cursor): Use grub_vga_cr_write.
27608 (grub_vga_text_setcursor): Likewise.
27609 * video/bochs.c: New file.
27610 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
27611 (palette): Likewise.
27612 (palette_size): Likewise.
27613 (framebuffer): New variable.
27614 (grub_video_fb_init): Use 'framebuffer'.
27615 (grub_video_fb_fini): Likewise.
27616 (grub_video_fb_get_info): Likewise.
27617 (grub_video_fb_get_palette): Likewise.
27618 (grub_video_fb_set_palette): Likewise.
27619 (grub_video_fb_set_viewport): Likewise.
27620 (grub_video_fb_get_viewport): Likewise.
27621 (grub_video_fb_map_color): Likewise.
27622 (grub_video_fb_map_rgb): Likewise.
27623 (grub_video_fb_map_rgba): Likewise.
27624 (grub_video_fb_unmap_color): Likewise.
27625 (grub_video_fb_unmap_color_int): Likewise.
27626 (grub_video_fb_fill_rect): Likewise.
27627 (grub_video_fb_blit_bitmap): Likewise.
27628 (grub_video_fb_blit_render_target): Likewise.
27629 (grub_video_fb_scroll): Likewise.
27630 (grub_video_fb_create_render_target): Likewise.
27631 (grub_video_fb_doublebuf_blit_init): Likewise.
27632 (grub_video_fb_set_active_render_target): Handle doublebuffering.
27633 (doublebuf_pageflipping_update_screen): New function.
27634 (doublebuf_pageflipping_init): Likewise.
27635 (grub_video_fb_setup): Likewise.
27636 (grub_video_fb_swap_buffers): Likewise.
27637 (grub_video_fb_get_info_and_fini): Likewise.
27638 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
27639 All users updated.
27640 (doublebuf_pageflipping_commit): Restructured into ...
27641 (doublebuf_pageflipping_set_page): ... this.
27642 (doublebuf_pageflipping_update_screen): Removed.
27643 (doublebuf_pageflipping_init): Likewise.
27644 (double_buffering_init): Likewise.
27645 (grub_video_vbe_setup): Use grub_video_fb_setup.
27646 (grub_video_vbe_swap_buffers): Removed.
27647 (grub_video_vbe_set_active_render_target): Likewise.
27648 (grub_video_vbe_get_active_render_target): Likewise.
27649 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
27650 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
27651 grub_video_fb_set_active_render_target and
27652 grub_video_fb_get_active_render_target.
27653 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
27654 (SEQUENCER_DATA_PORT): Likewise.
27655 (MAP_MASK_REGISTER): Likewise.
27656 (CRTC_ADDR_PORT): Likewise.
27657 (CRTC_DATA_PORT): Likewise.
27658 (START_ADDR_HIGH_REGISTER): Likewise.
27659 (START_ADDR_LOW_REGISTER): Likewise.
27660 (GRAPHICS_ADDR_PORT): Likewise.
27661 (GRAPHICS_DATA_PORT): Likewise.
27662 (READ_MAP_REGISTER): Likewise.
27663 (INPUT_STATUS1_REGISTER): Likewise.
27664 (INPUT_STATUS1_VERTR_BIT): Likewise.
27665 (get_map_mask): Use grub_vga_sr_read.
27666 (set_map_mask): Use grub_vga_sr_write.
27667 (set_read_map): Use grub_vga_gr_write.
27668 (set_start_address): Use grub_vga_cr_write.
27669 * video/sm712.c (framebuffer): Remove leftover fields.
27670
4321c64a
CW
276712010-06-20 Colin Watson <cjwatson@ubuntu.com>
27672
27673 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
27674 setting GRUB_VIDEO_BACKEND. Make it available as a user override
27675 instead. Replace the gfxterm backend check with a check that
27676 ${GRUB_PREFIX}/video.lst is non-empty.
27677 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
27678 again.
27679 (load_video): New generated function. Call it before loading
27680 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
27681 * util/grub.d/10_linux.in (linux_entry): Call load_video.
27682 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
27683 * docs/grub.texi (Simple configuration): Document
27684 GRUB_VIDEO_BACKEND.
27685
276862010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27687
27688 Use video functions in linux and xnu loaders.
27689
27690 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
27691 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
27692 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
27693 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
27694 loader/i386/pc/linux.c.
27695 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
27696 (find_line_len): Removed.
27697 (find_framebuf): Likewise.
27698 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
27699 * loader/i386/efi/xnu.c: Removed.
27700 * loader/i386/pc/xnu.c: Moved from here...
27701 * loader/i386/xnu.c: ...here.
27702
27703 Enable priorities in video drivers.
27704
27705 * include/grub/video.h (grub_video_adapter_prio_t): New type.
27706 (grub_video_adapter): New field prio.
27707 (grub_video_register): Respect prio when inserting.
27708 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
27709 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
27710 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
27711 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
27712 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
27713 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
27714 * video/sm712.c (grub_video_sm712_adapter): Likewise.
27715
27716 Fix SDL driver ID.
27717
27718 * include/grub/video.h (grub_video_driver_id_t): New value
27719 GRUB_VIDEO_DRIVER_SDL.
27720 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
27721
7d24e434
CW
277222010-06-17 Colin Watson <cjwatson@ubuntu.com>
27723
27724 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
27725 argument to printf.
27726 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27727
c88a83f6
CW
277282010-06-17 Colin Watson <cjwatson@ubuntu.com>
27729
27730 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
27731 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27732
094dfb69
CW
277332010-06-17 Colin Watson <cjwatson@ubuntu.com>
27734
27735 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
27736 directly, and recommend grub-install instead.
27737 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27738
2164da6b
CW
277392010-06-17 Colin Watson <cjwatson@ubuntu.com>
27740
27741 Fix i386-pc prefix handling with nested partitions (Debian bug
27742 #585068). Note that the case where the core image is booted using
27743 multiboot and relocated from its original location still requires
27744 more work.
27745
27746 * kern/i386/pc/init.c (make_install_device): If the prefix starts
27747 with "(,", fill the boot drive in between those two characters, but
27748 expect that a full partition specification including partition map
27749 names will follow.
27750 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
27751 specified, write a prefix without the drive name but including a
27752 full partition specification.
27753
044e2e60
CW
277542010-06-16 Colin Watson <cjwatson@ubuntu.com>
27755
27756 * util/grub-mkconfig.in: Ignore non-option arguments, for
27757 compatibility with older versions (before 2010-06-12) which did the
27758 same. In particular, this makes it easier to ship an update-grub
27759 wrapper which is compatible with that used with GRUB Legacy (Debian
27760 bug #586056).
27761
5591324f
GS
277622010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27763
27764 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
27765 for manual page generation.
27766
662e24d5
GS
277672010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27768
27769 * po/POTFILES: Remove leftover commands/handler.c.
27770
8d70754e
CW
277712010-06-14 Colin Watson <cjwatson@ubuntu.com>
27772
27773 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
27774 left this script non-functional.
27775
41160e2e
CW
277762010-06-14 Colin Watson <cjwatson@ubuntu.com>
27777
27778 * docs/man/grub-emu.h2m: New file.
27779
b5309cc1
CW
277802010-06-13 Colin Watson <cjwatson@ubuntu.com>
27781
27782 * docs/grub.texi (Commands): Document reduced command set in rescue
27783 mode.
27784 (cpuid): New section.
27785
fcb2d090
GS
277862010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
27787
27788 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
27789 new partition naming style.
27790 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
27791
96e5c556
BC
277922010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
27793
27794 Add "-o grub.iso" like cmdline options support.
27795
27796 * util/grub-install.in: Improve cmdline option parsing.
27797 * util/grub-mkconfig.in: Likewise.
27798 * util/grub-mkrescue.in: Likewise.
27799 * util/grub-reboot.in: Likewise.
27800 * util/grub-set-default.in: Likewise.
27801 * util/i386/efi/grub-install.in: Likewise.
27802 * util/ieee1275/grub-install.in: Likewise.
27803 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27804
c16be99b
CW
278052010-06-12 Colin Watson <cjwatson@ubuntu.com>
27806
27807 * .bzrignore: Ignore 41_custom.
27808
ce08a9fb
TS
278092010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27810
27811 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
27812
7beac90c
CW
278132010-06-12 Colin Watson <cjwatson@ubuntu.com>
27814
27815 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
27816 prototype declarations.
27817
27818 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
27819 generating fs, partmap, and video lists.
27820 * include/grub/fs.h (grub_fs_register): Omit prototype if
27821 GRUB_LST_GENERATOR is defined.
27822 * include/grub/partition.h (grub_partition_map_register): Likewise.
27823 * include/grub/video.h (grub_video_register): Likewise.
27824
1c8f0f8d
JM
278252010-06-12 Javier Martín <lordhabbit@gmail.com>
27826
27827 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
27828
a6085973
TS
278292010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27830
27831 * util/grub-mkrescue.in: Support --xorriso argument.
27832
25c56d29
VS
278332010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27834
27835 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
27836 Suggested by: Thomas Schmitt.
27837
e03e4b24
VS
278382010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27839
27840 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
27841 Suggested by: Thomas Schmitt.
27842
57711df6
VS
278432010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27844
27845 custom.cfg support.
27846
27847 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
27848 * util/grub.d/41_custom.in: New file.
27849
ee62c427
CW
278502010-06-12 Colin Watson <cjwatson@ubuntu.com>
27851
27852 * util/grub-mkrescue.in (make_image): Remove sh module, which has
27853 been merged back into normal.
27854
283af07a
CW
278552010-06-11 Colin Watson <cjwatson@ubuntu.com>
27856
27857 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
27858 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
27859
56a0d956
CW
278602010-06-11 Colin Watson <cjwatson@ubuntu.com>
27861
27862 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
27863 when generating manual pages.
27864 * docs/man/grub-bin2h.h2m: New file.
27865 * docs/man/grub-editenv.h2m: New file.
27866 * docs/man/grub-fstest.h2m: New file.
27867 * docs/man/grub-install.h2m: New file.
27868 * docs/man/grub-macho2img.h2m: New file.
27869 * docs/man/grub-mkconfig.h2m: New file.
27870 * docs/man/grub-mkdevicemap.h2m: New file.
27871 * docs/man/grub-mkfont.h2m: New file.
27872 * docs/man/grub-mkimage.h2m: New file.
27873 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
27874 * docs/man/grub-mkrelpath.h2m: New file.
27875 * docs/man/grub-mkrescue.h2m: New file.
27876 * docs/man/grub-ofpathname.h2m: New file.
27877 * docs/man/grub-pe2elf.h2m: New file.
27878 * docs/man/grub-probe.h2m: New file.
27879 * docs/man/grub-reboot.h2m: New file.
27880 * docs/man/grub-script-check.h2m: New file.
27881 * docs/man/grub-set-default.h2m: New file.
27882 * docs/man/grub-setup.h2m: New file.
27883
3a37e322
VS
278842010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
27885
27886 Use FOR_* macros instead of *_iterate whenever possible.
27887
27888 * commands/handler.c: Removed.
27889 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
27890 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
27891 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27892 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
27893 (grub_probe_SOURCES): Remove kern/parser.c.
27894 (util/grub-script-check.c_DEPENDENCIES): Removed.
27895 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
27896 and grub_script_check_init.c.
27897 (grub_script_check_init.lst): Removed.
27898 (grub_script_check_init.h): Likewise.
27899 (grub_script_check_init.c): Likewise.
27900 (pkglib_MODULES): Remove handler.mod and sh.mod.
27901 (handler_mod_SOURCES): Removed.
27902 (handler_mod_CFLAGS): Likewise.
27903 (handler_mod_LDFLAGS): Likewise.
27904 (normal_mod_SOURCES): Remove normal/handler.c.
27905 Add script/main.c, script/script.c, script/execute.c,
27906 script/function.c, script/lexer.c, grub_script.tab.c
27907 and grub_script.yy.c.
27908 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27909 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27910 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
27911 (grub_setup_SOURCES): Remove kern/parser.c.
27912 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27913 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
27914 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
27915 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27916 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27917 (grub_setup_SOURCES): Remove kern/parser.c.
27918 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27919 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
27920 * include/grub/command.h (grub_command_iterate): Removed.
27921 (FOR_COMMANDS): New macro.
27922 * include/grub/dl.h (grub_dl): New member next.
27923 (grub_dl_iterate): Removed.
27924 (grub_dl_head): New variable declaration.
27925 (FOR_DL_MODULES): New macro.
27926 * include/grub/fs.h: Include list.h.
27927 (grub_fs): Make next first element.
27928 (grub_fs_list): New variable declaration.
27929 (grub_fs_register): Make inline.
27930 (grub_fs_unregister): Likewise.
27931 (grub_fs_iterate): Removed.
27932 (FOR_FILESYSTEMS): New macro.
27933 * include/grub/handler.h: Removed.
27934 * include/grub/list.h (grub_list_hook_t): Removed.
27935 (grub_list_test_t): Likewise.
27936 (grub_list_pop): Likewise.
27937 (grub_list_iterate): Likewise.
27938 (grub_list_insert): Likewise.
27939 (FOR_LIST_ELEMENTS): New macro.
27940 * include/grub/parser.h (grub_parser_class): Removed.
27941 (grub_parser_register): Likewise.
27942 (grub_parser_unregister): Likewise.
27943 (grub_parser_get_current): Likewise.
27944 (grub_parser_set_current): Likewise.
27945 (grub_register_rescue_parser): Likewise.
27946 (grub_rescue_parse_line): New function.
27947 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
27948 * include/grub/script_sh.h (grub_script_function_list): New variable
27949 declaration.
27950 (FOR_SCRIPT_FUNCTIONS): New macro.
27951 (grub_script_function_iterate): Removed.
27952 (grub_normal_parse_line): New prototype.
27953 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
27954 (FOR_DISABLED_TERM_INPUTS): Likewise.
27955 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27956 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27957 * include/grub/video.h (grub_video_adapter): Move 'next' to first
27958 element.
27959 (grub_video_register): Inline.
27960 (grub_video_unregister): Likewise.
27961 (grub_video_adapter_list): New variable declaration.
27962 (grub_video_iterate): Removed.
27963 (FOR_VIDEO_ADAPTERS): New macro.
27964 * kern/dl.c (grub_dl_list): Removed. All users updated.
27965 (grub_dl_iterate): Removed.
27966 * kern/fs.c (grub_fs_list): Make global.
27967 (grub_fs_register): Removed.
27968 (grub_fs_unregister): Likewise.
27969 (grub_fs_iterate): Likewise.
27970 * kern/handler.c: Removed.
27971 * kern/list.c (grub_list_pop): Removed.
27972 (grub_list_iterate): Likewise.
27973 (grub_list_insert): Likewise.
27974 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
27975 (grub_prio_list_insert): Don't use grub_list_insert.
27976 * kern/main.c (grub_register_rescue_parser): Don't call
27977 grub_register_rescue_parser.
27978 * kern/parser.c (grub_parser_class): Removed.
27979 (grub_parser_execute): Use grub_rescue_parse_line.
27980 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
27981 (grub_rescue_parser): Removed.
27982 (grub_register_rescue_parser): Likewise.
27983 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
27984 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
27985 (grub_auth_check_authentication): Likewise.
27986 * normal/completion.c (iterate_command): Removed.
27987 (grub_normal_do_completion): Use FOR_COMMANDS.
27988 * normal/handler.c: Removed.
27989 * normal/main.c (read_config_file): Remove parser changing.
27990 (grub_normal_execute): Don't call read_handler_list.
27991 (grub_normal_read_line_real): Statically allocate prompt.
27992 (grub_cmdline_run): Use grub_normal_parse_line.
27993 (GRUB_MOD_FINI): Don't call free_handler_list.
27994 * normal/menu_entry.c (run): Likewise.
27995 * script/function.c (grub_script_function_list): Make global.
27996 (grub_script_function_iterate): Removed.
27997 * script/main.c (grub_normal_parse_line): Make global.
27998 (grub_sh_parser): Removed.
27999 (GRUB_MOD_INIT): Likewise.
28000 (GRUB_MOD_FINI): Likewise.
28001 * tests/lib/functional_test.c (grub_functional_test): Use
28002 FOR_LIST_ELEMENTS.
28003 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
28004 (grub_test_run): Use FOR_LIST_ELEMENTS.
28005 * tests/lib/unit_test.c (main): Likewise.
28006 * util/deviceiter.c (grub_util_iterate_devices): Don't use
28007 grub_list_pop.
28008 * util/grub-fstest.c (grub_term_input_class): Removed.
28009 (grub_term_output_class): Likewise.
28010 * util/grub-probe.c: Likewise.
28011 * util/i386/pc/grub-setup.c: Likewise.
28012 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28013 * util/grub-script-check.c (main): Don't call grub_init_all and
28014 grub_fini_all.
28015 * video/video.c (grub_video_adapter_list): Make global.
28016 (grub_video_register): Removed.
28017 (grub_video_unregister): Likewise.
28018 (grub_video_iterate): Likewise.
28019
6289c3a7
VS
280202010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
28021
28022 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
28023 reported by Henrique Ferreiro.
28024
91460247
RM
280252010-06-09 Robert Millan <rmh@gnu.org>
28026
28027 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
28028 ones, when both are available.
28029
0ea7c4f9
GS
280302010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
28031
28032 Make --version uniform and avoid hard-coded program name.
28033
28034 * util/grub-mkimage.c (main): Use `program_name' instead of
28035 hard-coded string.
28036 * util/i386/pc/grub-setup.c (main): Likewise.
28037 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
28038 * util/grub-install.in: Save the basename of $0 in $self, and use the
28039 latter in informational messages. Use the same format for --version
28040 as the binary programs.
28041 * util/grub-mkconfig.in: Likewise.
28042 * util/grub-mkrescue.in: Likewise.
28043 * util/grub-reboot.in: Likewise.
28044 * util/grub-set-default.in: Likewise.
28045 * util/i386/efi/grub-install.in: Likewise.
28046 * util/ieee1275/grub-install.in: Likewise.
28047 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
28048
e8a6f3b6
GS
280492010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
28050
28051 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
28052 embedding area. Use <= instead of == when checking for non-emptiness.
28053
f4d095d7
GS
280542010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
28055
28056 * configure.ac: Add `.' to the directories searched for unifont.
28057
50e532ca
CW
280582010-06-08 Colin Watson <cjwatson@ubuntu.com>
28059
28060 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
28061 grub_script.yy.h.
28062
d39f3dec
CW
280632010-06-08 Colin Watson <cjwatson@ubuntu.com>
28064
28065 * docs/grub.texi (History): Expand to cover GRUB 2.
28066 (Serial terminal): Refer to `terminal_input' and `terminal_output'
28067 commands, not `terminal'.
28068 (serial): Likewise.
28069 (terminal_input): New section.
28070 (terminal_output): New section.
28071 (uppermem): New section (stub).
28072 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
28073
6ef0ddb4
CW
280742010-06-08 Colin Watson <cjwatson@ubuntu.com>
28075
28076 * docs/grub.texi (Security): Menu entries are unrestricted by
28077 default, not restricted to superusers as I had previously thought.
28078 Reword to account for this.
28079
e0f4c438
CW
280802010-06-07 Colin Watson <cjwatson@ubuntu.com>
28081
28082 * kern/emu/misc.c (device_mapper_null_log): New function.
28083 (grub_device_mapper_supported): New function.
28084 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
28085 prototype.
28086 * kern/emu/hostdisk.c (find_partition_start): Check whether
28087 device-mapper is supported before trying to use it.
28088 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
28089
da908200
CW
280902010-06-07 Colin Watson <cjwatson@ubuntu.com>
28091
28092 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
28093 (File name syntax): Likewise.
28094 (help): --all is no longer supported in GRUB 2. Be more precise
28095 about pattern matching.
28096
fb55c3ac
CW
280972010-06-07 Colin Watson <cjwatson@ubuntu.com>
28098
28099 * normal/completion.c (grub_normal_do_completion): When completing
28100 arguments to "set" and the current word contains an equals sign,
28101 skip to after the equals sign before starting completion.
28102
258c2573
CW
281032010-06-07 Colin Watson <cjwatson@ubuntu.com>
28104
28105 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
28106
ee75515e
CW
281072010-06-07 Colin Watson <cjwatson@ubuntu.com>
28108
28109 * docs/grub.texi (Network): New section.
28110 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
28111 `(nd)' as in GRUB Legacy.
28112 (pxe_unload): New section.
28113
a6a700aa
CW
281142010-06-07 Colin Watson <cjwatson@ubuntu.com>
28115
28116 * docs/grub.texi (Troubleshooting): `echo' is not usually available
28117 in the rescue shell, so recommend using `set' instead. Thanks,
28118 Jordan Uggla.
28119
4003dd38
CW
281202010-06-07 Colin Watson <cjwatson@ubuntu.com>
28121
28122 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
28123 (password): New section.
28124 (password_pbkdf2): New section.
28125 (search): New section.
28126 (Security): New section.
28127 (Troubleshooting): New section, currently very incomplete.
28128 (Invoking grub-mkpasswd-pbkdf2): New section.
28129 (Internals): New section, currently very incomplete.
28130
e1cbcc40
CW
281312010-06-07 Colin Watson <cjwatson@ubuntu.com>
28132
28133 * util/grub.d/00_header.in: Add some more quoting (of
28134 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
28135 work again.
28136 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
28137
db8fa1ad
CW
281382010-06-07 Colin Watson <cjwatson@ubuntu.com>
28139
28140 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
28141 to `count', fixing variable shadowing that broke the -c option.
28142
281432010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
28144
28145 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
28146 in case they contain spaces.
28147
f28a9212
CW
281482010-06-04 Colin Watson <cjwatson@ubuntu.com>
28149
28150 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
28151 "part_" to partmap module names, in line with grub-install.
28152 Reported by: Jindřich Makovička (Debian bug #584426).
28153
9cdfe32f
CW
281542010-06-04 Colin Watson <cjwatson@ubuntu.com>
28155
28156 * util/grub-mkimage.c: Make target-related error messages slightly
28157 more helpful; -O talks about "format". Explicitly point to the use
28158 of -O if no target is specified.
28159 Reported by: Didier Raboud (Debian bug #584415).
28160
795b593a
CW
281612010-06-03 Colin Watson <cjwatson@ubuntu.com>
28162
28163 * INSTALL: Document several build requirements for optional features
28164 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
28165
9d9b5833
GS
281662010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
28167
28168 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
28169 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
28170 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
28171
0819fec8
CW
281722010-06-02 Colin Watson <cjwatson@ubuntu.com>
28173
28174 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
28175 Thanks to Jordan Uggla for spotting this.
28176
49396b4f
VS
281772010-06-02 Aleš Nesrsta <starous@volny.cz>
28178
28179 Finally make USB usable.
28180
28181 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
28182 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
28183 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
28184 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
28185 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
28186 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
28187 (GRUB_OHCI_FSMPS): Likewise.
28188 (GRUB_OHCI_PERIODIC_START): Likewise.
28189 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
28190 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
28191 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
28192 (GRUB_OHCI_SET_PORT_RESET): Likewise.
28193 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
28194 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
28195 (grub_ohci_transaction): Likewise.
28196 (grub_ohci_transfer): Improve condition detection algorithms.
28197 Handle toggle property. Program the transactions correctly.
28198 Improve error handling. Various important fixups.
28199 (grub_ohci_portstatus): Put register writes in right order.
28200 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
28201 (grub_uhci_transfer): Don't show "failed" message on success.
28202 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
28203 array.
28204 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
28205 determine its size.
28206 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
28207 before initialization is completed. Use IN direction for empty
28208 transfers. Use last_trans and compute toggle.
28209 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
28210 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
28211 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
28212 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
28213 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
28214 (grub_usb_device): Increase toggle to 256.
28215 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
28216 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
28217 GRUB_USBMS_SUBCLASS_SFF8070.
28218 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
28219 (grub_scsi_inquiry): New member page and alloc_length.
28220 (grub_scsi_request_sense): New structure.
28221 (grub_scsi_request_sense_data): Likewise.
28222 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
28223 control.
28224 * disk/scsi.c (grub_scsi_request_sense): New function.
28225 (grub_scsi_test_unit_ready): Likewise.
28226 (grub_scsi_inquiry): Fill new fields.
28227 (grub_scsi_read_capacity): Likewise.
28228 (grub_scsi_read10): Add request sense at the end.
28229 (grub_scsi_read12): Likewise.
28230 (grub_scsi_write10): Likewise.
28231 (grub_scsi_write12): Likewise.
28232 (grub_scsi_open): Add Test Unit Ready.
28233 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
28234 Support additional subclasses. Con't clear halt yet. Activate the
28235 proper config. Calculate LUNs correctly.
28236 (grub_usbms_transfer): Various important fixups.
28237
282382010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28239
28240 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
28241 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
28242 (grub_ohci_fini_hw): New function.
28243 (grub_ohci_restore_hw): Likewise.
28244 (GRUB_MOD_INIT(ohci)): Register preboot hook.
28245 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
28246 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
28247
282482010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28249
28250 Dedicated DMA allocations.
28251
28252 * bus/pci.c (grub_memalign_dma32): New function
28253 (grub_dma_free): Likewise.
28254 (grub_dma_get_virt): Likewise.
28255 (grub_dma_get_phys): Likewise.
28256 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
28257 (grub_ohci_pci_iter): Use dma32_alloc.
28258 (grub_ohci_transfer): Likewise.
28259 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
28260 (grub_usb_bulk_readwrite): Likewise.
28261 * include/grub/pci.h: Add declarations.
28262
282632010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28264
28265 CS5536 support.
28266
28267 * bus/cs5536.c: New file.
28268 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
28269 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
28270 (cs5536_mod_SOURCES): New variable.
28271 (cs5536_mod_CFLAGS): Likewise.
28272 (cs5536_mod_LDFLAGS): Likewise.
28273 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
28274 machine/pci.h.
28275 (kernel_img_SOURCES): Add bus/cs5536.c.
28276 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
28277 usb_keyboard.mod.
28278 (usb_mod_SOURCES): New variable.
28279 (usb_mod_CFLAGS): New variable.
28280 (usb_mod_LDFLAGS): New variable.
28281 (usbtest_mod_SOURCES): New variable.
28282 (usbtest_mod_CFLAGS): New variable.
28283 (usbtest_mod_LDFLAGS): New variable.
28284 (ohci_mod_SOURCES): New variable.
28285 (ohci_mod_CFLAGS): New variable.
28286 (ohci_mod_LDFLAGS): New variable.
28287 (usbms_mod_SOURCES): New variable.
28288 (usbms_mod_CFLAGS): New variable.
28289 (usbms_mod_LDFLAGS): New variable.
28290 (usb_keyboard_mod_SOURCES): New variable.
28291 (usb_keyboard_mod_CFLAGS): New variable.
28292 (usb_keyboard_mod_LDFLAGS): New variable.
28293 * include/grub/smbus.h: New file.
28294 * include/grub/cs5536.h: New file.
28295
0b35b2a9
CW
282962010-06-02 Colin Watson <cjwatson@ubuntu.com>
28297
28298 * util/grub.d/00_header.in: Add safety check to make sure that
28299 ${locale_dir} exists before trying to probe it.
28300
ca0afd5b
CW
283012010-06-02 Colin Watson <cjwatson@ubuntu.com>
28302
28303 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
28304 per the GNU Coding Standards; this is now too obscure to be worth
28305 documenting.
28306 (QNX): Likewise.
28307 (chainloader): Remove cross-reference to `SCO UnixWare'.
28308
1c41aa78
CW
283092010-06-02 Colin Watson <cjwatson@ubuntu.com>
28310
28311 * docs/grub.texi (Chain-loading): New section.
28312 (DOS/Windows): New section, borrowed from GRUB Legacy with details
28313 adjusted for GRUB 2.
28314 (SCO UnixWare): Likewise.
28315 (QNX): Likewise.
28316 (chainloader): Add reference to `Block list syntax'.
28317 (drivemap): New section.
28318 (parttool): New section.
28319
bb8ea0f5
CW
283202010-06-02 Colin Watson <cjwatson@ubuntu.com>
28321
28322 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
28323 the grub shell'.
28324 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
28325 (Installing GRUB using grub-install): Remove reference to the grub
28326 shell; mention `grub-mkimage' and `grub-setup' instead.
28327 (Invoking grub-install): Likewise.
28328 (Interface): Add reference to `Menu entry editor'.
28329 (serial): Remove `--device' option.
28330
288dd6ed
CW
283312010-06-02 Colin Watson <cjwatson@ubuntu.com>
28332
28333 * docs/grub.texi (Configuration): New section, documenting
28334 configuration file generation using grub-mkconfig. I've left a slot
28335 for documenting the full shell scripting format but have not yet
28336 started on writing that up.
28337 (Invoking grub-mkconfig): New section.
28338
34c9f0e9
CW
283392010-06-02 Colin Watson <cjwatson@ubuntu.com>
28340
28341 * docs/grub.texi (direntry): Remove grub-terminfo reference.
28342 (GNU GRUB manual): Likewise.
28343 (General commands): Update description of `terminfo' for GRUB 2.
28344
9121567e
CW
283452010-06-02 Colin Watson <cjwatson@ubuntu.com>
28346
28347 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
28348 (GRUB_MOD_INIT): Fix capitalisation.
28349 * docs/grub.texi (Command-line and menu entry commands): Document
28350 gettext and gptsync commands.
28351
ab631611
CW
283522010-06-02 Colin Watson <cjwatson@ubuntu.com>
28353
28354 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
28355 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
28356
bde4a9ac
CW
283572010-06-01 Colin Watson <cjwatson@ubuntu.com>
28358
28359 Add btrfs probing support, currently only in the single-device case.
28360
28361 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
28362 function.
28363 (grub_guess_root_device): Call find_root_device_from_mountinfo
28364 before looking in /dev.
28365
b1d17e10
VS
283662010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28367
28368 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
28369 GRUB_DISK_SIZE_UNKNOWN.
28370 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
28371
dfbfe004
JS
283722010-05-31 Jiro SEKIBA <jir@unicus.jp>
28373
28374 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
28375 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
28376 corrupted or not synced properly.
28377
c2ffc8e9
VS
283782010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28379
28380 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
28381 Reported by: Seth Goldberg.
28382
56293166
VS
283832010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28384
28385 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
28386 addition of dest.
28387 Reported by: Seth Goldberg.
28388
7620e7de
VS
283892010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28390
28391 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
28392 Reported by: Seth Goldberg.
28393
c837af3f
VS
283942010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28395
28396 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
28397 64-bit address as signed on MIPS.
28398
c7c75cf4
CW
283992010-05-28 Colin Watson <cjwatson@ubuntu.com>
28400
28401 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
28402 to the empty string.
28403
fa4b8490
BC
284042010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
28405
28406 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
28407
28408 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
28409 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
28410 * kern/misc.c (__enable_execute_stack): Disable on
28411 GRUB_MACHINE_EMU.
28412
a33075b9
CW
284132010-05-28 Colin Watson <cjwatson@ubuntu.com>
28414
28415 Make grub-probe work with symbolic links under /dev/mapper as well
28416 as with real block devices. The Linux world seems to be (at best)
28417 in transition here, and GRUB shouldn't get caught in the middle.
28418
28419 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
28420 /dev/mapper.
28421
d8708134
CW
284222010-05-27 Colin Watson <cjwatson@ubuntu.com>
28423
28424 * util/grub-script-check.c (main): Ensure defined behaviour on empty
28425 input files (in which case exit zero).
28426
db2102a0
CW
284272010-05-27 Colin Watson <cjwatson@ubuntu.com>
28428
28429 * kern/emu/misc.c (canonicalize_file_name): realpath can still
28430 return NULL for various reasons even if it has a maximum-length
28431 buffer: for example, there might be a symlink loop, or the path
28432 might exceed PATH_MAX. If this happens, return NULL.
28433
5fdba519
RM
284342010-05-27 Robert Millan <rmh@gnu.org>
28435
28436 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
28437 partmap module to handle cross-partmap setups.
28438 Reported by Orestes Mas. Gràcies!
28439
d1d368e4
CW
284402010-05-27 Colin Watson <cjwatson@ubuntu.com>
28441
28442 * util/grub-mkrescue.in: Initialise override_dir rather than
28443 assuming that it's unset or empty in the environment.
28444
95ac3c73
GS
284452010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
28446
28447 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
28448 variable index into p_index to suppress a warning with -Wshadow.
28449
7d8c0213
BC
284502010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
28451
28452 * INSTALL: Added flex >= 2.5.35 requirement.
28453
db4d5813
VS
284542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28455
28456 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
28457
f24f4300
VS
284582010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28459
28460 cmostest support.
28461
28462 * commands/i386/cmostest.c: New file.
28463 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
28464 (cmostest_mod_SOURCES): New variable.
28465 (cmostest_mod_CFLAGS): Likewise.
28466 (cmostest_mod_LDFLAGS): Likewise.
28467 * conf/i386-pc.rmk: Likewise.
28468 * docs/grub.texi (Vendor power-on keys): New section.
28469 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
28470 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
28471 and GRUB_BUTTON_CMOS_ADDRESS.
28472 * util/grub.d/00_header.in: Handle powering-on by separate button.
28473
ad603f61
VS
284742010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28475
28476 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
28477 Removed drawing_scrollbar argument. All users updated
28478 Fixes #29792.
28479 Reported by Jo Shields
28480
3ecb080a
VS
284812010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28482
28483 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
28484 buffer since gfxterm handles double repaint.
28485
5f2316c1
VS
284862010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28487
28488 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
28489 * term/gfxterm.c (real_scroll): Likewise.
28490
9a25f885
VS
284912010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28492
28493 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
28494 before calling BIOS.
28495
39fbb79a
VS
284962010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28497
28498 * include/grub/i18n.h: Always enable grub_gettext.
28499
228cfa97
VS
285002010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28501
28502 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
28503 partition naming style.
28504
21717c8f
CW
285052010-05-21 Colin Watson <cjwatson@ubuntu.com>
28506
28507 * util/grub-mkconfig.in: Fix handling of -o so that it works when
28508 not the first option.
28509
c0f48e65
CW
285102010-05-20 Colin Watson <cjwatson@ubuntu.com>
28511
28512 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
28513
96779aec
CW
285142010-05-20 Colin Watson <cjwatson@ubuntu.com>
28515
28516 * util/misc.c: Move inclusion of <limits.h> to ...
28517 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
28518
fa9d256e
GS
285192010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
28520
28521 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
28522 Fix merge error in NetBSD code.
28523 (find_partition_start) [__NetBSD__]: Likewise.
28524
123b7a85
BC
285252010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
28526
28527 Fix grub-mkrescue usage unit testing.
28528
28529 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
28530
74276c0d
CF
285312010-05-18 Christian Franke <franke@computer.org>
28532
28533 * util/grub.d/10_windows.in: Use path names instead of
28534 drive letters to prevent warning from Cygwin 1.7.
28535 Add drivemap command to menuentry if needed.
28536
c4f7b523
ST
285372010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
28538
28539 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
28540 gnumach and gnumach.gz.
28541
95b97950
VS
285422010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28543
28544 * include/grub/i18n.h (gettext): Inline instead of using #define.
28545 (grub_gettext): Likewise.
28546 (_): Likewise.
28547
01b8d2d7
VS
285482010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28549
28550 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
28551 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
28552 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
28553 (main): Add a slash after pkglibdirroot.
28554
654e1d1e
VS
285552010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28556
28557 * util/grub-install.in: Add missing "in" keyword.
28558
26966aeb
VS
285592010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28560
28561 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
28562 Reported by: Seth Goldberg.
28563
75006747
VS
285642010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28565
28566 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
28567
74cbf5bd
CW
285682010-05-18 Colin Watson <cjwatson@ubuntu.com>
28569
28570 * configure.ac: Check for Linux device-mapper support.
28571
28572 * util/hostdisk.c (device_is_mapped): New function.
28573 (find_partition_start): New function, partly broken out from
28574 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
28575 device-mapper support added.
28576 (linux_find_partition): Use find_partition_start.
28577 (convert_system_partition_to_system_disk): Add `st' argument.
28578 Support Linux /dev/mapper/* devices if device-mapper support is
28579 available; only DM-RAID devices are understood at present.
28580 (find_system_device): Add `st' argument. Pass it to
28581 convert_system_partition_to_system_disk.
28582 (grub_util_biosdisk_get_grub_dev): Pass stat result to
28583 find_system_device and convert_system_partition_to_system_disk. Use
28584 find_partition_start.
28585
28586 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
28587 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
28588 * util/deviceiter.c [__linux__]: Define MINOR.
28589 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
28590 * util/mkdevicemap.c (grub_putchar): New function.
28591 (grub_getkey): New function.
28592 (grub_refresh): New function.
28593 (main): Set debug=all if -v -v is used.
28594
355b51e9
CW
285952010-05-18 Colin Watson <cjwatson@ubuntu.com>
28596
28597 Fix build with non-GNU libcs.
28598
28599 * util/misc.c (canonicalize_file_name): Move to ...
28600 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
28601 grub_make_system_path_relative_to_its_root.
28602
7fb5c25f
CW
286032010-05-18 Colin Watson <cjwatson@ubuntu.com>
28604
28605 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
28606 we handle finding grub-mkimage. Default to finding grub-mkimage in
28607 ${bindir} with program_transform_name applied, and provide a
28608 --grub-mkimage option to override this.
28609
1d3293d6
VS
286102010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28611
28612 Remove grub-mkisofs.
28613
28614 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
28615 (grub_mkisofs_SOURCES): Removed.
28616 (grub_mkisofs_CFLAGS): Removed.
28617 * util/mkisofs/defaults.h: Removed.
28618 * util/mkisofs/eltorito.c: Likewise.
28619 * util/mkisofs/exclude.h: Likewise.
28620 * util/mkisofs/hash.c: Likewise.
28621 * util/mkisofs/include/: Likewise.
28622 * util/mkisofs/include/fctldefs.h: Likewise.
28623 * util/mkisofs/include/mconfig.h: Likewise.
28624 * util/mkisofs/include/prototyp.h: Likewise.
28625 * util/mkisofs/include/statdefs.h: Likewise.
28626 * util/mkisofs/iso9660.h: Likewise.
28627 * util/mkisofs/joliet.c: Likewise.
28628 * util/mkisofs/match.c: Likewise.
28629 * util/mkisofs/match.h: Likewise.
28630 * util/mkisofs/mkisofs.c: Likewise.
28631 * util/mkisofs/mkisofs.h: Likewise.
28632 * util/mkisofs/msdos_partition.h: Likewise.
28633 * util/mkisofs/multi.c: Likewise.
28634 * util/mkisofs/name.c: Likewise.
28635 * util/mkisofs/rock.c: Likewise.
28636 * util/mkisofs/tree.c: Likewise.
28637 * util/mkisofs/write.c: Likewise.
28638
5dde9afe
VS
286392010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28640
28641 Unify grub-mkimage accross platforms.
28642
28643 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
28644 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
28645 (grub_mkelfimage_SOURCES): Removed.
28646 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
28647 (util/grub-mkimage.c_DEPENDENCIES): .. this.
28648 (bin_UTILITIES): Add grub-mkimage.
28649 (grub_mkimage_SOURCES): New variable.
28650 (kernel_img_HEADERS): Remove machine/kernel.h.
28651 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
28652 (pkglib_PROGRAMS): Add kernel.img.
28653 (kernel_img_HEADERS): Add machine/kernel.h.
28654 (kernel_img_FORMAT): Removed.
28655 (bin_UTILITIES): Remove grub-mkimage.
28656 (grub_mkimage_SOURCES): Removed.
28657 (grub_mkimage_CFLAGS): Likewise.
28658 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28659 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
28660 (pkglib_PROGRAMS): Add kernel.img.
28661 (bin_UTILITIES): Remove grub-mkimage.
28662 (grub_mkimage_SOURCES): Removed.
28663 (grub_mkimage_CFLAGS): Likewise.
28664 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28665 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
28666 (pkglib_PROGRAMS): Add kernel.img.
28667 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
28668 (pkglib_PROGRAMS): Add kernel.img.
28669 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
28670 (grub_mkimage_SOURCES): Removed.
28671 (grub_mkimage_CFLAGS): Likewise.
28672 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28673 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
28674 (pkglib_PROGRAMS): Add kernel.img.
28675 (bin_UTILITIES): Remove grub-mkimage.
28676 (grub_mkimage_SOURCES): Removed.
28677 (grub_mkimage_CFLAGS): Likewise.
28678 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28679 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
28680 (grub_mkimage_SOURCES): Removed.
28681 (grub_mkimage_CFLAGS): Likewise.
28682 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28683 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
28684 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
28685 (grub_pe32_optional_header): ... this.
28686 (grub_pe64_optional_header): ... and this. All users updated.
28687 (GRUB_PE32_PE32_MAGIC): Split into ..
28688 (GRUB_PE32_PE32_MAGIC): .. this.
28689 (GRUB_PE32_PE64_MAGIC): .. and this.
28690 (GRUB_PE32_SIGNATURE_SIZE): New definition.
28691 * include/grub/elf.h (PT_GNU_STACK): New definition.
28692 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
28693 * include/grub/i386/efi/kernel.h: Likewise.
28694 * include/grub/i386/kernel.h: Likewise.
28695 * include/grub/i386/pc/kernel.h: Likewise.
28696 * include/grub/i386/qemu/boot.h: Likewise.
28697 * include/grub/mips/kernel.h: Likewise.
28698 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28699 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28700 * include/grub/powerpc/kernel.h: Likewise.
28701 * include/grub/sparc64/ieee1275/boot.h: Likewise.
28702 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28703 * include/grub/sparc64/kernel.h: Likewise.
28704 * include/grub/x86_64/efi/kernel.h: Likewise.
28705 * include/grub/x86_64/kernel.h: Likewise.
28706 * include/grub/offsets.h: New file.
28707 * include/grub/kernel.h (grub_module_info): Split into ...
28708 (grub_module_info32): ... this.
28709 (grub_module_info64): ... and this.
28710 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
28711 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
28712 (grub_boot_blocklist): Moved from here ...
28713 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
28714 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
28715 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
28716 * include/grub/types.h (grub_target_to_host16): Removed.
28717 (grub_target_to_host32): Likewise.
28718 (grub_target_to_host64): Likewise.
28719 (grub_host_to_target16): Likewise.
28720 (grub_host_to_target32): Likewise.
28721 (grub_host_to_target64): Likewise.
28722 (grub_host_to_target_addr): Likewise.
28723
28724 Support grub-mkrescue for efi, coreboot and qemu.
28725
28726 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
28727 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
28728 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
28729 * util/grub-mkrawimage.c: Moved from here ...
28730 * util/grub-mkimage.c: ... here. All users updated.
28731 (ALIGN_ADDR): Use image_target.
28732 (TARGET_NO_FIELD): New const.
28733 (image_target_desc): New type.
28734 (image_targets): New array.
28735 (grub_target_to_host64): Use image_target.
28736 (grub_target_to_host32): Likewise.
28737 (grub_target_to_host16): Likewise.
28738 (grub_host_to_target64): Likewise.
28739 (grub_host_to_target32): Likewise.
28740 (grub_host_to_target16): Likewise.
28741 (grub_host_to_target_addr): Likewise.
28742 (generate_image): Handle multiimage.
28743 (main): Require -O parameter. All users updated.
28744 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
28745 util/efi/grub-mkimage.c
28746 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
28747 New option --rom-directory.
28748 Use xorriso.
28749 * util/i386/efi/grub-mkimage.c: Removed.
28750 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
28751 (grub_target_to_host32): Likewise.
28752 (grub_target_to_host64): Likewise.
28753 (grub_host_to_target16): Likewise.
28754 (grub_host_to_target32): Likewise.
28755 (grub_host_to_target64): Likewise.
28756 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
28757 (grub_target_to_host32): Likewise.
28758 (grub_target_to_host64): Likewise.
28759 (grub_host_to_target16): Likewise.
28760 (grub_host_to_target32): Likewise.
28761 (grub_host_to_target64): Likewise.
28762
f4fc97d0
BC
287632010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
28764
28765 Source tree is reorganized for emu build.
28766
28767 * include/grub/util/console.h: Move from here...
28768 * include/grub/emu/console.h: ...to here.
28769 * include/grub/util/getroot.h: Move from here...
28770 * include/grub/emu/getroot.h: ...to here.
28771 * include/grub/util/hostdisk.h: Move from here...
28772 * include/grub/emu/hostdisk.h: ...to here.
28773 * util/console.c: Move from here...
28774 * kern/emu/console.c: ...to here.
28775 * util/getroot.c: Move from here...
28776 * kern/emu/getroot.c: ...to here.
28777 * util/grub-emu.c: Move from here...
28778 * kern/emu/main.c: ...to here.
28779 * util/hostdisk.c: Move from here...
28780 * kern/emu/hostdisk.c: ...to here.
28781 * util/hostfs.c: Move from here...
28782 * kern/emu/hostfs.c: ...to here.
28783 * util/mm.c: Move from here...
28784 * kern/emu/mm.c: ...to here.
28785 * util/pci.c: Move from here...
28786 * bus/emu/pci.c: ...to here.
28787 * util/sdl.c: Move from here...
28788 * video/emu/sdl.c: ...to here.
28789 * util/time.c: Move from here...
28790 * kern/emu/time.c: ...to here.
28791 * util/usb.c: Move from here...
28792 * bus/usb/emu/usb.c: ...to here.
28793
28794 * include/grub/emu/misc.h: New header for grub-emu functions.
28795 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
28796
28797 * conf/any-emu.rmk: Rule updates for above renames.
28798 * conf/common.rmk: Likewise.
28799 * conf/i386-pc.rmk: Likewise.
28800 * conf/i386-qemu.rmk: Likewise.
28801 * conf/mips.rmk: Likewise.
28802 * conf/sparc64-ieee1275.rmk: Likewise.
28803 * conf/x86-efi.rmk: Likewise.
28804
28805 * disk/lvm.h: #include updates for above renames.
28806 * util/grub-mkrelpath.c: Likewise.
28807 * util/grub-probe.c: Likewise.
28808 * util/i386/pc/grub-setup.c: Likewise.
28809 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28810 * kern/emu/console.c: Likewise.
28811 * kern/emu/getroot.c: Likewise.
28812 * kern/emu/hostdisk.c: Likewise.
28813 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
28814
28815 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
28816 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
28817 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
28818 * util/misc.c: Remove grub-emu functions.
28819
cced9145
VS
288202010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
28821
28822 Fix gfxmenu crash.
28823 Reported by: Thorsten Grützmacher.
28824
28825 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
28826 timeout hook.
28827 (circprog_set_property): Register and unregister timeout hook.
28828 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
28829 (label_destroy): Free template. and unregister hook.
28830 (label_set_state): New function.
28831 (label_set_property): Handle templates and hooks.
28832 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
28833 timeout hook.
28834 (progress_bar_set_property): Register and unregister timeout hook.
28835 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
28836 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
28837 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
28838 (update_timeout_visit): Removed.
28839 (update_timeouts): New function.
28840 (redraw_timeouts): Likewise.
28841 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
28842 (grub_gfxmenu_clear_timeout): Likewise.
28843 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
28844 (grub_gfxmenu_timeout_notify): Likewise.
28845 (grub_gfxmenu_timeout_notifications): New external variable.
28846 (grub_gfxmenu_timeout_register): New function.
28847 (grub_gfxmenu_timeout_unregister): Likewise.
28848
c6e5caab
VS
288492010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28850
28851 Transform (broken) vga terminal into (working) vga video driver.
28852
28853 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
28854 video/i386/pc/vga.c.
28855 * include/grub/video.h (grub_video_driver_id):
28856 Add GRUB_VIDEO_DRIVER_VGA.
28857 * term/i386/pc/vga.c: Renamed to ...
28858 * video/i386/pc/vga.c: ...this
28859 (DEBUG_VGA): Removed.
28860 (CHAR_WIDTH): Likewise.
28861 (CHAR_HEIGHT): Likewise.
28862 (TEXT_WIDTH): Likewise.
28863 (TEXT_HEIGHT): Likewise.
28864 (DEFAULT_FG_COLOR): Likewise.
28865 (DEFAULT_BG_COLOR): Likewise.
28866 (colored_char): Likewise.
28867 (xpos): Likewise.
28868 (ypos): Likewise.
28869 (cursor_state): Likewise.
28870 (fg_color): Likewise.
28871 (bg_color): Likewise.
28872 (text_buf): Likewise.
28873 (page): Likewise.
28874 (font): Likewise.
28875 (framebuffer): New variable.
28876 (set_read_map): Disabled.
28877 (setup): New variable.
28878 (is_target): Likewise.
28879 (grub_vga_mod_init): Likewise.
28880 (grub_vga_mod_fini): Likewise.
28881 (check_vga_mem): Likewise.
28882 (write_char): Likewise.
28883 (write_cursor): Likewise.
28884 (scroll_up): Likewise.
28885 (grub_vga_putchar): Likewise.
28886 (grub_vga_getcharwidth): Likewise.
28887 (grub_vga_getwh): Likewise.
28888 (grub_vga_getxy): Likewise.
28889 (grub_vga_gotoxy): Likewise.
28890 (grub_vga_cls): Likewise.
28891 (grub_vga_setcolorstate): Likewise.
28892 (grub_vga_setcursor): Likewise.
28893 (grub_video_vga_init): New function.
28894 (grub_video_vga_setup): Likewise.
28895 (grub_video_vga_fini): Likewise.
28896 (update_target): Likewise.
28897 (grub_video_vga_blit_bitmap): Likewise.
28898 (grub_video_vga_blit_render_target): Likewise.
28899 (grub_video_vga_set_active_render_target): Likewise.
28900 (grub_video_vga_get_active_render_target): Likewise.
28901 (grub_video_vga_swap_buffers): Likewise.
28902 (grub_video_vga_set_palette): Likewise.
28903 (grub_video_vga_get_info_and_fini): Likewise.
28904 (grub_vga_term): Removed.
28905 (grub_video_vga_adapter): New variable.
28906 (GRUB_MOD_INIT): Register a video driver instead of terminal.
28907 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
28908
2bf61a98
VS
289092010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28910
28911 * video/readers/jpeg.c: Indented.
28912
09ddcd11
VS
289132010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28914
28915 Various jpeg cleanups.
28916
28917 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
28918 (grub_jpeg_decode_quan_table): Use sizeof.
28919 (grub_jpeg_decode_du): Use ARRAY_SIZE.
28920
e5507505
PH
289212010-05-05 Peter Hurley <No e-mail available> (tiny change)
28922
28923 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
28924 tables. Ignore non-last ac bit.
28925 (grub_jpeg_decode_quan_table): Likewise.
28926
7e720a9b
VS
289272010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28928
28929 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
28930 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
28931 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28932 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
28933 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
28934 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
28935
a7fc080b
VS
289362010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28937
28938 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
28939 error.
28940
2bf6012d
VS
289412010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28942
28943 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
28944
265d68cd
VS
289452010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28946
28947 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
28948 condition.
28949
289502010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
28951
28952 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
28953 part.
28954
265d68cd 289552010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
28956
28957 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
28958 pointers.
28959
265d68cd 289602010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
28961
28962 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
28963
d1b61374
CF
289642010-05-01 Christian Franke <franke@computer.org>
28965
28966 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
28967 Remove broken Cygwin path conversion.
28968 * util/misc.c: [__CYGWIN__] Add include and define.
28969 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
28970 for Cygwin 1.7.
28971 (make_system_path_relative_to_its_root): Simplify loop, replace early
28972 return by break.
28973 [__CYGWIN__] Add conversion to win32 path.
28974 Include "/" case in trailing slash removal.
28975
3558c6e9
VS
289762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28977
28978 * kern/main.c (grub_load_config): Fix copy-pasted comment.
28979 Reported by: Seth Goldberg
28980
f5f3ff93
VS
289812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28982
28983 * commands/help.c (grub_cmd_help): Fix a typo.
28984 Reported by: Seth Goldberg
28985
d8b5cd40
VS
289862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28987
28988 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
28989 name and add N_.
28990 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
28991 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
28992 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
28993 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
28994 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
28995 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
28996 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28997 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28998 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28999 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
29000 * normal/context.c (GRUB_MOD_INIT): Likewise.
29001 * normal/main.c (GRUB_MOD_INIT): Likewise.
29002 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
29003 * term/serial.c (GRUB_MOD_INIT): Likewise.
29004 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
29005
88c14915
VS
290062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29007
29008 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
29009 extra == 0.
29010
165134bc
VS
290112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29012
29013 * commands/iorw.c: New file.
29014 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
29015 (iorw_mod_SOURCES): New variable.
29016 (iorw_mod_CFLAGS): Likewise.
29017 (iorw_mod_LDFLAGS): Likewise.
29018
c5ac9b32
VS
290192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29020
29021 Hotkey support
29022
29023 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
29024 * normal/main.c (hotkey_aliases): New variable.
29025 (grub_normal_add_menu_entry): Parse "--hotkey".
29026 * normal/menu_text.c (run_menu): Handle hotkeys.
29027
ce60689c
VS
290282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29029
29030 * kern/i386/coreboot/init.c (grub_machine_init): Call
29031 grub_machine_mmap_init on qemu.
29032
0359d006
VS
290332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29034
29035 * boot/i386/qemu/boot.S: Add a missing .code16.
29036
7819a456
VS
290372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29038
29039 Use LBIO on coreboot.
29040
29041 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
29042 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
29043 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
29044 New declaration.
29045 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
29046 grub_machine_mmap_init on coreboot.
29047 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
29048 GRUB_LINUXBIOS_MEMBER_LINK.
29049 (grub_machine_mmap_iterate): Fix declaration.
29050 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
29051
7210dca9
VS
290522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29053
29054 Split coreboot and multiboot ports.
29055
29056 * conf/i386-multiboot.rmk: New file.
29057 * configure.ac: Add multiboot port.
29058 * include/grub/i386/multiboot/boot.h: New file.
29059 * include/grub/i386/multiboot/console.h: Likewise.
29060 * include/grub/i386/multiboot/init.h: Likewise.
29061 * include/grub/i386/multiboot/kernel.h: Likewise.
29062 * include/grub/i386/multiboot/loader.h: Likewise.
29063 * include/grub/i386/multiboot/memory.h: Likewise.
29064 * include/grub/i386/multiboot/serial.h: Likewise.
29065 * include/grub/i386/multiboot/time.h: Likewise.
29066 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
29067 * loader/multiboot.c: Likewise.
29068 * loader/multiboot_mbi2.c: Likewise.
29069 * util/grub-mkrescue.in: Generate multiboot rescue.
29070
6f8aaf68
VS
290712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29072
3080f7a7
VS
29073 * kern/parser.c (grub_parser_execute): Cope with read-only config.
29074
290752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
29076
29077 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
29078
29079 * commands/terminal.c (abstract_terminal): New struct.
29080 (handle_command): New function. Based on grub_cmd_terminal_input.
29081 (grub_cmd_terminal_input): Use handle_command.
29082 (grub_cmd_terminal_output): Use handle_command.
29083
a8ebb841
BC
290842010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
29085
29086 Fix comment handling.
29087
29088 * tests/grub_script_comments.in: New testcase.
29089 * conf/tests.rmk: Rules for new testcase.
29090 * script/yylex.l: Updated flex rules.
29091
bb06ba08
ST
290922010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
29093
29094 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
29095 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
29096 if argc is 1.
bb06ba08 29097
cc9d2425
VS
290982010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
29099
29100 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
29101 autogen issues.
29102
460d8402
CF
291032010-04-26 Christian Franke <franke@computer.org>
29104
29105 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
29106 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
29107 (grub_get_prefix): Remove function.
29108 * util/grub-emu.c (main): Replace grub_get_prefix () call by
29109 make_system_path_relative_to_its_root ().
29110 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
29111
553c01f9
CF
291122010-04-24 Christian Franke <franke@computer.org>
29113
29114 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
29115 (kernel_img_LDFLAGS): Remove -static-libgcc.
29116
2aec1692
CF
291172010-04-24 Christian Franke <franke@computer.org>
29118
29119 * configure.ac: Do not CHECK_BSS_START_SYMBOL
29120 and CHECK_END_SYMBOL if grub-emu is built.
29121 Unset TARGET_OBJ2ELF if grub-emu is built
29122 without module support.
29123
f67dc308
JS
291242010-04-24 Jiro SEKIBA <jir@unicus.jp>
29125
29126 Nilfs2 support.
29127
29128 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
29129 (grub_fstest_SOURCES): Likewise.
29130 (pkglib_MODULES): Add nilfs2.mod.
29131 (nilfs2_mod_SOURCES): New variable.
29132 (nilfs2_mod_CFLAGS): Likewise.
29133 (nilfs2_mod_LDFLAGS): Likewise.
29134 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
29135 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
29136 * fs/nilfs2.c: New file.
29137
4ba8d354
VS
291382010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
29139
29140 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
29141 is not supported.
29142
0d2c20c6
GS
291432010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
29144
29145 Add grub-mkconfig support for NetBSD.
29146
29147 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
29148 * util/grub-mkconfig.in: export new NetBSD specific variables.
29149 * po/POTFILES-shell: added 10_netbsd.in.
29150 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
29151
bc4a2d83
BC
291522010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
29153
29154 Fix emu build with grub-emu-pci and grub-emu-modules.
29155
29156 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
29157 functions.
29158 * include/grub/libpciaccess.h: New file.
29159 * conf/any-emu.rmk: Update kernel headers for emu build.
29160
f48c87aa
VS
291612010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
29162
29163 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
29164
18959385
VS
291652010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
29166
29167 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
29168
0037de3f
VS
291692010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
29170
29171 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
29172 Retrieve chosen/bootpath if bootpath isn't hardcoded.
29173 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
29174 util/ieee1275/ofpath.c.
29175 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
29176 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
29177 * include/grub/sparc64/ieee1275/boot.h
29178 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
29179 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
29180 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
29181 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
29182 const char *.
29183 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
29184 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
29185 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
29186 install.
29187
38e55e90
GS
291882010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
29189
29190 * util/grub-mkconfig.in: Corrected two == equality tests.
29191 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
29192 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
29193 expect a number appended to it.
29194 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
29195 expects a number appended to it.
29196
a9e6ff28
VS
291972010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
29198
29199 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
29200
0b830b8f
VS
292012010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
29202
29203 * util/hostdisk.c (make_device_name): Change to new partition naming.
29204
0973daeb
VS
292052010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
29206
29207 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
29208
460d8402 292092010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
29210
29211 * Makefile.in: Add missing localedir setting.
29212
0b456309
CW
292132010-04-14 Colin Watson <cjwatson@ubuntu.com>
29214
29215 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
29216 mistake in r2156. Noticed by Anthony Fok.
29217
29218 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
29219 @localedir@.
29220 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29221
08f46d62
BC
292222010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
29223
29224 Fix a spurious, uninitialized variable warning.
29225
29226 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
29227 Initialize variable, shdr.
29228 (grub_freebsd_load_elfmodule): Likewise.
29229 (grub_freebsd_load_elf_meta): Likewise.
29230
8c4a72d4
BC
292312010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
29232
29233 Fix for escaped dollar in double quoted strings.
29234
29235 * script/yylex.l: Updated flex rules.
29236 * conf/tests.rmk: Rule for new testcase.
29237 * tests/grub_script_dollar.in: New testcase.
29238
ce44826e
CPE
292392010-04-13 Carles Pina i Estany <carles@pina.cat>
292402010-04-13 Colin Watson <cjwatson@ubuntu.com>
29241
29242 Enclose all translated strings in grub.cfg in single quotes, and
29243 escape them appropriately (Ubuntu bug #552921).
29244
29245 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
29246 * util/grub.d/10_hurd.in: Use it.
29247 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29248 * util/grub.d/10_linux.in (linux_entry): Likewise.
29249
4b0cd8f8
VS
292502010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29251
29252 Fix cygwin compilation.
29253
29254 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
29255 * include/grub/misc.h (__register_frame_info)
29256 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
29257 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
29258 * kern/misc.c (__register_frame_info)
29259 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
29260 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
29261
01fcf061
VS
292622010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29263
29264 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
29265
5d04b11e
VS
292662010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29267
29268 Unify libgcc processing.
29269
29270 * Makefile.in (kernel_img_LDFLAGS): New variable.
29271 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
29272 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
29273 overwriting.
29274 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
29275 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
29276 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
29277 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
29278 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
29279 overwriting. Remove -lgcc and -static-libgcc
29280 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
29281 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29282 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29283 (kernel_img_LDFLAGS): Append instead of overwriting.
29284 Remove -lgcc and -static-libgcc
29285 * conf/sparc64-ieee1275.rmk: Likewise.
29286 * include/grub/powerpc/libgcc.h: Move to ...
29287 * include/grub/libgcc.h: .. this.
29288 * include/grub/libgcc.h: Don't export most of the function on x86.
29289 (__bswapsi2): New export.
29290 (__bswapdi2): Likewise.
29291 * include/grub/mips/libgcc.h: Removed.
29292 * include/grub/sparc64/libgcc.h: Likewise.
29293
b7f3ac29
VS
292942010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29295
29296 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
29297 disk_info_msg (conflicts with gettexting into languages with cases).
29298
2c7031b1
GS
292992010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
29300
29301 Add grub-probe support for NetBSD.
29302
29303 * util/getroot.c (find_root_device): Convert block device to
29304 character device on NetBSD.
29305 * util/probe.c (probe): Require character device on NetBSD.
29306 * util/hostdisk.c: NetBSD specific headers.
29307 (configure_device_driver): new function to tune device driver
29308 parameters (currently only for NetBSD floppy driver).
29309 (grub_util_biosdisk_open): NetBSD specific code (get disk size
29310 via disklabel ioctl).
29311 (open_device): call configure_device_driver on NetBSD.
29312 (convert_system_partition_to_system_disk): NetBSD specific code.
29313 (device_is_wholedisk): Likewise.
29314 (grub_util_biosdisk_get_grub_dev): Likewise.
29315 (make_device_name): Fixed a typo in bsd_part_str.
29316 * configure.ac: check for opendisk() and getrawpartition() on
29317 NetBSD and set LIBUTIL.
29318 * Makefile.in: add LIBUTIL to LIBS.
29319
f516290c
BC
293202010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29321
29322 Documentation fix.
29323
29324 * util/grub-script-check.c: Better help message.
29325
d8dcc0df
BC
293262010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29327
29328 Fix FreeBSD build.
29329
29330 * configure.ac: Flex version check.
29331 * conf/common.rmk: Add -Wno-error to sh.mod.
29332 * script/yylex.l: Remove all #pragma.
29333
6734334a
VS
293342010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29335
29336 * include/grub/util/misc.h (canonicalise_file_name): Add missing
29337 prototype.
29338 Reported by: Seth Goldberg.
29339
daea6abd
VS
293402010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29341
29342 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
29343 Rename "module" to "module2".
29344 Reported by: Seth Goldberg.
29345
f2fd9d2b
VS
293462010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29347
29348 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
29349 EXPORT_FUNC.
29350 Reported by: Seth Goldberg.
29351
be124579
VS
293522010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29353
29354 * lib/posix_wrap/locale.h: Add missing file.
29355 Reported by: Seth Goldberg.
29356
ef5da797
VS
293572010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29358
29359 grub-emu module load support.
29360
29361 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
29362 NO_DYNAMIC_MODULES switched to this.
29363 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
29364 (CFLAGS): Likewise.
29365 * conf/any-emu.rmk: Generate symlist.
29366 (kernel_img_HEADERS): Add util/datetime.h.
29367 (kernel_img_HEADERS) [sdl]: Add sdl.h.
29368 (kernel_img_HEADERS) [libusb]: Add libusb.h.
29369 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
29370 kern/$(target_cpu)/cache.S.
29371 * configure.ac (grub-emu-modules): New option.
29372 * genmk.rb: Handle multiple source lists.
29373 * include/grub/sdl.h: New file.
29374 * include/grub/libusb.h: Likewise.
29375 * util/grub-emu.c (main): Hanle (host) root.
29376 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
29377 GRUB_ERR_UNKNOWN_DEVICE.
29378 * util/misc.c: Move mm functions to ...
29379 * util/mm.c: ... here. All users updated.
29380
47822096
VS
293812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29382
29383 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
29384 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
29385 missing files.
29386 (maintainer-clean): Remove libgcrypt-grub.
29387
5d7e7445
VS
293882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29389
29390 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
29391
25f4e252
EC
293922010-04-09 EFI Coder <eficoder@hotmail.com>
29393
29394 * normal/menu_text.c (print_message): Clean up the message and show
29395 the Fn information when on EFI
29396 * term/efi/console.c (grub_console_checkkey): Add F4 support.
29397
027de555
VS
293982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29399
29400 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
29401 All users updated.
29402 * normal/crypto.c (read_crypto_list): Likewise.
29403 * normal/dyncmd.c (read_command_list): Likewise.
29404 * normal/term.c (read_terminal_list): Likewise.
29405 * normal/main.c (read_lists): Use explicit prefix.
29406 (read_lists_hook): Use read_lists.
29407 (grub_normal_execute): Likewise.
29408
47779711
VS
294092010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29410
29411 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
29412 Reported by: Thomas Schmitt.
29413 Add -no-emul-boot to grub-mkisofs parameters.
29414
1118c32e
VS
294152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29416
29417 * font/font.c: Indented.
29418
7d652447
BC
294192010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29420
29421 Elif support to GRUB script (by Deepak Vankadaru).
29422
29423 * tests/grub_script_if.in: New testcase.
29424 * conf/tests.rmk: Rule for new testcase.
29425 * script/parser.y: Grammar rules for elif.
29426
34bb22df
BC
294272010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29428
29429 While and until loops support to GRUB script.
29430
29431 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
29432 (grub_script_create_cmdwhile): New function prototype.
29433 (grub_script_execute_cmdwhile): New function prototype.
29434 * script/execute.c (grub_script_execute_cmdwhile): New function.
29435 * script/parser.y (command): New commands.
29436 (whilecmd): New grammar rule.
29437 (untilcmd): New grammar rule.
29438 * script/script.c (grub_script_create_cmdwhile): New function.
29439 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
29440 function.
29441
29442 * tests/grub_script_while1.in: New testcase.
29443 * conf/tests.rmk: Rule for new testcase.
29444
e215d8e0
VS
294452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29446
29447 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
29448 as *.jpg.
29449
d7c43ba1
MV
294502010-04-09 Mario Vazquez <mariovazq@gmail.com>
29451
29452 GRUB_BACKGROUND support.
29453
29454 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
29455 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
29456
d64795c0
VS
294572010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29458
29459 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 29460 Idea by: Mario Vazquez
d64795c0
VS
29461
29462 * util/grub.d/00_header.in: Load pf2 and image modules.
29463
f267f83a
VS
294642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29465
29466 grub-mkconfig multiple terminal support.
29467
29468 * util/grub-mkconfig.in: Handle multiple terminals correctly.
29469 * util/grub.d/00_header.in: Likewise.
29470
b7841ceb
VS
294712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29472
29473 * Makefile.in: Specify files explicitly instead of using $< and $@ since
29474 we use cd $(srcdir).
29475
df60998c
CW
294762010-04-08 Colin Watson <cjwatson@ubuntu.com>
29477
29478 * util/grub.d/10_linux.in: Only use the first word of
29479 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
29480 spaces in GRUB_DISTRIBUTOR.
29481 * util/grub.d/10_kfreebsd.in: Likewise.
29482 * util/grub.d/10_hurd.in: Likewise.
29483
fa09c82e
BC
294842010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
29485
14e18ae3 29486 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
29487
29488 * tests/util/grub-shell.in: Remove -serial stdio option.
29489
daf892b3
BC
294902010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
29491
29492 POSIX header file wrappers.
29493
29494 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
29495 equivalents.
29496 * lib/posix_wrap/ctype.h: Likewise.
29497 * lib/posix_wrap/errno.h: Likewise.
29498 * lib/posix_wrap/langinfo.h: Likewise.
29499 * lib/posix_wrap/limits.h: Likewise.
29500 * lib/posix_wrap/localcharset.h: Likewise.
29501 * lib/posix_wrap/stdint.h: Likewise.
29502 * lib/posix_wrap/stdio.h: Likewise.
29503 * lib/posix_wrap/stdlib.h: Likewise.
29504 * lib/posix_wrap/string.h: Likewise.
29505 * lib/posix_wrap/sys/types.h: Likewise.
29506 * lib/posix_wrap/unistd.h: Likewise.
29507 * lib/posix_wrap/wchar.h: Likewise.
29508 * lib/posix_wrap/wctype.h: Likewise.
29509 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
29510 (grub_script.yy.h): Likewise.
29511 * script/yylex.l: Remove POSIX emulation #defines.
29512 * Makefile.in (POSIX_CFLAGS): New variable.
29513 (GNULIB_UTIL_CFLAGS): Likewise.
29514
29515 Regexp support.
29516
29517 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
29518 (regexp_mod_SOURCES): New variable.
29519 (regexp_mod_CFLAGS): Likewise.
29520 (regexp_mod_LDFLAGS): Likewise.
29521 * commands/regexp.c: New file.
29522 * gnulib/regcomp.c: New file. Imported from gnulib.
29523 * gnulib/regex.c: Likewise.
29524 * gnulib/regex_internal.c: Likewise.
29525 * gnulib/regex_internal.h: Likewise.
29526 * gnulib/regexec.c: Likewise.
29527 * gnulib/regex.h: Likewise.
29528
974ac4f7
VS
295292010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29530
29531 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
29532 unsupported video mode types.
29533
2622c3ff
VS
295342010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29535
29536 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
29537
064cb524
VS
295382010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29539
29540 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
29541 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
29542
a8c3b552
VS
295432010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29544
29545 Remove unused grub_vga_get_font.
29546
29547 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
29548 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
29549
187bbe3d
GS
295502010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29551
29552 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
29553 * include/grub/misc.h: Likewise.
29554
b9396631
GS
295552010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29556
29557 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
29558 for which failure is fatal.
29559
50479feb
GS
295602010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29561
29562 * util/grub-install.in: Use mkdir -p to create grub directory.
29563 * util/i386/efi/grub-install.in: Likewise.
29564 * util/ieee1275/grub-install.in: Likewise.
29565
b1654fdf
GS
295662010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29567
29568 * Makefile.in (LEX): new variable.
29569
bd5a6415
GS
295702010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29571
29572 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
29573 `=' and added double quotes on operands of this equality test.
29574
3db3a82b
VS
295752010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29576
29577 * Makefile.in (uninstall): Remove a leftover debug echo.
29578 Reported by: Grégoire Sutre
29579
38023412
VS
295802010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29581
29582 MIPS multiboot2 support.
29583
29584 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
29585 (multiboot2_mod_SOURCES): New variable.
29586 (multiboot2_mod_CFLAGS): Likewise.
29587 (multiboot2_mod_LDFLAGS): Likewise.
29588 (multiboot2_mod_ASFLAGS): Likewise.
29589 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
29590 definition.
29591 (MULTIBOOT_ENTRY_REGISTER): Likewise.
29592 (MULTIBOOT_MBI_REGISTER): Likewise.
29593 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
29594 (MULTIBOOT_ELF32_MACHINE): Likewise.
29595 (MULTIBOOT_ELF64_MACHINE): Likewise.
29596 * include/grub/mips/multiboot.h: New file.
29597 * include/grub/video.h (grub_video_driver_id): New type
29598 GRUB_VIDEO_DRIVER_SM712.
29599 (grub_video_get_info_and_fini): Export.
29600 (grub_video_get_palette): Likewise.
29601 (grub_video_get_driver_id): Likewise.
29602 * include/multiboot2.h: Resynced with spec.
29603 * loader/i386/multiboot.c: Moved from here ...
29604 * loader/multiboot.c: ... here. All users updated.
29605 (grub_multiboot_boot): Use platform-specific macros.
29606 * loader/i386/multiboot_elfxx.c: Moved from here ...
29607 * loader/multiboot_elfxx.c: ... here. All users updated.
29608 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
29609 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
29610 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
29611
47674667
VS
296122010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
29613
29614 Import gnulib argp module.
29615
29616 * gnulib/argp-ba.c: New file.
29617 * gnulib/argp-eexst.c: Likewise.
29618 * gnulib/argp-fmtstream.c: Likewise.
29619 * gnulib/argp-fmtstream.h: Likewise.
29620 * gnulib/argp-fs-xinl.c: Likewise.
29621 * gnulib/argp-help.c: Likewise.
29622 * gnulib/argp-namefrob.h: Likewise.
29623 * gnulib/argp-parse.c: Likewise.
29624 * gnulib/argp-pin.c: Likewise.
29625 * gnulib/argp-pv.c: Likewise.
29626 * gnulib/argp-pvh.c: Likewise.
29627 * gnulib/argp-version-etc.c: Likewise.
29628 * gnulib/argp-version-etc.h: Likewise.
29629 * gnulib/argp-xinl.c: Likewise.
29630 * gnulib/argp.h: Likewise.
29631
495442ed
VS
296322010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29633
29634 * kern/device.c (grub_device_iterate): Clear errors after failed
29635 opening device.
29636
f9fd65df
VS
296372010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29638
29639 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
29640 returned by firmware.
29641
af09641e
VS
296422010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
29643
29644 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
29645 compilation on coreboot and qemu
29646
016883a5
VS
296472010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29648
29649 * include/multiboot2.h: Resync with spec.
29650
f97e1f7d
VS
296512010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29652
29653 Multiboot2 tag support
29654
29655 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
29656 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
29657 Remove loader/multiboot_loader.c.
29658 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
29659 (grub_multiboot2_real_boot): Likewise.
29660 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
29661 (grub_get_multiboot_mmap_count): New proto.
29662 (grub_fill_multiboot_mmap): Likewise.
29663 (grub_multiboot_set_video_mode): Likewise.
29664 (grub_multiboot_set_console): Likewise.
29665 (grub_multiboot_load): Likewise.
29666 (grub_multiboot_load_elf): Likewise.
29667 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
29668 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
29669 * include/multiboot.h: Resynced with specification.
29670 * include/multiboot2.h: Resynced with specification.
29671 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
29672 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
29673 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
29674 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
29675 users updated.
29676 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
29677 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
29678 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
29679 Removed.
29680 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
29681 Moved from here...
29682 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
29683 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
29684 Moved from here...
29685 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
29686 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
29687 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
29688 All users updated.
29689 * loader/i386/multiboot_mbi2.c: New file.
29690
3506b90b
VS
296912010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29692
29693 Resync with gnulib.
29694
29695 * Makefile.in (GNULIB_CFLAGS): New variable.
29696 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
29697 (grub_script_check_CFLAGS): New variable.
29698 * gnulib/alloca.h: Resync with gnulib.
29699 * gnulib/error.c: Likewise.
29700 * gnulib/error.h: Likewise.
29701 * gnulib/fnmatch.c: Likewise.
29702 * gnulib/fnmatch_loop.c: Likewise.
29703 * gnulib/getdelim.c: Likewise.
29704 * gnulib/getline.c: Likewise.
29705 * gnulib/getopt.c: Likewise.
29706 * gnulib/getopt1.c: Likewise.
29707 * gnulib/getopt_int.h: Likewise.
29708 * gnulib/gettext.h: Likewise.
29709 * gnulib/progname.c: Likewise.
29710 * gnulib/progname.h: Likewise.
29711
394a3120
GS
297122010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
29713
29714 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
29715 which is the case with --disabled-nls.
29716
29717 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
29718 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
29719 * util/misc.c: Likewise.
29720 * util/mkisofs/mkisofs.c: Likewise.
29721 * util/mkisofs/mkisofs.h: Likewise.
29722
969d1c78
VS
297232010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29724
29725 Simplify Apple CC support.
29726
29727 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
29728 Add 0 byte at the end not to have a symbol with empty target.
29729 * mmap/i386/pc/mmap_helper.S: Likewise.
29730 * genmk.rb: Ignore errors 2030 and 2050.
29731 * kern/i386/pc/startup.S: Use LOCAL when possible.
29732
8d2977bb
BC
297332010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
29734
29735 Testcase and the fix for final semicolon on cmdline.
29736
29737 * tests/grub_script_final_semicolon.in: New testcase.
29738 * conf/tests.rmk: Rules for the new testcase.
29739 * script/parser.y: Grammar fix.
29740
a7bd6915
BC
297412010-03-26 BVK Chaitanya <bvk@localhost>
29742
29743 Blank lines testcase for GRUB script.
29744
29745 * tests/grub_script_blanklines.in: New testcase.
29746 * conf/tests.rmk: Rules for the new testcase.
29747
e4ff6628
VS
297482010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29749
29750 Don't use __FILE__.
29751
29752 * genmk.rb: Add -DGRUB_FILE to all C targets.
29753 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
29754 * include/grub/list.h: Likewise.
29755 * include/grub/misc.h: Likewise.
29756 * include/grub/mm.h: Likewise.
29757 * include/grub/test.h: Likewise.
29758 * kern/mm.c: Likewise.
29759 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29760
6a5cf6b6
VS
297612010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29762
29763 Sunpc partitions support.
29764
29765 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
29766 (grub_fstest_SOURCES): Likewise.
29767 (pkglib_MODULES): Add part_sunpc.mod.
29768 (part_sunpc_mod_SOURCES): New variable.
29769 (part_sunpc_mod_CFLAGS): Likewise.
29770 (part_sunpc_mod_LDFLAGS): Likewise.
29771 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
29772 * partmap/sunpc.c: New file.
29773
746d9045
BC
297742010-03-26 BVK Chaitanya <bvk@localhost>
29775
29776 For loop support to GRUB script.
29777
29778 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
29779 (grub_script_create_cmdfor): New function prototype.
29780 (grub_script_execute_cmdfor): New function prototype.
29781 * script/execute.c (grub_script_execute_cmdfor): New function.
29782 * script/parser.y (command): New for command.
29783 (forcmd): New grammar rule.
29784 * script/script.c (grub_script_create_cmdfor): New function.
29785 * util/grub-script-check.c (grub_script_execute_cmdfor): New
29786 function.
29787 * tests/grub_script_for1.in: New testcase.
29788 * conf/tests.rmk: Rules for new testcase.
29789
18486b18
VS
297902010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29791
29792 Nested partitions
29793
29794 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
29795 'partition' is NULL, grub_partition_get_start already does that.
29796 * commands/loadenv.c (check_blocklists): Likewise.
29797 (write_blocklists): Likewise.
29798 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
29799 (grub_fstest_SOURCES): Likewise.
29800 (pkglib_MODULES): Add part_bsd.mod.
29801 (part_bsd_mod_SOURCES): New variable.
29802 (part_bsd_mod_CFLAGS): Likewise.
29803 (part_bsd_mod_LDFLAGS): Likewise.
29804 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
29805 (grub_emu_SOURCES): Likewise.
29806 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29807 * include/grub/bsdlabel.h: New file.
29808 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
29809 'get_name'.
29810 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
29811 (grub_partition_map_list): New variable.
29812 (grub_partition_map_register): Inline.
29813 (grub_partition_map_unregister): Likewise.
29814 (FOR_PARTITION_MAPS): New macro.
29815 (grub_partition_map_iterate): Removed.
29816 (grub_partition_get_start): Handle nested partitions.
29817 * include/grub/msdos_partition.h: Remove bsd-related entries.
29818 (grub_pc_partition): Remove.
29819 * kern/disk.c (grub_disk_close): Free partition data.
29820 (grub_disk_adjust_range): Handle nested partitions.
29821 * kern/partition.c (grub_partition_map_probe): New function.
29822 (grub_partition_probe): Parse name to number, handle subpartitions.
29823 (get_partmap): New function.
29824 (grub_partition_iterate): Handle subpartitions.
29825 (grub_partition_get_name): Likewise.
29826 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
29827 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
29828 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
29829 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
29830 Set 'number'.
29831 (acorn_partition_map_probe): Remove.
29832 (acorn_partition_map_get_name): Likewise.
29833 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
29834 Set 'number'.
29835 Set 'index' to 0 since there can be only one partition entry per sector.
29836 (amiga_partition_map_probe): Remove.
29837 (amiga_partition_map_get_name): Likewise.
29838 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
29839 Set 'number'.
29840 Set 'offset' and 'index' to real positions of partitions.
29841 (apple_partition_map_probe): Remove.
29842 (apple_partition_map_get_name): Likewise.
29843 * partmap/bsdlabel.c: New file.
29844 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
29845 Set 'number'.
29846 Allocate 'data' so it can be correctly freed.
29847 Set 'index' to offset inside sector.
29848 (gpt_partition_map_probe): Remove.
29849 (gpt_partition_map_get_name): Likewise.
29850 * partmap/msdos.c (grub_partition_parse): Remove.
29851 (pc_partition_map_iterate): Don't force raw access.
29852 Set 'number'.
29853 Make 'ext_offset' a local variable.
29854 (pc_partition_map_probe): Remove.
29855 (pc_partition_map_get_name): Remove.
29856 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
29857 Set 'number'.
29858 (sun_partition_map_probe): Remove.
29859 (sun_partition_map_get_name): Likewise.
29860 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
29861 (grub_pcpart_type): Likewise.
29862 * util/hostdisk.c (open_device): Handle new numbering scheme.
29863 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
29864 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
29865 * util/grub-probe.c (probe_partmap): Handle nested paritions.
29866 * util/grub-install.in: Insert all subpartition modules.
29867 * util/ieee1275/grub-install.in: Likewise.
29868
a3940f88
AG
298692010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
29870
29871 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
29872 grammar.
29873
21b99926 298742010-03-24 Colin Watson <cjwatson@ubuntu.com>
29875
29876 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
29877
bed1d352
CW
298782010-03-21 Colin Watson <cjwatson@ubuntu.com>
29879
29880 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
29881 match where 'make install' puts them.
29882 * util/i386/efi/grub-install.in: Likewise.
29883
c9f58427
CW
298842010-03-19 Colin Watson <cjwatson@ubuntu.com>
29885
29886 * .bzrignore: Add gentrigtables, grub-script-check,
29887 grub_script_check_init.c, grub_script_check_init.h, and
29888 trigtables.c.
29889
f84afb27
VS
298902010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
29891
29892 * kern/parser.c: Indented.
29893
ed0e3d30
VS
298942010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29895
29896 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
29897
0ea81d98
VS
298982010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29899
29900 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
29901 alpha_mask_size == 0 case.
29902
0cdc2a09
BC
299032010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
29904
29905 GRUB shell lexer and parser improvements.
29906
29907 * conf/any-emu.rmk: Build rule updates.
29908 * conf/common.rmk: Likewise.
29909 * conf/i386-coreboot.rmk: Likewise.
29910 * conf/i386-efi.rmk: Likewise.
29911 * conf/i386-ieee1275.rmk: Likewise.
29912 * conf/i386-pc.rmk: Likewise.
29913 * conf/powerpc-ieee1275.rmk: Likewise.
29914 * conf/x86_64-efi.rmk: Likewise.
29915
29916 * configure.ac: Configure check for flex.
29917
29918 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
29919 types.
29920 (grub_lexer_param): Struct member updates.
29921 (grub_parser_param): Likewise.
29922 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
29923 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
29924 (grub_script_lexer_init): Prototype update.
29925 (grub_script_lexer_record_start): Likewise.
29926 (grub_script_lexer_record_stop): Likewise.
29927 (grub_script_lexer_yywrap): New function prototype.
29928 (grub_script_lexer_fini): Likewise.
29929 (grub_script_execute_argument_to_string): Removed by...
29930 (grub_script_execute_argument_to_argv): ...better version.
29931
29932 * script/execute.c (ROUND_UPTO): New macro.
29933 (grub_script_execute_cmdline): Out of memory fixes.
29934 (grub_script_execute_menuentry): Likewise.
29935 (grub_script_execute_argument_to_string): Removed. Update all
29936 users by...
29937 (grub_script_execute_argument_to_argv): ...better version.
29938 * script/function.c (grub_script_function_create): Use
29939 grub_script_execute_argument_to_argv instead of
29940 grub_script_execute_argument_to_string.
29941
29942 * script/lexer.c (check_varstate): Removed.
29943 (check_textstate): Removed.
29944 (grub_script_lexer_record_start): Likewise.
29945 (grub_script_lexer_record_stop): Likewise.
29946 (recordchar): Replaced with...
29947 (grub_script_lexer_record): ...new function.
29948 (nextchar): Removed.
29949 (grub_script_lexer_init): Rewritten.
29950 (grub_script_yylex): Rewritten.
29951 (append_newline): New function.
29952 (grub_script_lexer_yywrap): New function.
29953 (grub_script_lexer_fini): New function.
29954 (grub_script_yyerror): Sets error flag.
29955
29956 * script/yylex.l: New file.
29957 (grub_lexer_yyfree): Wrapper for flex yyffre.
29958 (grub_lexer_yyalloc): Likewise.
29959 (grub_lexer_yyrealloc): Likewise.
29960 * script/parser.y: Refactored.
29961
29962 * script/script.c (grub_script_arg_add): Out of memory fixes.
29963 (grub_script_add_arglist): Likewise.
29964 (grub_script_create_cmdline): Likewise.
29965 (grub_script_create_cmdmenu): Likewise.
29966 (grub_script_add_cmd): Likewise.
29967 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
29968 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
29969 unnecessary code.
29970
29971 * tests/grub_script_echo1.in: New testcase.
29972 * tests/grub_script_vars1.in: New testcase.
29973 * tests/grub_script_echo_keywords.in: New testcase.
29974
1d63a066
VS
299752010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29976
29977 Remove some redundancy in build system.
29978
29979 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
29980 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
29981 (TARGET_LDFLAGS): Add -nostdlib.
29982 (TARGET_IMG_LDFLAGS): Likewise.
29983 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
29984 anything since mmap isn't available.
29985 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
29986 Add util/time.c.
29987 (pkglib_MODULES): Remove reboot.mod.
29988 (reboot_mod_SOURCES): Removed.
29989 (reboot_mod_CFLAGS): Likewise.
29990 (reboot_mod_LDFLAGS): Likewise.
29991 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
29992 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
29993 (DEFSYMFILES): Add kernel_syms.lst.
29994 (kernel_img_HEADERS): Add common headers.
29995 (symlist.c): New target.
29996 (kernel_syms.lst): Likewise.
29997 (pkglib_MODULES): Add memdisk.mod.
29998 (memdisk_mod_SOURCES): New variable.
29999 (memdisk_mod_CFLAGS): Likewise.
30000 (memdisk_mod_LDFLAGS): Likewise.
30001 (pkglib_MODULES): Add reboot.mod.
30002 (reboot_mod_SOURCES): New variable.
30003 (reboot_mod_CFLAGS): Likewise.
30004 (reboot_mod_LDFLAGS): Likewise.
30005 (pkglib_MODULES): Add date.mod.
30006 (date_mod_SOURCES): New variable.
30007 (date_mod_CFLAGS): Likewise.
30008 (date_mod_LDFLAGS): Likewise.
30009 (pkglib_MODULES): Add datehook.mod.
30010 (datehook_mod_SOURCES): New variable.
30011 (datehook_mod_CFLAGS): Likewise.
30012 (datehook_mod_LDFLAGS): Likewise.
30013 (pkglib_MODULES): Add lsmmap.mod.
30014 (lsmmap_mod_SOURCES): New variable.
30015 (lsmmap_mod_CFLAGS): Likewise.
30016 (lsmmap_mod_LDFLAGS): Likewise.
30017 (pkglib_MODULES): Add boot.mod.
30018 (boot_mod_SOURCES): New variable.
30019 (boot_mod_CFLAGS): Likewise.
30020 (boot_mod_LDFLAGS): Likewise.
30021 * conf/i386-coreboot.rmk: Removed redundant parts.
30022 * conf/i386-ieee1275.rmk: Likewise.
30023 * conf/i386-pc.rmk: Likewise.
30024 * conf/mips-yeeloong.rmk: Likewise.
30025 * conf/mips.rmk: Likewise.
30026 * conf/powerpc-ieee1275.rmk: Likewise.
30027 * conf/sparc64-ieee1275.rmk: Likewise.
30028 * conf/x86_64-efi.rmk: Likewise.
30029 * conf/i386-coreboot.rmk: Moved qemu parts ..
30030 * conf/i386-qemu.rmk: ... here
30031 * conf/i386-efi.rmk: Moved common parts to...
30032 * conf/x86-efi.rmk: ... here.
30033 * conf/i386.rmk: Added modules common to all x86 variants.
30034 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
30035 * disk/memdisk.c: Remove grub/machine/kernel.h.
30036 * gensymlist.sh.in: Include symbol.h.
30037 * hook/datehook.c: Correct module name.
30038 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
30039 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
30040 * include/grub/i386/efi/serial.h: New file.
30041 * include/grub/x86_64/efi/serial.h: Likewise.
30042 * util/time.c: Likewise.
30043 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
30044
463ac55f
CK
300452010-03-14 Colin King <colin.king@ubuntu.com>
300462010-03-14 Colin Watson <cjwatson@ubuntu.com>
30047
30048 Shrink the pre-partition-table part of boot.img by eight bytes.
30049
30050 * boot/i386/pc/boot.S (ERR): New macro.
30051 (chs_mode): Use ERR.
30052 (geometry_error): Likewise.
30053 (hd_probe_error): Remove. This is only used once, so we wrwite
30054 it inline instead.
30055 (read_error): Instead of printing read_error_string, just set up
30056 %si and fall through to ...
30057 (error_message): ... this new function, also used by ERR.
30058
08e46ede
CW
300592010-03-14 Colin Watson <cjwatson@ubuntu.com>
30060
30061 Speed up consecutive hostdisk operations on the same device.
30062
30063 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
30064 (grub_util_biosdisk_open): Initialise disk->data.
30065 (struct linux_partition_cache): New structure.
30066 (linux_find_partition): Cache partition start positions; these are
30067 expensive to compute on every read and write.
30068 (open_device): Cache open file descriptor in disk->data, so that we
30069 don't have to reopen it and flush the buffer cache for consecutive
30070 operations on the same device.
30071 (grub_util_biosdisk_close): New function.
30072 (grub_util_biosdisk_dev): Set `close' member.
30073
30074 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
30075 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
30076 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30077 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
30078 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
30079
4a6d2d06
VS
300802010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
30081
30082 Compile parts of grub-emu as modules.
30083
30084 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
30085 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
30086 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
30087 (all-local): Add $(GRUB_EMU).
30088 (install-local): Install $(GRUB_EMU).
30089 (uninstall): Uninstall $(GRUB_EMU).
30090 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
30091 * kern/dl.c: Likewise.
30092 * commands/sleep.c: Not include machine/time.h.
30093 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
30094 (COMMON_CFLAGS): Likewise.
30095 (sbin_UTILITIES): Remove grub-emu.
30096 (grub_emu_SOURCES): Removed.
30097 (kernel_img_RELOCATABLE): New variable.
30098 (pkglib_PROGRAMS): Add kernel.img.
30099 (kernel_img_SOURCES): New variable
30100 (kernel_img_CFLAGS): Likewise.
30101 (kernel_img_LDFLAGS): Likewise.
30102 (TARGET_NO_STRIP): Likewise.
30103 (TARGET_NO_DYNAMIC_MODULES): Likewise.
30104 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
30105 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
30106 (grub-emu): New target.
30107 (GRUB_EMU): New variable.
30108 * configure.ac: Whitelist -emu as possible x86_64 architecture.
30109 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
30110 * loader/xnu.c: Likewise.
30111 * include/grub/pci.h: Likewise.
30112 * genemuinit.sh: New file.
30113 * genemuinitheader.sh: Likewise.
30114 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
30115 Support TARGET_NO_DYNAMIC_MODULES.
30116 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
30117 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
30118 * disk/loopback.c: Likewise.
30119 * font/font_cmd.c: Likewise.
30120 * partmap/acorn.c: Likewise.
30121 * partmap/amiga.c: Likewise.
30122 * partmap/apple.c: Likewise.
30123 * partmap/gpt.c: Likewise.
30124 * partmap/msdos.c: Likewise.
30125 * partmap/sun.c: Likewise.
30126 * parttool/msdospart.c: Likewise.
30127 * term/gfxterm.c: Likewise.
30128 * video/bitmap.c: Likewise.
30129 * video/readers/jpeg.c: Likewise.
30130 * video/readers/png.c: Likewise.
30131 * video/readers/tga.c: Likewise.
30132 * video/video.c: Likewise.
30133 * util/grub-emu.c (read_command_list): Removed.
30134 (main): Don't call util_init_nls.
30135 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
30136 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
30137
91fdd2ed
VS
301382010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
30139
30140 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
30141 date.mod, datehook.mod.
30142 (datetime_mod_SOURCES): New variable.
30143 (datetime_mod_CFLAGS): Likewise.
30144 (datetime_mod_LDFLAGS): Likewise.
30145 (date_mod_SOURCES): Likewise.
30146 (date_mod_CFLAGS): Likewise.
30147 (date_mod_LDFLAGS): Likewise.
30148 (datehook_mod_SOURCES): Likewise.
30149 (datehook_mod_CFLAGS): Likewise.
30150 (datehook_mod_LDFLAGS): Likewise.
30151 * conf/sparc64-ieee1275.rmk: Likewise.
30152 * lib/ieee1275/datetime.c: New file.
30153
873ccae6
VS
301542010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
30155
30156 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
30157 (ieee1275_fb_mod_SOURCES): New variable.
30158 (ieee1275_fb_mod_CFLAGS): Likewise.
30159 (ieee1275_fb_mod_LDFLAGS): Likewise.
30160 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
30161 New proto.
30162 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
30163 (HEAP_MAX_ADDR): Likewise.
30164 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
30165 type.
30166 Correct stop condition.
30167 (grub_ieee1275_devices_iterate): New function.
30168 * video/ieee1275.c: New file.
30169
601c97c0
VS
301702010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
30171
30172 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
30173
30174 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
30175 as scratch.
30176 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
30177 SCRATCH_PAD_DISKBOOT as scratch.
30178 (bootit): Pass Openfirmware pointer in %o4.
30179 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
30180 of 0x200000.
30181 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
30182 with util/grub-mkrawimage.c.
30183 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
30184 * include/grub/aout.h (AOUT_MID_SUN): New definition.
30185 (grub_aout_get_type) [GRUB_UTIL]: Removed.
30186 (grub_aout_load) [GRUB_UTIL]: Likewise.
30187 * include/grub/kernel.h (grub_modules_get_end): New proto.
30188 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
30189 (SCRATCH_PAD_BOOT): New definition.
30190 (SCRATCH_PAD_DISKBOOT): Likewise.
30191 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
30192 * include/grub/sparc64/ieee1275/ieee1275.h
30193 (grub_ieee1275_original_stack): New variable
30194 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30195 New definition
30196 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
30197 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
30198 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
30199 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
30200 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
30201 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
30202 (grub_platform_image_format_t): New type.
30203 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
30204 * kern/main.c (grub_modules_get_end)
30205 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
30206 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
30207 (codestart): Switch stacks.
30208 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
30209 variable.
30210 (grub_heap_init): Use grub_modules_get_end.
30211 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
30212 stack.
30213 * util/grub-mkrawimage.c (generate_image): Support sparc64.
30214 (main): Likewise.
30215 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
30216
d68b491e
TG
302172010-03-14 Thorsten Glaser <tg@mirbsd.org>
30218
30219 * util/grub-mkrescue.in: Base ISO UUID on UTC.
30220
4e02ed50
MK
302212010-03-08 Matt Kraai <kraai@ftbfs.org>
30222
30223 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
30224 bug #559005).
30225
1f15fc1e
VS
302262010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
30227
30228 * genmoddep.awk: Output all missing symbols and not only first.
30229
fce5d8ff
VS
302302010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30231
30232 * NEWS: Put the date of 1.98 release.
30233
d1e8a02f
VS
302342010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30235
30236 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
30237 ft2build.h.
30238
696fd607
VS
302392010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30240
30241 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
30242 completition in the middle of string.
30243
33e2e6f3
VS
302442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30245
30246 * util/grub-mkrescue.in: Use mktemp with explicit template.
30247
b1f6d291
VS
302482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30249
30250 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
30251
2ac227c7
VS
302522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30253
30254 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
30255 right pointer.
30256
8f9a632b
VS
302572010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
30258
30259 Fix FreeBSD compilation.
30260
30261 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
30262 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
30263
60b03859
VS
302642010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
30265
30266 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
30267
48a5a769
VS
302682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30269
30270 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
30271
3ab4bd77
VS
302722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30273
30274 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
30275
d116e0d8
RM
302762010-03-04 Robert Millan <rmh.grub@aybabtu.com>
30277
30278 Support relative image path in theme file.
30279
30280 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
30281 (image_set_property): Handle theme_dir and relative path.
30282
c7ef54aa
VS
302832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30284
30285 * configure.ac: Alias amd64 to x86_64.
30286
fcee14ed
VS
302872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30288
30289 * NEWS: mention multiboot on EFI.
30290
d0780363
VS
302912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30292
30293 * kern/main.c (grub_load_modules): Handle errors from init functions of
30294 embeded modules.
30295
41168ea4
VS
302962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30297
30298 * normal/autofs.c (autoload_fs_module): Handle errors.
30299
b54d93ac
VS
303002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30301
30302 Disable linux.mod on qemu-mips since it's not functional and leads
30303 to compilation failure.
30304
30305 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
30306 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
30307 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
30308 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
30309 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
30310 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
30311 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
30312 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
30313 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
30314 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
30315 Reported by: BVK Chaitanya
30316
fc8345da
JU
303172010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
30318
30319 * INSTALL: Add gettext as a dependency and add qemu to a new section
30320 "Prerequisites for make-check".
30321
4760f979
CF
303222010-03-04 Christian Franke <franke@computer.org>
30323
30324 * util/grub-pe2elf.c: Add missing include "progname.h".
30325
f209b5b2
VS
303262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30327
30328 * normal/crypto.c (read_crypto_list): Fix a typo.
30329 Reported by: Seth Goldberg.
30330
b4b7be98
VS
303312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30332
30333 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 30334 Reported by: Seth Goldberg.
b4b7be98 30335
c0ee0385
VS
303362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30337
30338 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
30339 ascii.bitmaps.
30340
a8efbf64
VS
303412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30342
30343 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 30344 Reported by: Seth Goldberg.
a8efbf64 30345
08dcd913
VS
303462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30347
30348 * util/i386/efi/grub-install.in: Copy gettext files.
30349
c4d0b332
VS
303502010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30351
30352 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
30353
c6f2fe52
VS
303542010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30355
30356 Wait for user entry basing on presence of output rather than on errors.
30357
30358 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
30359 (grub_install_newline_hook): Likewise.
30360 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
30361 * normal/menu.c (show_menu): Check line_counter to determine presence
30362 of output.
30363 * normal/term.c (grub_normal_line_counter): New variable.
30364 (grub_normal_get_line_counter): New function.
30365 (grub_install_newline_hook): Likewise.
30366
5382b1e4
VS
303672010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30368
30369 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
30370
5519963b
VS
303712010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30372
30373 * configure.ac: Update version to 1.98.
30374
72b28631
VS
303752010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
30376
30377 * util/grub.d/10_linux.in (linux_entry): Don't default to
30378 gfxpayload=keep if Linux doesn't support video handover.
30379
c140a180
VS
303802010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
30381
30382 Don't compile video modules on yeeloong since video subsystem is part
30383 of kernel.
30384
30385 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
30386 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
30387 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
30388 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
30389 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
30390 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
30391 * include/grub/bitmap_scale.h: Likewise.
30392 * include/grub/bufio.h: Likewise.
30393 * include/grub/font.h: Likewise.
30394 * include/grub/gfxterm.h: Likewise.
30395 * include/grub/video.h: Likewise.
30396 * include/grub/vbe.h: Don't include video_fb.h.
30397 * video/i386/pc/vbe.c: Include video_fb.h.
30398 * commands/i386/pc/vbetest.c: Include video.h.
30399
a0ca21c2
CW
304002010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
30401
30402 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
30403 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
30404 default entry if GRUB_SAVEDEFAULT=true. This allows using
30405 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
30406 saving a new default on every boot.
30407
4a8a763c
VS
304082010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30409
30410 * normal/crypto.c (read_crypto_list): Fix a memory leak.
30411 * normal/term.c (read_terminal_list): Likewise.
30412 * normal/main.c (grub_normal_init_page): Likewise.
30413 (grub_normal_read_line_real): Likewise.
30414
607ffde2
VS
304152010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30416
30417 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
30418 memory leak.
30419 Reported by: Seth Goldberg.
30420
2b8fa975
CW
304212010-02-24 Joey Korkames <joey+lists@kidfixit.com>
30422
30423 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
30424 duplicate declaration of `start'.
30425
618307dd
VS
304262010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30427
30428 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
30429 filename.
30430 Reported by: Georgy Buranov
30431
7dd05b96 304322010-02-20 Carles Pina i Estany <carles@pina.cat>
30433
30434 * util/grub-mkrawimage.c (usage): Change string formatting to
30435 improve gettext.
30436
d1484a42
MRA
304372010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
30438
30439 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
30440 backspace keys.
30441
42b1d186
VS
304422010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30443
30444 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
30445 Reported by: Michael Suchanek.
30446
304472010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
30448
30449 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
30450 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
30451
d9f31a41
VS
304522010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
30453
30454 Remove any reference to non-free fonts.
30455
30456 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
30457 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
30458 uses non-free components.
30459 * font/font.c (grub_font_get_name): Remove example name.
30460 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
30461 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
30462 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
30463 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
30464
2793c71e
GB
304652010-02-16 Georgy Buranov <gburanov@gmail.com>
30466
30467 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
30468
402e3779
VS
304692010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30470
30471 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
30472 Double divisor.
30473 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
30474 features.
30475 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
30476
0dd1e0dd
VS
304772010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30478
30479 * gensymlist.sh.in: Use TARGET_CC instead of CC.
30480
6fa7cfce
ST
304812010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30482
30483 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
30484 * docs/grub.texi (Command-line and menu entry commands): Document play
30485 command.
30486
37c8483b
ST
304872010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30488
30489 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
30490 parse arguments as inline tempo and notes. Move code for playing notes
30491 to...
30492 (play): ... new function.
30493
14da0fb7
ST
304942010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30495
30496 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
30497 grub_uint16_t instead of short.
30498 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
30499 disk from little endian to cpu endianness.
30500
04459e70
ST
305012010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
30502
30503 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
30504 GRUB_TICKS_PER_SECOND instead of 120.
30505
a0876943
VS
305062010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30507
30508 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
30509 escape sequence after \e.
30510
e29f95dc
VS
305112010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30512
30513 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
30514 non-ASCII characters.
30515
d27859b2
VS
305162010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30517
30518 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
30519 set root in single quotes to prevent \, from being unescaped.
30520
bc028f2f
VS
305212010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30522
30523 Prevent unknown commands from stopping menuentry execution.
30524
30525 * script/execute.c (grub_script_execute_cmdline): Print error after
30526 unknown command.
30527
095f5f82
VS
305282010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30529
30530 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
30531 Reported by: Pavel Pisa.
30532
8c717950
VS
305332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30534
30535 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
30536
904935c3
VS
305372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30538
30539 Merge grub_ieee1275_map_physical into grub_map and rename to
30540 grub_ieee1275_map
30541
30542 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
30543 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
30544 Remove.
30545 * kern/ieee1275/openfw.c (grub_map): Rename to ...
30546 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
30547 necessary.
30548 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
30549
5b59a4e3
VS
305502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30551
30552 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
30553 opening and not after.
30554
69e137e8
VS
305552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30556
30557 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
30558 constants.
30559
2c0fcc36
VS
305602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30561
30562 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
30563 (alloc_phys): Use ALIGN_UP instead of align_addr.
30564
8c6052ce
VS
305652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30566
30567 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
30568
17cec782
VS
305692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30570
30571 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
30572
e0128bbd
VS
305732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30574
30575 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
30576 verbose dprintf.
30577
ca62070b
VS
305782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30579
30580 Fix over-4GiB seek on sparc64.
30581
30582 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
30583 Replace pos_i and pos_lo with pos. All users updated.
30584 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30585 New constant.
30586 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30587 Likewise.
30588 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
30589 and pos_lo.
30590
bdca2607
VS
305912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30592
30593 * util/grub-mkrawimage.c (main): Call set_program_name.
30594
da278c4d
VS
305952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30596
30597 Properly align 64-bit targets.
30598
30599 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
30600 (generate_image): Use ALIGN_ADDR.
30601
b274d734
VS
306022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30603
30604 Properly create cross-endian images.
30605
30606 * include/grub/types.h (grub_host_to_target_addr): New macro
30607 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
30608
82da2062
VS
306092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30610
30611 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
30612
7cae4377
VS
306132010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30614
30615 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
30616
30617 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
30618 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
30619 (grub_linux_boot): Divide by 64K when on VESA.
30620
65a533e7
VS
306212010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30622
30623 Support GRUB_GFXPAYLOAD_LINUX.
30624
30625 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
30626 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
30627
dd01d397
VS
306282010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30629
30630 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
30631 to show messages instead of discarding them.
30632 Process errors after executing command and not before. Keep old method
30633 too as precaution.
30634
660960d6
VS
306352010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
30636
30637 * configure.ac: Check for ft2build.h.
30638
62509f04
VS
306392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30640
30641 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
30642
473df63d
VS
306432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30644
30645 * genkernsyms.sh.in: Use TARGET_CC.
30646
c98d2a13
CW
306472010-02-07 Colin Watson <cjwatson@ubuntu.com>
30648
30649 * NEWS: Update.
30650
6e14234c
VS
306512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30652
30653 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
30654 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
30655 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 30656
b255e9cf
YB
306572010-02-07 Yves Blusseau <blusseau@zetam.org>
30658
6e14234c 30659 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 30660
98e6959d
VS
306612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30662
30663 Fix warnings in grub-emu when compiling with maximum warning options.
30664
30665 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
30666 (grub_arch_modules_addr): Return 0 and not NULL.
30667 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 30668 (xstrdup): Use newstr instead of dup.
f88d801b
VS
30669 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
30670 of disk to dsk to avoid shadowing.
74e4934e
VS
30671 (find_free_slot): Fix prototype.
30672 * util/getroot.c (grub_util_is_dmraid): Make static.
30673 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
30674 Add missing prototype.
30675 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 30676
74e31b5c
VS
306772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30678
30679 * loader/i386/linux.c (grub_linux_setup_video): Handle error
30680 appropriately.
30681
6b2ad14b
VS
306822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30683
30684 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
30685 code out.
30686
8f891adc
VS
306872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30688
30689 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
30690 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
30691 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
30692 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
30693 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
30694 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
30695
74b45184
VS
306962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30697
30698 * include/grub/err.h (grub_err_printf): Don't export.
30699
a4bced77
VS
307002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30701
30702 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
30703
007d0695
VS
307042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30705
30706 * include/grub/i18n.h (grub_gettext_dummy): Removed.
30707 * kern/misc.c (grub_gettext_dummy): Make static.
30708
b6c0d9c2
VS
307092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30710
30711 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
30712 by non-valid ones.
30713 * kern/term.c (grub_putchar): Likewise.
30714
f51a90d0
VS
307152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30716
30717 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
30718 buggy hook call and memory leak.
30719
6846cec5
VS
307202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30721
30722 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
30723
468d69fe
VS
307242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30725
30726 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
30727
51906b8c
VS
307282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30729
30730 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
30731 modevar.
30732 Return grub_errno on allocation error.
30733
09706ce5
VS
307342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30735
30736 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
30737
911df80c
YB
307382010-02-06 Yves Blusseau <blusseau@zetam.org>
30739
30740 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
30741 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
30742
3746a6bc
VS
307432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30744
30745 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
30746 non-pxe disk.
30747 (grub_pxefs_open): Likewise.
30748
09706ce5
VS
307492010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30750
30751 * util/grub.d/10_hurd.in: Add --class information to menuentries.
30752 * util/grub.d/10_kfreebsd.in: Likewise.
30753 * util/grub.d/10_linux.in: Likewise.
30754
7cc192d9
VS
307552010-02-06 Colin D Bennett <colin@gibibit.com>
30756
30757 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
30758 (gfxmenu_mod_SOURCES): New variable.
30759 (gfxmenu_mod_CFLAGS): Likewise.
30760 (gfxmenu_mod_LDFLAGS): Likewise.
30761 * include/grub/term.h (grub_term_set_current_output): Declare
30762 argument as const.
30763 * docs/gfxmenu-theme-example.txt: New file.
30764 * gfxmenu/gfxmenu.c: Likewise.
30765 * gfxmenu/gui_box.c: Likewise.
30766 * gfxmenu/gui_canvas.c: Likewise.
30767 * gfxmenu/gui_circular_progress.c: Likewise.
30768 * gfxmenu/gui_image.c: Likewise.
30769 * gfxmenu/gui_label.c: Likewise.
30770 * gfxmenu/gui_list.c: Likewise.
30771 * gfxmenu/gui_progress_bar.c: Likewise.
30772 * gfxmenu/gui_string_util.c: Likewise.
30773 * gfxmenu/gui_util.c: Likewise.
30774 * gfxmenu/icon_manager.c: Likewise.
30775 * gfxmenu/model.c: Likewise.
30776 * gfxmenu/named_colors.c: Likewise.
30777 * gfxmenu/theme_loader.c: Likewise.
30778 * gfxmenu/view.c: Likewise.
30779 * gfxmenu/widget-box.c: Likewise.
30780 * include/grub/gfxmenu_model.h: Likewise.
30781 * include/grub/gfxmenu_view.h: Likewise.
30782 * include/grub/gfxwidgets.h: Likewise.
30783 * include/grub/gui.h: Likewise.
30784 * include/grub/gui_string_util.h: Likewise.
30785 * include/grub/icon_manager.h: Likewise.
30786
307872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30788
30789 Agglomerate scrolling in gfxterm.
30790
30791 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
30792 (grub_virtual_screen_setup): Initialise 'total_screen'.
30793 (write_char): Split to ...
30794 (paint_char): ... this ...
30795 (write_char): ... and this.
30796 (paint_char): Handle delayed scrolling.
30797 (draw_cursor): Likewise.
30798 (scroll_up): Split to ...
30799 (real_scroll): ... this ...
30800 (scroll_up): ... and this.
30801 (real_scroll): Handle multi-line scroll and draw below-the-bottom
30802 characters.
30803 (grub_gfxterm_refresh): Call real_scroll.
30804
308052010-02-06 Colin D Bennett <colin@gibibit.com>
30806
30807 * include/grub/misc.h (grub_iscntrl): New inline function.
30808 (grub_isalnum): Likewise.
30809 (grub_strtol): Likewise.
30810
308112010-02-06 Colin D Bennett <colin@gibibit.com>
30812
30813 * normal/menu_text.c (get_entry_number): Move from here ...
30814 * normal/menu.c (get_entry_number): ... moved here.
30815 * include/grub/menu.h (grub_menu_get_default_entry_index):
30816 New prototype.
30817 * normal/menu.c (grub_menu_get_default_entry_index): New function.
30818 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
30819 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
30820 (grub_menu_viewer_should_return): Likewise.
30821 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
30822 * normal/menu_text.c (run_menu): Enable menu switching.
30823 * normal/menu_viewer.c (should_return): New variable.
30824 (menu_viewer_changed): Likewise.
30825 (grub_menu_viewer_show_menu): Handle menu viewer changes.
30826 (grub_menu_viewer_should_return): New function.
30827 (menuviewer_write_hook): Likewise.
30828 (grub_menu_viewer_init): Likewise.
30829
308302010-02-06 Colin D Bennet <colin@gibibit.com>
308312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30832
30833 Support for gfxterm in a window.
30834
30835 * include/grub/gfxterm.h: New file.
30836 * include/grub/video.h (struct grub_video_rect): New declaration.
30837 (grub_video_rect_t): Likewise.
30838 * term/gfxterm.c (struct grub_gfxterm_window): New type.
30839 (refcount): New variable.
30840 (render_target): Likewise.
30841 (window): Likewise.
30842 (repaint_callback): Likewise.
30843 (grub_virtual_screen_setup): Use 'render_target'.
30844 (init_window): New function.
30845 (grub_gfxterm_init_window): Likewise.
30846 (grub_gfxterm_init): Check reference counter.
30847 Use init_window.
30848 (destroy_window): New function.
30849 (grub_gfxterm_destroy_window): Likewise.
30850 (grub_gfxterm_fini): Check reference counter.
30851 Use destroy_window.
30852 (redraw_screen_rect): Restore viewport.
30853 Use 'render_target' and 'window'.
30854 Call 'repaint_callback'.
30855 (write_char): Use 'render_target'.
30856 (draw_cursor): Likewise.
30857 (scroll_up): Restore viewport.
30858 Use 'render_target' and 'window'.
30859 Call 'repaint_callback'.
30860 (grub_gfxterm_cls): Likewise.
30861 (grub_gfxterm_refresh): Use 'window'.
30862 (grub_gfxterm_set_repaint_callback): New function.
30863 (grub_gfxterm_background_image_cmd): Use 'window'.
30864 (grub_gfxterm_get_term): New function.
30865 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
30866
308672010-02-06 Colin D Bennett <colin@gibibit.com>
30868
30869 Bitmap scaling support.
30870
30871 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
30872 (bitmap_scale_mod_SOURCES): New variable.
30873 (bitmap_scale_mod_CFLAGS): Likewise.
30874 (bitmap_scale_mod_LDFLAGS): Likewise.
30875 * include/grub/bitmap_scale.h: New file.
30876 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
30877 (background_image_cmd_options): New variable.
30878 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
30879 (cmd): Rename and change type to ...
30880 (background_image_cmd_handle): ... this. All users updated.
30881 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
30882 * video/bitmap_scale.c: New file.
30883
308842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30885
30886 SDL support.
30887
30888 * Makefile.in (LIBSDL): New variable.
30889 (enable_grub_emu_sdl): Likewise.
30890 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
30891 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
30892 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
30893 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
30894 * util/sdl.c: New file.
30895
308962010-02-06 Colin D Bennett <colin@gibibit.com>
308972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30898
30899 Double buffering support.
30900
30901 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
30902 * include/grub/video.h: Update comment.
30903 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
30904 New type.
30905 (grub_video_fb_doublebuf_blit_init): New prototype.
30906 * term/gfxterm.c (scroll_up): Support double buffering.
30907 (grub_gfxterm_refresh): Likewise.
30908 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
30909 (grub_video_fb_doublebuf_blit_init): Likewise.
30910 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
30911 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
30912 'displayed_page', 'render_page' and 'update_screen'.
30913 (grub_video_vbe_fini): Free offscreen buffer.
30914 (doublebuf_pageflipping_commit): New function.
30915 (doublebuf_pageflipping_update_screen): Likewise.
30916 (doublebuf_pageflipping_init): Likewise.
30917 (double_buffering_init): Likewise.
30918 (grub_video_vbe_setup): Enable doublebuffering.
30919 (grub_video_vbe_swap_buffers): Implement.
30920 (grub_video_vbe_set_active_render_target): Handle double buffering.
30921 (grub_video_vbe_get_active_render_target): Likewise.
30922 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
30923 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
30924 (grub_video_vbe_enable_double_buffering): Likewise.
30925 (grub_video_vbe_swap_buffers): Use update_screen.
30926 (grub_video_set_mode): Use double buffering.
30927
309282010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30929
30930 * maintainance/gentrigtables.py: Remove.
30931 * lib/trig.c: Likewise.
30932
30933 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
30934
30935 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
30936 `trigtables.c'.
30937 (trigtables.c): New rule.
30938 (gentrigtables): Likewise.
30939 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
30940
309412010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30942
30943 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
30944 integer constants.
30945
309462010-02-06 Colin D Bennet <colin@gibibit.com>
30947
30948 Trigonometry support.
30949
30950 * include/grub/trig.h: New file.
30951 * lib/trig.c: Likewise.
30952 * maintainance/gentrigtables.py: Likewise.
30953 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
30954 (trig_mod_SOURCES): New variable.
30955 (trig_mod_CFLAGS): Likewise.
30956 (trig_mod_LDFLAGS): Likewise.
30957
5562834e
VS
309582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30959
30960 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
30961 disk devices.
30962
4f8528fc
VS
309632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30964
30965 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
30966 error.
30967
2b4068e9
VS
309682010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30969
30970 * util/hostdisk.c (open_device): Don't use partition device when reading
30971 before the partition.
30972 (grub_util_biosdisk_read): Don't read from partition and before the
30973 partition in single operation.
30974 (grub_util_biosdisk_write): Don't write to partition and before the
30975 partition in single operation.
30976
399f6e4d
TL
309772010-02-03 Torsten Landschoff <torsten@debian.org>
30978
30979 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30980 last sectors.
30981
996649b0
VS
309822010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30983
30984 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
30985 CDROM reads.
30986 (grub_biosdisk_write): Refuse to write to CDROM.
30987
3b205d4d
VS
309882010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30989
30990 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
30991
61e89d9d
VS
309922010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30993
30994 * font/font.c (find_glyph): Check that bmp_idx is available before
30995 using it.
30996 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
30997 with (font == NULL).
30998
bf7fcba2
CS
309992010-01-28 Christian Schmitt <chris@ilovelinux.de>
31000
31001 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
31002
f45d2663
BC
310032010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
31004
31005 * include/grub/script_sh.h (sourcecode): Add const qualifier.
31006 * util/grub-script-check.c (getline): Fix empty lines case.
31007
ec1444e6
RM
310082010-01-28 Robert Millan <rmh.grub@aybabtu.com>
31009
31010 * Makefile.in (check): Exit with fail status when one of the tests
31011 fails.
31012 * tests/example_functional_test.c (example_test): Fix reversed assert.
31013 * tests/example_unit_test.c (example_test): Likewise.
31014
2e1cb9bb
CW
310152010-01-28 Colin Watson <cjwatson@ubuntu.com>
31016
31017 * util/grub.d/10_linux.in: This script does not use any of the
31018 contents of gettext.sh, only the external command `gettext', so stop
31019 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
31020 the same prefix as GRUB.)
31021 * util/grub.d/10_kfreebsd.in: Likewise.
31022
63533ab0
VS
310232010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
31024
31025 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
31026 of the line.
31027
989e1f93
VS
310282010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
31029
31030 * kern/disk.c (grub_disk_read): Fix offset computation when reading
31031 last sectors.
31032
e709ebe2
VS
310332010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
31034
31035 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
31036 having a 4KiB and not 32KiB buffer size.
31037
27dea7ed
RM
310382010-01-27 Robert Millan <rmh.grub@aybabtu.com>
31039
31040 * util/hostfs.c: Include `<errno.h>'.
31041 (grub_hostfs_read): Handle errors from fseeko() and fread().
31042
67667b9c
RM
310432010-01-27 Robert Millan <rmh.grub@aybabtu.com>
31044
31045 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
31046 loop when using read hooks on files whose size isn't sector-aligned.
31047
c294d9d8
RM
310482010-01-27 Robert Millan <rmh.grub@aybabtu.com>
31049
31050 Remove unused parameter.
31051
31052 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
31053 (grub_iso9660_open): Remove initialization of `data->length'.
31054
af75a9f1
RM
310552010-01-27 Robert Millan <rmh.grub@aybabtu.com>
31056
31057 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
31058 memleak conditions.
31059
254e2ce5 310602010-01-27 Carles Pina i Estany <carles@pina.cat>
31061
31062 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
31063 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
31064
b510928c 310652010-01-26 Carles Pina i Estany <carles@pina.cat>
31066
31067 * util/bin2h.c (usage): Fix warning (space after backslash).
31068
aa2f9dd2 310692010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 31070
31071 * font/font.c: Include `grub/fontformat.h.
31072 Remove font file format constants.
31073 (grub_font_load): Use the new macros.
31074 * include/grub/fontformat.h: New file.
31075 * util/grub-mkfont.c: Include `grub/fontformat.c'.
31076 (write_font_pf2): Use the new macros.
31077
94e7e712
RM
310782010-01-26 Robert Millan <rmh.grub@aybabtu.com>
31079
31080 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
31081 does.
31082
3973a59a
RM
310832010-01-26 Robert Millan <rmh.grub@aybabtu.com>
31084
31085 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
31086
31087 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
31088 (_start): Macroify `0x7F'.
31089
31090 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
31091 (make_install_device): Use "(pxe)" as fallback prefix when booting
31092 via PXE.
31093
42e0cba3
GS
310942010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
31095
31096 * configure.ac: Reset LIBS after check for libgcc symbols.
31097
847effd8
CW
310982010-01-25 Colin Watson <cjwatson@ubuntu.com>
31099
31100 * util/hostdisk.c (open_device): Add trailing newline to debug
31101 message.
31102
ea4a7e35
GS
311032010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
31104
31105 * configure.ac: Check for `limits.h'.
31106 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
31107
67951a53
RM
311082010-01-24 Robert Millan <rmh.grub@aybabtu.com>
31109
31110 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
31111 capitalize error strings.
31112
c273d4ce
ST
311132010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
31114
31115 * util/grub.d/10_hurd.in: Add a recovery mode.
31116
69be5b74
VS
311172010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
31118
31119 * configure.ac: Check for libgcc symbols with -nostdlib.
31120
fc9e5810
BC
311212010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
31122
31123 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
31124
4b358c0a
VS
311252010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
31126
31127 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
31128 stack since heap may be unavailable at that point.
31129 (grub_ofconsole_gotoxy): Likewise.
31130
454fcd1c
VS
311312010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
31132
31133 * configure.ac: Check for _restgpr_14_x.
31134 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
31135 and _savegpr_* prototypes.
31136
566863ca
RM
311372010-01-22 Robert Millan <rmh.grub@aybabtu.com>
31138
31139 Use generic grub_reboot() for i386-efi.
31140
31141 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
31142 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
31143 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
31144
bf86e59a
VS
311452010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
31146
31147 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
31148 presence of "prefix" variable as it breaks when normal.mod is
31149 embedded.
31150
d645e0f8
VS
311512010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
31152
31153 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
31154 stack since heap is unavailable at that point.
31155
f9ab2e25
VS
311562010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
31157
31158 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
31159 (grub_freebsd_bootinfo): Rewritten.
31160 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
31161
01fc7054
VS
311622010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
31163
31164 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
31165
caab4fd6
RM
311662010-01-21 Robert Millan <rmh.grub@aybabtu.com>
31167
31168 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
31169 domain now.
31170
67eb1427
FZ
311712010-01-20 Felix Zielcke <fzielcke@z-51.de>
31172
31173 * util/misc.c (make_system_path_relative_to_its_root): Change the work
31174 around for handling "/" to the correct fix. Fix a memory leak. Use
31175 xstrdup instead of strdup.
31176
a9ed4ff3
VS
311772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31178
31179 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
31180
311812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
31182
31183 Optimise glyph lookup by Basic Multilingual Plane lookup array.
31184
31185 * font/font.c (struct grub_font): New member 'bmp_idx'.
31186 (font_init): Initialise 'bmp_idx'.
31187 (load_font_index): Fill 'bmp_idx'.
31188 (find_glyph): Make inline. Use bmp_idx for BMP characters.
31189
48209f4f
VS
311902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31191
31192 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
31193 unnecessary calls.
31194
9f0a4bb7
VS
311952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31196
31197 Move context handling out of the kernel.
31198
31199 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
31200 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
31201 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
31202 * conf/i386-efi.rmk: Likewise.
31203 * conf/i386-ieee1275.rmk: Likewise.
31204 * conf/i386-pc.rmk: Likewise.
31205 * conf/powerpc-ieee1275.rmk: Likewise.
31206 * conf/sparc64-ieee1275.rmk: Likewise.
31207 * conf/x86_64-efi.rmk: Likewise.
31208 * include/grub/env.h: Include grub/menu.h.
31209 (grub_env_var_type): Removed.
31210 (grub_env_var): Replaced field 'type' with 'global'.
31211 (grub_env_find): New prototype.
31212 (grub_env_context_open): Remove EXPORT_FUNC.
31213 (grub_env_context_close): Likewise.
31214 (grub_env_export): Likewise.
31215 (grub_env_set_data_slot): Removed.
31216 (grub_env_get_data_slot): Likewise.
31217 (grub_env_unset_data_slot): Likewise.
31218 (grub_env_unset_menu): New prototype.
31219 (grub_env_set_menu): Likewise.
31220 (grub_env_get_menu): Likewise.
31221 * include/grub/env_private.h: New file.
31222 * include/grub/normal.h (grub_context_init): New prototype.
31223 (grub_context_fini): Likewise.
31224 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
31225 * normal/context.c (grub_cmd_export): ... to here.
31226 * kern/env.c: Include env_private.h.
31227 (HASHSZ): Moved to include/grub/env_private.h.
31228 (grub_env_context): Likewise.
31229 (grub_env_sorted_var): Likewise.
31230 (current_context): Renamed from this ...
31231 (grub_current_context): ...to this. 'static' removed. All users updated.
31232 (grub_env_find): Removed 'static'.
31233 (grub_env_context_open): Moved to normal/context.c.
31234 (grub_env_context_close): Likewise.
31235 (grub_env_export): Likewise.
31236 (mangle_data_slot_name): Removed.
31237 (grub_env_set_data_slot): Likewise.
31238 (grub_env_get_data_slot): Likewise.
31239 (grub_env_unset_data_slot): Likewise.
31240 * kern/main.c (grub_set_root_dev): Don't export root.
31241 It will be done later.
31242 (grub_main): Don't export prefix.
31243 It will be done later.
31244 * normal/context.c: New file.
31245 * normal/main.c (free_menu): Use grub_env_unset_menu.
31246 (grub_normal_add_menu_entry): Use grub_env_get_menu.
31247 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
31248 (GRUB_MOD_INIT(normal)): Call grub_context_init.
31249 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
31250
8dd35b8c
VS
312512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31252
31253 setpci support.
31254
31255 * commands/setpci.c: New file.
31256 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
31257 (setpci_mod_SOURCES): New variable.
31258 (setpci_mod_CFLAGS): Likewise.
31259 (setpci_mod_LDFLAGS): Likewise.
31260
449193d5
VS
312612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31262
31263 Byte-addressable PCI configuration space.
31264
31265 * bus/pci.c (grub_pci_make_address): Use byte address instead of
31266 dword address.
31267 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
31268 GRUB_PCI_REG_CACHELINE.
31269 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
31270 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
31271 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
31272 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
31273 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
31274 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
31275 grub_pci_make_address.
31276 (lock_rom_area): Likewise.
31277 * commands/lspci.c (grub_lspci_iter): Use macroses
31278 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
31279 of grub_pci_make_address.
31280 * disk/ata.c (grub_ata_pciinit): Likewise.
31281 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
31282 (GRUB_PCI_REG_VENDOR): Likewise.
31283 (GRUB_PCI_REG_DEVICE): Likewise.
31284 (GRUB_PCI_REG_COMMAND): Likewise.
31285 (GRUB_PCI_REG_STATUS): Likewise.
31286 (GRUB_PCI_REG_REVISION): Likewise.
31287 (GRUB_PCI_REG_CLASS): Likewise.
31288 (GRUB_PCI_REG_CACHELINE): Likewise.
31289 (GRUB_PCI_REG_LAT_TIMER): Likewise.
31290 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
31291 (GRUB_PCI_REG_BIST): Likewise.
31292 (GRUB_PCI_REG_ADDRESSES): Likewise.
31293 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31294 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31295 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31296 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31297 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31298 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31299 (GRUB_PCI_REG_CIS_POINTER): Likewise.
31300 (GRUB_PCI_REG_SUBVENDOR): Likewise.
31301 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
31302 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
31303 (GRUB_PCI_REG_CAP_POINTER): Likewise.
31304 (GRUB_PCI_REG_IRQ_LINE): Likewise.
31305 (GRUB_PCI_REG_IRQ_PIN): Likewise.
31306 (GRUB_PCI_REG_MIN_GNT): Likewise.
31307 (GRUB_PCI_REG_MAX_LAT): Likewise.
31308 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
31309 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
31310 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 31311 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
31312 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
31313 space.
31314
96d73208
RM
313152010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31316
31317 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
31318 can be reliably determined to be supported.
31319
d4484482
RM
313202010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31321
31322 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
31323 that VESA is supported.
31324 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
31325 supported.
31326
00308ecf
VS
313272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31328
31329 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
31330
f66924a4
RM
313312010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31332
31333 * util/misc.c (make_system_path_relative_to_its_root): Work around
31334 special-casing of "/", as previous incarnation of this routine did.
31335
cbca0ada
VS
313362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31337
31338 Fix any-emu compilation.
31339
31340 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
31341 * grub_bin2h_SOURCES: New variable.
31342
34a66d99
RM
313432010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31344
31345 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
31346
94fabf58
RM
313472010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31348
31349 * util/grub.d/00_header.in: Fix handling of locale_dir.
31350
02cf98ca
VS
313512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31352
31353 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
31354 as possible unifont location (Gentoo).
31355 Reported by: Alexander Brüning
31356
327dbcd7
VS
313572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31358
31359 Don't try to generate lists for kernel.img.
31360
31361 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
31362 (pkglib_MODULES): Remove kernel.img.
31363 (kernel_img_EXPORTS): Removed.
31364 (kernel_img_RELOCATABLE): New variable.
31365 * conf/x86_64-efi.rmk: Likewise.
31366 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
31367
ca467290
VS
313682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31369
31370 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
31371 grub_xasprintf or grub_snprintf.
31372 (grub_vsprintf): Likewise.
31373 (grub_snprintf): New proto.
31374 (grub_vsnprintf): Likewise.
31375 (grub_xasprintf): Likewise.
31376 (grub_xvasprintf): Likewise.
31377 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
31378 (grub_sprintf): Removed.
31379 (grub_vsnprintf): New function.
31380 (grub_snprintf): Likewise.
31381 (grub_xvasprintf): Likewise.
31382 (grub_xasprintf): Likewise.
31383 (grub_vsprintf): Renamed to ...
31384 (grub_vsnprintf_real): ...this. New argument max_len.
31385
aca655fd
BC
313862010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
31387
31388 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
31389 fix grub-script-check warning.
31390
7ee92c32
VS
313912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31392
31393 * include/grub/font.h (grub_font_load): Fix prototype.
31394
f80927ca
VS
313952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31396
31397 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
31398
119c50ea
VS
313992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31400
31401 * include/grub/x86_64/at_keyboard.h: New file.
31402
47d5f3c1
VS
314032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31404
31405 * loader/mips/linux.c: Include missing grub/i18n.h.
31406
55ff5266
RM
314072009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31408
31409 * normal/menu.c (notify_execution_failure): Clarify error message.
31410
c893cc87
RM
314112009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31412
31413 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
31414 return value (and revert all return statements). Update users.
31415
917dd370
CW
314162010-01-20 Dan Merillat <debian@dan.merillat.org>
31417
31418 * kern/device.c (grub_device_iterate): Allocate new part_ent
31419 structure based on sizeof (*p) rather than sizeof (p->next), to
31420 account for structure padding.
31421
31422 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
31423 disk is NULL, which might happen for LVM physical volumes with no
31424 LVM signature.
31425
d4a4ee57
RM
314262009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31427
31428 * loader/mips/linux.c (grub_cmd_initrd)
31429 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
31430
314312009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31432
31433 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
31434 (grub_video_video_init, grub_video_bitmap_init)
31435 (grub_font_manager_init, grub_term_gfxterm_init)
31436 (grub_at_keyboard_init): New extern declarations.
31437 (grub_machine_init): Initialize gfxterm and at_keyboard.
31438
31439 * kern/main.c (grub_main): Revert grub_printf delay kludge.
31440
31441 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
31442 `gfxterm.mod' into core image.
31443
31444 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31445 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31446 (kernel_img_FORMAT): Copy to ...
31447
31448 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31449 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31450 (kernel_img_FORMAT): ... here, and ...
31451
31452 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31453 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31454 (kernel_img_FORMAT): ... here.
31455
31456 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
31457 and input (at_keyboard) terminals in kernel.
31458 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
31459
31460 (pkglib_MODULES): Remove `pci.mod'.
31461 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
31462 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
31463 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31464 (at_keyboard_mod_LDFLAGS): Remove variables.
31465
314662010-01-11 Felix Zielcke <fzielcke@z-51.de>
31467
31468 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
31469
314702009-12-10 Robert Millan <rmh.grub@aybabtu.com>
31471
31472 * include/grub/mips/libgcc.h: Only export symbols for functions
31473 that libgcc provides.
31474
314752009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
31476
31477 MIPS support.
31478
31479 * bus/bonito.c: New file.
31480 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
31481 GRUB_PCI_NUM_DEVICES.
31482 * term/i386/pc/serial.c: Move to ...
31483 * term/serial.c: ... here. All users updated.
31484 * util/i386/pc/grub-mkimage.c: Move to ...
31485 * util/grub-mkrawimage.c: ... here. All users updated.
31486 * term/i386/pc/at_keyboard.c: Move to ...
31487 * term/at_keyboard.c: ... here. All users updated.
31488 * conf/mips-qemu-mips.rmk: New file.
31489 * conf/mips-yeeloong.rmk: Likewise.
31490 * conf/mips.rmk: Likewise.
31491 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
31492 mipsel-qemu-mips.
31493 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
31494 to port addresses.
31495 (grub_ata_pciinit): Support CS5536.
31496 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
31497 * font/font_cmd.c (loadfont_command): Open file before passing it to
31498 grub_font_load.
31499 (pseudo_file_read): New function.
31500 (pseudo_file_close): Likewise.
31501 (pseudo_fs): New structure.
31502 (load_font_module): New function.
31503 (GRUB_MOD_INIT(font_manager)): Load embedded font.
31504 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
31505 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
31506 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
31507 * include/grub/i386/at_keyboard.h: Split into ...
31508 * include/grub/at_keyboard.h: ... this ...
31509 * include/grub/i386/at_keyboard.h: ... and this.
31510 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
31511 New prototype.
31512 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
31513 updated.
31514 (grub_elf64_size): Likewise.
31515 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
31516 filename.
31517 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
31518 * include/grub/i386/coreboot/serial.h: Rewritten.
31519 * include/grub/i386/ieee1275/serial.h: Include
31520 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
31521 * include/grub/i386/pc/serial.h: Moved from here ...
31522 * include/grub/serial.h: ... to here. All users updated.
31523 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
31524 (GRUB_PCI_NUM_BUS): Likewise.
31525 (GRUB_PCI_NUM_DEVICES): Likewise.
31526 (grub_pci_device_map_range): Add missing volatile keyword.
31527 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
31528 * include/grub/mips/at_keyboard.h: New file.
31529 * include/grub/mips/cache.h: Likewise.
31530 * include/grub/mips/io.h: Likewise.
31531 * include/grub/mips/kernel.h: Likewise.
31532 * include/grub/mips/libgcc.h: Likewise.
31533 * include/grub/mips/pci.h: Likewise.
31534 * include/grub/mips/qemu-mips/boot.h: Likewise.
31535 * include/grub/mips/qemu-mips/kernel.h: Likewise.
31536 * include/grub/mips/qemu-mips/loader.h: Likewise.
31537 * include/grub/mips/qemu-mips/memory.h: Likewise.
31538 * include/grub/mips/qemu-mips/serial.h: Likewise.
31539 * include/grub/mips/qemu-mips/time.h: Likewise.
31540 * include/grub/mips/relocator.h: Likewise.
31541 * include/grub/mips/time.h: Likewise.
31542 * include/grub/mips/types.h: Likewise.
31543 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
31544 * include/grub/mips/yeeloong/boot.h: Likewise.
31545 * include/grub/mips/yeeloong/kernel.h: Likewise.
31546 * include/grub/mips/yeeloong/loader.h: Likewise.
31547 * include/grub/mips/yeeloong/memory.h: Likewise.
31548 * include/grub/mips/yeeloong/pci.h: Likewise.
31549 * include/grub/mips/yeeloong/serial.h: Likewise.
31550 * include/grub/mips/yeeloong/time.h: Likewise.
31551 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
31552 * kern/elf.c (grub_elf32_size): New parameter. All users
31553 updated.
31554 (grub_elf64_size): Likewise.
31555 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
31556 Load modules before saying "Welcome to GRUB!".
31557 Call grub_refresh after saying "Welcome to GRUB!".
31558 * kern/mips/cache.S: New file.
31559 * kern/mips/cache_flush.S: Likewise.
31560 * kern/mips/dl.c: Likewise.
31561 * kern/mips/init.c: Likewise.
31562 * kern/mips/qemu-mips/init.c: Likewise.
31563 * kern/mips/startup.S: Likewise.
31564 * kern/mips/yeeloong/init.c: Likewise.
31565 * kern/term.c (grub_putcode): Handle NULL terminal.
31566 (grub_getcharwidth): Likewise.
31567 (grub_getkey): Likewise.
31568 (grub_checkkey): Likewise.
31569 (grub_getkeystatus): Likewise.
31570 (grub_getxy): Likewise.
31571 (grub_getwh): Likewise.
31572 (grub_gotoxy): Likewise.
31573 (grub_cls): Likewise.
31574 (grub_setcolorstate): Likewise.
31575 (grub_setcolor): Likewise.
31576 (grub_getcolor): Likewise.
31577 (grub_refresh): Likewise.
31578 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
31579 (write_jump): Add hatch nop.
31580 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
31581 * lib/mips/setjmp.S: New file.
31582 * loader/mips/linux.c: Likewise.
31583 * term/i386/pc/at_keyboard.c: Move from here ...
31584 * term/at_keyboard.c: ... to here.
31585 * term/i386/pc/serial.c: Moved from here ...
31586 * term/serial.c: ... to here. All users updated.
31587 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
31588 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
31589 (serial_translate_key_sequence): Avoid deadlock.
31590 (grub_serial_getkey): Handle backspace.
31591 (grub_serial_putchar): Fix newline handling.
31592 * util/i386/pc/grub-mkimage.c: Move from here ...
31593 * util/grub-mkrawimage.c: ... to here. All users updated.
31594 (generate_image): New parameters 'font_path' and 'format'.
31595 Support embedding font.
31596 Use grub_host_to_target* instead of grub_cpu_to_le*.
31597 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
31598 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
31599 (options): New option "--font".
31600 (usage): Likewise.
31601 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
31602 (main): Handle "--font".
31603 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
31604 (grub_virtual_screen_setup): Set bg_color_display.
31605 (redraw_screen_rect): Use bg_color_display instead of incorrect
31606 bg_color.
31607 (grub_gfxterm_cls): Likewise.
31608 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
31609 Support embedding config file.
31610 (add_segments): Likewise.
31611 (options): New option "--config".
31612 (main): Handle "--config".
31613 * video/sm712.c: New file.
31614
25c2b5b3
RM
316152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31616
31617 Fix parallel builds.
31618
31619 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
31620 font.c depend on ascii.h).
31621
316222010-01-12 Carles Pina i Estany <carles@pina.cat>
31623
31624 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
31625
316262010-01-11 Carles Pina i Estany <carles@pina.cat>
31627
31628 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
31629 By default: disabled.
31630 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
31631 parameter.
31632
316332010-01-10 Carles Pina i Estany <carles@pina.cat>
31634
31635 * font/font.c: Update copyright years.
31636 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
31637
316382010-01-10 Carles Pina i Estany <carles@pina.cat>
31639
31640 * font/font.c: Include `ascii.h'.
31641 (ASCII_BITMAP_SIZE): New macro.
31642 (ascii_font_glyph): Define.
31643 (ascii_glyph_lookup): New function.
31644 (grub_font_get_string_width): Change comment. If glyph not found, use
31645 ascii_glyph_lookup.
31646 (grub_font_get_glyph_with_fallback): If glyph not available returns
31647 ascii_glyph_lookup.
31648 * util/grub-mkfont.c (file_formats): New enum.
31649 (options): Add `ascii-bitmaps' new option.
31650 (usage): Add `asii-bitmaps' new option.
31651 (write_font_ascii_bitmap): New function.
31652 (write_font): Rename to ...
31653 (write_font_p2): ... this. Remove print_glyphs call.
31654 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
31655 used. Call print_glyphs.
31656 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
31657
316582010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31659
31660 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
31661 (grub_bin2h_SOURCES): New variable.
31662 * util/bin2h.c: New file.
31663
915fc1b8
VS
316642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31665
31666 * include/multiboot.h: Resynced with spec.
31667 * include/multiboot2.h: Likewise.
31668 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
31669 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
31670
9444b678
RM
316712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31672
31673 * include/grub/term.h (grub_term_register_input,
31674 grub_term_register_output): Check return of terminal init()
31675 routines, and abort if errors are raised.
31676
31677 * commands/terminal.c: Update copyright year.
31678
cba98e8d
RM
316792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31680
31681 * commands/terminal.c (grub_cmd_terminal_input)
31682 (grub_cmd_terminal_output): Check return of terminal init()
31683 routines, and abort if errors are raised.
31684
6f7db5d6
VS
316852010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31686
31687 * include/grub/i386/bsd.h: Fix include pathes.
31688
262bff8d
VS
316892010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31690
31691 Add missing *BSD copyright headers.
31692
31693 * include/grub/aout.h: Add BSD licence.
31694 * include/grub/i386/bsd.h: Parts under different licences moved to ...
31695 * include/grub/i386/freebsd_linker.h: ... here,
31696 * include/grub/i386/freebsd_reboot.h: ... here,
31697 * include/grub/i386/netbsd_bootinfo.h: ... here,
31698 * include/grub/i386/netbsd_reboot.h: ... here,
31699 * include/grub/i386/openbsd_bootarg.h: ... here,
31700 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
31701 licence to each file.
31702
b2cab848
RM
317032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31704
31705 * acinclude.m4: Remove `nop' assembly instruction; it's not
31706 implemented by all architectures.
31707
2cb6be4b
RM
317082010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31709
31710 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
31711 ELILO. This is no longer necessary.
31712
a2eaee15
BC
317132010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
31714
31715 Added new tool, grub-scrit-check to verify grub.cfg syntax.
31716
31717 * util/grub-script-check.c: grub-script-check tool.
31718 * conf/common.rmk: Make rules for grub-script-check.
31719
88d17012
RM
317202010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31721
31722 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
31723 spotting it back in 2008. Shame on me for forgetting he did.
31724
31725 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
31726
8040619d
RM
317272010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31728
31729 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
31730 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
31731 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
31732 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
31733 (GRUB_VIDEO_TYPE_EFI): Rename to ...
31734 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
31735
a0c2a0f6
RM
317362010-01-17 Robert Millan <rmh.grub@aybabtu.com>
31737
31738 * include/grub/test.h: Add license header.
31739 * tests/example_functional_test.c: Likewise.
31740 * tests/example_unit_test.c: Likewise.
31741 * tests/lib/functional_test.c: Likewise.
31742 * tests/lib/test.c: Likewise.
31743 * tests/lib/unit_test.c: Likewise.
31744
b0b13907
VS
317452010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
31746
31747 Use flag-based instead of hook-based video mode selection and "auto"
31748 keyword.
31749
31750 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
31751 (grub_video_set_mode): Changed prototype. All users updated.
31752 (grub_video_check_mode_flag): New inline function.
31753 * video/video.c (parse_modespec): New function.
31754 (grub_video_set_mode): Parse flags and keywords.
31755
ea379330 317562010-01-17 Carles Pina i Estany <carles@pina.cat>
31757
31758 * util/misc.c (grub_util_info): Fix the order of the parameters in a
31759 fprintf call.
31760
e15c215e
FZ
317612010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
31762
31763 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
31764
409ae1c9 317652010-01-16 Carles Pina i Estany <carles@pina.cat>
31766
31767 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
31768 string.
31769 * util/grub-emu.c (usage): Likewise.
31770 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
31771 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31772 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31773 * util/i386/pc/grub-setup.c (usage): Likewise.
31774
70a14d3d 317752010-01-16 Carles Pina i Estany <carles@pina.cat>
31776
31777 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
31778 the message.
31779 (grub_util_info): Likewise.
31780 (grub_util_error): Likewise.
31781 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
31782 and/or new lines in `grub_util_warna', `grub_util_info',
31783 `grub_util_error' calls.
31784 * util/getroot.c: Likewise.
31785 * util/grub-editenv.c: Likewise.
31786 * util/grub-emu.c: Likewise.
31787 * util/grub-fstest.c: Likewise.
31788 * util/grub-mkdevicemap.c: Likewise.
31789 * util/grub-mkfont.c: Likewise.
31790 * util/grub-mkpasswd-pbkdf2.c: Likewise.
31791 * util/grub-mkrelpath.c: Likewise.
31792 * util/grub-pe2elf.c: Likewise.
31793 * util/grub-probe.c: Likewise.
31794 * util/hostdisk.c: Likewise.
31795 * util/i386/efi/grub-mkimage.c: Likewise.
31796 * util/i386/pc/grub-mkimage.c: Likewise.
31797 * util/i386/pc/grub-setup.c: Likewise.
31798 * util/ieee1275/ofpath.c: Likewise.
31799 * util/mkisofs/eltorito.c: Likewise.
31800 * util/mkisofs/rock.c: Likewise.
31801 * util/mkisofs/write.c: Likewise.
31802 * util/raid.c: Likewise.
31803 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31804 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31805
a0b766fc
VS
318062010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31807
31808 Enable multiboot on non-pc.
31809
31810 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
31811 multiboot.mod and multiboot2.mod to ...
31812 * conf/i386.rmk (pkglib_MODULES): ... here.
31813 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
31814 Moved to ...
31815 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
31816 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
31817 Moved to ...
31818 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
31819 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
31820 Moved to ...
31821 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
31822 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
31823 Moved to ...
31824 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
31825 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
31826 relocator.mod.
31827 (ata_mod_SOURCES): Removed.
31828 (ata_mod_CFLAGS): Likewise.
31829 (ata_mod_LDFLAGS): Likewise.
31830 (relocator_mod_SOURCES): Removed.
31831 (relocator_mod_CFLAGS): Likewise.
31832 (relocator_mod_ASFLAGS): Likewise.
31833 (relocator_mod_LDFLAGS): Likewise.
31834 Include i386.mk.
31835 * include/grub/x86_64/multiboot.h: New file.
31836 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
31837 Terminate EFI.
31838
884ade56
VS
318392010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31840
31841 Video multiboot support.
31842
31843 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
31844 New prototype.
31845 * include/multiboot.h: Resynced with multiboot specification.
31846 * include/multiboot2.h: Likewise.
31847 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
31848 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
31849 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
31850 (HAS_VGA_TEXT): Likewise.
31851 (accepts_video): New variable.
31852 (grub_multiboot_set_accepts_video): New function.
31853 (grub_multiboot_get_mbi_size): Account for video structures.
31854 (set_video_mode): New function.
31855 (retrieve_video_parameters): Likewise.
31856 (grub_multiboot_make_mbi): Fill video fields.
31857
0d90e8a6
VS
318582010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31859
31860 Video driver ids.
31861
31862 * include/grub/video.h (grub_video_driver_id): New type.
31863 (grub_video_adapter): New member 'id'. All users updated.
31864 (grub_video_get_driver_id): New proto.
31865 * video/video.c (grub_video_get_driver_id): New function.
31866
5c71db1b 318672010-01-14 Carles Pina i Estany <carles@pina.cat>
31868
31869 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
31870 `var=val'.
31871
cca15b52 318722010-01-14 Carles Pina i Estany <carles@pina.cat>
31873
31874 * normal/cmdline.c (print_completion): Gettextizze.
31875
c586fbb2 318762001-01-14 Carles Pina i Estany <carles@pina.cat>
31877
31878 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
31879
ba2f6848 318802010-01-14 Carles Pina i Estany <carles@pina.cat>
31881
31882 * gettext/gettext.c (grub_gettext_translate): Push and pop
31883 grub_errno.
31884 (grub_gettext_delete_list): Change comment style.
31885 * kern/err.c (grub_error): Gettextizze.
31886 (grub_fatal): Gettextizze.
31887
0a46429a
RM
318882010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31889
31890 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
31891 (grub_linux16_real_boot): ... this.
31892 * kern/i386/loader.S: Likewise.
31893 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
31894 (grub_linux16_boot): New function. Switches to text mode and calls
31895 grub_linux16_real_boot().
31896
31897 * loader/i386/bsd.c: Include `<grub/video.h>'.
31898 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
31899 text mode before calling grub_unix_real_boot().
31900
31901 * loader/i386/multiboot.c: Include `<grub/video.h>'.
31902 (grub_multiboot_boot): Switch to text mode before calling
31903 grub_relocator32_boot().
31904
31905 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
31906 (grub_chainloader_boot): Switch to text mode before calling
31907 grub_chainloader_real_boot().
31908
d6f93a66
RM
319092010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
319102010-01-05 Colin Watson <cjwatson@ubuntu.com>
31911
31912 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
31913 non-empty value.
31914
319152010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
319162010-01-05 Colin Watson <cjwatson@ubuntu.com>
31917
31918 * util/grub.d/00_header.in: Define a "savedefault" function for use
31919 in menu entries.
31920 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
31921
319222010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
319232010-01-05 Colin Watson <cjwatson@ubuntu.com>
31924
31925 * util/grub-mkconfig_lib.in (save_default_entry): Only set
31926 saved_entry if boot_once is unset.
31927 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
31928 previous saved entry (i.e. grub-reboot).
31929
319302009-12-08 Colin Watson <cjwatson@ubuntu.com>
31931
31932 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
31933
319342009-12-08 Colin Watson <cjwatson@ubuntu.com>
31935
31936 * util/grub.d/00_header.in: Use `set var=val' rather than plain
31937 `var=val'.
31938 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
31939
319402009-12-08 Colin Watson <cjwatson@ubuntu.com>
31941
31942 * util/grub-reboot.in: Fix --version output.
31943 * util/grub-set-default.in: Likewise.
31944
319452009-12-08 Colin Watson <cjwatson@ubuntu.com>
31946
31947 * util/grub.d/00_header.in: Silently ignore zero-sized environment
31948 blocks.
31949
319502009-12-08 Colin Watson <cjwatson@ubuntu.com>
31951
31952 * util/grub.d/00_header.in: Quote the value assigned to `default',
31953 in case it contains spaces.
31954
319552009-12-08 Colin Watson <cjwatson@ubuntu.com>
31956
31957 * util/grub.d/30_os-prober.in: Fix merge error that moved a
31958 `save_default_entry' call from the macosx case to the linux case.
31959
319602009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
319612009-10-25 Colin Watson <cjwatson@ubuntu.com>
31962
31963 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
31964 in `chosen' environment variable.
31965 * normal/menu_text.c (get_entry_number): Check if the variable
31966 matches the title of a menu entry.
31967 (run_menu): Pass menu to get_entry_number.
31968
31969 * util/grub-reboot.in: New file.
31970 * util/grub-set-default.in: New file.
31971 * conf/common.rmk (grub-reboot): New utility.
31972 (grub-set-default): New utility.
31973
31974 * util/grub-mkconfig_lib.in (save_default_entry): New function.
31975 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
31976 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
31977 move it to `saved_entry' for the next boot. Load environment on
31978 initialisation.
31979 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
31980 * util/grub.d/10_hurd.in: Likewise.
31981 * util/grub.d/10_linux.in (linux_entry): Likewise.
31982 * util/grub.d/10_windows.in: Likewise.
31983 * util/grub.d/30_os-prober.in: Likewise.
31984
31985 * util/grub-install.in: Create environment block.
31986 * util/i386/efi/grub-install.in: Likewise.
31987 * util/ieee1275/grub-install.in: Likewise.
31988 * util/sparc64/ieee1275/grub-install.in: Likewise.
31989
0934d184
BC
319902010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
31991
31992 Unit testing framework for GRUB.
31993
31994 * Makefile.in: Test framework build rules for 'make check'.
31995 * conf/tests.rmk: Build rules for individual tests and framework.
31996
31997 * include/grub/test.h: Header file for whitebox tests.
31998 * tests/lib/functional_test.c: Framework support for whitebox
31999 functional tests.
32000 * tests/lib/test.c: Common whitebox testing code for unit and
32001 functional tests.
32002 * tests/lib/unit_test.c: Framework support for whitebox unit
32003 tests.
32004
32005 * tests/util/grub-shell-tester.in: Support utility for grub-script
32006 tests.
32007 * tests/util/grub-shell.in: Utility to execute grub-script
32008 commands in a Qemu instance.
32009
32010 * tests/example_functional_test.c: Example whitebox functional
32011 test.
32012 * tests/example_grub_script_test.in: Example grub-script test.
32013 * tests/example_scripted_test.in: Example scripted test.
32014 * tests/example_unit_test.c: Example whitebox unit test.
32015
9c4ffeeb
VS
320162010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
32017
32018 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
32019 Add loader/i386/multiboot_mbi.c.
32020 (multiboot2_mod_SOURCES): Likewise.
32021 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
32022 (multiboot2_mod_SOURCES): Likewise.
32023 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
32024 (grub_multiboot_make_mbi): Likewise.
32025 (grub_multiboot_free_mbi): Likewise.
32026 (grub_multiboot_init_mbi): Likewise.
32027 (grub_multiboot_add_module): Likewise.
32028 (grub_multiboot_set_bootdev): Likewise.
32029 * loader/i386/multiboot.c (mbi): Removed.
32030 (mbi_dest): Likewise.
32031 (alloc_mbi): New variable.
32032 (grub_multiboot_payload_size): Removed. All users updated.
32033 (grub_multiboot_pure_size): New variable.
32034 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
32035 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
32036 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
32037 (grub_fill_multiboot_mmap): Likewise.
32038 (grub_multiboot_get_bootdev): Likewise.
32039 (grub_multiboot): Use multiboot_mbi functions.
32040 * loader/i386/multiboot_mbi.c: New file.
32041
17383dfe
VS
320422010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
32043
32044 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
32045 it would result in module crash.
32046
c1f28820
VS
320472010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
32048
32049 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
32050 (grub_ofconsole_getwh): Split to ...
32051 (grub_ofconsole_getwh): ... this.
32052 (grub_ofconsole_dimensions): ...and this.
32053 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
32054
58655a16
RM
320552010-01-13 Robert Millan <rmh.grub@aybabtu.com>
32056
32057 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
32058
10891398
VS
320592010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
32060
32061 * loader/i386/pc/multiboot2.c: Removed stalled file.
32062
0b8a223c
VS
320632010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
32064
32065 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
32066 Reported by: Grégoire Sutre
32067
92ab12b0
RM
320682010-01-11 Robert Millan <rmh.grub@aybabtu.com>
32069
32070 * util/misc.c (canonicalize_file_name): New function.
32071 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
32072 instead of realpath().
32073
a788afb6
CW
320742010-01-11 Colin Watson <cjwatson@ubuntu.com>
32075
32076 * util/grub-install.in (usage): Clarify meaning of --root-directory,
32077 and make it clearer that it's optional. Based on confusion
32078 witnessed on IRC.
32079
ffa8e3d2
VS
320802010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
32081
32082 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
32083 in premature implicit newline.
32084
e9060a9d
VS
320852010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
32086
32087 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
32088 which resulted in garbled command line at the end of screen.
32089
f0d0c0b7
RM
320902010-01-10 Robert Millan <rmh.grub@aybabtu.com>
32091
32092 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
32093 initialization with similar approach as with other Linux loaders.
32094
0e60bae7
RM
320952010-01-10 Robert Millan <rmh.grub@aybabtu.com>
32096
32097 Fix i386-ieee1275 build.
32098
32099 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
32100 and grub_term_height() for video_{width,height} initialization.
32101
321022010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
32103
32104 Fix grub-emu build.
32105
32106 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
32107
cdb3f378
RM
321082010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
321092010-01-09 Robert Millan <rmh.grub@aybabtu.com>
32110
32111 Support for multiple terminals.
32112
32113 * Makefile.in (pkglib_DATA): terminal.lst.
32114 (terminal.lst): New target.
32115 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
32116 (GRUB_MOD_INIT(handler)): Likewise.
32117 (GRUB_MOD_FINI(handler)): Likewise.
32118 * commands/help.c (grub_cmd_help): Handle multiple terminals.
32119 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
32120 * commands/sleep.c (do_print): Use grub_term_restore_pos.
32121 (grub_cmd_sleep): Use grub_term_save_pos.
32122 * commands/terminal.c: New file.
32123 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
32124 commands/terminal.c and lib/charset.c.
32125 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
32126 (pkglib_MODULES): Add terminal.mod.
32127 (terminal_mod_SOURCES): New variable.
32128 (terminal_mod_CFLAGS): Likewise.
32129 (terminal_mod_LDFLAGS): Likewise.
32130 * genhandlerlist.sh: Don't handle terminals.
32131 * genmk.rb: Generate terminal-*.lst.
32132 * genterminallist.sh: New file.
32133 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
32134 (grub_is_valid_utf8): Likewise.
32135 (grub_utf8_to_ucs4_alloc): Likewise.
32136 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
32137 (grub_menu_register_viewer): Changed argument.
32138 (grub_menu_try_text): New proto.
32139 (grub_gfxmenu_try_hook): New declaration.
32140 * include/grub/normal.h (grub_normal_exit_level): New declaration.
32141 (grub_menu_init_page): Additional argument term.
32142 (grub_normal_init_page): Likewise.
32143 (grub_cmdline_get): Arguments simplified.
32144 (grub_utf8_to_ucs4_alloc): Removed.
32145 (grub_print_ucs4): Additional argument term.
32146 (grub_getstringwidth): Likewise.
32147 (grub_print_message_indented): Likewise.
32148 (grub_menu_text_register_instances): New proto.
32149 (grub_show_menu): Likewise.
32150 (read_terminal_list): Likewise.
32151 (grub_set_more): Likewise.
32152 * include/grub/parser.h: Include handler.h.
32153 * include/grub/reader.h: Rewritten.
32154 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
32155 (GRUB_TERM_WIDTH): Changed to function.
32156 (GRUB_TERM_HEIGHT): Likewise.
32157 (GRUB_TERM_BORDER_WIDTH): Likewise.
32158 (GRUB_TERM_BORDER_HEIGHT): Likewise.
32159 (GRUB_TERM_NUM_ENTRIES): Likewise.
32160 (GRUB_TERM_ENTRY_WIDTH): Likewise.
32161 (GRUB_TERM_CURSOR_X): Likewise.
32162 (grub_term_input_class): Likewise.
32163 (grub_term_output_class): Likewise.
32164 (grub_term_outputs_disabled): New declaration.
32165 (grub_term_inputs_disabled): Likewise.
32166 (grub_term_outputs): Likewise.
32167 (grub_term_inputs): Likewise.
32168 (grub_term_register_input): Rewritten.
32169 (grub_term_register_output): Likewise.
32170 (grub_term_unregister_input): Likewise.
32171 (grub_term_unregister_output): Likewise.
32172 (FOR_ACTIVE_TERM_INPUTS): New macro.
32173 (FOR_DISABLED_TERM_INPUTS): Likewise.
32174 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
32175 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
32176 * include/grub/terminfo.h: Add oterm argument to all protypes.
32177 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
32178 Use grub_rescue_run.
32179 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
32180 All users updated.
32181 * kern/reader.c: Removed. All users updated.
32182 * kern/rescue_reader.c (grub_rescue_init): Removed.
32183 (grub_rescue_reader): Likewise.
32184 (grub_register_rescue_reader): Likewise.
32185 (grub_rescue_run): New function based on kern/reader.c.
32186 * kern/term.c: Adapted for multiterm.
32187 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
32188 (grub_is_valid_utf8): Likewise.
32189 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
32190 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
32191 right terminal.
32192 * loader/i386/linux.c (grub_linux_boot): Likewise.
32193 * normal/auth.c (grub_username_get): New function.
32194 (grub_auth_check_authentication): Use grub_username_get.
32195 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
32196 * normal/color.c: Adapt for multiterm.
32197 * normal/main.c (read_config_file): Don't use grub_reader_loop.
32198 (grub_normal_init_page): Additional argument term.
32199 (read_lists): Call read_terminal_lists.
32200 (grub_enter_normal_mode): Call grub_cmdline_run.
32201 Handle grub_normal_exit_level.
32202 (grub_cmd_normal): Make reentrant.
32203 (grub_cmd_normal_exit): New function.
32204 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
32205 * normal/menu.c: Adapt for multiterm.
32206 * normal/menu_entry.c: Likewise.
32207 * normal/menu_text.c: Likewise.
32208 * normal/menu_viewer.c: Removed. All users updated.
32209 * normal/term.c: New file.
32210 * util/console.c: Change order of includes to workaround a bug in
32211 ncurses headers.
32212 * term/terminfo.c: New argument oterm on all exported functions.
32213 All users updated.
32214 * util/grub-editenv.c (grub_term_input_class): Removed.
32215 (grub_term_output_class): Likewise.
32216
1a064917
RM
322172010-01-09 Robert Millan <rmh.grub@aybabtu.com>
32218
32219 Make loader output a bit more user-friendly.
32220
32221 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
32222 is being loaded. Likewise for the Hurd.
32223
32224 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
32225 that kernel of FreeBSD ${version} is being loaded.
32226
32227 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
32228 grub_dprintf().
32229 (grub_cmd_initrd): Likewise.
32230 * util/grub.d/10_linux.in (linux_entry): Print message indicating
32231 that Linux ${version} is being loaded. Likewise for initrd.
32232
5ce0a83a 322332010-01-09 Carles Pina i Estany <carles@pina.cat>
32234
32235 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
32236
809bbfeb 322372010-01-08 Carles Pina i Estany <carles@pina.cat>
32238
32239 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
32240 (GRUB_MOD_INIT): Gettextizze.
32241 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
32242 (GRUB_MOD_INIT): Gettextizze.
32243 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
32244 (grub_cmd_linux): Capitalise Linux.
32245 (GRUB_MOD_INIT): Gettextizze.
32246 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
32247 (grub_cmd_linux): Capitalise Linux.
32248 (GRUB_MOD_INIT): Gettextizze.
32249 * loader/i386/linux.c: Include `<grub/i18n.h>'.
32250 (grub_cmd_linux): Capitalise Linux.
32251 (GRUB_MOD_INIT): Gettextizze.
32252 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
32253 (GRUB_MOD_INIT): Gettextizze.
32254 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
32255 (grub_cmd_linux): Capitalise Linux.
32256 (GRUB_MOD_INIT): Gettextizze.
32257 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
32258 (grub_cpu_xnu_init): Gettextizze.
32259 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
32260 (GRUB_MOD_INIT): Gettextizze.
32261 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
32262 (GRUB_MOD_INIT): Gettextizze.
32263 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
32264 (grub_linux_load64): Capitalise Linux.
32265 (GRUB_MOD_INIT): Gettextizze.
32266 * loader/xnu.c: Include `<grub/i18n.h>'.
32267 (GRUB_MOD_INIT): Gettextizze.
32268 * po/POTFILES: Add `loader/efi/appleloader.c',
32269 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
32270 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
32271 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
32272 `loader/i386/xnu.c', `loader/multiboot_loader.c',
32273 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
32274 and `loader/xnu.c'.
32275
b394b2ca
RM
322762010-01-08 Robert Millan <rmh.grub@aybabtu.com>
32277
32278 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
32279
322802010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
32281
32282 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
32283 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
32284 * util/mkisofs/mkisofs.c (main): Readjust --version output.
32285
bc8b32b3
RM
322862010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32287
32288 Reset Multiboot 2 support. New loader implements the draft in
32289 /branches/multiboot2 and shares as much code as possible with the
32290 production Multiboot 1 implementation.
32291
32292 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
32293 * loader/multiboot2.c: Likewise.
32294 * loader/i386/multiboot_helper.S: Likewise.
32295 * include/multiboot2.h: Replace with latest version from the draft
32296 in /branches/multiboot2.
32297
32298 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
32299 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
32300 and `loader/multiboot2.c'.
32301 (pkglib_MODULES): Add `multiboot2.mod'.
32302 (multiboot2_mod_SOURCES): New variable.
32303 (multiboot2_mod_LDFLAGS): Likewise.
32304 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
32305
32306 * conf/i386-pc.rmk: Likewise.
32307
32308 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32309 (multiboot_mod_SOURCES): Remove variable.
32310 (multiboot_mod_LDFLAGS): Likewise.
32311 (multiboot_mod_CFLAGS): Likewise.
32312
32313 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
32314 `<multiboot2.h>' instead of `<multiboot.h>'.
32315 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
32316 (MULTIBOOT_HEADER_MAGIC): New macros.
32317
32318 * loader/multiboot_loader.c (module_version_status): Remove variable.
32319 (find_multi_boot2_header): Remove function.
32320 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
32321 logic. Always check for the Multiboot version we're compiling for.
32322 (grub_cmd_module_loader): Likewise.
32323 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
32324 command instead of `multiboot'.
32325
5d2c52b8
RM
323262010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32327
32328 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
32329 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
32330 all users.
32331
53108d92
RM
323322010-01-07 Robert Millan <rmh.grub@aybabtu.com>
323332010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32334
32335 Fix breakage introduced with previous commit.
32336
32337 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
32338 commands.
32339 * normal/handler.c (read_handler_list): Revert part of previous commit
32340 affecting this file.
32341 * normal/main.c (read_lists): Move read_handler_list() call back to ...
32342 (grub_normal_execute): ... here.
32343
e2e936b2
RM
323442010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32345
32346 Merge prefix-redefinition-fix branch.
32347
32348 * normal/autofs.c (read_fs_list): Make function capable of being
32349 run multiple times, gracefuly replacing the previous data
32350 structures.
32351 * normal/dyncmd.c (read_command_list): Likewise.
32352 * normal/handler.c (read_handler_list): Likewise.
32353 * normal/main.c (read_lists): New function. Calls all the
32354 list reading functions.
32355 (grub_normal_execute): Use read_lists() instead of calling all
32356 list reading functions explicitly. Register read_lists() as a
32357 variable hook attached to ${prefix}.
32358
607a3701
VS
323592010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32360
32361 Merge crypto branch.
32362
32363 * Makefile.in (pkglib_DATA): Add crypto.lst.
32364 (crypto.lst): New target.
32365 * commands/hashsum.c: New file.
32366 * commands/password.c (check_password): Use grub_crypto_memcmp.
32367 * commands/password_pbkdf2.c: New file.
32368 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
32369 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
32370 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
32371 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
32372 -I$(srcdir)/lib/libgcrypt_wrap.
32373 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
32374 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
32375 password_pbkdf2.mod.
32376 (crypto_mod_SOURCES): New variable.
32377 (crypto_mod_CFLAGS): Likewise.
32378 (crypto_mod_LDFLAGS): Likewise.
32379 (hashsum_mod_SOURCES): New variable.
32380 (hashsum_mod_CFLAGS): Likewise.
32381 (hashsum_mod_LDFLAGS): Likewise.
32382 (pbkdf2_mod_SOURCES): New variable.
32383 (pbkdf2_mod_CFLAGS): Likewise.
32384 (pbkdf2_mod_LDFLAGS): Likewise.
32385 (password_pbkdf2_mod_SOURCES): New variable.
32386 (password_pbkdf2_mod_CFLAGS): Likewise.
32387 (password_pbkdf2_mod_LDFLAGS): Likewise.
32388 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
32389 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
32390 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
32391 Include conf/gcry.rmk.
32392 * include/grub/auth.h: Rewritten.
32393 * include/grub/crypto.h: New file.
32394 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
32395 * include/grub/normal.h (read_crypto_list): New prototype.
32396 * lib/crypto.c: New file.
32397 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
32398 * lib/pbkdf2.c: Likewise.
32399 * normal/auth.c (grub_auth_strcmp): Removed.
32400 (grub_iswordseparator): Likewise.
32401 (grub_auth_strword): Likewise.
32402 (is_authenticated): Use grub_strword.
32403 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
32404 and grub_strword. Pass entered password to authentication callback.
32405 * normal/crypto.c: New file.
32406 * normal/main.c: Call read_crypto_list.
32407 * util/grub-mkpasswd-pbkdf2.c: New file.
32408 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
32409
42841caa
VS
324102010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
32411
32412 Fix descent and ascent calculation.
32413
32414 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
32415 (options): New option "asce".
32416 (usage): Likewise.
32417 (add_char): Ignore invalid glyphs for descent calculation.
32418 Calculate ascent from actual content.
32419 (print_glyphs): Use 'asce'.
32420 (write_font): Likewise. Allow ascent override.
32421 (main): Handle "asce" option.
32422
e7730de7 324232010-01-06 Carles Pina i Estany <carles@pina.cat>
32424
32425 * kern/err.c: Include `<grub/i18n.h>'.
32426 (grub_print_error): Add full stop. Gettextizze.
32427 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
32428 (grub_bsd_load_elf): Capitalise ELF.
32429 (grub_cmd_freebsd_loadenv): Add `s' in error string.
32430 (grub_cmd_freebsd_module): Likewise.
32431 (grub_cmd_freebsd_module_elf): Likewise.
32432 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
32433
40e3a41f 324342010-01-06 Carles Pina i Estany <carles@pina.cat>
32435
32436 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
32437 * commands/search_file.c (HELP_MESSAGE): New macro.
32438 * commands/search_label.c (HELP_MESSAGE): Likewise.
32439 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
32440 * po/POTFILES: Add `commands/search_file.c',
32441 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
32442 `commands/search.c'.
32443
83507e68
RM
324442010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32445
32446 * config.rpath: Update from Gnulib.
32447
465c787b
YB
324482010-01-05 Yves Blusseau <blusseau@zetam.org>
32449
32450 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
32451
6581dd3a
YB
324522010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
32453
32454 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
32455
3bff18c5
CW
324562010-01-05 Colin Watson <cjwatson@ubuntu.com>
32457
32458 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
32459 arguments to fread so that we get a return value in bytes, rather
32460 than something that will normally be rounded down to 0.
32461 Adjust error handling to avoid producing garbage when size_t is not
32462 the same size as long long.
32463
a1368118
CW
324642010-01-05 Colin Watson <cjwatson@ubuntu.com>
32465
32466 * util/mkisofs/write.c (padblock_write): Check return value of
32467 fread.
32468
7c302978
RM
324692010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32470
32471 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
32472 floppy images now.
32473
32474 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
32475
e33ace06
RM
324762010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32477
32478 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
32479 instead of manual alignment.
32480 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
32481 verbose). Avoid attempts to read past end of the device
32482 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
32483 but GRUB_DISK_CACHE_SIZE may exceed that).
32484
4b856776
RM
324852010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32486
32487 * commands/crc.c (grub_cmd_crc): Abort on read errors.
32488 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
32489 it to upper layer.
32490
52c2d97f
VS
324912010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32492
32493 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
32494 New constant.
32495 (grub_efi_piwg_device_path): New structure
32496 (grub_efi_piwg_device_path_t): New type.
32497 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
32498 (devpath_1): Transform to a structure. All users updated.
32499 (devpath_2): Likewise.
32500 (devpath_3): Likewise.
32501 (devpath_4): Likewise.
32502 (devpath_5): Likewise.
32503
98ff6a54
VS
325042010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32505
32506 * loader/efi/appleloader.c: Restored. Update all users.
32507
3a73dcb6
RM
325082010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32509
32510 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
32511
32512 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
32513 (struct boot_blocklist): Move from here ...
32514 * include/grub/i386/pc/boot.h [ASM_FILE]
32515 (struct grub_boot_blocklist): ... to here. Update all users.
32516 (setup): Only initialize `start' member of `first_block'
32517 structure. Add assert() calls to verify the other members.
32518
32519 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
32520 (generate_image): Fix broken blocklist length initialization.
32521 Add assert() call to verify blocklist `segment' field.
32522
ab0eeb0c
RM
325232010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32524
32525 * loader/efi/appleloader.c: Remove. Update all users.
32526
58bc8bd5
RM
325272010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32528
32529 * boot/i386/pc/boot.S: Update copyright year.
32530 * boot/i386/pc/cdboot.S: Likewise.
32531 * boot/i386/pc/diskboot.S: Likewise.
32532 * boot/i386/pc/lnxboot.S: Likewise.
32533 * boot/i386/pc/pxeboot.S: Likewise.
32534 * bus/pci.c: Likewise.
32535 * commands/cmp.c: Likewise.
32536 * commands/help.c: Likewise.
32537 * commands/hexdump.c: Likewise.
32538 * commands/i386/pc/halt.c: Likewise.
32539 * commands/i386/pc/play.c: Likewise.
32540 * commands/i386/pc/vbeinfo.c: Likewise.
32541 * commands/ls.c: Likewise.
32542 * commands/test.c: Likewise.
32543 * disk/dmraid_nvidia.c: Likewise.
32544 * disk/i386/pc/biosdisk.c: Likewise.
32545 * disk/ieee1275/nand.c: Likewise.
32546 * disk/ieee1275/ofdisk.c: Likewise.
32547 * disk/lvm.c: Likewise.
32548 * disk/raid.c: Likewise.
32549 * disk/raid6_recover.c: Likewise.
32550 * disk/scsi.c: Likewise.
32551 * fs/affs.c: Likewise.
32552 * fs/cpio.c: Likewise.
32553 * fs/ext2.c: Likewise.
32554 * fs/hfs.c: Likewise.
32555 * fs/iso9660.c: Likewise.
32556 * fs/ntfs.c: Likewise.
32557 * fs/sfs.c: Likewise.
32558 * fs/udf.c: Likewise.
32559 * fs/ufs.c: Likewise.
32560 * fs/xfs.c: Likewise.
32561 * gencmdlist.sh: Likewise.
32562 * genmk.rb: Likewise.
32563 * include/grub/disk.h: Likewise.
32564 * include/grub/efi/api.h: Likewise.
32565 * include/grub/efi/efi.h: Likewise.
32566 * include/grub/efi/pe32.h: Likewise.
32567 * include/grub/elf.h: Likewise.
32568 * include/grub/fs.h: Likewise.
32569 * include/grub/i386/at_keyboard.h: Likewise.
32570 * include/grub/i386/pc/memory.h: Likewise.
32571 * include/grub/i386/pc/vbe.h: Likewise.
32572 * include/grub/i386/pci.h: Likewise.
32573 * include/grub/i386/tsc.h: Likewise.
32574 * include/grub/ieee1275/ieee1275.h: Likewise.
32575 * include/grub/ntfs.h: Likewise.
32576 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32577 * include/grub/sparc64/libgcc.h: Likewise.
32578 * include/grub/symbol.h: Likewise.
32579 * include/grub/types.h: Likewise.
32580 * include/multiboot2.h: Likewise.
32581 * io/gzio.c: Likewise.
32582 * kern/device.c: Likewise.
32583 * kern/disk.c: Likewise.
32584 * kern/efi/efi.c: Likewise.
32585 * kern/efi/mm.c: Likewise.
32586 * kern/elf.c: Likewise.
32587 * kern/file.c: Likewise.
32588 * kern/i386/dl.c: Likewise.
32589 * kern/i386/pc/init.c: Likewise.
32590 * kern/i386/pc/startup.S: Likewise.
32591 * kern/ieee1275/ieee1275.c: Likewise.
32592 * kern/ieee1275/init.c: Likewise.
32593 * kern/main.c: Likewise.
32594 * kern/mm.c: Likewise.
32595 * kern/powerpc/dl.c: Likewise.
32596 * kern/sparc64/dl.c: Likewise.
32597 * kern/x86_64/dl.c: Likewise.
32598 * lib/hexdump.c: Likewise.
32599 * loader/efi/appleloader.c: Likewise.
32600 * loader/i386/ieee1275/linux.c: Likewise.
32601 * loader/i386/pc/chainloader.c: Likewise.
32602 * loader/i386/pc/linux.c: Likewise.
32603 * loader/i386/pc/multiboot2.c: Likewise.
32604 * loader/ieee1275/multiboot2.c: Likewise.
32605 * loader/multiboot2.c: Likewise.
32606 * loader/multiboot_loader.c: Likewise.
32607 * loader/powerpc/ieee1275/linux.c: Likewise.
32608 * normal/completion.c: Likewise.
32609 * normal/menu_entry.c: Likewise.
32610 * partmap/apple.c: Likewise.
32611 * util/grub.d/10_hurd.in: Likewise.
32612 * util/hostfs.c: Likewise.
32613 * video/readers/png.c: Likewise.
32614
e2d70b5c
CW
326152010-01-03 Colin Watson <cjwatson@ubuntu.com>
32616
32617 * include/grub/misc.h (GNUC_PREREQ): New macro.
32618 (ATTRIBUTE_ERROR): New macro.
32619 * include/grub/list.h (grub_bad_type_cast_real): Use
32620 ATTRIBUTE_ERROR.
32621
a173283f 326222010-01-03 Carles Pina i Estany <carles@pina.cat>
32623
32624 * normal/menu_text.c (print_message): Change messages.
32625
7fa7ff74 326262010-01-03 Carles Pina i Estany <carles@pina.cat>
32627
32628 * normal/menu_entry.c (store_completion): Gettextizze.
32629
136d24f6 326302010-01-03 Carles Pina i Estany <carles@pina.cat>
32631
32632 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
32633
f936862e 326342010-01-03 Carles Pina i Estany <carles@pina.cat>
32635
32636 * po/POTFILES: Sort correctly.
32637
29c44ad1 326382010-01-03 Carles Pina i Estany <carles@pina.cat>
32639
32640 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
32641 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
32642 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
32643 full stop.
32644 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
32645 summary. Gettextizze the strings.
32646 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
32647 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
32648 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
32649 full stop.
32650 (GRUB_MOD_INIT): Remove command name from summary.
32651 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
32652 summary.
32653 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
32654 * term/i386/pc/serial.c (options): Add full stops.
32655 (GRUB_MOD_INIT): Remove command name from the summary.
32656
77a79592 326572010-01-03 Carles Pina i Estany <carles@pina.cat>
32658
32659 * commands/acpi.c: Gettextizze help strings and/or options. Include
32660 `grub/i18n.h' if needed.
32661 * commands/blocklist.c: Likewise.
32662 * commands/boot.c: Likewise.
32663 * commands/cat.c: Likewise.
32664 * commands/cmp.c: Likewise.
32665 * commands/configfile.c: Likewise.
32666 * commands/crc.c: Likewise.
32667 * commands/date.c: Likewise.
32668 * commands/echo.c: Likewise.
32669 * commands/efi/fixvideo.c: Likewise.
32670 * commands/efi/loadbios.c: Likewise.
32671 * commands/gptsync.c: Likewise.
32672 * commands/halt.c: Likewise.
32673 * commands/handler.c: Likewise.
32674 * commands/hdparm.c: Likewise.
32675 * commands/hexdump.c: Likewise.
32676 * commands/i386/cpuid.c: Likewise.
32677 * commands/i386/pc/drivemap.c: Likewise.
32678 * commands/i386/pc/halt.c: Likewise.
32679 * commands/i386/pc/pxecmd.c: Likewise.
32680 * commands/i386/pc/vbeinfo.c: Likewise.
32681 * commands/i386/pc/vbetest.c: Likewise.
32682 * commands/ieee1275/suspend.c: Likewise.
32683 * commands/keystatus.c: Likewise.
32684 * commands/loadenv.c: Likewise.
32685 * commands/ls.c: Likewise.
32686 * commands/lsmmap.c: Likewise.
32687 * commands/lspci.c: Likewise.
32688 * commands/memrw.c: Likewise.
32689 * commands/minicmd.c: Likewise.
32690 * commands/parttool.c: Likewise.
32691 * commands/password.c: Likewise.
32692 * commands/probe.c: Likewise.
32693 * commands/read.c: Likewise.
32694 * commands/reboot.c: Likewise.
32695 * commands/search.c: Likewise.
32696 * commands/sleep.c: Likewise.
32697 * commands/test.c: Likewise.
32698 * commands/true.c: Likewise.
32699 * commands/usbtest.c: Likewise.
32700 * commands/videotest.c: Likewise.
32701 * commands/xnu_uuid.c: Likewise.
32702 * disk/loopback.c: Likewise.
32703 * hello/hello.c: Likewise.
32704 * loader/i386/bsd.c: Likewise.
32705 * term/i386/pc/serial.c: Likewise.
32706 * po/POTFILES: Add new files.
32707
da8d5c53
CW
327082010-01-02 Colin Watson <cjwatson@ubuntu.com>
32709
32710 * term/i386/pc/at_keyboard.c
32711 (keyboard_controller_wait_untill_ready): Rename to ...
32712 (keyboard_controller_wait_until_ready): ... this. Update all users.
32713
33937904 327142010-01-01 Carles Pina i Estany <carles@pina.cat>
32715
32716 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
32717 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
32718 string using string width.
32719 * normal/menu_text.c (grub_print_message_indented): Use
32720 grub_print_spaces and not print_spaces.
32721 (print_timeout): Likewise.
32722 (print_spaces): Move to...
32723 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
32724
3fd3b8d8
RM
327252010-01-01 Robert Millan <rmh.grub@aybabtu.com>
32726
32727 Import from Gnulib.
32728
32729 * gnulib/getdelim.c: New file.
32730 * gnulib/getline.c: Likewise.
32731
33433555
VS
327322009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
32733
32734 * include/grub/list.h (grub_assert_fail): Removed.
32735 (grub_bad_type_cast_real): New function.
32736 (grub_bad_type_cast): New macro.
32737 (GRUB_AS_LIST): Use grub_bad_type_cast.
32738 (GRUB_AS_LIST_P): Likewise.
e44721e8 32739 (GRUB_AS_NAMED_LIST): Likewise.
33433555 32740 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 32741 (GRUB_AS_PRIO_LIST): Likewise.
33433555 32742 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 32743 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 32744
f5a51306
VS
327452009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
32746
32747 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
32748 Fix syntax error.
32749
90d1e879
RM
327502009-12-29 Robert Millan <rmh.grub@aybabtu.com>
32751
32752 * configure.ac: Check for TARGET_CFLAGS initialization before we
32753 initialize it ourselves (sigh).
32754 Move a few modifications to TARGET_CFLAGS to be unconditional
32755 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
32756 eh_frame)
32757
32758 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
32759 * term/i386/pc/at_keyboard.c
32760 (keyboard_controller_wait_untill_ready): Likewise.
32761 (keyboard_controller_led): Rename `led_status' paramter to avoid
32762 name conflict.
32763
465b5a81 327642009-12-28 Carles Pina i Estany <carles@pina.cat>
32765
32766 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
32767 quotes.
32768
c181849b
VS
327692009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32770
32771 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
32772
9c8739a4
VS
327732009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32774
32775 * normal/menu_text.c (grub_print_message_indented): Prevent
32776 past-the-end-of-array dereference.
32777
3e74249c
VS
327782009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32779
32780 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
32781 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
32782
64fd18ed 327832009-12-27 Carles Pina i Estany <carles@pina.cat>
32784
32785 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
32786 * normal/main.c (grub_normal_read_line): Remove a space from the
32787 default prompt.
32788
714af9b9 327892009-12-27 Carles Pina i Estany <carles@pina.cat>
32790
32791 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
32792 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32793 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32794 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32795 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32796 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32797 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32798
82f3e412 327992009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 32800
32801 * video/readers/jpeg.c (cmd): Declare.
32802 (grub_cmd_jpegtest): Use `grub_command_t' type.
32803 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32804 Assign to `cmd'.
32805 (GRUB_MOD_FINI): Use `cmd' to unregister.
32806 * video/readers/png.c (cmd): Declare.
32807 (grub_cmd_pngtest): Use `grub_command_t' type.
32808 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32809 Assign to `cmd'.
32810 (GRUB_MOD_FINI): Use `cmd' to unregister.
32811 * video/readers/tga.c (cmd): Declare.
32812 (grub_cmd_tgatest): Use `grub_command_t' type.
32813 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32814 Assign to `cmd'.
32815 (GRUB_MOD_FINI): Use `cmd' to unregister.
32816
82f3e412 328172009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 32818
32819 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
32820 stops.
32821 * kern/corecmd.c (grub_register_core_commands): Likewise.
32822 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
32823 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32824 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
32825 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32826 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32827 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
32828 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32829 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
32830 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32831 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32832 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32833 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32834 * normal/handler.c (insert_handler): Likewise.
32835 * normal/main.c (GRUB_MOD_INIT): Likewise.
32836 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
32837
fdcdbb66 328382009-12-26 Carles Pina i Estany <carles@pina.cat>
32839
32840 * commands/help.c (grub_cmd_help): Print the command name before the
32841 summary.
32842 (GRUB_MOD_INIT): Remove command name from the summary.
32843 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 32844 string as summary.
fdcdbb66 32845 * lib/arg.c (find_long): Print the command name before the summary.
32846 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
32847 summary.
32848 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
32849 * commands/cat.c (GRUB_MOD_INIT): Likewise.
32850 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
32851 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32852 * commands/crc.c (GRUB_MOD_INIT): Likewise.
32853 * commands/date.c (GRUB_MOD_INIT): Likewise.
32854 * commands/echo.c (GRUB_MOD_INIT): Likewise.
32855 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
32856 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32857 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32858 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
32859 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
32860 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
32861 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
32862 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32863 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
32864 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
32865 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
32866 * commands/ls.c (GRUB_MOD_INIT): Likewise.
32867 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32868 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32869 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32870 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
32871 * commands/password.c (GRUB_MOD_INIT): Likewise.
32872 * commands/probe.c (GRUB_MOD_INIT): Likewise.
32873 * commands/read.c (GRUB_MOD_INIT): Likewise.
32874 * commands/search.c (GRUB_MOD_INIT): Likewise.
32875 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
32876 * commands/test.c (GRUB_MOD_INIT): Likewise.
32877 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
32878 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
32879 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
32880 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
32881 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
32882 * lib/arg.c (GRUB_MOD_INIT): Likewise.
32883 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
32884 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32885 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32886 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32887 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
32888 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
32889 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
32890 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
32891
9c288be2
VS
328922009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32893
32894 Use search command for preliminar UUID search.
32895
32896 * commands/search.c: Split into ...
32897 * commands/search_wrap.c: ...this
32898 * commands/search.c: ...and this.
32899 * commands/search_file.c: New file.
32900 * commands/search_label.c: New file.
32901 * commands/search_uuid.c: New file.
32902 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
32903 Add commands/search_wrap.c, commands/search_file.c,
32904 commands/search_label.c and commands/search_uuid.c.
32905 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
32906 (search_mod_SOURCES): Set to commands/search_wrap.c.
32907 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
32908 search_label.mod.
32909 (search_fs_file_mod_SOURCES): New variable.
32910 (search_fs_file_mod_CFLAGS): Likewise.
32911 (search_fs_file_mod_LDFLAGS): Likewise.
32912 (search_label_mod_SOURCES): Likewise.
32913 (search_label_mod_CFLAGS): Likewise.
32914 (search_label_mod_LDFLAGS): Likewise.
32915 (search_fs_uuid_mod_SOURCES): New variable.
32916 (search_fs_uuid_mod_CFLAGS): Likewise.
32917 (search_fs_uuid_mod_LDFLAGS): Likewise.
32918 (fs_file_mod_SOURCES): Removed.
32919 (fs_file_mod_CFLAGS): Likewise.
32920 (fs_file_mod_LDFLAGS): Likewise.
32921 (fs_uuid_mod_SOURCES): Removed.
32922 (fs_uuid_mod_CFLAGS): Likewise.
32923 (fs_uuid_mod_LDFLAGS): Likewise.
32924 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
32925 Set to util/grub-install.in.
32926 * disk/fs_file.c: Removed.
32927 * disk/fs_uuid.c: Likewise.
32928 * include/grub/search.h: New file.
32929 * util/grub-install.in: Handle sparc64.
32930 Create and use load.cfg.
32931 * util/sparc64/ieee1275/grub-install.in: Removed.
32932
db943399
VS
329332009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32934
32935 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
32936 Ignore return status if CF is cleared.
32937 (grub_biosdisk_get_diskinfo_standard): Likewise.
32938
3fdae612
RM
329392009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32940
32941 * term/i386/pc/at_keyboard.c
32942 (keyboard_controller_wait_untill_ready): New function.
32943 (grub_keyboard_controller_write, grub_keyboard_controller_read)
32944 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
32945 for keyboard polling, rather than duplicate the same loop. This
32946 saves a few bytes in code size.
32947
7ebaa2b4
VS
329482009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32949
32950 Support for (pxe[:server[:gateway]]) syntax and
32951 use environment variable for PXE.
32952
32953 * commands/i386/pc/pxecmd.c (options): Removed.
32954 (print_ip): Removed.
32955 (grub_cmd_pxe): Removed
32956 (grub_cmd_pxe_unload): New function.
32957 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
32958 (grub_pxe_your_ip): Made static.
32959 (grub_pxe_default_server_ip): Likewise.
32960 (grub_pxe_default_gateway_ip): Likewise.
32961 (grub_pxe_blksize): Likewise.
32962 (parse_ip): New function.
32963 (grub_pxe_open): Support server and gateway specification.
32964 (grub_pxe_close): Free disk->data.
32965 (grub_pxefs_open): Use disk->data.
32966 (grub_pxefs_read): Likewise.
32967 (grub_env_write_readonly): New function.
32968 (set_mac_env): Likewise.
32969 (set_env_limn_ro): Likewise.
32970 (parse_dhcp_vendor): Likewise.
32971 (grub_pxe_detect): Set the environment variables.
32972 (set_ip_env): New function.
32973 (write_ip_env): Likewise.
32974 (grub_env_write_pxe_default_server): Likewise.
32975 (grub_env_write_pxe_default_gateway): Likewise.
32976 (grub_env_write_pxe_blocksize): Likewise.
32977 (GRUB_MOD_INIT(pxe)): Set environment variables.
32978 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
32979 (grub_pxe_mac_addr_t): ... this. All users updated.
32980 (grub_pxe_your_ip): Removed.
32981 (grub_pxe_server_ip): Likewise.
32982 (grub_pxe_gateway_ip): Likewise.
32983 (grub_pxe_blksize): Likewise.
32984
ec5f98ab 329852009-12-25 Carles Pina i Estany <carles@pina.cat>
32986
32987 * commands/help.c: Include `<grub/i18n.h>'.
32988 (grub_cmd_help): Gettextizze.
32989 (GRUB_MOD_INIT): Likewise.
32990 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
32991 (GRUB_MOD_INIT): Gettextizze.
32992 * commands/search.c: Include `<grub/i18n.h>'.
32993 (options): Gettextizze.
32994 (GRUB_MOD_INIT): Gettextizze.
32995 * lib/arg.c: Include `<grub/i18n.h>'.
32996 (help_options): Gettextizze.
32997 (find_long): Likewise.
32998 (grub_arg_show_help): Likewise.
32999 * normal/dyncmd.c: Include `<grub/i18n.h>'.
33000 (read_command_list): Gettextizze.
33001 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 33002 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 33003
22815526
RM
330042009-12-25 Robert Millan <rmh.grub@aybabtu.com>
33005
33006 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
33007 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
33008 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
33009 (led_status): New variable.
33010 (keyboard_controller_led): New function.
33011 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
33012 update led status for caps lock, num lock and scroll lock.
33013
0ad46fd7
FZ
330142009-12-25 Felix Zielcke <fzielcke@z-51.de>
33015
33016 * util/hostdisk.c (open_device): Fix a comment.
33017
d0e158c2
RM
330182009-12-24 Robert Millan <rmh.grub@aybabtu.com>
33019
33020 * util/grub-install.in (host_os): New variable.
33021 * util/i386/efi/grub-install.in (host_os): Likewise.
33022
401c0ad6
RM
330232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
33024
33025 * util/mkisofs/write.c (padblock_write): Abort when given an
33026 excedingly large embed image, instead of silently truncating it.
33027
d14d3370
RM
330282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
33029
33030 * include/multiboot.h: Indentation fixes.
33031
eeed10b4
RM
330322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
33033
33034 * include/multiboot.h (struct multiboot_aout_symbol_table)
33035 (struct multiboot_elf_section_header_table): New structure
33036 declarations (stolen from GRUB Legacy).
33037 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
33038 table information.
33039
33040 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
33041 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
33042 type aliases.
33043
681c70ab
RM
330442009-12-24 Robert Millan <rmh.grub@aybabtu.com>
33045
33046 * include/multiboot.h: Make comments src2texi-friendly.
33047
e4d47d8d
RM
330482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
33049
33050 For consistency with [multiboot]/docs/boot.S.
33051
33052 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
33053 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
33054 (MULTIBOOT_MAGIC2): Rename from this ...
33055 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
33056
a0b70bda
RM
330572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
33058
33059 * include/multiboot.h: Remove `<grub/types.h>'.
33060 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
33061 types. Update all users.
33062
61ba42be 330632009-12-25 Carles Pina i Estany <carles@pina.cat>
33064
33065 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
33066 `couldn't' and `can not' by `cannot'.
33067 * commands/i386/pc/drivemap.c: Likewise.
33068 * disk/ata.c: Likewise.
33069 * disk/ieee1275/nand.c: Likewise.
33070 * fs/affs.c: Likewise.
33071 * fs/fat.c: Likewise.
33072 * fs/hfs.c: Likewise.
33073 * fs/hfsplus.c: Likewise.
33074 * fs/iso9660.c: Likewise.
33075 * fs/jfs.c: Likewise.
33076 * fs/minix.c: Likewise.
33077 * fs/reiserfs.c: Likewise.
33078 * fs/sfs.c: Likewise.
33079 * fs/udf.c: Likewise.
33080 * fs/ufs.c: Likewise.
33081 * fs/xfs.c: Likewise.
33082 * loader/powerpc/ieee1275/linux.c: Likewise.
33083 * loader/sparc64/ieee1275/linux.c: Likewise.
33084 * util/grub-probe.c: Likewise.
33085 * util/misc.c: Likewise.
33086
7fd0baee 330872009-12-24 Carles Pina i Estany <carles@pina.cat>
33088
33089 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
33090 grub_errno calls.
33091 * commands/acpi.c: Likewise.
33092 * commands/blocklist.c: Likewise.
33093 * commands/efi/loadbios.c: Likewise.
33094 * commands/i386/pc/drivemap.c: Likewise.
33095 * commands/loadenv.c: Likewise.
33096 * commands/memrw.c: Likewise.
33097 * commands/password.c: Likewise.
33098 * commands/videotest.c: Likewise.
33099 * disk/ata.c: Likewise.
33100 * disk/ata_pthru.c: Likewise.
33101 * disk/dmraid_nvidia.c: Likewise.
33102 * disk/ieee1275/nand.c: Likewise.
33103 * disk/ieee1275/ofdisk.c: Likewise.
33104 * disk/loopback.c: Likewise.
33105 * disk/lvm.c: Likewise.
33106 * disk/mdraid_linux.c: Likewise.
33107 * disk/raid.c: Likewise.
33108 * disk/raid6_recover.c: Likewise.
33109 * disk/scsi.c: Likewise.
33110 * efiemu/main.c: Likewise.
33111 * efiemu/mm.c: Likewise.
33112 * efiemu/pnvram.c: Likewise.
33113 * efiemu/symbols.c: Likewise.
33114 * font/font.c: Likewise.
33115 * fs/cpio.c: Likewise.
33116 * fs/hfsplus.c: Likewise.
33117 * fs/iso9660.c: Likewise.
33118 * fs/jfs.c: Likewise.
33119 * fs/minix.c: Likewise.
33120 * fs/ntfs.c: Likewise.
33121 * fs/ntfscomp.c: Likewise.
33122 * fs/reiserfs.c: Likewise.
33123 * fs/ufs.c: Likewise.
33124 * fs/xfs.c: Likewise.
33125 * gettext/gettext.c: Likewise.
33126 * include/grub/auth.h: Likewise.
33127 * kern/elf.c: Likewise.
33128 * kern/file.c: Likewise.
33129 * kern/ieee1275/init.c: Likewise.
33130 * kern/ieee1275/mmap.c: Likewise.
33131 * kern/ieee1275/openfw.c: Likewise.
33132 * kern/powerpc/dl.c: Likewise.
33133 * kern/sparc64/dl.c: Likewise.
33134 * lib/arg.c: Likewise.
33135 * loader/i386/bsd.c: Likewise.
33136 * loader/i386/bsdXX.c: Likewise.
33137 * loader/i386/efi/linux.c: Likewise.
33138 * loader/i386/efi/xnu.c: Likewise.
33139 * loader/i386/ieee1275/linux.c: Likewise.
33140 * loader/i386/linux.c: Likewise.
33141 * loader/i386/multiboot.c: Likewise.
33142 * loader/i386/pc/linux.c: Likewise.
33143 * loader/i386/pc/multiboot2.c: Likewise.
33144 * loader/i386/xnu.c: Likewise.
33145 * loader/ieee1275/multiboot2.c: Likewise.
33146 * loader/macho.c: Likewise.
33147 * loader/machoXX.c: Likewise.
33148 * loader/multiboot2.c: Likewise.
33149 * loader/multiboot_loader.c: Likewise.
33150 * loader/powerpc/ieee1275/linux.c: Likewise.
33151 * loader/sparc64/ieee1275/linux.c: Likewise.
33152 * loader/xnu.c: Likewise.
33153 * loader/xnu_resume.c: Likewise.
33154 * mmap/i386/pc/mmap.c: Likewise.
33155 * normal/menu_viewer.c: Likewise.
33156 * partmap/acorn.c: Likewise.
33157 * partmap/amiga.c: Likewise.
33158 * partmap/apple.c: Likewise.
33159 * script/lexer.c: Likewise.
33160 * term/gfxterm.c: Likewise.
33161 * term/i386/pc/serial.c: Likewise.
33162 * term/i386/pc/vga.c: Likewise.
33163 * term/ieee1275/ofconsole.c: Likewise.
33164 * term/terminfo.c: Likewise.
33165 * video/bitmap.c: Likewise.
33166 * video/efi_gop.c: Likewise.
33167 * video/efi_uga.c: Likewise.
33168 * video/fb/video_fb.c: Likewise.
33169 * video/i386/pc/vbe.c: Likewise.
33170 * video/readers/tga.c: Likewise.
33171 * video/video.c: Likewise.
33172
0ad46fd7 331732009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
33174
33175 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
33176 * commands/lspci.c: Likewise.
33177 * commands/probe.c: Likewise.
33178 * commands/xnu_uuid.c: Likewise.
33179 * conf/i386-coreboot.rmk: Likewise.
33180 * conf/i386-efi.rmk: Likewise.
33181 * conf/i386-ieee1275.rmk: Likewise.
33182 * conf/i386-pc.rmk: Likewise.
33183 * conf/powerpc-ieee1275.rmk: Likewise.
33184 * conf/sparc64-ieee1275.rmk: Likewise.
33185 * conf/x86_64-efi.rmk: Likewise.
33186 * fs/i386/pc/pxe.c: Likewise.
33187 * gettext/gettext.c: Likewise.
33188 * include/grub/efi/graphics_output.h: Likewise.
33189 * include/grub/i386/pc/memory.h: Likewise.
33190 * kern/env.c: Likewise.
33191 * kern/i386/qemu/startup.S: Likewise.
33192 * lib/i386/pc/biosnum.c: Likewise.
33193 * lib/i386/relocator.c: Likewise.
33194 * lib/i386/relocator_asm.S: Likewise.
33195 * lib/relocator.c: Likewise.
33196 * loader/i386/bsd.c: Likewise.
33197 * loader/i386/multiboot.c: Likewise.
33198 * loader/i386/pc/chainloader.c: Likewise.
33199 * loader/i386/xnu.c: Likewise.
33200 * loader/xnu.c: Likewise.
33201 * normal/main.c: Likewise.
33202 * normal/menu_text.c: Likewise.
33203 * util/getroot.c: Likewise.
33204 * util/grub-mkconfig_lib.in: Likewise.
33205 * util/grub.d/00_header.in: Likewise.
33206 * util/i386/pc/grub-mkimage.c: Likewise.
33207 * util/mkisofs/eltorito.c: Likewise.
33208 * util/mkisofs/exclude.h: Likewise.
33209 * util/mkisofs/hash.c: Likewise.
33210 * util/mkisofs/iso9660.h: Likewise.
33211 * util/mkisofs/joliet.c: Likewise.
33212 * util/mkisofs/mkisofs.c: Likewise.
33213 * util/mkisofs/mkisofs.h: Likewise.
33214 * util/mkisofs/multi.c: Likewise.
33215 * util/mkisofs/name.c: Likewise.
33216 * util/mkisofs/rock.c: Likewise.
33217 * util/mkisofs/tree.c: Likewise.
33218 * util/mkisofs/write.c: Likewise.
33219 * video/efi_gop.c: Likewise.
33220
009ec743
VS
332212009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
33222
33223 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
33224 size counting.
33225
0ad46fd7 332262009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
33227
33228 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
33229 * genmk.rb (class SCRIPT): Modify the target file instead of source.
33230
d3d30ea0
VS
332312009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33232
33233 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
33234 (GRUB_MOD_INIT(memrw)): Update help line.
33235
a34f5c70
VS
332362009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33237
33238 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
33239 Use grub_extcmd_t. All users updated.
33240 (options): New variable.
33241 (grub_cmd_read): Restructure for readability. Support "-v" option.
33242 (grub_cmd_write): Restructure for readability.
33243
0ad46fd7 332442009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
33245
33246 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
33247
0ad46fd7 332482009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
33249
33250 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
33251 with the actual contents of the correspondending make variable.
33252 * util/grub-mkrescue.in (pkglib_DATA): New variable.
33253 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
33254 specifying `*.lst' and `efiemu??.o'
33255
0ad46fd7 332562009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
33257
33258 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
33259 after function name.
33260 Noticed by Rene Engelhard <rene@debian.org>.
33261
dc77a799
VS
332622009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33263
33264 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
33265 (options): New variable.
33266 (iospace): Likewise.
33267 (grub_lspci_iter): List IO spaces if "-i" was given.
33268 (grub_cmd_lspci): Parse options.
33269 (GRUB_MOD_INIT(lspci)): Use extcmd.
33270 (GRUB_MOD_FINI(lspci)): Likewise.
33271
0ad46fd7 332722009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
33273
33274 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
33275 `function' keyword.
33276 Patch by Tony Mancill <tmancill@debian.org>.
33277
b5d5993b
VS
332782009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33279
33280 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
33281 (grub_uhci_portstatus): Likewise.
33282 (grub_uhci_portstatus): Add necessary delay.
11d18281 33283 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 33284
941903f2 332852009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 33286
941903f2 33287 * commands/acpi.c (options): Fix capitalizations and/or full stops.
33288 (GRUB_MOD_INIT): Likewise.
33289 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 33290 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
33291 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 33292 * commands/efi/loadbios.c (enable_rom_area): Likewise.
33293 (enable_rom_area): Likewise.
33294 (GRUB_MOD_INIT): Likewise.
33295 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
33296 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
33297 * commands/handler.c (GRUB_MOD_INIT): Likewise.
33298 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
33299 * commands/hexdump.c (options): Likewise.
33300 * commands/i386/cpuid.c (options): Likewise.
33301 (GRUB_MOD_INIT): Likewise.
33302 * commands/i386/pc/drivemap.c (options): Likewise.
33303 (GRUB_MOD_INIT): Likewise.
33304 * commands/i386/pc/halt (options): Likewise.
33305 (GRUB_MOD_INIT): Likewise.
33306 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
33307 * commands/i386/pc/pxecmd.c (options): Likewise.
33308 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
33309 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
33310 * commands/keystatus.c (options): Likewise.
33311 (GRUB_MOD_INIT): Likewise.
33312 * commands/loadenv.c (options): Likewise.
33313 * commands/ls.c (options): Likewise.
33314 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
33315 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
33316 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
33317 * commands/parttool.c (helpmsg): Likewise.
33318 * commands/probe.c (options): Likewise.
33319 * commands/read.c (GRUB_MOD_INIT): Likewise.
33320 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
33321 * commands/search.c (options): Likewise.
33322 * commands/sleep.c (options): Likewise.
33323 * commands/test.c (GRUB_MOD_INIT): Likewise.
33324 * commands/true.c (GRUB_MOD_INIT): Likewise.
33325 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
33326 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
33327 * lib/arg.c (help_options): Likewise.
e9bbb4e7 33328 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
33329 `$(XGETTEXT)'.
98a50553 33330 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 33331
0ad46fd7 333322009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 33333
ef3c2c3a 33334 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
33335 instead of specifying them explicit.
33336
7922f68b
RM
333372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33338
33339 * NEWS: Add grub-probe support for GNU/Hurd.
33340
537ce47f
RM
333412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33342
33343 * NEWS: gettext was added after 1.97.
33344
9b214e3a
RM
333452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33346
33347 * util/mkisofs/msdos_partition.h: New file (based on
33348 include/grub/msdos_partition.h).
33349 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
33350 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
33351 (ld_options, main): Recognize --protective-msdos-label.
33352 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
33353 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
33354 (padblock_write): If `use_protective_msdos_label' is set, patch a
33355 protective DOS-style label in the output image.
33356
33357 * util/grub-mkrescue.in: Use --protective-msdos-label.
33358
e9309813
RM
333592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33360
33361 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
33362 boot.
33363
0ae56929
RM
333642009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33365
33366 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
33367 variables.
33368 (ld_options, main): Recognize `--embedded-boot'.
33369 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
33370 declarations.
33371 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
33372 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
33373 (padblock_write): Likewise. Rewrite to support embedded boot image.
33374
33375 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
33376 for BIOS-based disk boot instead of only ElTorito.
33377
b15937b1
RM
333782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33379
33380 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
33381 build (not needed for bootstrap).
33382
52cc3ce0
RM
333832009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33384
33385 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
33386 from i386-pc build (not needed for bootstrap).
33387 Rewrite a pair of strings.
33388
36f5ff04
RM
333892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33390
33391 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
33392
973c6c85 333932009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
33394
33395 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
33396
05d21547
AB
333972009-12-21 Andreas Born <futur.andy@googlemail.com>
33398
33399 * kern/env.c (grub_env_context_open): Mark exported variable for
33400 reexport.
33401
0175d51f
AB
334022009-12-21 Andreas Born <futur.andy@googlemail.com>
33403
33404 * kern/env.c (grub_env_export): Create nonexistent variables before
33405 exporting.
33406
7f39d92f 334072009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 33408
7f39d92f 33409 * include/grub/auth.h: Include `<grub/i18n.h>'.
33410 (GRUB_GET_PASSWORD): Gettextizze string.
33411 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
33412 menu_text.c.
33413 (grub_utf8_to_ucs4_alloc): Fix indentation.
33414 (grub_print_ucs4): Likewise.
33415 (grub_getstringwidth): Likewise.
33416 (print_message_indented): New declaration.
33417 * normal/auth.c: Include `<grub/i18n.h>'.
33418 (grub_auth_check_authentication): Gettexttize string.
33419 * normal/cmdline.c: Include `<grub/i18n.h>'.
33420 (grub_cmdline_get): Gettextizze.
33421 * normal/color.c: Include `<grub/i18n.h>'.
33422 (grub_parse_color_name_pair): Gettexttize strings.
33423 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
33424 string (use `print_message_indented').
33425 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
33426 `include/grub/normal.h'.
33427 (print_message_indented): Renamed to ...
33428 (grub_print_message_indented): ... this. Remove `static' qualifer (now
33429 used in normal/main.c).
33430 (print_message): Use `grub_print_message_indented' instead of
33431 `print_message_indented'.
33432 (print_timeout): Likewise.
33433 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
33434 (grub_normal_print_device_info): Gettexttize strings.
33435 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
33436
3041d898
VS
334372009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33438
33439 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
33440 of arguments. Return number of tokens and not arguments. All users
33441 updated.
33442
de15bf8e
VS
334432009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33444
33445 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
33446 non-MSDOS paritions.
33447
e0a6ca52
VS
334482009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
33449
33450 * include/grub/types.h (UNUSED): Removed since it conflicts with
33451 NetBSD headers. All users changed to direct __attribute__ ((unused)).
33452 Reported by Grégoire Sutre.
33453
b99518d1 334542009-12-19 Carles Pina i Estany <carles@pina.cat>
33455
33456 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
33457 (grub_print_ucs4_alloc): Likewise.
33458 (grub_getstringwidth): Likewise.
33459 * normal/main.c (grub_normal_init_page): Gettextize version string.
33460 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
33461 (getstringwidth): Renamed to ...
33462 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
33463 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
33464 (grub_print_ucs4): Remove `static' qualifer (now used in
33465 normal/main.c).
33466 * po/POTFILES: Add normal/main.c.
33467
bfd5e52b 334682009-12-19 Carles Pina i Estany <carles@pina.cat>
33469
33470 * normal/menu_text.c (STANDARD_MARGIN): New macro.
33471 (print_message_indented): Add `margin_left' and `margin_right'
33472 parameters.
33473 (print_message): Update `print_message_indented' calls. Adds '\n' to the
33474 strings.
33475 (print_timeout): Use `print_message_indented' to print the message.
33476 Deletes `second_stage' parameter.
33477 (run_menu): Update `print_timeout' calls.
33478
5a1ad2b9
VS
334792009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33480
33481 Fix console palette on OpenFirmware.
33482
33483 * term/ieee1275/ofconsole.c (MAX): Removed.
33484 (colors): Redone based on VGA palette.
33485 (grub_ofconsole_setcolor): Discard brightness bit since only 8
33486 colors are supported.
33487 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
33488
b045f00a
VS
334892009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33490
33491 Fix potential EfiEmu double prepare.
33492
33493 * efiemu/main.c (prepared): New variable
33494 (grub_efiemu_unload): Set prepare to '0'.
33495 (grub_efiemu_prepare): Return if already prepared. Set prepared.
33496
33497 set_virtual_address_map support.
33498
33499 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
33500 prototype.
33501 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
33502 prototype.
33503 (grub_efiemu_crc32): Likewise.
33504 (grub_efiemu_crc64): Likewise.
33505 (grub_efiemu_set_virtual_address_map): Likewise.
33506 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
33507 New definition.
33508 (grub_autoefi_set_virtual_address_map): Likewise.
33509 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
33510 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
33511 Restructure flow to accomodate it.
33512 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
33513 (grub_efiemu_crc): Recompute CRC32.
33514 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
33515 (efiemu_ptv_relocated): ... this. Made global. All users updated.
33516 * efiemu/symbols.c (relocated_handle): New variable.
33517 (grub_efiemu_free_syms): Free relocated_handle.
33518 (grub_efiemu_alloc_syms): Allocate relocated_handle.
33519 (grub_efiemu_write_sym_markers): New function.
33520 (grub_efiemu_set_virtual_address_map): Likewise.
33521
33522 Newer XNU parameters.
33523
33524 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
33525 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
33526 (grub_xnu_fill_devicetree): New prototype.
33527 (grub_xnu_heap_real_start): New variable.
33528 * loader/xnu.c (get_name_ptr): New function.
33529 (grub_xnu_load_driver): Fill namelen and name.
33530
33531 64-bit xnu support.
33532
33533 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
33534 and 'loader/macho64.c'.
33535 * conf/i386-pc.rmk: Likewise.
33536 * conf/x86_64-efi.rmk: Likewise.
33537 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
33538 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
33539 * include/grub/macho.h (grub_macho_segment64): New structure.
33540 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
33541 (grub_macho_size32): ... to this.
33542 (grub_macho32_get_entry_point): Renamed from ...
33543 (grub_macho_get_entry_point32): ... to this.
33544 (grub_macho_contains_macho64): New prototype.
33545 (grub_macho_size64): Likewise.
33546 (grub_macho_get_entry_point64): Likewise.
33547 (grub_macho32_load): Renamed from ...
33548 (grub_macho_load32): ... to this.
33549 (grub_macho32_filesize): Renamed from ...
33550 (grub_macho_filesize32): ... to this.
33551 (grub_macho32_readfile): Renamed from ...
33552 (grub_macho_readfile32): ... to this.
33553 (grub_macho_filesize64): New prototype.
33554 (grub_macho_readfile64): Likewise.
33555 (grub_macho_parse32): Likewise.
33556 (grub_macho_parse64): Likewise.
33557 * loader/macho.c: Split into ...
33558 * loader/machoXX.c: ... and this. Replace 32 with XX.
33559 * loader/macho32.c: New file.
33560 * loader/macho64.c: Likewise.
33561 * loader/xnu.c (grub_xnu_is_64bit): New variable.
33562 (grub_cmd_xnu_kernel): Make 32-bit only.
33563 (grub_cmd_xnu_kernel64): New function.
33564 (grub_xnu_load_driver): Support Mach-O 64.
33565 (grub_cmd_xnu_mkext): Likewise.
33566 * util/grub.d/30_os-prober.in (osx_entry): New function.
33567 Generate entries for 64-bit boot too.
33568
33569 Eliminate ad-hoc tree format in XNU and EfiEmu.
33570
33571 * efiemu/main.c (grub_efiemu_prepare): Update comment.
33572 * efiemu/pnvram.c: Rewritten to use environment variables.
33573 All users updated.
33574
33575 Inline utf16_to_utf8.
33576
33577 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
33578 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
33579 All users updated.
33580 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
33581
33582 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
33583 * commands/usbtest.c (grub_usb_get_string): ... move here.
33584 (usb_print_str): Fix error handling.
33585 * include/grub/usb.h (grub_usb_get_string): Remove.
33586
33587 UTF-8 to UTF-16 transformation.
33588
33589 * conf/common.rmk (pkglib_MODULES): Add charset.mod
33590 (charset_mod_SOURCES): New variable.
33591 (charset_mod_CFLAGS): Likewise.
33592 (charset_mod_LDFLAGS): Likewise.
33593 * include/grub/utf.h: New file.
33594 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
33595
33596 Support for device properties.
33597
33598 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
33599 (grub_xnu_devprop_device_header): Likewise.
33600 (grub_xnu_devprop_device_descriptor): Likewise.
33601 (grub_xnu_devprop_add_device): New prototype.
33602 (grub_xnu_devprop_remove_device): Likewise.
33603 (grub_xnu_devprop_remove_property): Likewise.
33604 (grub_xnu_devprop_add_property_utf8): Likewise.
33605 (grub_xnu_devprop_add_property_utf16): Likewise.
33606 (grub_cpu_xnu_init): Likewise.
33607 (grub_cpu_xnu_fini): Likewise.
33608 (grub_cpu_xnu_unload): Likewise.
33609 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
33610 (property_descriptor): Likewise.
33611 (devices): New variable.
33612 (grub_xnu_devprop_remove_property): New function.
33613 (grub_xnu_devprop_add_device): Likewise.
33614 (grub_xnu_devprop_remove_device): Likewise.
33615 (grub_xnu_devprop_add_property): Likewise.
33616 (grub_xnu_devprop_add_property_utf8): Likewise.
33617 (grub_xnu_devprop_add_property_utf16): Likewise.
33618 (hextoval): Likewise.
33619 (grub_cpu_xnu_fill_devprop): Likewise.
33620 (grub_cmd_devprop_load): Likewise.
33621 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
33622 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
33623 (cmd_devprop_load): New variable.
33624 (grub_cpu_xnu_init): New function.
33625 (grub_cpu_xnu_fini): Likewise.
33626 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
33627 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
33628 (grub_cmd_xnu_devtree): Likewise.
33629 (hextoval): New function.
33630 (unescape): Likewise.
33631 (grub_xnu_fill_devicetree): Likewise.
33632
33633 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
33634 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
33635
0945f181
VS
336362009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33637
33638 Workaround for broken ATI VBE.
33639
33640 * video/i386/pc/vbe.c (last_set_mode): New variable.
33641 (grub_vbe_set_video_mode): Set 'last_set_mode'.
33642 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
33643 (grub_video_vbe_setup): Don't check for reserved flag.
33644
0ad46fd7 336452009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
33646
33647 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
33648 the `find' command.
33649
c179ebe4
VS
336502009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
33651
33652 UUID support for HFS.
33653
33654 * fs/hfs.c (grub_hfs_uuid): New function.
33655 (grub_hfs_fs): New value .uuid.
33656 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
33657
0ad46fd7 336582009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
33659
33660 Fix a segfault with parsing unknown long options.
33661
33662 * util/grub-mkrelpath.c (options): Zero terminate it.
33663
c4a3e41a
CPE
336642009-12-13 Carles Pina i Estany <carles@pina.cat>
33665
33666 * include/grub/misc.h (grub_puts): New declaration.
33667 (grub_puts_): Likewise.
a22008a6 33668 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
33669 (grub_puts_): Likewise.
33670
2e8a7602
RM
336712009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33672
33673 * util/grub-probe.c (probe): Improve error message.
33674
b50b77b9
RM
336752009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33676
33677 * loader/i386/multiboot_elfxx.c
33678 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
33679 initialization.
33680
336812009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33682
33683 Relocator framework
33684
33685 * loader/i386/xnu_helper.S: Removed. All users updated.
33686 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
33687 (relocator_mod_SOURCES): New variable.
33688 (relocator_mod_CFLAGS): Likewise.
33689 (relocator_mod_LDFLAGS): Likewise.
33690 (relocator_mod_ASFLAGS): Likewise.
33691 * conf/x86_64.rmk: Likewise.
33692 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
33693 (grub_multiboot_payload_entry_offset): Likewise.
33694 (grub_multiboot_forward_relocator): Likewise.
33695 (grub_multiboot_forward_relocator_end): Likewise.
33696 (grub_multiboot_backward_relocator): Likewise.
33697 (grub_multiboot_backward_relocator_end): Likewise.
33698 (grub_multiboot_payload_eip): New variable.
33699 (grub_multiboot_payload_orig): Likewise.
33700 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
33701 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
33702 * include/grub/i386/memory.h
33703 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
33704 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
33705 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
33706 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
33707 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
33708 * include/grub/i386/relocator.h: New file.
33709 * include/grub/x86_64/relocator.h: Likewise.
33710 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
33711 (XNU_RELOCATOR): New macro.
33712 (grub_xnu_launcher_start): Remove.
33713 (grub_xnu_launcher_end): Likewise.
33714 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
33715 (grub_xnu_heap_real_start): Remove.
33716 (grub_xnu_heap_start): Change to void *. All users updated.
33717 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
33718 * lib/i386/relocator.c: New file.
33719 * lib/i386/relocator_asm.S: Likewise.
33720 * lib/i386/relocator_backward.S: Likewise.
33721 * lib/mips/relocator.c: Likewise.
33722 * lib/mips/relocator_asm.S: Likewise.
33723 * lib/relocator.c: Likewise.
33724 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
33725 (entry): Removed.
33726 (playground): Likewise.
33727 (grub_multiboot_payload_orig): New variable.
33728 (grub_multiboot_payload_dest): Likewise.
33729 (grub_multiboot_payload_size): Likewise.
33730 (grub_multiboot_payload_eip): Likewise.
33731 (grub_multiboot_payload_esp): Likewise.
33732 (grub_multiboot_boot): Use grub_relocator32_boot.
33733 (grub_multiboot_unload): Free relocators.
33734 (grub_multiboot): Setup stack. Use relocators.
33735 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
33736 (grub_multiboot_load_elfXX): Use relocators.
33737 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
33738 (grub_multiboot_payload_size): Likewise.
33739 (grub_multiboot_payload_dest): Likewise.
33740 (grub_multiboot_payload_entry_offset): Likewise.
33741 (grub_multiboot_forward_relocator): Likewise.
33742 (grub_multiboot_backward_relocator): Likewise.
33743 (grub_multiboot_real_boot): Likewise.
33744 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
33745 (grub_xnu_entry_point): Likewise.
33746 (grub_xnu_arg1): Likewise.
33747 (grub_xnu_stack): Likewise.
33748 (grub_xnu_launch): Removed.
33749 (grub_xnu_boot_resume): New function.
33750 (grub_xnu_boot): Use relocators.
33751 * loader/i386/xnu_helper.S: Removed.
33752 * loader/xnu.c (grub_xnu_heap_start): New variable.
33753 (grub_xnu_heap_size): Likewise.
33754 (grub_xnu_heap_malloc): Use relocators.
33755 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
33756
29eb90c6
VS
337572009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33758
33759 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
33760 anything.
33761
31027430
CPE
337622009-12-13 Carles Pina i Estany <carles@pina.cat>
33763
33764 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
33765 GRUB_ERR_NONE before calling grub_env_set.
33766
dc0c71d9
RM
337672009-12-12 Robert Millan <rmh@aybabtu.com>
33768
33769 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
33770 * genmk.rb (video): New variable.
33771 (CLEANFILES, VIDEOFILES): Add #{video}.
33772 (#{video}): New target rule.
33773 * genvideolist.sh: New file.
33774 * Makefile.in (pkglib_DATA): Add video.lst.
33775 (video.lst): New target rule.
33776 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
33777 `video.lst'.
33778 * util/grub.d/30_os-prober.in: Replace `vbe' with
33779 ${GRUB_VIDEO_BACKEND}.
33780
2a4bfcf0
RM
337812009-12-11 Robert Millan <rmh.grub@aybabtu.com>
33782
33783 * THANKS: Add David Miller.
33784
2a3aa4d5
RM
337852009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
33786
33787 libpciaccess support.
33788
33789 * Makefile.in (LIBPCIACCESS): New variable.
33790 (enable_grub_emu_pci): Likewise.
33791 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
33792 util/pci.c and commands/lspci.c.
33793 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
33794 * configure.ac (grub-emu-pci): New option.
33795 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
33796 (grub_pci_device_unmap_range): Likewise.
33797 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
33798 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
33799 (grub_pci_address_t) [!GRUB_UTIL]: New type.
33800 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
33801 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
33802 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
33803 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
33804 * include/grub/pciutils.h: New file.
33805 * util/pci.c: Likewise.
33806
0ad46fd7 338072009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
33808
33809 * util/misc.c: Don't include <errno.h> twice.
33810
0ad46fd7 338112009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
33812
33813 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
33814 name in an error message.
33815 (grub_biosdisk_rw): Likewise.
33816
2e59983c
VS
338172009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33818
33819 Eliminate NTFS 4Gib barrier.
33820
33821 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
33822 (read_run_data): Likewise.
33823 (grub_ntfs_read_run_list): Likewise.
33824 (grub_ntfs_read_block): Likewise.
33825 (grub_ntfs_iterate_dir): Likewise.
33826 (read_mft): Likewise.
33827 (read_data): Likewise.
33828 Use COM_LOG_LEN.
33829 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
33830 to avoid 64-bit division
33831 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
33832 (grub_ntfs_rlst): Use grub_disk_addr_t.
33833
71ee178a
VS
338342009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33835
33836 Eliminate grub-fstest 4Gib barrier.
33837
33838 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
33839 (read_file): Fix error reporting.
33840
2520d4b8
VS
338412009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33842
33843 Eliminate hexdump 4Gib barrier.
33844
33845 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
33846 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
33847
e1f27065
VS
338482009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33849
33850 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
33851 Fixes amarsh bug.
33852
1a0f7f45
RM
338532009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
33854
33855 Remove miscellaneous files in distclean target.
33856
33857 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
33858
c631d9fb
CW
338592009-12-09 Colin Watson <cjwatson@ubuntu.com>
33860
33861 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
33862 if they're already set. This resolves the conflict between my
33863 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
33864 fixing the --grub-probe option again.
33865 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
33866 change on 2009-10-06, so that we now once again source
33867 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33868
7c7b6106
RM
338692009-12-08 Robert Millan <rmh.grub@aybabtu.com>
33870
33871 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
33872 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
33873 `util/devicemap.c'.
33874
e3069ec1
CPE
338752009-12-08 Carles Pina i Estany <carles@pina.cat>
33876
33877 * include/grub/misc.h (grub_printf_): New declaration.
33878 * kern/misc.c (grub_printf_): New definition.
33879 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
33880 instead of `grub_printf' and `_'.
33881 * normal/menu_entry.c (store_completion): Likewise.
33882 (run): Likewise.
33883 (grub_menu_entry_run): Likewise.
33884 * normal/menu_text.c (grub_wait_after_message): Likewise.
33885 (notify_booting): Likewise.
33886 (notify_fallback): Likewise.
33887 (notify_execution_failure): Likewise.
33888
d6ceebf1
CW
338892009-12-07 Colin Watson <cjwatson@ubuntu.com>
33890
33891 * configure.ac: Check for vasprintf.
33892 * util/misc.c (asprintf): Move allocation from here ...
33893 (vasprintf): ... to here. New function.
33894 (xasprintf): New function.
33895 * include/grub/util/misc.h (vasprintf, xasprintf): Add
33896 prototypes.
33897 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
33898 * util/grub-mkfont.c (write_font): Likewise.
33899 * util/grub-probe.c (probe): Likewise.
33900 * util/hostdisk.c (make_device_name): Likewise.
33901
de6daa8b
DM
339022009-12-06 David S. Miller <davem@sunset.davemloft.net>
33903
33904 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
33905 anything even prefixed with 'cdrom' as a cdrom.
33906
0ad46fd7 339072009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
33908
33909 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
33910 mount points.
33911
98d3dc02
CPE
339122009-12-05 Carles Pina i Estany <carles@pina.cat>
33913
33914 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
33915 grub_gettext_msg_list.
33916 (grub_gettext_gettranslation_from_position): Return const char *
33917 and not char *.
a2c1332b 33918 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
33919 returns from the list if existing there.
33920 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
33921 (grub_gettext_delete_list): Delete the list.
33922 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
33923 lang environment variable is changed.
33924 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
33925
b283f108
VS
339262009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33927
33928 Rename kernel.mod to kernel.img.
33929
33930 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
33931 (kernel_mod_EXPORTS): Rename to ...
33932 (kernel_img_EXPORTS): ... this.
33933 (kernel_mod_SOURCES): Rename to ...
33934 (kernel_img_SOURCES): ... this.
33935 (kernel_mod_HEADERS): Rename to ...
33936 (kernel_img_HEADERS): ... this. All users updated.
33937 (kernel_mod_CFLAGS): Rename to ...
33938 (kernel_img_CFLAGS): ... this.
33939 (kernel_mod_ASFLAGS): Rename to ...
33940 (kernel_img_ASFLAGS): ... this.
33941 (kernel_mod_LDFLAGS): Rename to ...
33942 (kernel_img_LDFLAGS): ... this.
33943 * conf/x86_64-efi.rmk: Likewise.
33944 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
33945 (read_kernel_image): ... this. All users updated.
33946 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
33947
69055f8a
CPE
339482009-12-05 Carles Pina i Estany <carles@pina.cat>
33949
33950 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
33951 (print_spaces): New function.
33952 (grub_print_ucs4): New function.
33953 (getstringwidth): New function.
33954 (print_message_indented): New function.
33955 (print_message): Gettexttize strings using print_message_indented.
33956 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
33957 width.
33958 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 33959 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
33960 Gettextize.
33961 * normal/menu_entry.c (store_completion): Cleanup the gettextized
33962 string.
33963 (run): Likewise.
33964 (grub_menu_entry_run): Likewise.
33965 * PO/POTFILES: Add normal/menu_entry.c.
33966
f616f51c
VS
339672009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33968
33969 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
33970
57bbe3be
CPE
339712009-12-05 Carles Pina i Estany <carles@pina.cat>
33972
33973 * util/grub-install.in: Install gettext .mo files.
33974 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
33975
013d67a1
CPE
339762009-12-05 Carles Pina i Estany <carles@pina.cat>
33977
33978 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
33979 grub_dprintf.
33980
fb954db0
RM
339812009-12-05 Robert Millan <rmh.grub@aybabtu.com>
33982
33983 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
33984 non-firmware-dependant one in realmode.S takes precedence.
33985
6b8474f8
RM
339862009-12-04 Robert Millan <rmh.grub@aybabtu.com>
33987
33988 * commands/halt.c: Replace misc arch-specific headers with
33989 `<grub/misc.h>'.
33990 * commands/reboot.c: Likewise.
33991 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
33992 `<grub/misc.h>'.
33993 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
33994 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
33995 (kernel_img_SOURCES): ... to here.
33996
33997 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
33998 * include/grub/i386/pc/init.h: Likewise.
33999 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
34000 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34001
34002 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
34003
34004 * include/grub/i386/halt.h: Remove.
34005 * include/grub/i386/reboot.h: Likewise.
34006
34007 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
34008
4b2e6ca2
DM
340092009-12-03 David S. Miller <davem@sunset.davemloft.net>
34010
34011 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
34012 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
34013 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
34014 "progname.h"
34015 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
34016 * util/sparc64/ieee1275/grub-setup.c: Likewise.
34017 (usage): Add missing comma in printf.
34018
5239348f
RM
340192009-12-02 Robert Millan <rmh.grub@aybabtu.com>
34020
34021 Use the same reboot approach on i386 coreboot and qemu as we do on
34022 BIOS.
34023
34024 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
34025 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
34026 * kern/i386/reboot.c: Remove.
34027 * include/grub/i386/reboot.h (grub_reboot): Export function.
34028 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
34029 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
34030 0xf000:0xfff0 instead of 0xffff:0x0000.
34031 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
34032 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
34033
ef34cbd4
RM
340342009-11-30 Robert Millan <rmh.grub@aybabtu.com>
34035
34036 Fix $srcdir != $objdir build.
34037
34038 * Makefile.in (po/%.po): Rewrite as ...
34039 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
34040
dc9837ea
ST
340412009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
34042
34043 Fix GNU/Hurd grub-install crash.
34044 * util/grub-probe.c (probe): Try to access `path' only when it is not
34045 NULL.
34046
2f857f98
VS
340472009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
34048
34049 Correct module naming.
34050
34051 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
34052 (GRUB_MOD_INIT(efi_uga)): ... to this
34053 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
34054 (GRUB_MOD_FINI(efi_uga)): ... to this
34055 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
34056 (GRUB_MOD_INIT(efi_gop)): ... to this
34057 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
34058 (GRUB_MOD_FINI(efi_gop)): ... to this
34059
c5448046
RM
340602009-11-28 Robert Millan <rmh.grub@aybabtu.com>
34061
34062 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
34063 translatable.
34064 (usage): Translate `arg' strings using gettext().
34065 Thanks to Jordi Mallach for the suggestion.
34066
c85184ad
VS
340672009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
34068
34069 GOP support. Based on patch from Bean
34070 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
34071
34072 * video/efi_gop.c: New file.
34073 * include/grub/efi/graphics_output.h: Likewise.
34074 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
34075 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
34076 variables.
34077 * conf/x86_64-efi.rmk: Likewise.
34078
8a4c48d8
VS
340792009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
34080
34081 Rename efi_fb to efi_uga.
34082
34083 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
34084 'efi_uga.mod'.
34085 (efi_fb_mod_SOURCES): Rename this ...
34086 (efi_uga_mod_SOURCES): ... to this.
34087 (efi_fb_mod_CFLAGS): Rename this ...
34088 (efi_uga_mod_CFLAGS): ... to this.
34089 (efi_fb_mod_LDFLAGS): Rename this ...
34090 (efi_uga_mod_LDFLAGS): ... to this.
34091 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
34092 'efi_uga.mod'.
34093 (efi_fb_mod_SOURCES): Rename this ...
34094 (efi_uga_mod_SOURCES): ... to this.
34095 (efi_fb_mod_CFLAGS): Rename this ...
34096 (efi_uga_mod_CFLAGS): ... to this.
34097 (efi_fb_mod_LDFLAGS): Rename this ...
34098 (efi_uga_mod_LDFLAGS): ... to this.
34099 * video/efi_fb.c: Move this ...
34100 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
34101
fb6c1a7b
RM
341022009-11-27 Robert Millan <rmh.grub@aybabtu.com>
34103
34104 * po/README: New file. Explain our PO file workflow.
34105
3bc7896c
RM
341062009-11-27 Robert Millan <rmh.grub@aybabtu.com>
34107
34108 * po/ChangeLog: Remove. Move relevant entries back to ...
34109 * ChangeLog: ... here.
34110 * po/ca.po: Remove (now handled by TLP).
34111 * po/id.po: Likewise.
34112 * po/zh_CN.po: Likewise.
34113 * Makefile.in (LINGUAS): Initialize in a way that supports
34114 empty set.
34115
9ed4841d
RM
341162009-11-27 Robert Millan <rmh.grub@aybabtu.com>
34117
34118 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
34119 reliing on po/LINGUAS.
34120 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
34121 (po/%.po): ... this.
34122
0ad46fd7 341232009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
34124
34125 * util/i386/efi/grub-mkimage.c: Include "progname.h".
34126 (main): Use `program_name' instead of nonexistent `progname'.
34127
e30dd392
FZ
341282009-11-26 Felix Zielcke <fzielcke@z-51.de>
34129
34130 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34131 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
34132
7656de4f
RM
341332009-11-26 Robert Millan <rmh.grub@aybabtu.com>
34134
34135 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
34136 commit.
34137 * conf/i386-efi.rmk: Likewise.
34138 * conf/i386-ieee1275.rmk: Likewise.
34139 * conf/powerpc-ieee1275.rmk: Likewise.
34140 * conf/sparc64-ieee1275.rmk: Likewise.
34141 * conf/x86_64-efi.rmk: Likewise.
34142
db77c4d4
FZ
341432009-11-26 Felix Zielcke <fzielcke@z-51.de>
34144
34145 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
34146
a755bb04
FZ
341472009-11-26 Felix Zielcke <fzielcke@z-51.de>
34148
34149 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
34150
8a4c07fd
RM
341512009-11-26 Robert Millan <rmh.grub@aybabtu.com>
34152
34153 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
34154 (grub_mkdevicemap_SOURCES): New variable.
34155 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
34156 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
34157 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
34158 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
34159 (grub_mkdevicemap_SOURCES): Remove.
34160 * conf/i386-efi.rmk: Likewise.
34161 * conf/i386-ieee1275.rmk: Likewise.
34162 * conf/i386-pc.rmk: Likewise.
34163 * conf/powerpc-ieee1275.rmk: Likewise.
34164 * conf/sparc64-ieee1275.rmk: Likewise.
34165 * conf/x86_64-efi.rmk: Likewise.
34166 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
34167 (usage): Fix strings to use `program_name'.
34168 (main): Initialize gettext.
34169 * util/grub-editenv.c: Likewise.
34170 * util/grub-emu.c: Likewise.
34171 * util/grub-fstest.c: Likewise.
34172 * util/grub-mkdevicemap.c: Likewise.
34173 * util/grub-mkfont.c: Likewise.
34174 * util/grub-mkrelpath.c: Likewise.
34175 * util/grub-pe2elf.c: Likewise.
34176 * util/grub-probe.c: Likewise.
34177 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
34178 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
34179 * util/sparc64/ieee1275/grub-setup.c: Likewise.
34180
34181 * util/misc.c: Include `"progname.h"'.
34182 (progname): Remove variable.
34183 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
34184
6f61ed55
FZ
341852009-11-25 Felix Zielcke <fzielcke@z-51.de>
34186
34187 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
34188 printf and print a newline after the menuentry header line.
34189 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34190
f022876b
FZ
341912009-11-25 Felix Zielcke <fzielcke@z-51.de>
34192
34193 autoconf >= 2.60 support $(localedir).
34194
34195 * INSTALL: Note that autoconf 2.60 is required.
34196 * configure.ac (AC_PREREQ): Bump to 2.60.
34197 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
34198 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
34199
6717926e
YB
342002009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
34201
34202 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
34203 aclocal is run.
34204
08806a54
RM
342052009-11-25 Robert Millan <rmh.grub@aybabtu.com>
34206
34207 * normal/main.c (grub_normal_read_line): Fix off-by-one
34208 buffer overflow.
34209
13b33fba
RM
342102009-11-25 Robert Millan <rmh.grub@aybabtu.com>
34211
34212 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
34213 "parser.grub" in grub_command_execute() call.
34214
4a8572e9
CPE
342152009-11-24 Carles Pina i Estany <carles@pina.cat>
34216
34217 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
34218 * conf/i386-efi.rmk: Likewise.
34219 * conf/i386-ieee1275.rmk: Likewise.
34220 * conf/i386-pc.rmk: Likewise.
34221 * conf/powerpc-ieee1275.rmk: Likewise.
34222 * conf/sparc64-ieee1275.rmk: Likewise.
34223 * conf/x86_64-efi.rmk: Likewise.
34224 * gettext/gettex.c: Include <grub/i18n.h>.
34225 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
34226 here ...
34227 * include/grub/i18n.h: ... to here
34228 * include/grub/i18n.h: ... to here.
34229 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 34230 (grub_gettext_dummy): Move above user.
4a8572e9 34231
bee48093
FZ
342322009-11-24 Felix Zielcke <fzielcke@z-51.de>
34233
34234 * util/Makefile.in (install-local): Convert a `for' into a normal
34235 shell expansion.
34236
a031e91c
RM
342372009-11-24 Robert Millan <rmh.grub@aybabtu.com>
34238
34239 * autogen.sh: Add automake call.
34240 * config.guess: Remove.
34241 * config.sub: Likewise.
34242 * install-sh: Likewise.
34243
26bec39d
FZ
342442009-11-24 Felix Zielcke <fzielcke@z-51.de>
34245
34246 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
34247
8e2532fd
FZ
342482009-11-24 Felix Zielcke <fzielcke@z-51.de>
34249
34250 * util/Makefile.in (install-local): Convert a make `$(foreach)'
34251 function to a normal shell `for'.
34252
fefa1b7d
FZ
342532009-11-24 Felix Zielcke <fzielcke@z-51.de>
34254
34255 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34256
4501250b
FZ
342572009-11-24 Felix Zielcke <fzielcke@z-51.de>
34258
34259 * util/grub-mkrelpath.c: New file.
34260 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
34261 (grub_mkrelpath_SOURCES): New variable.
34262 * include/grub/util/misc.h: New function prototype.
34263 * util/misc.c (make_system_path_relative_to_its_root): New function.
34264
34265 * util/grub-mkconfig_lib.in (bindir): New variable.
34266 (grub_mkrelpath): Likewise.
34267 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
34268
34269 * util/probe.c (probe): Make the file path relative to its root.
34270 Change a info message to use the GRUB path. Enable again the
34271 check if we can read the file with GRUB facilities.
34272
34273 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
34274 to its root.
34275
11d9778b
FZ
342762009-11-24 Felix Zielcke <fzielcke@z-51.de>
34277
34278 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
34279 platform.
34280
4465287d
FZ
342812009-11-24 Felix Zielcke <fzielcke@z-51.de>
34282
34283 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
34284 strncmp().
34285
62b47f22
FZ
342862009-11-24 Felix Zielcke <fzielcke@z-51.de>
34287
34288 * util/getroot.c (grub_util_is_dmraid): New function.
34289 (grub_util_get_dev_abstraction): Treat dmraid and multipath
34290 devices as normal ones, not as LVM.
34291
1eafb9b9 342922009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
34293
34294 * conf/common.rmk: Add grub-gettext_lib target and updates
34295 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
34296 LDFLAGS.
34297 * gettext/gettext.c: New file. (Reads mo files).
34298 * include/grub/file.h (grub_file_pread): New prototype.
34299 * include/grub/i18n.h (_): New prototype.
34300 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
34301 prototypes.
34302 * kern/misc.c (grub_gettext_dummy): New function.
34303 * normal/menu_text.c: Include <grub/i18n.h>.
34304 * normal/menu_text.c (print_timeout): Gettexttize string.
34305 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
34306 * po/POTFILES: Add `normal/menu_text.c'.
34307 * po/ca.po: Add new translations.
c3ea6bd4
CPE
34308 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
34309 gettext module and defines locale_dir and lang in grub.cfg.
34310 * NEWS: Add gettext support.
34311
0fdb2568
RM
343122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34313
34314 * util/hostdisk.c: Include `<grub/i18n.h>'.
34315 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
34316 (make_device_name): Rewrite using asprintf.
34317 (convert_system_partition_to_system_disk): Replace 0 with NULL.
34318 (find_system_device): If a device is not found, generate one just
34319 by reusing the OS path name.
34320 (read_device_map): Make it permissible for device.map not to exist.
34321
f515aa62
RM
343222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34323
34324 * script/sh/execute.c: Move from here ...
34325 * script/execute.c: ... to here. Update all users.
34326 * script/sh/function.c: Move from here ...
34327 * script/function.c: ... to here. Update all users.
34328 * script/sh/lexer.c: Move from here ...
34329 * script/lexer.c: ... to here. Update all users.
34330 * script/sh/main.c: Move from here ...
34331 * script/main.c: ... to here. Update all users.
34332 * script/sh/parser.y: Move from here ...
34333 * script/parser.y: ... to here. Update all users.
34334 * script/sh/script.c: Move from here ...
34335 * script/script.c: ... to here. Update all users.
34336
f84b481b
RM
343372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34338
34339 * configure.ac: Detect all `emu' platforms. Define
34340 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
34341 --enable-grub-emu logic. Disable include/grub/machine
34342 symlink on `emu' platforms.
34343
34344 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
34345 * gensymlist.sh.in: Likewise.
34346
34347 * include/grub/i386/coreboot/machine.h: Remove file.
34348 * include/grub/i386/efi/machine.h: Likewise.
34349 * include/grub/i386/ieee1275/machine.h: Likewise.
34350 * include/grub/i386/pc/machine.h: Likewise.
34351 * include/grub/i386/qemu/machine.h: Likewise.
34352 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34353 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34354 * include/grub/x86_64/efi/machine.h: Likewise.
34355
34356 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
34357 * commands/halt.c: Likewise.
34358 * commands/reboot.c: Likewise.
34359 * include/grub/autoefi.h: Likewise.
34360 * include/grub/i386/at_keyboard.h: Likewise.
34361 * include/grub/i386/kernel.h: Likewise.
34362 * include/grub/i386/loader.h: Likewise.
34363 * include/grub/i386/pc/memory.h: Likewise.
34364 * kern/dl.c: Likewise.
34365 * kern/i386/coreboot/init.c: Likewise.
34366 * loader/i386/bsd.c: Likewise.
34367 * loader/i386/linux.c: Likewise.
34368 * loader/multiboot_loader.c: Likewise.
34369 * term/i386/pc/serial.c: Likewise.
34370 * term/usb_keyboard.c: Likewise.
34371
34372 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
34373 `<grub/machine/machine.h>'
34374 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
34375 * util/misc.c: Remove `<grub/machine/machine.h>' and
34376 `<grub/machine/time.h>'.
34377
34378 * Makefile.in (enable_grub_emu): Remove variable.
34379 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
34380
34381 * conf/any-emu.rmk: New file.
34382 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
34383 (grub_emu_init.c): Move from here ...
34384 * conf/any-emu.rmk: ... to here.
34385
34386 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
34387 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
34388 * conf/any-emu.rmk: ... to here.
34389
4efeab03
RM
343902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34391
34392 * include/grub/parser.h (grub_parser_register): Document need
34393 of `name' parameter.
34394 * normal/main.c (grub_normal_read_line): Simplify prompt string.
34395 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
34396 "sh" to "grub".
34397
ea1dd8bf
RM
343982009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34399
34400 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
34401 `$(XGETTEXT)'.
34402 * include/grub/i18n.h (N_): New macro.
34403 * util/mkisofs/mkisofs.h: Likewise.
34404 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
34405 around N_().
34406 (usage): Use gettext() to translate help strings when printing them.
34407
0c140626
RM
344082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34409
34410 Based on patch from Bean
34411 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
34412
34413 * video/efi_fb.c: New file.
34414 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
34415 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
34416 variables.
34417 * conf/x86_64-efi.rmk: Likewise.
34418
87d58298
RM
344192009-11-22 Robert Millan <rmh.grub@aybabtu.com>
34420
34421 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
34422 * util/i386/pc/grub-setup.c: Likewise.
34423
994cc3a3
ST
344242009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
34425
34426 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
34427 <hurd/fs.h>
34428 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
34429 file_get_storage_info to implement grub_guess_root_device.
34430
26a61d6a
FZ
344312009-11-21 Felix Zielcke <fzielcke@z-51.de>
34432
34433 * Makefile.in (target): Use make's builtin $(shell) function
34434 instead of calling directly $(SHELL) to create the locale directories,
34435 inside the $(foreach) function.
34436
74ff1dd5
FZ
344372009-11-21 Felix Zielcke <fzielcke@z-51.de>
34438
34439 * util/grub-mkrescue.in: Print an error and usage if output option
34440 has not been given.
34441
0b787d0e
FZ
344422009-11-21 Felix Zielcke <fzielcke@z-51.de>
34443
34444 Patch from Loïc Minier <loic.minier@ubuntu.com>.
34445 * util/grub.d/30_os-prober.in: Cope with Linux entries where
34446 root and /boot are on different devices.
34447
1164b270
RM
344482009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34449
34450 Fix build for srcdir != objdir.
34451
34452 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
34453 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
34454 $(srcdir).
34455 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
34456 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
34457 reference for input.
34458
13774a2f
RM
344592009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34460
34461 * util/grub-mkrescue.in: Use source directory direcly (without copiing
34462 or hardlinking it). Remove -J option, Joliet is not compatible with
34463 multiple source directories.
34464
efda854e
RM
344652009-11-21 Carles Pina i Estany <carles@pina.cat>
344662009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34467
34468 * util/grub-mkrescue.in: Recognize `--override-directory' option.
34469 (process_input_dir): New function. Process an arbitrary input
34470 directory.
34471 Misc adjustments to support both "override mode" and system-wide mode.
34472
6c09890c
FZ
344732009-11-20 Felix Zielcke <fzielcke@z-51.de>
34474
34475 * configure.ac (UNIFONT_BDF): Rename to ...
34476 (FONT_SOURCE): ... this. Update all users.
34477
a797824f
FZ
344782009-11-20 Felix Zielcke <fzielcke@z-51.de>
34479
34480 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
34481 to the list of unifont files to look for.
34482
cd4f42b0
RM
344832009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34484
34485 Patch from Joe Auricchio <jauricchio@gmail.com>
34486 * commands/minicmd.c (grub_mini_cmd_clear): New function.
34487 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
34488 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
34489
393c783d
FZ
344902009-11-19 Felix Zielcke <fzielcke@z-51.de>
34491
34492 * Makefile.in (install-local): Add a missing backslash.
34493
b2f1e327
FZ
344942009-11-19 Felix Zielcke <fzielcke@z-51.de>
34495
34496 * include/grub/x86_64/io.h: New file.
34497
f577f7a0
RM
344982009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34499
34500 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
34501 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
34502 Include `"progname.h"'.
34503 (main): Initialize gettext.
34504 * util/i386/pc/grub-setup.c: Gettexttize.
34505 * util/i386/pc/grub-mkimage.c: Likewise.
34506
34507 * Makefile.in (po/*.po): Redefine as ...
34508 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
34509
3bc7896c
RM
34510 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
34511
c37943b6
RM
345122009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34513
34514 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
34515 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
34516 (program_name): Remove.
34517 (main): Initialize gettext support.
6323f705
RM
34518 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
34519 Include `<libintl.h>'.
34520 (_): New macro.
c37943b6
RM
34521
34522 * util/mkisofs/eltorito.c: Gettexttize.
34523 * util/mkisofs/joliet.c: Likewise.
34524 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
34525 * util/mkisofs/multi.c: Likewise.
34526 * util/mkisofs/rock.c: Likewise.
34527 * util/mkisofs/tree.c: Likewise.
34528 * util/mkisofs/write.c: Likewise.
34529
3bc7896c
RM
34530 * po/POTFILES: Update with new files.
34531
5ce77c6e
RM
345322009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34533
34534 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
34535 * util/mkisofs/iso9660.h: Likewise.
34536 * util/mkisofs/joliet.c: Likewise.
34537 * util/mkisofs/mkisofs.c: Likewise.
34538 * util/mkisofs/mkisofs.h: Likewise.
34539 * util/mkisofs/rock.c: Likewise.
34540 * util/mkisofs/tree.c: Likewise.
34541 * util/mkisofs/write.c: Likewise.
34542
34543 * util/mkisofs/eltorito.c (rcsid): Remove.
34544 * util/mkisofs/hash.c: Likewise.
34545 * util/mkisofs/joliet.c: Likewise.
34546 * util/mkisofs/name.c: Likewise.
34547 * util/mkisofs/rock.c: Likewise.
34548 * util/mkisofs/tree.c: Likewise.
34549 * util/mkisofs/write.c: Likewise.
34550
1dabbc77
RM
345512009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34552
34553 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
34554 instead of static allocation.
34555 * util/mkisofs/match.h: Likewise.
34556
633877cb
RM
345572009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34558
3bc7896c
RM
34559 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
34560 and `util/grub.d/10_linux.in'.
633877cb
RM
34561 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
34562 translatable Shell files.
34563
af1c0c85
RM
345642009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34565
34566 * Makefile.in ($(srcdir)/aclocal.m4): New target.
34567
769ae37b
RM
345682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34569
34570 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 34571 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
34572 * util/grub.d/10_kfreebsd.in (bindir): New variable.
34573 Add gettext initialization.
34574 (kfreebsd_entry): Make menuentry output translatable.
34575
345762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34577
34578 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
34579 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
34580 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
34581 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
34582 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 34583 * po/LINGUAS: New file.
769ae37b
RM
34584
345852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34586
34587 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
34588 other things).
34589 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
34590 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
34591 bindtextdomain() calls for gettext initialization.
34592
345932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34594
34595 * gnulib/progname.c: New file (imported from Gnulib).
34596 * gnulib/progname.h: Likewise.
34597 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34598 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
34599 (usage): Replace `progname' with `program_name'.
34600 (main): Use set_program_name() for program name initialization.
34601
346022009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34603
34604 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
34605 from here ...
34606 * Makefile.in (CPPFLAGS): ... to here.
34607
346082009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34609
34610 * aclocal.m4: Move from here ...
34611 * acinclude.m4: ... to here.
34612 * autogen.sh: Add call to `aclocal'.
34613 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
34614
346152009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34616
34617 * Makefile.in (CLEANFILES): Add `po/*.mo'.
34618 (LINGUAS): New variable.
34619 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
34620 (install-local): Install MO files.
34621 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
34622 * include/grub/i18n.h: New file.
3bc7896c
RM
34623 * po/POTFILES: New file.
34624 * po/ca.po: New file.
769ae37b
RM
34625 * util/grub.d/10_linux.in (bindir): New variable.
34626 Add gettext initialization.
34627 (linux_entry): Make menuentry output translatable.
34628 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
34629 (usage): Make --help output translatable.
34630 (main): Initialize gettext.
34631
02c0a6ad
RM
346322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34633
34634 * import_gcry.py: New file (written by Vladimir with minor
34635 adjustments).
34636 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
34637 ciphers.
34638 * INSTALL: Document that Python is required for bootstrap.
34639
346402009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34641
34642 Import ciphers from libgcrypt 1.4.4.
34643
34644 * lib/libgcrypt/cipher/ChangeLog
34645 * lib/libgcrypt/cipher/ac.c
34646 * lib/libgcrypt/cipher/arcfour.c
34647 * lib/libgcrypt/cipher/bithelp.h
34648 * lib/libgcrypt/cipher/blowfish.c
34649 * lib/libgcrypt/cipher/camellia-glue.c
34650 * lib/libgcrypt/cipher/camellia.c
34651 * lib/libgcrypt/cipher/camellia.h
34652 * lib/libgcrypt/cipher/cast5.c
34653 * lib/libgcrypt/cipher/cipher.c
34654 * lib/libgcrypt/cipher/crc.c
34655 * lib/libgcrypt/cipher/des.c
34656 * lib/libgcrypt/cipher/dsa.c
34657 * lib/libgcrypt/cipher/ecc.c
34658 * lib/libgcrypt/cipher/elgamal.c
34659 * lib/libgcrypt/cipher/hash-common.c
34660 * lib/libgcrypt/cipher/hash-common.h
34661 * lib/libgcrypt/cipher/hmac-tests.c
34662 * lib/libgcrypt/cipher/md.c
34663 * lib/libgcrypt/cipher/md4.c
34664 * lib/libgcrypt/cipher/md5.c
34665 * lib/libgcrypt/cipher/primegen.c
34666 * lib/libgcrypt/cipher/pubkey.c
34667 * lib/libgcrypt/cipher/rfc2268.c
34668 * lib/libgcrypt/cipher/rijndael-tables.h
34669 * lib/libgcrypt/cipher/rijndael.c
34670 * lib/libgcrypt/cipher/rmd.h
34671 * lib/libgcrypt/cipher/rmd160.c
34672 * lib/libgcrypt/cipher/rsa.c
34673 * lib/libgcrypt/cipher/seed.c
34674 * lib/libgcrypt/cipher/serpent.c
34675 * lib/libgcrypt/cipher/sha1.c
34676 * lib/libgcrypt/cipher/sha256.c
34677 * lib/libgcrypt/cipher/sha512.c
34678 * lib/libgcrypt/cipher/tiger.c
34679 * lib/libgcrypt/cipher/twofish.c
34680 * lib/libgcrypt/cipher/whirlpool.c
34681
af2f93ac
RM
346822009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34683
34684 Fix build for systems without error().
34685
34686 * gnulib/error.c: New file (imported from Gnulib).
34687 * gnulib/error.h: Likewise.
34688 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
34689 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
34690 (this variable is now used by error()).
34691
73fb3dd5
FZ
346922009-11-16 Felix Zielcke <fzielcke@z-51.de>
34693
814f5e96
FZ
34694 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
34695 instead of relying that char is signed.
73fb3dd5 34696
a691ca33
VS
346972009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
34698
34699 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
34700 blocksize different from specified.
34701 (grub_pxefs_read): Likewise.
34702
2af8f0f4
FZ
347032009-11-16 Felix Zielcke <fzielcke@z-51.de>
34704
34705 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
34706
34707 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
34708 (grub_ata_readwrite): Likewise. Update 2 format strings.
34709 (grub_atapi_read): Likewise.
34710
34711 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
34712 * conf/i386.rmk (pkglib_MODULES): ... to here ...
34713 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
34714 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
34715 (ata_mod_LDFLAGS): Move from here ...
34716 * conf/i386.rmk: ... to here ...
34717 * conf/x86_64-efi.rmk: ... and here.
34718 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
34719 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
34720
83bdecaf
RM
347212009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34722
34723 Relicense multiboot.h, with RMS' blessing.
34724
34725 * include/multiboot.h: Change to X11 license.
34726
fd6fd3d7
RM
347272009-11-15 Robert Millan <rmh.grub@aybabtu.com>
34728
34729 Support --version in grub-mkisofs.
34730
34731 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
34732 (OPTION_VERSION): New macro.
34733 (ld_options): Recognize --version.
34734 (usage): Move `program_name' from here ...
34735 (program_name): ... to here. Add `static' qualifier.
34736 (main): Recognize `OPTION_VERSION'.
34737
16a88c49
FZ
347382009-11-15 Felix Zielcke <fzielcke@z-51.de>
34739
34740 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
34741 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
34742
a4158476
RM
347432009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34744
34745 Fix help2man generation for mkisofs.
34746
34747 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
34748 (usage): Send output to stdout (rather than stderr).
34749
fc2208b0
RM
347502009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34751
34752 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
34753 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34754 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
34755 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34756 (bin_SCRIPTS): Add `grub-mkfloppy'.
34757 (grub_mkfloppy_SOURCES): New variable.
34758
34759 * util/grub-mkrescue.in: New file.
34760 * util/i386/pc/grub-mkfloppy.in: New file.
34761
34762 * util/i386/coreboot/grub-mkrescue.in: Remove.
34763 * util/i386/pc/grub-mkrescue.in: Remove.
34764
8d0edf4a
RM
347652009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34766
34767 * include/grub/multiboot.h (struct grub_multiboot_header): Move
34768 from here ...
34769 * include/multiboot.h (struct multiboot_header): ... to here. Update
34770 all users.
34771 * include/grub/multiboot.h (struct grub_multiboot_info): Move
34772 from here ...
34773 * include/multiboot.h (struct multiboot_info): ... to here. Update
34774 all users.
34775 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
34776 from here ...
34777 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
34778 Update all users.
34779 * include/grub/multiboot.h (struct grub_mod_list): Move
34780 from here ...
34781 * include/multiboot.h (struct multiboot_mod_list): ... to here.
34782 Update all users.
34783
a73f5969
RM
347842009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34785
34786 * include/multiboot2.h (multiboot_word): Rename from this ...
34787 (multiboot2_word): ... to this. Update all users.
34788 (multiboot_header): Rename from this ...
34789 (multiboot2_header): ... to this. Update all users.
34790 (multiboot_tag_header): Rename from this ...
34791 (multiboot2_tag_header): ... to this. Update all users.
34792 (multiboot_tag_start): Rename from this ...
34793 (multiboot2_tag_start): ... to this. Update all users.
34794 (multiboot_tag_name): Rename from this ...
34795 (multiboot2_tag_name): ... to this. Update all users.
34796 (multiboot_tag_module): Rename from this ...
34797 (multiboot2_tag_module): ... to this. Update all users.
34798 (multiboot_tag_memory): Rename from this ...
34799 (multiboot2_tag_memory): ... to this. Update all users.
34800 (multiboot_tag_unused): Rename from this ...
34801 (multiboot2_tag_unused): ... to this. Update all users.
34802 (multiboot_tag_end): Rename from this ...
34803 (multiboot2_tag_end): ... to this. Update all users.
34804
1c8927f0
RM
348052009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34806
34807 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
34808 this platform we should support Multiboot1 first.
34809
34810 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
34811 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
34812 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
34813
6e1e0d89
RM
348142009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34815
34816 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
34817 of write calls (converting them to fwrite() if they aren't already).
34818 (get_torito_desc): Likewise.
34819 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
34820
7f2b34d8
RM
348212009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34822
34823 * util/i386/pc/grub-install.in: Move from here ...
34824 * util/grub-install.in: ... to here. Update all users.
34825
c0ef3311
CW
348262009-11-11 Colin Watson <cjwatson@ubuntu.com>
34827
34828 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
34829
e1f240ff
RM
348302009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34831
34832 Support for El Torito without floppy emulation.
34833
34834 * util/mkisofs/eltorito.c: Include `<errno.h>'.
34835 (init_boot_catalog): Improve error handling.
34836 (get_torito_desc): Don't use floppy emulation unless requested by
34837 user. Patch boot information table when requested via
34838 `-boot-info-table'.
34839 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
34840 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
34841 (use_boot_info_table): New variables.
34842 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
34843 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
34844 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
34845 `--eltorito-emul-floppy'.
34846 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
34847 and `OPTION_ELTORITO_EMUL_FLOPPY'.
34848 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
34849 (use_boot_info_table, get_731): New prototypes.
34850 * util/mkisofs/write.c (get_731): New function.
34851
af7d4de5
FZ
348522009-11-11 Felix Zielcke <fzielcke@z-51.de>
34853
34854 Fix the generation of the man page.
34855
34856 * util/pc/i386/grub-install.in: Source
34857 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
34858
2c55dbc0
RM
348592009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34860
34861 Large file support for grub-mkisofs.
34862
34863 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
34864 * util/mkisofs/mkisofs.c (next_extent, last_extent)
34865 (session_start): Upgrade type to `uint64_t'. Update all users.
34866 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
34867 (struct directory_entry): Upgrade type of `starting_block' and
34868 `size' to `uint64_t'. Update all users.
34869 (struct deferred): Remove unused structure.
34870 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
34871 Update all users.
34872 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
34873 file is larger than `UINT32_MAX'.
34874 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
34875 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
34876 return value.
34877 (struct deferred_write): Upgrade type of `extent' and `size' to
34878 `uint64_t'. Update all users.
34879 (last_extent_written): Upgrade type to `uint64_t'. Update all
34880 users.
34881 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
34882 Update all users. Upgrade type of `remain' to `int64_t' and
34883 `use' to `size_t'. Use error() to handle fread() errors.
34884 (write_files): Rely on write_one_file() rather than calling
34885 xfwrite() directly.
34886
6a9cead5
FZ
348872009-11-09 Felix Zielcke <fzielcke@z-51.de>
34888
34889 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
34890
4825d790
RM
348912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34892
34893 * util/mkisofs/fnmatch.c: Remove.
34894 * util/mkisofs/getopt1.c: Likewise.
34895 * util/mkisofs/getopt.c: Likewise.
34896 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
34897 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
34898 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
34899 `gnulib/getopt1.c' and `gnulib/getopt.c'.
34900 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
34901
34902 * configure.ac: Detect `mingw32msvc' host_os.
34903 Check for lstat(), getuid() and getgid().
34904
34905 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
34906 instances of `u_char' with `uint8_t'.
34907
34908 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
34909 [!HAVE_GETUID] (getuid): New function (stub).
34910 [!HAVE_GETGID] (getgid): Likewise.
34911 [!HAVE_LSTAT] (lstat): Likewise.
34912 [!S_IROTH] (S_IROTH): New macro (dummy).
34913 [!S_IRGRP] (S_IRGRP): Likewise.
34914
84b860d8
RM
349152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34916
34917 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
34918 conditional expression).
34919
66e9b712
RM
349202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34921
34922 Import from Gnulib.
34923
34924 * gnulib/fnmatch.c: New file.
34925 * gnulib/fnmatch.h: Likewise.
34926 * gnulib/fnmatch_loop.c: Likewise.
34927 * gnulib/getopt.c: Likewise.
34928 * gnulib/getopt.h: Likewise.
34929 * gnulib/getopt1.c: Likewise.
34930 * gnulib/getopt_int.h: Likewise.
34931 * gnulib/gettext.h: Likewise.
34932
34f4a5b0
RM
349332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34934
34935 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
34936 * normal/handler.c (read_handler_list): Likewise.
34937
ac451143
RM
349382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34939
34940 Misc cleanup.
34941
34942 * kern/command.c (grub_register_command_prio): Use
34943 grub_zalloc() instead of explicitly zeroing data.
34944 * kern/list.c: Include `<grub/mm.h>'.
34945 (grub_named_list_find): Replace `0' with `NULL'.
34946 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
34947 (fs_module_list): Change type to `grub_named_list_t'. Update all
34948 users.
34949 * normal/dyncmd.c (read_command_list): Add space between function
34950 call and parenthesis.
34951 * normal/handler.c (read_handler_list): Likewise.
34952
4089b167
RM
349532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34954
34955 * normal/auth.c (punishment_delay): Moved from here ...
34956 (grub_auth_strcmp): ... to here (inside function).
34957
325f5037
RM
349582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34959
34960 * include/grub/list.h (struct grub_named_list): Remove `const'
34961 qualifier from `name'.
34962 (struct grub_prio_list): Likewise.
34963
7aea29a3
RM
349642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34965
34966 * normal/auth.c: Include `<grub/time.h>'.
34967 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
34968
3fd6f044
RM
349692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34970
34971 * normal/auth.c (punishment_delay): New variable.
34972 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
34973 (grub_auth_check_authentication): Punish failed login attempts with
34974 an incremental (2^N) delay.
34975
a4cd68e4
RM
349762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34977
34978 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
34979 path with $(srcdir).
34980
7ad12f43
VS
349812009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34982
34983 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
34984
c1129f03
RM
349852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34986
34987 * util/i386/coreboot/grub-mkrescue.in: New file.
34988 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
34989 variables.
34990
34991 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
34992 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
34993 * configure.ac: Add header and function checks to satisfy grub-mkisofs
34994 requirements.
34995 * util/mkisofs/defaults.h: New file.
34996 * util/mkisofs/eltorito.c: Likewise.
34997 * util/mkisofs/exclude.h: Likewise.
34998 * util/mkisofs/fnmatch.c: Likewise.
34999 * util/mkisofs/getopt.c: Likewise.
35000 * util/mkisofs/getopt1.c: Likewise.
35001 * util/mkisofs/hash.c: Likewise.
35002 * util/mkisofs/include/fctldefs.h: Likewise.
35003 * util/mkisofs/include/mconfig.h: Likewise.
35004 * util/mkisofs/include/prototyp.h: Likewise.
35005 * util/mkisofs/include/statdefs.h: Likewise.
35006 * util/mkisofs/iso9660.h: Likewise.
35007 * util/mkisofs/joliet.c: Likewise.
35008 * util/mkisofs/match.c: Likewise.
35009 * util/mkisofs/match.h: Likewise.
35010 * util/mkisofs/mkisofs.c: Likewise.
35011 * util/mkisofs/mkisofs.h: Likewise.
35012 * util/mkisofs/multi.c: Likewise.
35013 * util/mkisofs/name.c: Likewise.
35014 * util/mkisofs/rock.c: Likewise.
35015 * util/mkisofs/tree.c: Likewise.
35016 * util/mkisofs/write.c: Likewise.
35017
ec8bb77d
VS
350182009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
35019
35020 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
35021 being insecure.
35022
3716b12c
RM
350232009-11-08 Robert Millan <rmh.grub@aybabtu.com>
35024
35025 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
35026 `grub-mkimage' (and use $0 when possible).
35027
b97b7b91
RM
350282009-11-08 Robert Millan <rmh.grub@aybabtu.com>
35029
35030 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
35031 error message for excessively large memory map.
35032
04114812
RM
350332009-11-08 Robert Millan <rmh.grub@aybabtu.com>
35034
35035 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
35036 executable bit.
35037
e4eb2373
RM
350382009-11-08 Robert Millan <rmh.grub@aybabtu.com>
35039
35040 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
35041 message for coreboot users.
35042
c926e1d5 350432009-11-07 Robert Millan <rmh.grub@aybabtu.com>
35044
35045 Fix build with GNU gold.
35046
35047 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
35048 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
35049 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
35050 link addresses.
35051 * aclocal.m4: Likewise.
35052
86e5b1db 350532009-11-04 Felix Zielcke <fzielcke@z-51.de>
35054
35055 * configure.ac (AC_PREREQ): Bump to 2.59d.
35056 * INSTALL: Make it more clear when Autoconf and Ruby are
35057 needed and when to run `./autogen.sh'.
35058
246cd78f 350592009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
35060
35061 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
35062 OSes.
35063
4f9dfb37 350642009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
35065
35066 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
35067
b82bd5e1 350682009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
35069
35070 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
35071 giving it to GNU Mach.
35072
ff1a9bca 350732009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
35074
35075 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
35076 GNU partition number to get internal GRUB partition number.
35077
61697d9c 350782009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
35079
35080 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
35081 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
35082
a50569e1 350832009-11-01 Robert Millan <rmh.grub@aybabtu.com>
35084
35085 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
35086 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
35087 case.
35088
5b153867 350892009-11-01 Felix Zielcke <fzielcke@z-51.de>
35090
35091 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
35092
d9e2cd70 350932009-10-30 Robert Millan <rmh.grub@aybabtu.com>
35094
35095 Fix build problem.
35096
35097 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
35098 `-isystem=$(srcdir)/include'.
35099
805111a4 351002009-10-30 Robert Millan <rmh.grub@aybabtu.com>
35101
35102 * util/i386/pc/grub-install.in: Remove hint that device.map should be
35103 checked (grub-install doesn't currently rely on it).
35104
fa6e945f 351052009-10-29 Robert Millan <rmh.grub@aybabtu.com>
35106
35107 Revert SVN r2660.
35108
35109 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
35110 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
35111 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
35112 * conf/i386-ieee1275.rmk: Likewise.
35113 * conf/i386-pc.rmk: Likewise.
35114 * conf/powerpc-ieee1275.rmk: Likewise.
35115 * conf/sparc64-ieee1275.rmk: Likewise.
35116 * conf/x86_64-efi.rmk: Likewise.
35117
cee15086 351182009-10-28 Robert Millan <rmh.grub@aybabtu.com>
35119
35120 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
35121
95b9239e 351222009-10-28 Robert Millan <rmh.grub@aybabtu.com>
35123
35124 * include/grub/misc.h: Stop checking for APPLE_CC.
35125
2ed19dfd 351262009-10-28 Robert Millan <rmh.grub@aybabtu.com>
35127
35128 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
35129 doesn't cause an infinite call loop.
35130
fdcdde19 351312009-10-28 Felix Zielcke <fzielcke@z-51.de>
35132
35133 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
35134 strings.
35135
cefabfe1 351362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35137
35138 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
35139 variable.
35140 * Makefile.in: Likewise.
35141
ed96ab6d 351422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35143
35144 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
35145
0579b753 351462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35147
35148 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
35149
478df409 351502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35151
35152 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
35153
083d1679 351542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35155
35156 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
35157 from here ...
35158 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
35159
5947ae32 351602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35161
35162 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
35163 in $(MAKEINFO) invocation. This makes it clear in output that
35164 errors are being ignored.
35165
94180ff6 351662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35167
35168 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
35169 from here ...
35170 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
35171 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
35172 * conf/i386-ieee1275.rmk: Likewise.
35173 * conf/i386-pc.rmk: Likewise.
35174 * conf/powerpc-ieee1275.rmk: Likewise.
35175 * conf/sparc64-ieee1275.rmk: Likewise.
35176 * conf/x86_64-efi.rmk: Likewise.
35177
9031b03a 351782009-10-26 Colin Watson <cjwatson@ubuntu.com>
35179
35180 * util/grub-editenv.c (main): If only a command is given, use
35181 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
35182 (usage): FILENAME is now optional and has a default.
35183
e4f6809b 351842009-10-26 Colin Watson <cjwatson@ubuntu.com>
35185
35186 Improve grub-mkconfig performance when there are several menu
35187 entries on a single filesystem.
35188
35189 * util/grub.d/10_linux.in (linux_entry): Cache the output of
35190 prepare_grub_to_access_device.
35191 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
35192 * util/grub.d/30_os-prober.in: Likewise.
35193
67937d4d 351942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35195
35196 * util/grub.d/10_freebsd.in: Remove.
35197 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
35198 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
35199
ee3756cc 352002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35201
5c35048e 35202 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 35203
4dea1c6f 352042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35205
35206 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
35207 grub_util_error() call.
35208
042484d7 352092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35210
35211 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
35212 `reserved_first_sector' member.
35213 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
35214 `reserved_first_sector' to 1.
35215 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
35216 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
35217 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
35218 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
35219 filesystems which begin at first sector.
35220 (options): New option --skip-fs-probe.
35221 (main): Handle --skip-fs-probe and pass it to setup().
35222
d64448a7 352232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35224
35225 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
35226 (memset): Fix function prototype.
35227
508d42ec 352282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
352292009-10-25 Vasily Averin <vvs@parallels.com>
35230
35231 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
35232 `dirent.direntlen == 0'.
35233
b240e30c 352342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35235
35236 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
35237 `cpio'.
35238 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
35239
346e7fbe 352402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35241
35242 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
35243 `__trampoline_setup' and `__ucmpdi2'.
35244 * include/grub/powerpc/libgcc.h: Only export symbols for functions
35245 that libgcc provides.
35246
cdb308b0 352472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35248
35249 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
35250 * include/grub/sparc64/libgcc.h (memset): Likewise.
35251 * include/grub/misc.h (memset, memcmp): New function prototypes.
35252
fb26abc2 352532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35254
35255 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
35256 `cpio'.
35257 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
35258
f6693890 352592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35260
35261 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
35262 * docs/grub.cfg: Compensate for recent change in multiboot
35263 loader (since 2009-08-14 it won't pass filename to payload).
35264 * util/grub.d/10_hurd.in: Likewise.
35265
0933cdc0 352662009-10-21 Felix Zielcke <fzielcke@z-51.de>
35267
35268 * config.guess: Update to latest version from config git
35269 repository.
35270 * config.sub: Likewise.
35271
3b2fe8c2 352722009-10-20 Robert Millan <rmh.grub@aybabtu.com>
35273
35274 Fix build on sparc64.
35275
35276 * configure.ac: Perform checks for libgcc symbols before
35277 adding `-nostdlib' to LDFLAGS.
35278
46695a62 352792009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35280
35281 Let user specify OpenBSD root device.
35282
35283 * loader/i386/bsd.c (openbsd_root): New variable.
35284 (openbsd_opts): New option 'root'.
35285 (OPENBSD_ROOT_ARG): New macro.
35286 (grub_openbsd_boot): Use 'openbsd_root'.
35287 (grub_cmd_openbsd): Fill 'openbsd_root'.
35288
d2b6b7fc 352892009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35290
35291 * NEWS: Misc adjustments.
35292
421bd7ac 352932009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35294
35295 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
35296
f1d29d87 352972009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35298
35299 * configure.ac: Bump version to 1.97.
35300
6f3cd880 353012009-10-16 Colin Watson <cjwatson@ubuntu.com>
35302
35303 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
35304 -mno-3dnow on x86 architectures. Some toolchains enable these
35305 features by default, but they rely on registers that aren't enabled
35306 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
35307
035f7122 353082009-10-15 Robert Millan <rmh.grub@aybabtu.com>
35309
35310 Make entry text a bit more readable.
35311
35312 * util/grub.d/10_linux.in: Add `with' before `Linux'.
35313
44998e58 353142009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35315
35316 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
35317
cd2851b3 353182009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35319
35320 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
35321 operations.
35322
c6f3b249 353232009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35324
35325 * configure.ac: Add missing dollar.
35326
6b5886ba 353272009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35328
35329 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
35330
35331 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
35332 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
35333 exports.
35334 * include/grub/sparc64/libgcc.h: Likewise. Use
35335 preprocessor conditionals.
35336
e9d66f6d 353372009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35338
35339 * conf/common.rmk (grub-dumpbios): Remove rule.
35340 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
35341 * util/grub-dumpbios.in: Remove file.
35342
9155bc17 353432009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35344
35345 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
35346 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
35347
35348 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
35349 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
35350 users.
35351
35352 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
35353 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
35354 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
35355 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
35356 users.
35357
bf7f7a18 353582009-10-12 Robert Millan <rmh.grub@aybabtu.com>
35359
35360 * term/tparm.c: Switch to GPLv3.
35361
86564c26 353622009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35363
35364 * include/grub/i386/cpuid.h: Add header protection.
35365
5c936493 353662009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35367
35368 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
35369
35370 * include/grub/i386/cpuid.h: New file.
35371 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
35372 (has_longmode): Rename to ...
35373 (grub_cpuid_has_longmode): ... this. Update all users. Remove
35374 `static' attribute.
35375 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
35376 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
35377 on a CPU that doesn't implement AMD64 instruction set.
35378
186e7cf2 353792009-10-06 Colin Watson <cjwatson@ubuntu.com>
35380
35381 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
35382 that version.texi is rebuilt on version number changes.
35383
83b65c4a 353842009-10-06 Colin Watson <cjwatson@ubuntu.com>
35385
35386 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
35387 Fixes bug #27602.
35388
d244281c 353892009-10-06 Colin Watson <cjwatson@ubuntu.com>
35390
35391 * util/i386/pc/grub-install.in: Source
35392 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
35393 that the --grub-probe option will work.
35394 * util/sparc64/ieee1275/grub-install.in: Likewise.
35395
da25306d 353962009-10-05 Robert Millan <rmh.grub@aybabtu.com>
35397
35398 * configure.ac: Bump version to 1.97~beta4.
35399
e8ee83c0 354002009-10-03 Robert Millan <rmh.grub@aybabtu.com>
35401
35402 Resync grub-mkdevicemap in x86_64-efi.
35403
35404 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
35405 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
35406 `util/devicemap.c'.
35407
50dcabcf 354082009-10-01 Colin Watson <cjwatson@ubuntu.com>
35409
35410 * util/grub-editenv.c (create_envblk_file): Write new block with a
35411 .new suffix and then rename it into place, to ensure atomic
35412 creation.
35413
0e51c3a7 354142009-09-28 Robert Millan <rmh.grub@aybabtu.com>
35415
35416 Do not automatically install headers.
35417
35418 * Makefile.in (include_DATA): Remove. Update all users.
35419
31299a95 354202009-09-26 Robert Millan <rmh.grub@aybabtu.com>
35421
35422 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
35423 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
35424
35425 * util/osdetect.lua: Remove.
35426 * script/lua/lauxlib.c: Likewise.
35427 * script/lua/ldebug.c: Likewise.
35428 * script/lua/grub_main.c: Likewise.
35429 * script/lua/lauxlib.h: Likewise.
35430 * script/lua/ldebug.h: Likewise.
35431 * script/lua/ltablib.c: Likewise.
35432 * script/lua/liolib.c: Likewise.
35433 * script/lua/lstrlib.c: Likewise.
35434 * script/lua/lualib.h: Likewise.
35435 * script/lua/ldo.c: Likewise.
35436 * script/lua/ldump.c: Likewise.
35437 * script/lua/ldo.h: Likewise.
35438 * script/lua/loslib.c: Likewise.
35439 * script/lua/lundump.c: Likewise.
35440 * script/lua/grub_lib.c: Likewise.
35441 * script/lua/ldblib.c: Likewise.
35442 * script/lua/lundump.h: Likewise.
35443 * script/lua/lmem.c: Likewise.
35444 * script/lua/grub_lib.h: Likewise.
35445 * script/lua/lmathlib.c: Likewise.
35446 * script/lua/lstate.c: Likewise.
35447 * script/lua/ltm.c: Likewise.
35448 * script/lua/lvm.c: Likewise.
35449 * script/lua/lmem.h: Likewise.
35450 * script/lua/lstate.h: Likewise.
35451 * script/lua/ltm.h: Likewise.
35452 * script/lua/ltable.c: Likewise.
35453 * script/lua/lvm.h: Likewise.
35454 * script/lua/llex.c: Likewise.
35455 * script/lua/lgc.c: Likewise.
35456 * script/lua/grub_lua.h: Likewise.
35457 * script/lua/loadlib.c: Likewise.
35458 * script/lua/lfunc.c: Likewise.
35459 * script/lua/lopcodes.c: Likewise.
35460 * script/lua/lparser.c: Likewise.
35461 * script/lua/ltable.h: Likewise.
35462 * script/lua/llex.h: Likewise.
35463 * script/lua/lgc.h: Likewise.
35464 * script/lua/lfunc.h: Likewise.
35465 * script/lua/lbaselib.c: Likewise.
35466 * script/lua/lopcodes.h: Likewise.
35467 * script/lua/lparser.h: Likewise.
35468 * script/lua/lzio.c: Likewise.
35469 * script/lua/linit.c: Likewise.
35470 * script/lua/lobject.c: Likewise.
35471 * script/lua/llimits.h: Likewise.
35472 * script/lua/lstring.c: Likewise.
35473 * script/lua/lzio.h: Likewise.
35474 * script/lua/lapi.c: Likewise.
35475 * script/lua/lcode.c: Likewise.
35476 * script/lua/lua.h: Likewise.
35477 * script/lua/lobject.h: Likewise.
35478 * script/lua/lstring.h: Likewise.
35479 * script/lua/lapi.h: Likewise.
35480 * script/lua/lcode.h: Likewise.
35481 * script/lua/luaconf.h: Likewise.
35482
cb8a2c38 354832009-09-26 Colin Watson <cjwatson@ubuntu.com>
35484
35485 * docs/grub.texi (Command-line and menu entry commands): Document
35486 date and echo commands.
35487
6b9b6276 354882009-09-24 Pavel Roskin <proski@gnu.org>
35489
35490 * include/grub/kernel.h (struct grub_module_header): Remove
35491 `grub_module_header_types'. Make `type' unsigned. Make `size'
35492 32-bit on all platforms.
35493 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
35494 8-bit field. Use grub_host_to_target32() for `size'.
35495 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
35496 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
35497 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
35498
4e5a02a7 354992009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35500
35501 Fix "lost keypress" bug in at_keyboard.
35502
35503 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
35504 Checks for readyness of input buffer (without flushing it).
35505 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
35506 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
35507
c6dcedf6 355082009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35509
35510 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
35511 size check within GRUB_MACHINE_PCBIOS section.
35512
74c958b1 355132009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35514
35515 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
35516 return value.
35517 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
35518 KEYBOARD_ISREADY check.
35519 (grub_at_keyboard_checkkey): Rename to ...
35520 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
35521 Remove gratuitous cast.
35522
ff420223 355232009-09-23 Colin Watson <cjwatson@ubuntu.com>
35524
35525 * configure.ac: Call AC_PROG_MKDIR_P.
35526 * Makefile.in (docs/stamp-vti): Create docs directory. Create
35527 version.texi in $(builddir) rather than $(srcdir).
35528 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
35529 to makeinfo's @include search path.
35530
d96875df 355312009-09-23 Felix Zielcke <fzielcke@z-51.de>
35532
35533 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
35534
9b3f8365 355352009-09-23 Felix Zielcke <fzielcke@z-51.de>
35536
35537 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
35538 for `*.dpkg-new'.
35539
c44c90db 355402009-09-21 Colin Watson <cjwatson@ubuntu.com>
35541
35542 Build info documentation. Some code borrowed from Automake.
35543
35544 * configure.ac: Check for makeinfo.
35545 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
35546 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
35547 docs/version.texi.
35548 (MOSTLYCLEANFILES): Add vti.tmp.
35549 (docs/version.texi, docs/stamp-vti): Update automatically.
35550 (docs/grub.info): Build info documentation. Use --force and ignore
35551 errors for now.
35552 (all-local): Add $(INFOS).
35553 (install-local): Install info files.
35554 (uninstall): Uninstall info files.
35555 * docs/version.texi: Remove from revision control. This file is
35556 automatically generated on build now.
35557 * gendistlist.sh: Add `*.info'.
35558
e0b37bb5 355592009-09-21 Felix Zielcke <fzielcke@z-51.de>
35560
35561 * kern/term.c: Fix indentation.
35562
5a78865b 355632009-09-21 Felix Zielcke <fzielcke@z-51.de>
35564
35565 * util/hostdisk.c: Fix a comment.
35566
dace7e8a 355672009-09-20 Robert Millan <rmh.grub@aybabtu.com>
35568
35569 Fix regression introduced in r2539.
35570
35571 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
35572 to 0xA1.
35573
a83d079b 355742009-09-19 Colin Watson <cjwatson@ubuntu.com>
35575
35576 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 35577 os-prober. Under normal operation, it does not print anything to
35578 stderr; if it does, we need to debug it, and throwing away stderr
35579 makes that excessively difficult.
a83d079b 35580
be94a509 355812009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
35582
35583 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
35584
63f745e8 355852009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35586
35587 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
35588 AC_LANG_PROGRAM from autoconf.
35589 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
35590 prototypes (fixes warning).
35591
35592 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
35593 `--disable-werror' was used.
35594
bbb2a70f 355952009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35596
35597 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
35598 uninitialized `lastaddr'.
35599
77c24f1d 356002009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
35601
0f0b8c87 35602 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 35603
07197f23 356042009-09-14 Colin Watson <cjwatson@ubuntu.com>
35605
35606 * commands/test.c (get_fileinfo): Return immediately if
35607 grub_fs_probe fails.
35608
dabf1798 356092009-09-14 José Martínez <xosemp@gmail.com>
35610
35611 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
35612
d52109a7 356132009-09-14 Colin Watson <cjwatson@ubuntu.com>
35614
35615 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
35616 output.
35617
56532179 356182009-09-13 Robert Millan <rmh.grub@aybabtu.com>
35619
35620 * configure.ac: Remove --enable-grub-pe2elf. Only build
35621 grub-pe2elf when needed by the build system itself.
35622 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
35623
8ef070f5 356242009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35625
35626 * configure.ac: Bump version to 1.97~beta3.
35627 * docs/version.texi: Likewise.
35628
61229557 356292009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35630
35631 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
35632 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
35633 from here ...
35634 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
35635 (grub_linux_setup_video): ... to here (with some adjustments).
35636
5c9f8d84 356372009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35638
35639 Fix memory corruption issue (spotted by Colin Watson).
35640
35641 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
35642 causing returned size to be stored in an incorrect memory location.
35643 Fix use of uninitialized value when storing the returned size.
35644
e8f5d6e9 356452009-09-12 Yves Blusseau <blusseau@zetam.org>
35646
35647 Change clean rules to properly remove files
35648
35649 * genmk.rb: add new clean rules
35650 * Makefile.in (clean): add the new targets
35651 (mostlyclean): likewise
35652
cda2a409 356532009-09-11 Colin Watson <cjwatson@ubuntu.com>
35654
35655 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
35656 to grub_uint64_t.
35657 * fs/ntfs.c (init_file): Understand 64-bit sizes for
35658 non-resident files.
35659
86695375 356602009-09-11 Colin Watson <cjwatson@ubuntu.com>
35661
35662 * configure.ac: Don't look for help2man when cross-compiling. Fixes
35663 part of bug #27349.
35664
8aa1541a 356652009-09-10 Felix Zielcke <fzielcke@z-51.de>
35666
35667 * util/grub-mkconfig.in: Make the created config mode 400 and
35668 print a warning if it fails.
35669
48d9bb0a 356702009-09-10 Robert Millan <rmh.grub@aybabtu.com>
35671
35672 * util/grub.d/40_custom.in: Ask user to type custom entries below
35673 comment, rather than below 'exec tail' line.
35674
3b0521be 356752009-09-10 Colin Watson <cjwatson@ubuntu.com>
35676
35677 * util/grub.d/40_custom.in: Make sure that the explanatory text is
35678 visible in grub.cfg.
35679
50051d55 356802009-09-10 Colin Watson <cjwatson@ubuntu.com>
35681
35682 * util/grub.d/40_custom.in: Make it a little clearer how to use this
35683 file.
35684
c0d34387 356852009-09-10 Felix Zielcke <fzielcke@z-51.de>
35686
35687 * docs/grub.cfg: Add an example menu entry for memtest86+.
35688
80a608f3 356892009-09-09 Felix Zielcke <fzielcke@z-51.de>
35690
a2094832 35691 * config.guess: Update to latest version from config git.
80a608f3 35692 * config.sub: Likewise.
35693
99423078 356942009-09-08 Colin Watson <cjwatson@ubuntu.com>
35695
35696 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
35697 unknown-command case. Fixes bug #27320.
35698
44454e4c 356992009-09-08 Felix Zielcke <fzielcke@z-51.de>
35700
35701 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
35702 `help' if the command exists.
35703
e30d87ad 357042009-09-06 Robert Millan <rmh.grub@aybabtu.com>
35705
35706 * INSTALL: Require GCC 4.1.3 or later.
35707
9a86f1ec 357082009-09-06 Yves Blusseau <blusseau@zetam.org>
35709
35710 * Makefile.in (RMKFILES): add i386-qemu.rmk
35711 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
35712 $(srcdir)/stamp-h.in
35713
7f26d466 357142009-09-05 Robert Millan <rmh.grub@aybabtu.com>
35715
35716 * util/grub-probe.c (probe): Comment out buggy codepath, which
35717 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
35718 should be re-enabled after 1.97.
35719
3a613259 357202009-09-05 Felix Zielcke <fzielcke@z-51.de>
35721
35722 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
35723 find searches for.
35724
197f76c7 357252009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
35726
35727 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
35728 unnecessary calls to grub_error.
35729
70ba68ce 357302009-09-04 Colin Watson <cjwatson@ubuntu.com>
35731
35732 * NEWS: Mention `keystatus' and Unicode fonts.
35733
4ff0d7a4 357342009-09-04 Robert Millan <rmh.grub@aybabtu.com>
35735
35736 * configure.ac: Bump version to 1.97~beta2.
35737 * docs/version.texi: Likewise.
35738
77c55a87 357392009-09-03 Colin Watson <cjwatson@ubuntu.com>
35740
35741 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
35742 containing unwind information in some cases where it previously did
35743 not. Use -fno-dwarf2-cfi-asm if available to restore the old
35744 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
35745 discussion.
35746
f79572cd 357472009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
35748
35749 Embedding loadenv module into grub-emu
35750
35751 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
35752 commands/loadenv.c
35753 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
35754 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
35755 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
35756 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
35757 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
35758 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
35759
93a81088 357602009-09-03 Magnus Granberg <zorry@ume.nu>
35761
35762 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
35763 include -fPIE in the default specs.
35764 * configure.ac: Check if pie_possible is yes and add -fno-PIE
35765 to TARGET_CFLAGS.
35766
160034b2 357672009-09-03 Felix Zielcke <fzielcke@z-51.de>
35768
35769 * INSTALL: Note that GNU Bison 2.3 or later is required.
35770
087c07c4 357712009-09-03 Colin Watson <cjwatson@ubuntu.com>
35772
35773 * kern/i386/pc/startup.S: Fix typo.
35774
cbf978c0 357752009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
35776
35777 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
35778 according to GCS.
35779
357802009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 35781
35782 * docs/grub.texi (Naming convention): Describe one-based partition
35783 numbering.
35784 (Device syntax): Likewise.
35785 (File name syntax): Likewise.
35786 (Block list syntax): Likewise.
35787 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
35788 menu.lst.
35789 (File name syntax): Likewise.
35790 (Command-line and menu entry commands): Document acpi, blocklist,
35791 crc, export, insmod, keystatus, ls, set, and unset commands.
35792
f3e8cdfd 357932009-09-02 Colin Watson <cjwatson@ubuntu.com>
35794
35795 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
35796 to avoid implying that only one of --shift, --ctrl, or --alt may be
35797 used.
35798
c0bc232b 357992009-09-02 Colin Watson <cjwatson@ubuntu.com>
35800
35801 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
35802 rather than comparing against S_IFREG, which will almost never work.
35803
aa0f752d 358042009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
35805
35806 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
35807 (write_blocklists): Likewise.
35808
ecb3166a 358092009-09-01 Colin Watson <cjwatson@ubuntu.com>
35810
35811 * script/lua/grub_lua.h (fputs): Supply a format string as the first
35812 argument to grub_printf.
35813
c403a125 358142009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 35815
35816 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 35817 non GNU test.
31aba781 35818
b5e7312c 358192009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35820
35821 * kern/file.c (grub_file_read): Spelling fix
35822
fe00f472 358232009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35824
35825 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
35826 loading of headers in some cases.
35827
cc55302e 358282009-08-30 Robert Millan <rmh.grub@aybabtu.com>
35829
35830 * configure.ac: Bump version to 1.97~beta1.
35831 * docs/version.texi: Likewise.
35832
5c90cdd2 358332009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 35834
35835 * include/grub/i386/xnu.h: Add license header.
35836 include grub/err.h explicitly.
35837
c90edae4 358382009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35839
35840 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
35841 to `ufs' in the vfs.root.mountfrom kernel parameter.
35842
d8888b5c 358432009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35844
35845 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
35846
35847 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
35848 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
35849
35850 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
35851 `ARRAY_SIZE' macro.
35852
6f07b921 358532009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35854
35855 * kern/file.c (grub_file_read): Check offset.
35856 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
35857 * fs/jfs.c (grub_jfs_read_file): Likewise.
35858 * fs/ntfs.c (grub_ntfs_read): Likewise.
35859 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
35860 * fs/minix.c (grub_minix_read_file): Correct offset check.
35861 * fs/ufs.c (grub_ufs_read_file): Likewise.
35862
b4f34077 358632009-08-28 Colin Watson <cjwatson@ubuntu.com>
35864
35865 * term/i386/pc/console.c (bios_data_area): Cast
35866 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
35867
e7c69859 358682009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35869
35870 1-bit optimised blitters.
35871
35872 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
35873 prototype.
35874 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35875 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35876 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35877 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35878 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35879 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35880 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
35881 function.
35882 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35883 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35884 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35885 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35886 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35887 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35888 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
35889 when possible.
35890 * video/video.c (grub_video_get_blit_format): Return
35891 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
35892
a57da43f 358932009-08-28 Colin Watson <cjwatson@ubuntu.com>
35894
35895 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
35896 the first argument to grub_printf.
35897
4cbe67e5 358982009-08-28 Colin Watson <cjwatson@ubuntu.com>
358992009-08-28 Robert Millan <rmh.grub@aybabtu.com>
35900
35901 Add `getkeystatus' terminal method. Add a new `keystatus' command
35902 to query it.
35903
35904 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
35905 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
35906 modifier key bitmasks.
35907 (struct grub_term_input): Add `getkeystatus' member.
35908 (grub_getkeystatus): Add prototype.
35909 * kern/term.c (grub_getkeystatus): New function.
35910
35911 * include/grub/i386/pc/memory.h
35912 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
35913 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
35914 Data Area layout.
35915 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
35916 (grub_console_term_input): Set `getkeystatus' member.
35917 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
35918 constants.
35919 (grub_usb_keyboard_getreport): Likewise.
35920 (grub_usb_keyboard_checkkey): Likewise.
35921 (grub_usb_keyboard_getkeystatus): New function.
35922 (grub_usb_keyboard_term): Set `getkeystatus' member.
35923
35924 * commands/keystatus.c: New file.
35925 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
35926 (keystatus_mod_SOURCES): New variable.
35927 (keystatus_mod_CFLAGS): Likewise.
35928 (keystatus_mod_LDFLAGS): Likewise.
35929 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
35930 commands/keystatus.c.
35931 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35932 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35933 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35935 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35936 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 35937
6e2a9085 359382009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35939
35940 Split befs.mod and afs.mod into *_be.mod and *.mod
35941
35942 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
35943 (grub_fstest_SOURCES): Likewise.
35944 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
35945 (afs_be_mod_SOURCES): New variable.
35946 (afs_be_mod_CFLAGS): Likewise.
35947 (afs_be_mod_LDFLAGS): Likewise.
35948 (befs_be_mod_SOURCES): Likewise.
35949 (befs_be_mod_CFLAGS): Likewise.
35950 (befs_be_mod_LDFLAGS): Likewise.
35951 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
35952 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35953 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35954 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35955 (grub_emu_SOURCES): Likewise.
35956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35957 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35958 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35959 * fs/afs_be.c: New file.
35960 * fs/befs_be.c: New file.
35961 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
35962 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
35963 (U16): Replaced with ...
35964 (grub_afs_to_cpu16): ...this. All users updated.
35965 (U32): Replaced with ...
35966 (grub_afs_to_cpu32): ...this. All users updated.
35967 (U64): Replaced with ...
35968 (grub_afs_to_cpu64): ...this. All users updated.
35969 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
35970 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 35971 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 35972 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35973 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35974 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35975 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35976 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35977 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35978 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35979 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35980
32a71655 359812009-08-26 Bean <bean123ch@gmail.com>
35982
35983 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
35984 64-bit number.
35985 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
35986 (grub_xfs_inode_block): Change return type to grub_uint64_t.
35987 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
35988
552bf6c5 359892009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35990
35991 NetBSD memory map support.
35992
35993 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
35994 (grub_netbsd_btinfo_mmap_header): New structure.
35995 (grub_netbsd_btinfo_mmap_entry): Likewise.
35996 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
35997
1ae2078c 359982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35999
36000 Enable bsd.mod on coreboot.
36001
36002 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
36003 (bsd_mod_SOURCES): New variable.
36004 (bsd_mod_CFLAGS): Likewise.
36005 (bsd_mod_LDFLAGS): Likewise.
36006 (bsd_mod_ASFLAGS): Likewise.
36007 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
36008 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
36009
beefc598 360102009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
36011
36012 Cleanup NetBSD root support.
36013
36014 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
36015 grub_bsd_get_device.
36016 Fix typo.
36017
3b76e68b 360182009-08-25 Felix Zielcke <fzielcke@z-51.de>
36019
36020 * util/grub.d/00_header.in: Move check for the video backend of
36021 gfxterm from here ...
36022 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
36023 a suitable video backend.
36024
aea664ea 360252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
36026
36027 Fix breakage in grub-setup.
36028
36029 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
36030 "msdos_partition_map".
36031
ff747d50 360322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
36033
36034 Fix breakage in normal/auth.c.
36035
36036 * normal/auth.c (grub_iswordseparator): New function.
36037
e7e1f93f 360382009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
36039
36040 Authentication support.
36041
36042 * commands/password.c: New file.
36043 * conf/common.rmk (pkglib_MODULES): Add password.mod.
36044 (password_mod_SOURCES): New variable.
36045 (password_mod_CFLAGS): Likewise.
36046 (password_mod_LDFLAGS): Likewise.
36047 (normal_mod_SOURCES): Add normal/auth.c.
36048 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
36049 normal/auth.c.
36050 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36051 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36052 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36054 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36055 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36056 * include/grub/auth.h: New file.
36057 * include/grub/err.h (grub_err_t): New enum value
36058 GRUB_ERR_ACCESS_DENIED.
36059 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
36060 'users'.
36061 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
36062 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
36063 users updated.
36064 * normal/auth.c: New file.
36065 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
36066 (grub_cmdline_run): Don't allow to go to command line without
36067 authentication.
36068 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
36069 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
36070 menuentry without superuser rights.
36071 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
36072 user isn't a superuser.
36073
70f1161d 360742009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36075
36076 Save space by inlining misc.c functions.
36077
36078 * kern/misc.c (grub_iswordseparator): Made static.
36079 * kern/misc.c (grub_strcat): Moved from here ...
36080 * include/grub/misc.h (grub_strcat): ... here. Inlined.
36081 * kern/misc.c (grub_strncat): Moved from here ...
36082 * include/grub/misc.h (grub_strncat): ... here. Inlined.
36083 * kern/misc.c (grub_strcasecmp): Moved from here ...
36084 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
36085 * kern/misc.c (grub_strncasecmp): Moved from here ...
36086 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
36087 * kern/misc.c (grub_isalpha): Moved from here ...
36088 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
36089 * kern/misc.c (grub_isdigit): Moved from here ...
36090 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
36091 * kern/misc.c (grub_isgraph): Moved from here ...
36092 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
36093 * kern/misc.c (grub_tolower): Moved from here ...
36094 * include/grub/misc.h (grub_tolower): ... here. Inlined.
36095
48e40bff 360962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36097
36098 * script/sh/function.c (grub_script_function_find): Cut error message
36099 not to flood terminal.
36100 * script/sh/lexer.c (grub_script_yylex): Remove command line length
36101 limit.
36102 * script/sh/script.c (grub_script_arg_add): Duplicate string.
36103
c385bfc3 361042009-08-24 Colin Watson <cjwatson@ubuntu.com>
36105
36106 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
36107 `report' grub_uint8_t *.
36108 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
36109 Use a 50-millisecond timeout rather than just repeating
36110 grub_usb_keyboard_getreport 50 times.
36111 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
36112
2d21e3e8 361132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36114
36115 Rename *_partition_map to part_*
36116
36117 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
36118 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
36119 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
36120 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
36121 All users updated.
36122 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
36123 All users updated.
36124 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
36125 * util/grub-probe.c (probe_partmap): Don't transform partition name
36126 to get module name.
36127
dd103c4e 361282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36129
36130 Fix OpenBSD and NetBSD support.
36131
36132 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
36133 memory address conflict.
36134 (OPENBSD_MMAP_ACPI): New definition.
36135 (OPENBSD_MMAP_NVS): Likewise.
36136 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
36137 and OPENBSD_MMAP_NVS.
36138 Add memory map terminator
36139 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 36140 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 36141
16c84d74 361422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36143
36144 Let user specify NetBSD root device.
36145
36146 * loader/i386/bsd.c (netbsd_root): New variable.
36147 (netbsd_opts): New option 'root'.
36148 (NETBSD_ROOT_ARG): New macro.
36149 (grub_netbsd_boot): Use 'netbsd_root'.
36150 (grub_bsd_unload): Free 'netbsd_root'.
36151 (grub_cmd_netbsd): Fill 'netbsd_root'.
36152
adb29902 361532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36154
36155 Support for 64-bit NetBSD.
36156
36157 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
36158 point when booting non-FreeBSD.
36159
f5ae9f74 361602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36161
36162 Support --no-smp and --no-acpi for NetBSD.
36163
36164 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
36165 (NETBSD_AB_NOACPI): Likewise.
36166 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
36167 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
36168
de74f136 361692009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
36170
36171 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
36172 errors.
36173 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
36174 errors. Call grub_error when needed.
36175
e9a925da 361762009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
36177
36178 * commands/search.c (search_fs): Try searching without autoload first.
36179 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
36180 filesystem module explicitly for faster booting.
36181
5174302b 361822009-08-23 Colin Watson <cjwatson@ubuntu.com>
36183
36184 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
36185
c8c80635 361862009-08-23 Colin Watson <cjwatson@ubuntu.com>
36187
36188 * util/grub.d/30_os-prober.in: Disable os-prober if
36189 `GRUB_DISABLE_OS_PROBER' was set to true.
36190
71acf5e5 361912009-08-23 Robert Millan <rmh.grub@aybabtu.com>
36192
36193 * partmap/pc.c: Rename to ...
36194 * partmap/msdos.c: ... this. Update all users.
36195 (grub_pc_partition_map): Rename to ...
36196 (grub_msdos_partition_map): ... this. Update all users.
36197
36198 * parttool/pcpart.c: Rename to ...
36199 * parttool/msdospart.c: ... this. Update all users.
36200
36201 * include/grub/pc_partition.h: Rename to ...
36202 * include/grub/msdos_partition.h: ... this. Update all users.
36203 (grub_pc_partition_bsd_entry): Rename to ...
36204 (grub_msdos_partition_bsd_entry): ... this. Update all users.
36205 (grub_pc_partition_disk_label): Rename to ...
36206 (grub_msdos_partition_disk_label): ... this. Update all users.
36207 (grub_pc_partition_entry): Rename to ...
36208 (grub_msdos_partition_entry): ... this. Update all users.
36209 (grub_pc_partition_mbr): Rename to ...
36210 (grub_msdos_partition_mbr): ... this. Update all users.
36211 (grub_pc_partition): Rename to ...
36212 (grub_msdos_partition): ... this. Update all users.
36213 (grub_pc_partition_is_empty): Rename to ...
36214 (grub_msdos_partition_is_empty): ... this. Update all users.
36215 (grub_pc_partition_is_extended): Rename to ...
36216 (grub_msdos_partition_is_extended): ... this. Update all users.
36217 (grub_pc_partition_is_bsd): Rename to ...
36218 (grub_msdos_partition_is_bsd): ... this. Update all users.
36219
36220 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
36221 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
36222 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
36223 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
36224 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
36225 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
36226 (gpt_mod_LDFLAGS): Rename to ...
36227 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
36228 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
36229 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
36230 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
36231 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
36232 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
36233 (part_gpt_mod_LDFLAGS): ... this.
36234 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
36235 `pcpart.mod' to `msdospart.mod'.
36236 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
36237 to ...
36238 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
36239 (msdospart_mod_LDFLAGS): ... this.
36240
c11fded5 362412009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
36242
36243 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
36244 (openbsd_opts): Likewise.
36245 (netbsd_opts): Likewise.
36246 (freebsd_flags): Added 0 terminator.
36247 (openbsd_flags): Likewise.
36248 (netbsd_flags): Likewise.
36249 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
36250 (grub_cmd_freebsd): Transformed into extended command.
36251 (grub_cmd_openbsd): Likewise.
36252 (grub_cmd_netbsd): Likewise.
36253 (cmd_freebsd): Changed type to grub_extcmd_t.
36254 (cmd_openbsd): Likewise.
36255 (cmd_netbsd): Likewise.
36256 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
36257 grub_cmd_openbsd as extended commands.
36258 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
36259 cmd_netbsd and cmd_openbsd
36260
11d1c769 362612009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
36262
36263 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
36264
7a9094e5 362652009-08-21 Pavel Roskin <proski@gnu.org>
36266
5496c37e 36267 * Makefile.in (install-local): When checking if a file is in the
36268 build directory, use "test -e" to detect symlinks.
36269
7a9094e5 36270 * Makefile.in (install-local): Remove all files in
36271 $(DESTDIR)$(pkglibdir) before installing new files there.
36272
e53cea11 362732009-08-18 Felix Zielcke <fzielcke@z-51.de>
36274
36275 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
36276 grub-mkelfimage.
36277
9aced544 362782009-08-18 Felix Zielcke <fzielcke@z-51.de>
36279
36280 * util/grub-mkconfig.in: Don't use gfxterm by default if not
36281 explicitly specified by the user.
36282
b7da6bab 362832009-08-18 Pavel Roskin <proski@gnu.org>
36284
36285 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
36286 grub_uint8_t pointer for data.
36287 * include/grub/fbutil.h (struct grub_video_fbblit_info):
36288 Likewise.
36289 * video/fb/fbutil.c: Remove unnecessary casts.
36290
19f1b335 362912009-08-17 Michal Suchanek <hramrach@centrum.cz>
36292
36293 VBE cleanup.
36294
36295 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
36296 (grub_vbe_set_video_mode): Save active mode info
36297 only after setting the mode.
36298 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
36299 second argument.
36300
2f467aa9 363012009-08-17 Michal Suchanek <hramrach@centrum.cz>
36302
36303 Rename variables for clarity.
36304
36305 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
36306 (active_vbe_mode_info): ... this. All users updated.
36307 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
36308 All users updated.
36309 (initial_mode): Rename to ...
36310 (initial_vbe_mode): ... this. All users updated.
36311 (mode_in_use): Rename to ..
36312 (vbe_mode_in_use): ... this. All users updated.
36313 (mode_list): Rename to ..
36314 (vbe_mode_list): ... this. All users updated.
36315 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
36316 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
36317 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
36318 'mode_list_size' to 'vbe_mode_list_size'.
36319 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
36320 'best_mode_info' to 'best_vbe_mode_info' and
36321 'best_mode' to 'best_vbe_mode'
36322
6025fcd7 363232009-08-17 Michal Suchanek <hramrach@centrum.cz>
36324
36325 Remove duplicate grub_video_fb_get_video_ptr.
36326
36327 * include/grub/fbutil.h (get_data_ptr): Rename to ...
36328 (grub_video_fb_get_video_ptr): ... this.
36329 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
36330 * video/fb/fbutil.c: Add comment about addressing.
36331 (get_data_ptr): Rename to ...
36332 (grub_video_fb_get_video_ptr): ... this. All users updated.
36333 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
36334
cc8c6faf 363352009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36336
36337 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
36338 grub_dprintf() that was just added.
36339
08aa61f0 363402009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36341
36342 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
36343 (DEFAULT_VIDEO_MODE): Remove macros.
36344 (grub_linux_boot): Remove assumption that Linux has FB support,
36345 and use "text" as default video mode.
36346
7cef4f75 363472009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
36348
36349 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
36350 grub_dprintf.
36351 * fs/fat.c (grub_fat_read_data): Likewise.
36352
e1f39873 363532009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36354
36355 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
36356 payload.
36357 (grub_module): Likewise.
36358
c166d79e 363592009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36360
36361 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
36362 mbi->cmdline but free playground.
36363
c60cee8e 363642009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36365
36366 Handle group offset on UFS1.
36367
36368 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
36369 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
36370
c0d8b5d4 363712009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36372
36373 Split ufs.mod into ufs1.mod and ufs2.mod.
36374
36375 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
36376 (grub_fstest_SOURCES): Likewise.
36377 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
36378 (ufs_mod_SOURCES): Remove.
36379 (ufs_mod_CFLAGS): Likewise.
36380 (ufs_mod_LDFLAGS): Likewise.
36381 (ufs1_mod_SOURCES): New variable.
36382 (ufs1_mod_CFLAGS): Likewise.
36383 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 36384 (ufs2_mod_SOURCES): New variable.
36385 (ufs2_mod_CFLAGS): Likewise.
36386 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 36387 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
36388 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36389 Likewise.
36390 (grub_emu_SOURCES): Likewise.
36391 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36392 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36393 (grub_setup_SOURCES): Likewise.
36394 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36395 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
36396 (grub_setup_SOURCES): Likewise.
36397 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36398 Likewise.
36399 * fs/ufs2.c: New file.
36400 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
36401
d3539132 364022009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36403
36404 Framebuffer split.
36405
36406 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
36407 subsystem at the end.
36408 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
36409 (video_fb_mod_SOURCES): New variable.
36410 (video_fb_mod_CFLAGS): Likewise.
36411 (video_fb_mod_LDFLAGS): Likewise.
36412 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
36413 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
36414 * video/i386/pc/vbeblit.c: Moved from here ...
36415 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
36416 * video/i386/pc/vbefill.c: Moved from here ...
36417 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
36418 * video/i386/pc/vbeutil.c: Moved from here ...
36419 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
36420 * include/grub/i386/pc/vbeblit.h: Moved from here ...
36421 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
36422 * include/grub/i386/pc/vbefill.h: Moved from here ...
36423 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
36424 * include/grub/i386/pc/vbeutil.h: Moved from here ...
36425 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
36426 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
36427 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
36428 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
36429 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
36430 (grub_video_adapter): Added 'get_info_and_fini'.
36431 (grub_video_get_info_and_fini): New prototype.
36432 (grub_video_set_mode): make modestring const char *.
36433 * loader/i386/linux.c (grub_linux_setup_video): Use
36434 grub_video_get_info_and_fini.
36435 (grub_linux_boot): Move modesetting just before booting.
36436 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
36437 grub_video_get_info_and_fini.
36438 * video/i386/pc/vbe.c: Moved framebuffer part ...
36439 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
36440 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
36441 grub_video_fbstd_colors and grub_video_fb_set_palette.
36442 (grub_video_vbe_init): Clear 'framebuffer' variable and use
36443 grub_video_fb_init.
36444 (grub_video_vbe_fini): Use grub_video_fb_fini.
36445 (grub_video_vbe_setup): Use framebuffer.render_target instead of
36446 render_target and use grub_video_fb_set_active_render_target and
36447 grub_video_fb_set_palette.
36448 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
36449 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
36450 (grub_video_vbe_adapter): Use framebuffer.
36451 * video/video.c (grub_video_get_info_and_fini): New function.
36452 (grub_video_set_mode): Make modestring const char *.
36453 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
36454 values are already initialised.
36455
d404ee56 364562009-08-14 Pavel Roskin <proski@gnu.org>
36457
36458 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
36459 ABS and APPLE_CC.
36460 * boot/i386/pc/diskboot.S: Likewise.
36461 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
36462 sectors allow compilation on MacOSX.
36463 * conf/i386-pc.rmk: Enable unconditional compilation of
36464 lnxboot.img.
36465
9a10df16 364662009-08-13 Colin Watson <cjwatson@ubuntu.com>
36467
36468 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
36469 * util/grub.d/00_header.in: Enter interruptible sleep if
36470 GRUB_HIDDEN_TIMEOUT is set.
36471
be3c9ca7 364722009-08-13 Yves Blusseau <blusseau@zetam.org>
36473
36474 * include/grub/symbol.h: Add the LOCAL macro.
36475 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
36476 starting with "L_".
36477
1f9e557e 364782009-08-13 Pavel Roskin <proski@gnu.org>
36479
9ca62843 36480 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
36481 any modern compilers we support.
36482
1f9e557e 36483 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
36484 Use local labels starting with "L_" so that Apple assembler
36485 knows they are local.
36486
81623db6 364872009-08-10 Robert Millan <rmh.grub@aybabtu.com>
36488
36489 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
36490 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
36491 (bsd_kernel_types): ... this enum.
36492
36493 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
36494 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
36495 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
36496
36497 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
36498 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
36499 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
36500 messages.
36501
f5d35e7a 365022009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36503
36504 * util/grub-dumpdevtree: Moved from here ...
36505 * util/i386/efi/grub-dumpdevtree: ... to here.
36506 (hexify): New function. Converts a string to its hex version.
36507 Generate hex versions of "efi" and "device-properties" by calling
36508 hexify() on the ASCII strings rather than by hardcoding numbers.
36509
d1e1d527 365102009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36511
36512 * fs/jfs.c: Update copyright year.
36513
1ebbe064 365142009-08-08 Felix Zielcke <fzielcke@z-51.de>
36515
36516 * util/grub.d/00_header.in: Fix a comment.
36517 * util/grub.d/10_linux.in: Likewise.
36518 * util/grub.d/10_windows.in: Likewise.
36519 * util/grub.d/10_hurd.in: Likewise.
36520
a78c8d24 365212009-08-08 Felix Zielcke <fzielcke@z-51.de>
36522
36523 * util/grub-mkconfig.in: Allow the user to specify the used font
36524 with GRUB_FONT.
36525
29a6b9e8 365262009-08-08 Pavel Roskin <proski@gnu.org>
36527
b5f16cc4 36528 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
36529 available, xfs.mod needs it now.
36530
2f5cb827 36531 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
36532 the "g" modifier in sed when the intention is to strip something
36533 once. This fixes comparison of kernels with multiple dashes.
36534
29a6b9e8 36535 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
36536 on it. Add missing space before closing bracket. Fix
36537 misleading formatting.
36538
892a3d98 365392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36540
36541 * docs/grub.texi: Major overhaul. Remove all sections that are
36542 specific to GRUB Legacy, or mostly composed of Legacy-specific
36543 information.
36544
ed94253f 365452009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36546
36547 * docs/version.texi: New file. Provides version information for
36548 grub.texi.
36549
126d6628 365502009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36551
36552 * docs/grub.texi: Update CVS information to SVN.
36553 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
36554
998b5aa9 365552009-08-07 Felix Zielcke <fzielcke@z-51.de>
36556
36557 * util/grub-mkconfig.in: Remove a wrong `fi'.
36558
818e094a 365592009-08-07 Felix Zielcke <fzielcke@z-51.de>
36560
36561 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
36562 (grub_jfs_uuid): New function.
36563 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
36564
b969c52f 365652009-08-07 Felix Zielcke <fzielcke@z-51.de>
36566
36567 * util/grub-mkconfig_lib.in (font_path): Move the functionality
36568 of it to ...
36569 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
36570 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
36571
7a4894cc 365722009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36573
36574 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
36575 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
36576 Update all users.
36577
36578 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
36579 not just "vmlinu[zx]".
36580 Moved from here ...
36581 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
36582 all users.
36583
36584 * util/grub.d/10_linux.in (find_latest): Moved from here ...
36585 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
36586 all users.
36587
4e2171f8 365882009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36589
36590 * util/grub.d/10_freebsd.in: Use an absolute device path for
36591 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
36592
6dcfcb32 365932009-08-06 Felix Zielcke <fzielcke@z-51.de>
36594
36595 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
36596 handling of multiple abstraction modules.
36597
f56a8756 365982009-08-04 Robert Millan <rmh.grub@aybabtu.com>
36599
36600 Fix a bug resulting in black screen when loading Linux using a
36601 packed video mode.
36602
36603 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
36604 function.
36605
36606 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
36607 (grub_vbe_bios_getset_dac_palette_width): New function.
36608 (grub_vbe_bios_get_dac_palette_width)
36609 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
36610 grub_vbe_bios_getset_dac_palette_width()).
36611
36612 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
36613 check for return status.
36614 (grub_vbe_get_video_mode_info): When getting information for a packed
36615 mode (<= 8 bpp), obtain DAC palette width using
36616 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
36617 {red,green,blue}_mark_size.
36618
222671b2 366192009-08-04 Felix Zielcke <fzielcke@z-51.de>
36620
ecb1a6d9 36621 * commands/search.c (options): Fix help output to match actual code.
222671b2 36622
f84114f5 366232009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
36624
36625 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
36626 of homegrown code.
36627
bd288a20 366282009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 36629
36630 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
36631 on XFS or ReiserFS.
36632
8aab5e25 366332009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36634
36635 Support Apple partition map with sector size different from 512 bytes.
36636
36637 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
36638 (apple_partition_map_iterate): Respect 'aheader.blocksize'
36639 and 'apart.partmap_size'.
36640
6ad6258a 366412009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
366422009-08-01 Robert Millan <rmh.grub@aybabtu.com>
36643
36644 Fix cpuid command.
36645
36646 * commands/i386/cpuid.c (options): New variable.
36647 (grub_cmd_cpuid): Return real error.
36648 (GRUB_MOD_INIT(cpuid)): Declare options.
36649
67459bc6 366502009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
36651
36652 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
36653 valid.
36654
fbc6ab54 366552009-07-31 Bean <bean123ch@gmail.com>
36656
36657 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
36658 log2_inode.
36659 (grub_fshelp_node): Move inode field to the end.
36660 (grub_xfs_data): Remove inode field.
36661 (grub_xfs_inode_block): Calculate inode size using sblock.
36662 (grub_xfs_inode_offset): Likewise.
36663 (grub_xfs_read_inode): Calculate inode size using sblock.
36664 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
36665 (grub_xfs_iterate_dir): Calculate inode size using sblock.
36666 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
36667 to match inode size.
36668 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
36669 not accessible when data is null.
36670 (grub_xfs_open): Likewise.
36671
f45d6cfc 366722009-07-31 Bean <bean123ch@gmail.com>
36673
36674 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
36675 Don't change pv->disk if it's already set.
36676
36677 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
36678 (grub_raid_register): ... here.
36679 (grub_raid_rescan): Removed.
36680
36681 * include/grub/raid.h (grub_raid_rescan): Removed.
36682
36683 * util/grub-fstest.c: Remove include file <grub/raid.h>.
36684 (fstest): Replace grub_raid_rescan with module fini function followed
36685 by init function.
36686
36687 * util/grub-probe.c: Add include file <grub/raid.h>.
36688 (probe_raid_level): New function.
36689 (probe): Detect abstraction by walking the disk device, support two
36690 level of abstraction (LVM on RAID) when detecting partition map.
36691
24443b5a 366922009-07-31 Pavel Roskin <proski@gnu.org>
36693
36694 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
36695 to grub_zalloc(), it was erroneous.
36696 Reported by Bean <bean123ch@gmail.com>
36697
a275d9e7 366982009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
36699
36700 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 36701 embedding zone, not only the first one.
a275d9e7 36702
56c5a47f 367032009-07-29 Joe Auricchio <jauricchio@gmail.com>
36704
36705 * term/gfxterm.c (clear_char): New function.
36706 (grub_virtual_screen_setup): Use clear_char.
36707 (scroll_up): Likewise.
36708 (grub_virtual_screen_cls): Likewise.
36709
67bb323a 367102009-07-29 Felix Zielcke <fzielcke@z-51.de>
36711
36712 * util/deviceiter.c (get_acceleraid_disk_name): New static
36713 function.
36714 (grub_util_iterate_devices): Handle Accelraid devices.
36715 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
36716
388a7c75 367172009-07-28 Robert Millan <rmh.grub@aybabtu.com>
36718
36719 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
36720 separator for the suggested gfxpayload string (';' collides with the
36721 parser and needs escaping).
36722
3bb7abcf 367232009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
36724
36725 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
36726 Clear direction flag before jumping to OS.
36727 (grub_multiboot2_real_boot): Likewise.
36728
2ddd36d7 367292009-07-28 Felix Zielcke <fzielcke@z-51.de>
36730
36731 * util/i386/pc/grub-install: Fix parsing of --disk-module
36732 option.
36733
c521b62b 367342009-07-28 Felix Zielcke <fzielcke@z-51.de>
36735
36736 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
36737 when embedding.
36738
880e0a0c 367392009-07-26 Felix Zielcke <fzielcke@z-51.de>
36740
36741 * util/grub-mkconfig.in (package_version): New variable.
36742 Use it do display the version.
36743
2366e356 367442009-07-25 Felix Zielcke <fzielcke@z-51.de>
36745
36746 * kern/file.c (grub_file_open): Revert to previous check with
36747 grub_errno.
36748
7ad8c80e 367492009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36750
36751 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
36752 from help line. It's out of sync with code.
36753
72b9658b 367542009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36755
36756 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
36757 entries on failed boot.
36758
77435277 367592009-07-25 Felix Zielcke <fzielcke@z-51.de>
36760
36761 * kern/file.c (grub_file_open): Fix an error check.
36762
fcaa8b21 367632009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
36764
35d16c74 36765 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
36766 partition map couldn't be identified.
fcaa8b21 36767
48904cd1 367682009-07-23 Pavel Roskin <proski@gnu.org>
36769
ef3c317f 36770 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
36771 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
36772 case of little endian words becomes just an optimization.
36773 Respect const modifier.
ad8ea1f4 36774 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 36775
48904cd1 36776 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
36777 to avoid loss of upper bits if align is unsigned and shorter
36778 than addr.
36779
260c9a89 367802009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36781
36782 UUID support for UFS
36783
36784 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
36785 (grub_ufs_uuid): New function.
36786 (grub_ufs_fs): add .uuid
36787
f76ce889 367882009-07-21 Pavel Roskin <proski@gnu.org>
36789
36790 * kern/dl.c (grub_dl_check_header): Make static.
36791
6a6cbcaf 367922009-07-21 Felix Zielcke <fzielcke@z-51.de>
36793
36794 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
36795 add drivemap for Vista. It breaks Windows 7.
36796
cffcddb2 367972009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36798
36799 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
36800 128 bytes
36801
1ef44b80 368022009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36803
36804 Add BFS support
36805
36806 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
36807 (grub_fstest_SOURCES): Likewise.
36808 (pkglib_MODULES): Add befs.mod.
36809 (befs_mod_SOURCES): New variable.
36810 (befs_mod_CFLAGS): Likewise.
36811 (befs_mod_LDFLAGS): Likewise.
36812 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36813 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36814 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36815 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36816 (grub_setup_SOURCES): Likewise.
36817 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36818 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36819 (grub_setup_SOURCES): Likewise.
36820 * fs/befs.c: New file.
36821 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
36822 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
36823 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
36824 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
36825 (B_KEY_INDEX_ALIGN): New declaration.
36826 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
36827 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
36828 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
36829 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
36830 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
36831 (grub_afs_mount) [MODE_BFS]: Likewise.
36832 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
36833 (grub_afs_fs): Use GRUB_AFS_FSNAME
36834 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
36835 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
36836 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
36837 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
36838
4f253044 368392009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
36840
36841 * util/getroot.c (find_root_device): Add support for MacOSX.
36842 * util/hostdisk.c: Likewise.
36843
57a55913 368442009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36845
36846 * font/font.c (find_glyph): Check whether a font is present to avoid
36847 segmentation fault.
75421ca9 36848
368492009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 36850
36851 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
36852
e98cd0c2 368532009-07-20 Pavel Roskin <proski@gnu.org>
36854
36855 * configure.ac: Trim excessively wordy excuses.
36856
1d2d169a 368572009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36858
36859 Add symlink, mtime and label support to AtheFS.
36860
36861 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
36862 (grub_afs_iterate_dir): Handle symlinks.
36863 (grub_afs_open): Use grub_afs_read_symlink.
36864 (grub_afs_dir): Likewise.
36865 Pass mtime.
36866 (grub_afs_label): New function.
36867 (grub_afs_fs): Add grub_afs_label.
36868 (grub_afs_read_symlink): New function.
36869
186f3189 368702009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36871
36872 Fix AtheFS support.
36873
36874 * fs/afs.c: Fix comments style.
36875 (grub_afs_blockrun): Declare as packed.
36876 (grub_afs_datastream): Likewise.
36877 (grub_afs_bnode): Likewise.
36878 (grub_afs_btree): Likewise.
36879 (grub_afs_sblock): Likewise.
36880 Declare `name' as char.
36881 (grub_afs_inode): Declare as packed.
36882 Change void *vnode to grub_uint32_t unused.
36883 (grub_afs_iterate_dir): Check that key_size is positive.
36884 (grub_afs_mount): Don't read superblock twice.
75421ca9 36885 (grub_afs_dir): Don't free node in case of error,
186f3189 36886 grub_fshelp_find_file already handles this.
36887 (grub_afs_open): Likewise.
36888
5680109e 368892009-07-19 Pavel Roskin <proski@gnu.org>
36890
36891 * Makefile.in: Remove LIBLZO and enable_lzo.
36892 * conf/i386-pc.rmk: Remove lzo support.
36893 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
36894 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
36895 support.
36896 * kern/i386/pc/lzo1x.S: Remove.
36897 * kern/i386/pc/startup.S: Remove lzo support.
36898 * util/i386/pc/grub-mkimage.c: Likewise.
36899
ac70fa32 369002009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
36901
36902 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
36903 * fs/xfs.c (grub_xfs_dir): Likewise.
36904 * fs/afs.c (grub_afs_dir): Likewise.
36905 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
36906 (grub_iso9660_open): Likewise.
36907 * fs/jfs.c (grub_jfs_open): Likewise.
36908 * fs/ext2.c (grub_ext2_dir): Likewise.
36909 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
36910 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 36911
eab58da2 369122009-07-16 Pavel Roskin <proski@gnu.org>
36913
d2838156 36914 * configure.ac: Never add "-c" to CFLAGS.
36915
55c70904 36916 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
36917
43e6200c 36918 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
36919 grub_cv_cc_efiemu should be used.
36920
ce7a733d 36921 * configure.ac: Typo fixes.
36922
eab58da2 36923 * kern/mm.c (grub_zalloc): New function.
36924 (grub_debug_zalloc): Likewise.
36925 * include/grub/mm.h: Declare grub_zalloc() and
36926 grub_debug_zalloc().
36927 * util/misc.c (grub_zalloc): New function.
36928 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
36929 instead of grub_malloc(), remove unneeded initializations.
36930 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
36931 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
36932 * commands/parttool.c (grub_cmd_parttool): Likewise.
36933 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
36934 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
36935 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
36936 * disk/usbms.c (grub_usbms_finddevs): Likewise.
36937 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
36938 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
36939 (grub_cmd_efiemu_pnvram): Likewise.
36940 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
36941 * fs/iso9660.c (grub_iso9660_mount): Likewise.
36942 (grub_iso9660_iterate_dir): Likewise.
36943 * fs/jfs.c (grub_jfs_opendir): Likewise.
36944 * fs/ntfs.c (list_file): Likewise.
36945 (grub_ntfs_mount): Likewise.
36946 * kern/disk.c (grub_disk_open): Likewise.
36947 * kern/dl.c (grub_dl_load_core): Likewise.
36948 * kern/elf.c (grub_elf_file): Likewise.
36949 * kern/env.c (grub_env_context_open): Likewise.
36950 (grub_env_set): Likewise.
36951 (grub_env_set_data_slot): Likewise.
36952 * kern/file.c (grub_file_open): Likewise.
36953 * kern/fs.c (grub_fs_blocklist_open): Likewise.
36954 * loader/i386/multiboot.c (grub_module): Likewise.
36955 * loader/xnu.c (grub_xnu_create_key): Likewise.
36956 (grub_xnu_create_value): Likewise.
36957 * normal/main.c (grub_normal_add_menu_entry): Likewise.
36958 (read_config_file): Likewise.
36959 * normal/menu_entry.c (make_screen): Likewise.
36960 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36961 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
36962 * script/sh/script.c (grub_script_parse): Likewise.
36963 * video/bitmap.c (grub_video_bitmap_create): Likewise.
36964 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
36965 * video/readers/png.c (grub_png_output_byte): Likewise.
36966 (grub_video_reader_png): Likewise.
36967
830afef7 369682009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 36969
36970 Enable all targets that can be built by default
36971
830afef7 36972 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 36973 grub-mkfont and grub-fstest if they can be built
36974
ee293aee 369752009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36976
36977 Fix hang and segmentation fault in grub-emu-usb
36978
36979 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
36980 * util/usb.c (grub_libusb_devices): likewise
36981 (grub_libusb_init): rename to ...
36982 (GRUB_MOD_INIT (libusb)):...this
36983 (grub_libusb_fini): rename to ..
36984 (GRUB_MOD_FINI (libusb)):...this
36985 * disk/usbms.c (grub_usbms_transfer): fix retry logic
36986 * include/grub/disk.h (grub_raid_init): removed, it's useless
36987 (grub_raid_fini): likewise
36988 (grub_lvm_init): likewise
36989 (grub_lvm_fini): likewise
36990 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
36991 by grub_init_all
36992
94414221 369932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36994
36995 Fix libusb
36996
36997 * Makefile.in (LIBUSB): new macro
36998 * genmk.rb (Utility/print_tail): new method
36999 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
37000 (top level): call util.print_tail at the end.
37001
59ade63d 370022009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
37003
37004 Make FreeBSD accept zpool.cache
37005
37006 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
37007 type is /boot/zfs/zpool.cache
37008
a58da8c7 370092009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
37010
37011 Fix 64-bit efiemu
37012
37013 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
37014 correct wrong typedef
37015 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
37016
20591577 370172009-07-15 Pavel Roskin <proski@gnu.org>
37018
560ca572 37019 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
37020 * kern/disk.c (struct grub_disk_cache): Likewise.
37021
e8e8e4fd 37022 * commands/probe.c (options): Typo fix.
37023
fde24e10 37024 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
37025 Increase to 0x5a to accommodate FAT32. Adjust other offsets
37026 accordingly.
37027 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
37028
379c54c1 37029 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
37030 the end of "Error" to make the message more readable.
37031
7bd8f5bf 37032 * boot/i386/pc/boot.S (kernel_segment): Remove.
37033 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
37034 for destination.
37035
40b132c5 37036 * boot/i386/pc/boot.S (boot_version): Remove.
37037 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
37038 Remove.
37039
20591577 37040 * include/grub/i386/pc/boot.h: Sort all offsets.
37041 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
37042 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
37043 * boot/i386/pc/boot.S: Assert location of every offset listed in
37044 include/grub/i386/pc/boot.h.
37045
2df32b2c 370462009-07-13 Pavel Roskin <proski@gnu.org>
37047
44b5d879 37048 * include/grub/i386/coreboot/machine.h: Rename
37049 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
37050 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
37051 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
37052
17dc3751 37053 * kern/dl.c: Force native word size to suppress warnings when
37054 compiling grub-emu.
37055
2df32b2c 37056 * kern/device.c (grub_device_iterate): Change struct part_ent to
37057 hold the name, not a pointer to it. Use one grub_malloc() per
37058 partition, not two. Free partition_name if grub_malloc() fails.
37059 Set ents to NULL only before grub_partition_iterate() is called.
37060
75c59f59 370612009-07-11 Bean <bean123ch@gmail.com>
37062
37063 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
37064 childname.
37065
0ae1bf88 370662009-07-10 Bean <bean123ch@gmail.com>
370672009-07-10 Robert Millan <rmh.grub@aybabtu.com>
37068
37069 * kern/ieee1275/openfw.c (grub_children_iterate)
37070 (grub_devalias_iterate): Fix size evaluation for property or path
37071 strings, which was broken since r2132.
37072
8279cade 370732009-07-07 Pavel Roskin <proski@gnu.org>
37074
7d8a52d3 37075 * commands/search.c (search_file): Merge into ...
37076 (search_fs): ... this. Accept search type as argument.
37077 (grub_cmd_search): Pass search type to search_fs().
37078
25f9a05a 37079 * include/grub/util/console.h: New file.
37080 * util/console.c: Use it instead of grub/machine/console.h.
37081 * util/grub-emu.c: Likewise.
37082
8279cade 37083 * lib/arg.c (find_long_option): Remove.
37084 (find_long): Add `len' argument, make `s' const char *.
37085 (grub_arg_parse): Parse long options in place, not in a
37086 temporary buffer.
37087
4a11b60f 370882009-07-06 Pavel Roskin <proski@gnu.org>
37089
99f68041 37090 * commands/search.c (search_fs): Fix potential NULL pointer
37091 dereference.
37092
4a11b60f 37093 * commands/search.c (search_fs): Replace QUID macro with quid_fn
37094 function pointer.
37095
e110f4de 370962009-07-06 Daniel Mierswa <impulze@impulze.org>
37097
37098 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
37099 comparison.
37100
46eeb6a2 371012009-07-05 Pavel Roskin <proski@gnu.org>
37102
bab74958 37103 * include/grub/i386/linux.h (struct linux_kernel_params):
37104 Restore padding3, it's still needed.
37105
46eeb6a2 37106 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
37107 FreeBSD.
37108 * util/osdetect.lua: Likewise.
37109
b4a1dc79 371102009-07-05 Bean <bean123ch@gmail.com>
37111
37112 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
37113
37114 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
37115 (grub_lua_getenv): Likewise.
37116 (grub_lua_setenv): Likewise.
37117 (save_errno): New function.
37118 (push_result): Likewise.
37119 (grub_lua_enum_device): Likewise.
37120 (grub_lua_enum_file): Likewise.
37121 (grub_lua_file_open): Likewise.
37122 (grub_lua_file_close): Likewise.
37123 (grub_lua_file_seek): Likewise.
37124 (grub_lua_file_read): Likewise.
37125 (grub_lua_file_getline): Likewise.
37126 (grub_lua_file_getsize): Likewise.
37127 (grub_lua_file_getpos): Likewise.
37128 (grub_lua_file_eof): Likewise.
37129 (grub_lua_file_exist): Likewise.
37130 (grub_lua_add_menu): Likewise.
37131
37132 * script/lua/grub_lua.h (isupper): New inline function.
37133 (islower): Likewise.
37134 (ispunct): Likewise.
37135 (isxdigit): Likewise.
37136 (strcspn): Change to normal function.
37137 (strpbkr): New function declaration.
37138 (memchr): Likewise.
37139
37140 * script/lua/grub_main.c (scan_str): New function.
37141 (strcspn): Likewise.
37142 (strpbrk): Likewise.
37143 (memchr): Likewise.
37144
37145 * script/lua/linit.c (lualibs): Enable the string library.
37146
37147 * util/osdetect.lua: New file.
37148
2da92295 371492009-07-04 Robert Millan <rmh.grub@aybabtu.com>
37150
37151 * include/grub/i386/linux.h (struct linux_kernel_params): Add
37152 `capabilities' member.
37153
b2582ec9 371542009-07-02 Pavel Roskin <proski@gnu.org>
37155
37156 * genparttoollist.sh: Add missing newline at the end.
37157
32622956 371582009-07-01 Pavel Roskin <proski@gnu.org>
37159
87a7339e 37160 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
37161
d23af54e 37162 * util/hostdisk.c (open_device): Remove `const' from
37163 `sysctl_size', as sysctlbyname() can change it (in this case it
37164 doesn't actually happen).
37165
c94b18a9 37166 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
37167 using signed long int constants.
37168
c6cd3ef0 37169 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
37170 constant to avoid a warning on FreeBSD.
37171
0df63420 37172 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
37173 where it's needed.
37174
999577f1 37175 * Makefile.in: Install include/grub/machine symlink.
37176
6f41557f 37177 * Makefile.in: When installing symlinks, use "cp -fR", which
37178 works on FreeBSD and MacOSX.
37179 From Yves Blusseau <cl7m42e02@sneakemail.com>
37180
c8d22988 37181 * kern/dl.c (grub_dl_resolve_symbol): Make static.
37182 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
37183
1b96e952 37184 * util/misc.c: Move grub_reboot() and grub_halt() ...
37185 * util/grub-emu.c: ... here. Make main_env static.
37186 * include/grub/util/misc.h: Remove main_env.
37187
2ef0084d 37188 * kern/mm.c: Use correct format to print size_t.
37189
32622956 37190 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
37191 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
37192 * kern/powerpc/dl.c: Likewise.
37193 * kern/sparc64/dl.c: Likewise.
37194 * kern/x86_64/dl.c: Likewise.
37195
3f7f0cd0 371962009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37197
37198 Fix grub-emu build on sparc64-ieee1275.
37199
75421ca9 37200 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 37201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
37202
211d06b5 372032009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37204
37205 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
37206 (grub_reboot, grub_halt): New functions.
37207
37208 * util/i386/pc/misc.c: Delete. Update all users.
37209 * util/sparc64/ieee1275/misc.c: Likewise.
37210 * util/powerpc/ieee1275/misc.c: Likewise.
37211
aaf53e3c 372122009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37213
37214 * conf/i386.rmk (setjmp_mod_SOURCES)
37215 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
37216 * conf/common.rmk (setjmp_mod_SOURCES)
37217 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
37218 to use $(target_cpu).
37219 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
37220 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
37221 * conf/powerpc-ieee1275.rmk: Likewise.
37222 * conf/sparc64-ieee1275.rmk: Likewise.
37223
37224 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
37225 $(target_cpu) for kern/$(target_cpu)/dl.c.
37226 * conf/i386-efi.rmk: Likewise.
37227 * conf/i386-ieee1275.rmk: Likewise.
37228 * conf/x86_64-efi.rmk: Likewise.
37229 * conf/i386-coreboot.rmk: Likewise.
37230 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
37231 $(target_cpu) for kern/$(target_cpu)/dl.c and for
37232 kern/$(target_cpu)/cache.S.
37233 * conf/sparc64-ieee1275.rmk: Likewise.
37234
a337130b 372352009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37236
37237 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
37238 type to `grub_uint8_t', and adjust `padding9' accordingly.
37239
c6fe4d53 372402009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37241
b09db61d 37242 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
37243
c6fe4d53 37244 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
37245 assembly in final jump, using register constraints.
37246
b09db61d 37247 (grub_linux_boot): For text mode, initialize `have_vga' using
37248 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
37249
37250 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
37251 right before the final jump.
37252
37253 Set `video_mode' to 0x3.
37254
37255 Document initialization of `video_page', `video_mode' and
37256 `video_ega_bx'.
37257
28333ad0 372582009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37259
37260 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
37261 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 37262 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 37263
02164e1b 372642009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37265
37266 Fix build on Debian / sparc.
37267
37268 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
37269
18b6c557 372702009-06-28 Pavel Roskin <proski@gnu.org>
37271
85f2aab6 37272 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
37273 fix a warning.
37274
18b6c557 37275 * util/grub.d/10_linux.in: Match SUSE style initrd names.
37276
ad760f81 372772009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37278
37279 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
37280 `err'.
37281
87a4623b 372822009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37283
37284 Revert r2338.
37285
37286 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
37287 file can't be opened. grub_file_open() is already supposed to set
75421ca9 37288 grub_errno / grub_errmsg appropriately.
87a4623b 37289 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37290
8231fb77 372912009-06-27 Pavel Roskin <proski@gnu.org>
372922009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37293
37294 * include/grub/dl.h: Include grub/elf.h.
37295 (struct grub_dl): Add symtab field.
37296 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
37297 GRUB_MODULES_MACHINE_READONLY.
37298 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
37299 of the header for read-only modules.
37300 (grub_dl_unload): Free mod->symtab for read-only modules.
37301 * kern/i386/dl.c: Use mod->symtab.
37302 * kern/powerpc/dl.c: Likewise.
37303 * kern/sparc64/dl.c: Likewise.
37304 * kern/x86_64/dl.c: Likewise.
37305
37306 * conf/i386-qemu.rmk: New file.
37307 * kern/i386/qemu/startup.S: Likewise.
37308 * kern/i386/qemu/mmap.c: Likewise.
37309 * boot/i386/qemu/boot.S: Likewise.
37310 * include/grub/i386/qemu/time.h: Likewise.
37311 * include/grub/i386/qemu/serial.h: Likewise.
37312 * include/grub/i386/qemu/kernel.h: Likewise.
37313 * include/grub/i386/qemu/console.h: Likewise.
37314 * include/grub/i386/qemu/boot.h: Likewise.
37315 * include/grub/i386/qemu/init.h: Likewise.
37316 * include/grub/i386/qemu/machine.h: Likewise.
37317 * include/grub/i386/qemu/loader.h: Likewise.
37318 * include/grub/i386/qemu/memory.h: Likewise.
37319
37320 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
37321 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
37322 [qemu] (pkglib_IMAGES): Add `boot.img'.
37323 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
37324 [qemu] (boot_img_FORMAT): New variables.
37325 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
37326 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
37327 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
37328 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
37329 [qemu] (kernel_img_FORMAT): New variables.
37330
37331 * configure.ac: Recognise `i386-qemu'.
37332
37333 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
37334 (for no compression).
37335 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
37336 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
37337 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
37338 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
37339 ifdefs).
37340
97fe384e 373412009-06-27 Pavel Roskin <proski@gnu.org>
37342
37343 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
37344 read.
37345 * efiemu/prepare32.c: Likewise.
37346 * efiemu/prepare64.c: Likewise.
37347
c402ab17 373482009-06-26 Pavel Roskin <proski@gnu.org>
37349
37350 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
37351 * include/grub/elf.h: Define symbols without "32" or "64" based
37352 on GRUB_TARGET_WORDSIZE.
37353 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
37354 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
37355 ELF definitions.
37356 * efiemu/loadcore64.c: Likewise.
37357 * loader/i386/bsd32.c: Likewise.
37358 * loader/i386/bsd64.c: Likewise.
37359 * kern/dl.c: Remove own ELF definitions.
37360 * util/i386/efi/grub-mkimage.c: Likewise.
37361
9bbdfd4d 373622009-06-23 Robert Millan <rmh.grub@aybabtu.com>
37363
37364 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
37365 segment 0x0 unconditionally, because the reference generated by
37366 GAS is an absolute address.
37367
a42ce6e9 373682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37369
37370 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
37371 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
37372
c952cf92 373732009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37374
37375 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
37376 indexes. Check for -f explicitly.
cc3752ad 37377 (search_file): Improve error message.
37378 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 37379
132a0a59 373802009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37381
37382 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
37383 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
37384
387a140c 373852009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37386
37387 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
37388 * conf/i386-ieee1275.rmk: Likewise.
37389 * conf/i386-coreboot.rmk: Likewise.
37390
37391 * kern/i386/pc/startup.S (grub_stop): Remove function.
37392 * kern/i386/ieee1275/startup.S: Likewise.
37393 * kern/i386/coreboot/startup.S: Likewise.
37394 * kern/i386/misc.S (grub_stop): New function.
37395
41da9665 373962009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37397
37398 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
37399 * kern/i386/realmode.S (real_to_prot): ... to here.
37400
bf337234 374012009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37402
37403 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
37404 with `kernel.img'.
37405 (kernel_elf_SOURCES): Rename to ...
37406 (kernel_img_SOURCES): ... this.
37407 (kernel_elf_HEADERS): Rename to ...
37408 (kernel_img_HEADERS): ... this. Update all users.
37409 (kernel_elf_ASFLAGS): Rename to ...
37410 (kernel_img_ASFLAGS): ... this.
37411 (kernel_elf_CFLAGS): Rename to ...
37412 (kernel_img_CFLAGS): ... this.
37413 (kernel_elf_LDFLAGS): Rename to ...
37414 (kernel_img_LDFLAGS): ... this.
37415 * conf/i386-coreboot.rmk: Likewise.
37416 * conf/powerpc-ieee1275.rmk: Likewise.
37417
37418 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
37419 with "kernel.img".
37420
f52196ff 374212009-06-21 Pavel Roskin <proski@gnu.org>
37422
c3cee413 37423 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
37424 to match nested functions.
37425 * loader/sparc64/ieee1275/linux.c: Likewise.
37426
f52196ff 37427 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
37428
58750afc 374292009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37430
37431 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
37432 all i386 platforms.
37433
15355c7d 374342009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37435
37436 Fix asm file handling on ELF, and remove workarounds.
37437
37438 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 37439 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 37440 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
37441 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
37442
3f3ec72b 374432009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
37444
37445 Load BSD ELF modules
37446
37447 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
37448 and loader/i386/bsd64.c
37449 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
37450 (FREEBSD_MODTYPE_ELF_MODULE): New definition
37451 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
37452 (grub_freebsd_load_elfmodule32): New declaration
37453 (grub_freebsd_load_elfmoduleobj64): Likewise
37454 (grub_freebsd_load_elf_meta32): Likewise
37455 (grub_freebsd_load_elf_meta64): Likewise
37456 (grub_freebsd_add_meta): Likewise
37457 (grub_freebsd_add_meta_module): Likewise
37458 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
37459 (grub_freebsd_add_meta_module): Likewise and move module-specific
37460 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
37461 (grub_cmd_freebsd): Add elf-kernel specific parts
37462 based on grub_freebsd_add_meta_module
37463 (grub_cmd_freebsd_module): Add type parsing moved from
37464 grub_freebsd_add_meta_module
37465 (grub_cmd_freebsd_module_elf): New function
37466 (cmd_freebsd_module_elf): New variable
37467 (GRUB_MOD_INIT): Register freebsd_module_elf
37468 * loader/i386/bsd32.c: New file
37469 * loader/i386/bsd64.c: Likewise
37470 * loader/i386/bsdXX.c: Likewise
37471 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
37472 (grub_elf64_load): Likewise
37473 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
37474 All users updated
37475 (grub_elf64_load_hook_t): Likewise
37476
0db15301 374772009-06-21 Colin Watson <cjwatson@ubuntu.com>
37478
37479 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
37480 variable.
37481 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
37482 don't write a menu entry for recovery mode.
37483
546796c1 374842009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37485
37486 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
37487 after it's no longer needed.
37488
cd7310d5 374892009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37490
37491 * include/grub/i386/loader.h (grub_linux_prot_size)
37492 (grub_linux_tmp_addr, grub_linux_real_addr)
37493 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
37494 GRUB_MACHINE_PCBIOS.
37495 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
37496 common grub_util_info() call to ...
37497 (generate_image): ... here.
37498 Fix use of uninitialized memory, comparison of signed with
37499 unsigned integers and memory leak.
37500 Remove bogus module address message.
37501
ab32d3b5 375022009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
37503
37504 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
37505 grub_raid_register
37506 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
37507
024ef597 375082009-06-19 Pavel Roskin <proski@gnu.org>
37509
37510 * configure.ac: Remove stray AC_MSG_CHECKING.
37511
3ac72b51 375122009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
37513
37514 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 37515
e14cd814 375162009-06-18 Pavel Roskin <proski@gnu.org>
37517
37518 * conf/common.rmk: Add fs_file.mod.
37519 * disk/fs_file.c: New file.
37520 * include/grub/disk.h (enum grub_disk_dev_id): Add
37521 GRUB_DISK_DEVICE_FILE_ID.
37522
26586d98 375232009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37524
37525 Fix build with Apple's toolchain. Part 2
37526
37527 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
37528 a fake start
37529
26de2bcd 375302009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37531
37532 Fix build with Apple's toolchain. Part 1
37533
37534 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
37535 for long calls
37536 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 37537 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 37538 Apple's toolchain
37539
09b3490b 375402009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37541
37542 Fix warnings
37543
37544 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
37545 (decomp_block): initialize ch
37546 use grub_memcpy instead of memcpy
37547
c22a006a 375482009-06-17 Pavel Roskin <proski@gnu.org>
37549
d3638678 37550 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
37551 version, use declarations needed to use vga_text as the startup
37552 console.
37553
c22a006a 37554 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
37555 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
37556 the kernel.
37557 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
37558 and grub_at_keyboard_fini(), it's done on module load and
37559 unload.
37560
05b129e0 375612009-06-17 Felix Zielcke <fzielcke@z-51.de>
37562
37563 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
37564 file can't be found.
37565 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37566
cf24ed9e 375672009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37568
37569 Fix newline handling
37570
37571 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 37572 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 37573 (grub_script_yylex): don't segfault on unterminated script
37574 newline terminates command and variable
37575
74aa8e4b 375762009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37577
37578 avoid double grub_adjust_range call. Bug reported by David Simner
37579
37580 * kern/disk.c (grub_disk_write): change to raw disk access before
37581 calling disk_read
37582
1bd265f3 375832009-06-17 Colin Watson <cjwatson@ubuntu.com>
37584
37585 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
37586 spaces, for the benefit of help2man.
37587 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37588
a2d08c06 375892009-06-16 Pavel Roskin <proski@gnu.org>
37590
37591 * kern/i386/halt.c: Include grub/machine/init.h.
37592 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
37593
b97bcb19 375942009-06-16 Felix Zielcke <fzielcke@z-51.de>
37595
37596 * util/grub.d/30_os-prober.in: Use ${root} in the generated
37597 drivemap menuentry.
37598
0644f96c 375992009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
37600
37601 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
37602 `echo' command.
37603
3ef17a2e 376042009-06-16 Pavel Roskin <proski@gnu.org>
37605
37606 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
37607 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
37608 save %dx, we only need %dl and we never change it.
37609 * boot/i386/pc/cdboot.S: Don't set the root drive.
37610 * boot/i386/pc/pxeboot.S: Likewise.
37611 * include/grub/i386/pc/boot.h: Remove
37612 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
37613 GRUB_BOOT_MACHINE_DRIVE_CHECK.
37614 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
37615 * kern/i386/pc/init.c (make_install_device): Remove references
37616 to grub_root_drive.
37617 * kern/i386/pc/startup.S: Likewise.
37618 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
37619
693fe637 376202009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37621
37622 xnu_uuid command
37623
37624 * commands/xnu_uuid.c: new file
37625 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
37626 (xnu_uuid_mod_SOURCES): new variable
37627 (xnu_uuid_mod_CFLAGS): likewise
37628 (xnu_uuid_mod_LDFLAGS): likewise
37629 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37630 * conf/i386-ieee1275.rmk: likewise
37631 * conf/i386-pc.rmk: likewise
37632 * conf/powerpc-ieee1275.rmk: likewise
37633 * conf/sparc64-ieee1275.rmk: likewise
37634 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
37635
c9da87d0 376362009-06-16 Pavel Roskin <proski@gnu.org>
37637
37638 * configure.ac: Avoid '==' in test command, it's not portable.
37639
9c6f4596 376402009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37641
37642 Probe command
37643
37644 * commands/probe.c: new file
37645 * conf/common.rmk (pkglib_MODULES): add probe.mod
37646 (probe_mod_SOURCES): new variable
37647 (probe_mod_CFLAGS): likewise
37648 (probe_mod_LDFLAGS): likewise
37649 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37650 * conf/i386-ieee1275.rmk: likewise
37651 * conf/i386-pc.rmk: likewise
37652 * conf/powerpc-ieee1275.rmk: likewise
37653 * conf/sparc64-ieee1275.rmk: likewise
37654
70b7f9fd 376552009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
37656
37657 Fix handling of string like \"hello\" and "a
37658 b"
37659
37660 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
37661 (grub_script_yylex): fix parsing of quoting, escaping and newline
37662
71c79a6b 376632009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
37664
dd74360c 37665 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 37666 handling
dd74360c 37667
0644f96c 376682009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 37669
37670 * util/grub-mkconfig.in: Fix parsing of --output option.
37671
e40893c3 376722009-06-12 Pavel Roskin <proski@gnu.org>
37673
37674 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
37675 genmk.rb don't need to be generated or installed.
37676
3a1acfe2 376772009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
37678
37679 * commands/i386/pc/drivemap_int13h.S: add more comments
37680
3a4575d4 376812009-06-11 Pavel Roskin <proski@gnu.org>
37682
0658e928 37683 * Makefile.in (uninstall): Uninstall manuals.
37684
ca0388f0 37685 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
37686 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
37687 and update-grub_lib in two places.
37688 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
37689
e3b27c39 37690 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
37691 a compiler warning.
37692
3a4575d4 37693 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
37694 `entry_lo' to fix variable shadowing.
37695
af1f4f55 376962009-06-11 Christian Franke <franke@computer.org>
37697
37698 * kern/misc.c (__enable_execute_stack): Add missing return type
37699 to prevent gcc warning.
37700
5225e649 377012009-06-11 Felix Zielcke <fzielcke@z-51.de>
37702
37703 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
37704
7d83bd47 377052009-06-11 Pavel Roskin <proski@gnu.org>
37706
c1cb63ba 37707 * Makefile.in: Don't rely on any scripts being executable.
37708 Always use $(SHELL) to run shell scripts.
37709
7d83bd47 37710 * configure.ac: Always define ___main if using -nostdlib. This
37711 fixes tests on Cygwin.
37712
948f48e7 377132009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
37714
37715 UDF fix
37716
7d83bd47 37717 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 37718 is in bytes and not in blocks
7d83bd47 37719
8ada9bc1 377202009-06-11 Pavel Roskin <proski@gnu.org>
37721
37722 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
37723 warning.
37724
25ad2323 377252009-06-11 Felix Zielcke <fzielcke@z-51.de>
37726
37727 * util/grub.d/30_os-prober.in: Fix a comment. Source
37728 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
37729 to set the root device. Place drivemap command in the generated
37730 chain entry.
37731
e65acb0c 377322009-06-11 Pavel Roskin <proski@gnu.org>
37733
37734 * configure.ac: Remove host_m32. Issues with 64-bit utilities
37735 have long been resolved.
37736
f285fe2d 377372009-06-11 Colin Watson <cjwatson@ubuntu.com>
37738
bd47b0b5 37739 * util/grub.d/10_linux.in: Capitalise "Linux".
37740
f285fe2d 37741 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
37742
a0c62e4e 377432009-06-11 Pavel Roskin <proski@gnu.org>
37744
b6783cb2 37745 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
37746 fix a gcc warning and ensure that the function won't ever exit.
37747
dde032e8 37748 * kern/i386/ieee1275/init.c: Add missing prototype for
37749 grub_stop_floppy().
37750
22cd079d 37751 * loader/ieee1275/multiboot2.c [__i386__]: Include
37752 grub/cpu/multiboot.h.
37753
a0c62e4e 37754 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
37755 casts to short - they are not portable and cause warnings. Fix
37756 use of uninitialized values in input_buf. Use ARRAY_SIZE.
37757
63963d17 377582009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
37759
37760 Drivemap fixes
37761
37762 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
37763 new function
37764 (grub_get_root_biosnumber_saved): new variable
37765 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
37766 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 37767 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 37768 %dx after the call if necessary
37769 * conf/common.rmk (pkglib_MODULES): remove boot.mod
37770 (boot_mod_SOURCES): remove
37771 (boot_mod_CFLAGS): remove
37772 (boot_mod_LDFLAGS): remove
37773 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
37774 (boot_mod_SOURCES): new variable
37775 (boot_mod_CFLAGS): likewise
37776 (boot_mod_LDFLAGS): likewise
37777 * conf/i386-efi.rmk: likewise
37778 * conf/i386-ieee1275.rmk: likewise
37779 * conf/i386-pc.rmk: likewise
37780 * conf/powerpc-ieee1275.rmk: likewise
37781 * conf/sparc64-ieee1275.rmk: likewise
37782 * conf/x86_64-efi.rmk: likewise
37783 * include/grub/i386/pc/biosnum.h: new file
37784 * lib/i386/pc/biosnum.c: likewise
37785 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
37786 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
37787 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 37788
33abf7ae 377892009-06-10 Pavel Roskin <proski@gnu.org>
37790
5ac35b35 37791 * io/gzio.c (test_header): Don't reuse one buffer for all data.
37792 Use separate variables. Read only the file size at the end, but
37793 not the checksum that we don't use.
37794
5c5215d5 37795 * kern/file.c (grub_file_read): Use void pointer for the buffer.
37796 Adjust all callers.
37797
27d5fef7 37798 * kern/ieee1275/openfw.c: Remove libc includes.
37799 * kern/ieee1275/cmain.c: Likewise.
37800 * include/grub/ieee1275/ieee1275.h: Likewise.
37801
33abf7ae 37802 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
37803 compiler warnings.
37804
19d50c2b 378052009-06-10 Felix Zielcke <fzielcke@z-51.de>
37806
37807 * Makefile.in: Remove all trailing whitespace.
37808 * conf/i386-pc.rmk: Likewise.
37809 * conf/powerpc-ieee1275.rmk: Likewise.
37810 * conf/sparc64-ieee1275.rmk: Likewise.
37811 * docs/grub.texi: Likewise.
37812 * docs/texinfo.tex: Likewise.
37813 * disk/fs_uuid.c: Likewise.
37814 * disk/lvm.c: Likewise.
37815 * disk/scsi.c: Likewise.
37816 * disk/ata.c: Likewise.
37817 * disk/ieee1275/ofdisk.c: Likewise.
37818 * disk/i386/pc/biosdisk.c: Likewise.
37819 * disk/host.c: Likewise.
37820 * disk/raid.c: Likewise.
37821 * disk/efi/efidisk.c: Likewise.
37822 * disk/usbms.c: Likewise.
37823 * disk/memdisk.c: Likewise.
37824 * disk/loopback.c: Likewise.
37825 * kern/powerpc/dl.c: Likewise.
37826 * kern/device.c: Likewise.
37827 * kern/dl.c: Likewise.
37828 * kern/sparc64/dl.c: Likewise.
37829 * kern/ieee1275/ieee1275.c: Likewise.
37830 * kern/term.c: Likewise.
37831 * kern/fs.c: Likewise.
37832 * kern/i386/dl.c: Likewise.
37833 * kern/i386/pc/startup.S: Likewise.
37834 * kern/i386/pc/init.c: Likewise.
37835 * kern/i386/pc/mmap.c: Likewise.
37836 * kern/i386/pc/lzo1x.S: Likewise.
37837 * kern/i386/ieee1275/init.c: Likewise.
37838 * kern/i386/realmode.S: Likewise.
37839 * kern/i386/tsc.c: Likewise.
37840 * kern/partition.c: Likewise.
37841 * kern/corecmd.c: Likewise.
37842 * kern/file.c: Likewise.
37843 * kern/efi/efi.c: Likewise.
37844 * kern/efi/init.c: Likewise.
37845 * kern/efi/mm.c: Likewise.
37846 * kern/main.c: Likewise.
37847 * kern/err.c: Likewise.
37848 * kern/env.c: Likewise.
37849 * kern/disk.c: Likewise.
37850 * kern/generic/millisleep.c: Likewise.
37851 * kern/generic/rtc_get_time_ms.c: Likewise.
37852 * kern/misc.c: Likewise.
37853 * kern/parser.c: Likewise.
37854 * genmk.rb: Likewise.
37855 * configure.ac: Likewise.
37856 * boot/i386/pc/diskboot.S: Likewise.
37857 * boot/i386/pc/pxeboot.S: Likewise.
37858 * boot/i386/pc/boot.S: Likewise.
37859 * boot/i386/pc/lnxboot.S: Likewise.
37860 * boot/i386/pc/cdboot.S: Likewise.
37861 * parttool/pcpart.c: Likewise.
37862 * video/readers/tga.c: Likewise.
37863 * video/video.c: Likewise.
37864 * video/bitmap.c: Likewise.
37865 * lib/envblk.c: Likewise.
37866 * lib/i386/setjmp.S: Likewise.
37867 * fs/xfs.c: Likewise.
37868 * fs/afs.c: Likewise.
37869 * fs/fat.c: Likewise.
37870 * fs/ntfs.c: Likewise.
37871 * fs/udf.c: Likewise.
37872 * fs/affs.c: Likewise.
37873 * fs/iso9660.c: Likewise.
37874 * fs/hfs.c: Likewise.
37875 * fs/fshelp.c: Likewise.
37876 * fs/ext2.c: Likewise.
37877 * fs/jfs.c: Likewise.
37878 * fs/reiserfs.c: Likewise.
37879 * fs/hfsplus.c: Likewise.
37880 * fs/minix.c: Likewise.
37881 * fs/cpio.c: Likewise.
37882 * fs/sfs.c: Likewise.
37883 * fs/ufs.c: Likewise.
37884 * efiemu/prepare.c: Likewise.
37885 * efiemu/loadcore_common.c: Likewise.
37886 * efiemu/runtime/efiemu.sh: Likewise.
37887 * efiemu/runtime/efiemu.S: Likewise.
37888 * efiemu/runtime/efiemu.c: Likewise.
37889 * efiemu/pnvram.c: Likewise.
37890 * efiemu/main.c: Likewise.
37891 * efiemu/i386/pc/cfgtables.c: Likewise.
37892 * efiemu/i386/loadcore64.c: Likewise.
37893 * efiemu/i386/loadcore32.c: Likewise.
37894 * efiemu/loadcore.c: Likewise.
37895 * efiemu/symbols.c: Likewise.
37896 * efiemu/mm.c: Likewise.
37897 * include/grub/autoefi.h: Likewise.
37898 * include/grub/datetime.h: Likewise.
37899 * include/grub/term.h: Likewise.
37900 * include/grub/hfs.h: Likewise.
37901 * include/grub/lvm.h: Likewise.
37902 * include/grub/i386/tsc.h: Likewise.
37903 * include/grub/i386/linux.h: Likewise.
37904 * include/grub/i386/xnu.h: Likewise.
37905 * include/grub/i386/efiemu.h: Likewise.
37906 * include/grub/i386/pc/biosdisk.h: Likewise.
37907 * include/grub/i386/pc/memory.h: Likewise.
37908 * include/grub/i386/pc/vbe.h: Likewise.
37909 * include/grub/parttool.h: Likewise.
37910 * include/grub/video.h: Likewise.
37911 * include/grub/memory.h: Likewise.
37912 * include/grub/fs.h: Likewise.
37913 * include/grub/partition.h: Likewise.
37914 * include/grub/xnu.h: Likewise.
37915 * include/grub/efi/api.h: Likewise.
37916 * include/grub/efi/pe32.h: Likewise.
37917 * include/grub/efi/memory.h: Likewise.
37918 * include/grub/multiboot.h: Likewise.
37919 * include/grub/usbdesc.h: Likewise.
37920 * include/grub/multiboot2.h: Likewise.
37921 * include/grub/acpi.h: Likewise.
37922 * include/grub/efiemu/efiemu.h: Likewise.
37923 * include/grub/disk.h: Likewise.
37924 * include/grub/ieee1275/ieee1275.h: Likewise.
37925 * include/grub/net.h: Likewise.
37926 * include/grub/machoload.h: Likewise.
37927 * include/grub/macho.h: Likewise.
37928 * include/multiboot.h: Likewise.
37929 * genmoddep.awk: Likewise.
37930 * normal/main.c: Likewise.
37931 * normal/menu_entry.c: Likewise.
37932 * normal/menu_viewer.c: Likewise.
37933 * normal/completion.c: Likewise.
37934 * normal/cmdline.c: Likewise.
37935 * normal/misc.c: Likewise.
37936 * normal/datetime.c: Likewise.
37937 * bus/usb/usbtrans.c: Likewise.
37938 * bus/usb/ohci.c: Likewise.
37939 * bus/usb/uhci.c: Likewise.
37940 * bus/usb/usb.c: Likewise.
37941 * mmap/efi/mmap.c: Likewise.
37942 * mmap/i386/pc/mmap_helper.S: Likewise.
37943 * mmap/i386/pc/mmap.c: Likewise.
37944 * mmap/i386/mmap.c: Likewise.
37945 * mmap/i386/uppermem.c: Likewise.
37946 * mmap/mmap.c: Likewise.
37947 * commands/acpi.c: Likewise.
37948 * commands/echo.c: Likewise.
37949 * commands/blocklist.c: Likewise.
37950 * commands/loadenv.c: Likewise.
37951 * commands/usbtest.c: Likewise.
37952 * commands/boot.c: Likewise.
37953 * commands/parttool.c: Likewise.
37954 * commands/search.c: Likewise.
37955 * commands/cat.c: Likewise.
37956 * commands/i386/pc/play.c: Likewise.
37957 * commands/i386/pc/drivemap.c: Likewise.
37958 * commands/i386/pc/vbeinfo.c: Likewise.
37959 * commands/i386/pc/acpi.c: Likewise.
37960 * commands/i386/pc/vbetest.c: Likewise.
37961 * commands/ls.c: Likewise.
37962 * commands/cmp.c: Likewise.
37963 * commands/test.c: Likewise.
37964 * commands/efi/acpi.c: Likewise.
37965 * commands/gptsync.c: Likewise.
37966 * commands/help.c: Likewise.
37967 * partmap/amiga.c: Likewise.
37968 * partmap/apple.c: Likewise.
37969 * partmap/acorn.c: Likewise.
37970 * partmap/pc.c: Likewise.
37971 * partmap/sun.c: Likewise.
37972 * partmap/gpt.c: Likewise.
37973 * script/sh/lexer.c: Likewise.
37974 * script/sh/function.c: Likewise.
37975 * font/font.c: Likewise.
37976 * font/font_cmd.c: Likewise.
37977 * loader/powerpc/ieee1275/linux.c: Likewise.
37978 * loader/efi/chainloader.c: Likewise.
37979 * loader/multiboot_loader.c: Likewise.
37980 * loader/macho.c: Likewise.
37981 * loader/i386/multiboot.c: Likewise.
37982 * loader/i386/linux.c: Likewise.
37983 * loader/i386/pc/linux.c: Likewise.
37984 * loader/i386/pc/multiboot2.c: Likewise.
37985 * loader/i386/pc/chainloader.c: Likewise.
37986 * loader/i386/pc/xnu.c: Likewise.
37987 * loader/i386/bsd_trampoline.S: Likewise.
37988 * loader/i386/efi/linux.c: Likewise.
37989 * loader/i386/multiboot_elfxx.c: Likewise.
37990 * loader/i386/bsd_helper.S: Likewise.
37991 * loader/i386/bsd.c: Likewise.
37992 * loader/i386/linux_trampoline.S: Likewise.
37993 * loader/i386/xnu_helper.S: Likewise.
37994 * loader/i386/xnu.c: Likewise.
37995 * loader/i386/bsd_pagetable.c: Likewise.
37996 * loader/i386/multiboot_helper.S: Likewise.
37997 * loader/xnu.c: Likewise.
37998 * loader/xnu_resume.c: Likewise.
37999 * io/gzio.c: Likewise.
38000 * term/efi/console.c: Likewise.
38001 * term/terminfo.c: Likewise.
38002 * term/ieee1275/ofconsole.c: Likewise.
38003 * term/i386/pc/serial.c: Likewise.
38004 * term/i386/pc/vesafb.c: Likewise.
38005 * term/i386/pc/vga.c: Likewise.
38006 * term/usb_keyboard.c: Likewise.
38007 * term/gfxterm.c: Likewise.
38008 * aclocal.m4: Likewise.
38009 * util/lvm.c: Likewise.
38010 * util/grub.d/30_os-prober.in: Likewise.
38011 * util/grub.d/10_hurd.in: Likewise.
38012 * util/console.c: Likewise.
38013 * util/grub-macho2img.c: Likewise.
38014 * util/grub-probe.c: Likewise.
38015 * util/hostfs.c: Likewise.
38016 * util/i386/pc/grub-mkimage.c: Likewise.
38017 * util/i386/pc/grub-setup.c: Likewise.
38018 * util/i386/efi/grub-mkimage.c: Likewise.
38019 * util/grub-mkconfig.in: Likewise.
38020 * util/raid.c: Likewise.
38021 * util/resolve.c: Likewise.
38022 * util/grub-mkdevicemap.c: Likewise.
38023 * util/grub-emu.c: Likewise.
38024 * util/getroot.c: Likewise.
38025 * util/hostdisk.c: Likewise.
38026 * util/usb.c: Likewise.
38027 * util/grub-editenv.c: Likewise.
38028 * util/misc.c: Likewise.
38029
d2d49665 380302009-06-10 Felix Zielcke <fzielcke@z-51.de>
38031
38032 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
38033 `genparttoollist.sh'.
38034 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
38035 Add `*.sh' to the list find searches for and change `mdate.sh'
38036 to `mdate-sh'.
38037
fe052e37 380382009-06-10 Pavel Roskin <proski@gnu.org>
38039
2763ac18 38040 * include/grub/multiboot2.h: Provide compatibility defines for
38041 multiboot2.h.
38042 * include/multiboot2.h: Include stdint.h only if needed, using
38043 angle brackets.
38044 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
38045 grub/multiboot2.h.
38046 * loader/ieee1275/multiboot2.c: Likewise.
38047 * loader/multiboot2.c: Likewise.
38048 * loader/multiboot_loader.c: Likewise.
38049
437e6adc 38050 * configure.ac: Use -nostdlib when probing for the target. It
38051 should not be required to have libc for the target.
38052
06a6836c 38053 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
38054 they fail without libc headers for the target.
38055 * include/grub/powerpc/libgcc.h: Use weak attribute for all
38056 exports.
38057 * include/grub/sparc64/libgcc.h: Likewise. Don't use
38058 preprocessor conditionals.
38059
fe052e37 38060 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
38061 build system doesn't need to be aware of the tar.c internals.
38062
afd22553 380632009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 38064
afd22553 38065 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 38066
6b787c4f 380672009-06-09 Robert Millan <rmh.grub@aybabtu.com>
38068
38069 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
38070 disk limit to 26 for IDE, Virtio, Xen and SCSI.
38071
380722009-06-09 Felix Zielcke <fzielcke@z-51.de>
38073
38074 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 38075 aren't available if ata.mod gets used.
6b787c4f 38076
473d1e45 380772009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 38078
473d1e45 38079 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 38080 initialising controller.
473d1e45 38081 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 38082
255a27d4 380832009-06-08 Felix Zielcke <fzielcke@z-51.de>
38084
38085 * util/i386/pc/grub-install.in: Add a parameter --disk-module
38086 to choose between ata and biosdisk module on i386-pc.
38087
473d1e45 380882009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 38089
d55842d8 38090 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
38091 Subclass and Programming Interface fields in terms of the 3 byte
38092 Class Code register.
38093 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38094
fa5db0b1 38095 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
38096 interface is OHCI. Add grub_dprintf for symmetry with
38097 bus/usb/uhci.c.
38098 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
38099 interface is UHCI. Add interf variable for programming
38100 interface. Print interface with class/subclass.
38101
c0947beb 38102 * bus/usb/ohci.c: Set interf with correct field.
38103
69da8877 38104 * bus/usb/uhci.c: Remove unneeded doubled lines.
38105 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
38106 Remove whitespace inside comment.
38107
9e172e30 381082009-06-08 Robert Millan <rmh.grub@aybabtu.com>
38109
38110 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
38111 as fallback an equivalent option without depth.
38112
de65ee2b 381132009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
38114
38115 Not fail if unable to retrieve C/H/S on LBA disks
38116
473d1e45 38117 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 38118 if unable to retrieve C/H/S on LBA disks
38119
b57ea2c9 381202009-06-08 Pavel Roskin <proski@gnu.org>
38121
38122 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
38123 about aliasing.
38124
af361263 381252009-06-08 Felix Zielcke <fzielcke@z-51.de>
38126
38127 * Makefile.in (uninstall): Remove all $lib_DATA files.
38128
4c9ec6b3 381292009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
38130
38131 Bugfix: install on partitionless device
38132
38133 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
38134 is a whole disk
38135
e76fc924 381362009-06-08 Felix Zielcke <fzielcke@z-51.de>
38137
38138 * Makefile.in (uninstall): Remove all $include_DATA files.
38139
ba5a0d05 381402009-06-08 Felix Zielcke <fzielcke@z-51.de>
38141
38142 * commands/true.c: New file. Implement the true and false commands.
38143 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
38144 (true_mod_SOURCES): New variable.
38145 (true_mod_CFLAGS): Likewise.
38146 (true_mod_LDFLAGS): Likewise.
38147
c8048e32 381482009-06-05 Colin D Bennett <colin@gibibit.com>
38149
38150 Optimized font character lookup using binary search instead of linear
38151 search. Fonts now are required to have the character index ordered by
38152 code point.
38153
38154 * font/font.c (load_font_index): Verify that fonts have ordered
38155 character indices.
38156 (find_glyph): Use binary search instead of linear search to find a
38157 character in a font.
38158
408305be 381592009-06-05 Michael Scherer <misc@mandriva.org>
38160
38161 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
38162 uses case sensitive btree.
38163 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
38164 only for case insensitive filesystems.
38165
8ee1e0d9 381662009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
38167
38168 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
38169 * conf/common.rmk (search_mod_CFLAGS): likewise
38170
a9966eb1 381712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38172
473d1e45 38173 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 38174 compensate a compiler bug
38175
9e7100fb 381762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38177
473d1e45 38178 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 38179 instead of '\b'
473d1e45 38180
ede21d71 381812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38182
38183 Definitions for creating asm symbols with Apple's CC
38184
38185 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
38186 [APPLE_CC] (VARIABLE): likewise
38187
9dbf7653 381882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38189
38190 Disable lnxboot.img when compiled
38191 with Apple's CC
38192
38193 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
38194 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
38195 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
38196 [! APPLE_CC] (CODE_LENG): skip
38197 [! APPLE_CC] (setup_sects): likewise
38198 [! APPLE_CC]: skip filling
473d1e45 38199
e93cdc3d 382002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38201
38202 Address in trampolines based on 32-bit registers when compiled
38203 with Apple's CC
38204
473d1e45 38205 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 38206 for addresses
38207 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
38208
6c688477 382092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38210
38211 Avoid aliases when compiling with Apple's CC for PCBIOS machine
38212
38213 * kern/misc.c [APPLE_CC] (memcpy): new function
38214 [APPLE_CC] (memmove): likewise
38215 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 38216 (memcpy): define alias conditionally on !APPLE_CC
6c688477 38217 (memset): likewise
38218 (abort): likewise
38219 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
38220 APPLE_CC are defined
38221 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
38222 (grub_assert_fail): make prototype conditional
38223
e37ffc5c 382242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38225
38226 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
38227
473d1e45 38228 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
38229 grub-macho2img
e37ffc5c 38230 (CLEANFILES): add grub-macho2img
38231 (grub_macho2img_SOURCES): new variable
38232 * kern/i386/pc/startup.S (bss_start): new variable
38233 (bss_end): likewise
38234 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
38235 * util/grub-macho2img.c: new file
38236
cf00df31 382372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38238
38239 Use objconv when compiling with Apple's CC
38240
38241 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
38242 (efiemu64.o): likewise
38243 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
38244 when compiling with Apple's CC
38245 (efiemu64_s.o): likewise
38246 * configure.ac: check for objconv when compiling with Apple's CC
38247 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 38248
d119a20c 382492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38250
38251 Define segment as well as section when compiling with
38252 Apple's CC
38253
38254 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
38255 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
38256 (efiemu_convert_pointer): likewise
38257 (efiemu_set_virtual_address_map): likewise
38258 (efiemu_convert_pointer): likewise
38259 (efiemu_getcrc32): likewise
38260 (init_crc32_table): likewise
38261 (reflect): likewise
38262 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
38263 (GRUB_MOD_DEP): likewise
473d1e45 38264
c8600122 382652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38266
38267 Allow a compilation without -mcmodel=large
38268
38269 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
38270 when compiled without -mcmodel=large
473d1e45 38271 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 38272 without -mcmodel=large
473d1e45 38273 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 38274 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 38275
e8df1d4e 382762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38277
38278 Remove nested functions in efiemu core
38279
38280 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 38281
cc6c3ac1 382822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38283
38284 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
38285
38286 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
38287 temporary storage
473d1e45 38288 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
38289 using Apple's CC
cc6c3ac1 38290 (grub_cpu_is_tsc_supported): likewise
38291 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 38292
3e325901 382932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38294
38295 Absolute addressing through constant with Apple's cc
38296
38297 * kern/i386/pc/startup.S: Define necessary constants
38298 and address through it when using ABS with Apple's CC
38299 * boot/i386/pc/diskboot.S: likewise
38300 * boot/i386/pc/boot.S: likewise
38301 * boot/i386/pc/lnxboot.S: likewise
38302 * boot/i386/pc/cdboot.S: likewise
38303 * mmap/i386/pc/mmap_helper.S: likewise
38304 * commands/i386/pc/drivemap_int13h.S: likewise
38305
2b167a72 383062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38307
38308 Check if compiler is apple cc
38309
38310 * Makefile.in (ASFLAGS): new variable
38311 (TARGET_ASFLAGS): likewise
38312 (TARGET_MODULE_FORMAT): likewise
38313 (TARGET_APPLE_CC): likewise
38314 (OBJCONV): likewise
38315 (TARGET_IMG_CFLAGS): likewise
38316 (TARGET_CPPFLAGS): add includedir
38317 * configure.ac: call grub_apple_cc and grub_apple_target_cc
38318 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
38319 Check for linker script only if compiler isn't Apple's CC
38320 (TARGET_MODULE_FORMAT): set
38321 (TARGET_APPLE_CC): likewise
38322 (TARGET_ASFLAGS): likewise
38323 (ASFLAGS): likewise
38324 Check for objcopy only if compiler isn't Apple's CC
38325 Check for BSS symbol only if compiler isn't Apple's CC
38326 * genmk.rb: adapt nm options if we use Apple's utils
38327 * aclocal.m4 (grub_apple_cc): new test
38328 (grub_apple_target_cc): likewise
473d1e45 38329
fb14123e 383302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38331
38332 Simplify sed expressions and improve awk
38333
38334 * Makefile.in (install-local): simplify sed expression
38335 * gencmdlist.sh: likewise
38336 * genmoddep.awk: avoid adding module as a dependency of itself
38337
5b889789 383382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38339
38340 Add missing start symbols
38341
38342 * boot/i386/pc/boot.S: add start
fb14123e 38343 * boot/i386/pc/pxeboot.S: likewise
473d1e45 38344
fd2bf2e3 383452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38346
38347 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 38348
38349 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 38350 (relocate_addresses): consider both r_addend and value at offset
38351 (make_mods_section): zerofill modinfo and header
38352 (convert_elf): write prefix here
473d1e45 38353
5389763d 383542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38355
38356 Use .asciz instead of .string
38357
38358 * i386/pc/diskboot.S: use .asciz instead of .string
38359 * i386/pc/boot.S: likewise
38360 * include/grub/dl.h (GRUB_MOD_DEP): likewise
38361 (GRUB_MOD_NAME): likewise
473d1e45 38362
3eb5ed4e 383632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38364
38365 gfxpayload support
38366
38367 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
38368 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
38369 (grub_video_setup): remove
38370 (grub_video_set_mode): new prototype
38371 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
38372 (vid_mode): remove
38373 (linux_vesafb_res): compile only on PCBIOS
38374 (grub_linux_boot): support gfxpayload
38375 * loader/i386/pc/xnu.c (video_hook): new function
38376 (grub_xnu_set_video): support gfxpayload
38377 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
38378 (DEFAULT_VIDEO_HEIGHT): likewise
38379 (DEFAULT_VIDEO_FLAGS): likewise
38380 (DEFAULT_VIDEO_MODE): new definition
38381 (video_hook): new function
38382 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 38383 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 38384 loading xnu
38385 * video/video.c (grub_video_setup): removed
473d1e45 38386 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 38387 grub_video_setup
38388
4b0e1143 383892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38390
38391 Avoid calling biosdisk in drivemap
38392
38393 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
38394 (revparse_biosdisk): likewise
38395 (list_mappings): derive name from id directly
38396 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 38397
fda6cb98 383982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38399
38400 Script fixes
38401
38402 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
38403 (grub_lexer_param): add tokenonhold
38404 (grub_script_create_cmdline): remove cmdline. All callers updated
38405 (grub_script_function_create): make functionname
38406 grub_script_arg. All callers updated
38407 (grub_script_execute_argument_to_string): new prototype
38408 * kern/parser.c (state_transitions): reorder
38409 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 38410 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 38411 make global
38412 (grub_script_execute_cmdline): use new format
38413 * script/sh/function.c (grub_script_function_create): make functionname
38414 grub_script_arg. All callers updated
473d1e45 38415 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 38416 (grub_script_yylex): remove
38417 (grub_script_yylex2): renamed to ...
38418 (grub_script_yylex): ...renamed
38419 parse the expressions like a${b}c
38420 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
38421 (GRUB_PARSER_TOKEN_VAR): remove
38422 (GRUB_PARSER_TOKEN_NAME): likewise
38423 ("if"): declare as typeless
38424 ("while"): likewise
38425 ("function"): likewise
38426 ("else"): likewise
38427 ("then"): likewise
38428 ("fi"): likewise
38429 (text): remove
38430 (argument): likewise
38431 (script): accept empty scripts and make exit on error
38432 (arguments): use GRUB_PARSER_TOKEN_ARG
38433 (function): likewise
38434 (command): move error handling to script
38435 (menuentry): move grub_script_lexer_ref before
473d1e45 38436 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 38437 argument. All callers updated
38438
f4448a07 384392009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38440
38441 Prevent GRUB from probing floppies during boot.
38442
38443 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
38444 * commands/search.c (options): Add --no-floppy.
38445 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
38446 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
38447 --no-floppy when searching for UUIDs.
38448
2bf5885a 384492009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38450
38451 Simplify the code duplication in commands/search.c.
38452
38453 * commands/search.c (search_label, search_fs_uuid): Merge into ...
38454 (search_fs): ... this. Update all users.
38455
f6fd460a 384562009-06-03 Felix Zielcke <fzielcke@z-51.de>
38457
38458 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
38459
cbb3c83e 384602009-05-28 Pavel Roskin <proski@gnu.org>
38461
57788cfd 38462 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
38463 Remove the original symlink explicitly.
38464
cbb3c83e 38465 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
38466 just one slash. That's how grub_fshelp_find_file() does it.
38467
cd0d5e30 384682009-05-26 Pavel Roskin <proski@gnu.org>
38469
f0f8bbe2 38470 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
38471 to `str'.
38472
cd0d5e30 38473 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
38474 possibly unused.
38475
8c2cab51 384762009-05-25 Christian Franke <franke@computer.org>
38477
38478 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
38479 register.
38480 (grub_atapi_identify): Add wait after drive select.
38481 (grub_ata_identify): Do more strict status register check before
38482 calling grub_atapi_identify (). Suppress error message if status
38483 register is 0x00 after command failure. Add status register
38484 check after PIO read to avoid bogus identify due to stuck DRQ.
38485 Thanks to Pavel Roskin for testing.
38486 (grub_device_initialize): Remove unsafe status register check.
38487 Thanks to 'phcoder' for problem report and patch.
38488 Prevent sign extension in debug message.
38489
230c0ad6 384902009-05-23 Colin D Bennett <colin@gibibit.com>
38491
38492 Cleaned up `include/grub/normal.h'. Grouped prototypes by
38493 definition file, and functions defined in `normal/menu.c' have had
38494 their prototypes moved to `include/grub/menu.h' for consistency.
38495
38496 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
38497 from normal.h.
38498 (grub_menu_get_entry): Likewise.
38499 (grub_menu_get_timeout): Likewise.
38500 (grub_menu_set_timeout): Likewise.
38501 (grub_menu_execute_entry): Likewise.
38502 (grub_menu_execute_with_fallback): Likewise.
38503 (grub_menu_entry_run): Likewise.
38504
38505 * include/grub/normal.h: Re-ordered and grouped function
38506 prototypes by file that the function is defined in.
38507 (grub_menu_execute_callback): Removed; moved to menu.h.
38508 (grub_menu_get_entry): Likewise.
38509 (grub_menu_get_timeout): Likewise.
38510 (grub_menu_set_timeout): Likewise.
38511 (grub_menu_execute_entry): Likewise.
38512 (grub_menu_execute_with_fallback): Likewise.
38513 (grub_menu_entry_run): Likewise.
38514 (grub_menu_addentry): Renamed from this ...
38515 (grub_normal_add_menu_entry): ... to this.
38516
38517 * normal/main.c (grub_menu_addentry): Renamed from this ...
38518 (grub_normal_add_menu_entry): ... to this.
38519
38520 * script/sh/execute.c (grub_script_execute_menuentry): Update
38521 reference to renamed grub_menu_addentry function.
38522
861f03a5 385232009-05-23 Felix Zielcke <fzielcke@z-51.de>
38524
38525 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
38526
96b1619a 385272009-05-22 Pavel Roskin <proski@gnu.org>
38528
bf6a5fb2 38529 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
38530 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
38531 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
38532 compiling for the i386 targets, but not for the utilities.
38533
96b1619a 38534 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
38535 to grub_uint8_t.
38536 (grub_root_drive): Likewise.
38537 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
38538 remove alignment.
38539 (grub_root_drive): Change size to byte.
38540 (grub_start_addr): Remove.
38541 (grub_end_addr): Likewise.
38542 (grub_apm_bios_info): Likewise.
38543
b729776b 385442009-05-21 Felix Zielcke <fzielcke@z-51.de>
38545
38546 * normal/i386: Remove.
38547 * normal/powerpc: Likewise.
38548 * normal/sparc64: Likewise.
38549 * normal/x86_64: Likewise.
38550
0a15ce80 385512009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
38552
38553 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 38554 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 38555 * loader/i386/xnu_helper.S: Likewise
d6da58e6 38556
33db9015 385572009-05-18 Colin D Bennett <colin@gibibit.com>
38558
d6da58e6 38559 Display error messages when parsing a Lua statement fails.
38560 Previously, executing a syntactically invalid statement like
38561 ")foo" or "bar;" would silently fail.
33db9015 38562
38563 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 38564 (grub_lua_parse_line): Improved reporting of Lua parser and
38565 execution errors.
33db9015 38566
46422c89 385672009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38568
38569 Remove -Werror which causes build to fail on some systems
38570
38571 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
38572 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
38573 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 38574
22f53a96 385752009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38576
38577 trampoline for linux on 64-bit platform
38578
18f547ad 38579 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
38580 loader/i386/efi/linux_trampoline.S
38581 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 38582 declaration
d6da58e6 38583 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
38584 here
22f53a96 38585 * loader/i386/linux_trampoline.S: moved here
d6da58e6 38586 * loader/i386/efi/linux.c (allocate_pages): reserve space for
38587 trampoline
22f53a96 38588 (jumpvector): removed
38589 (grub_linux_trampoline_start): new declaration
38590 (grub_linux_trampoline_end): likewise
38591 (grub_linux_boot): use trampoline when on 64-bit platform
38592 * loader/i386/linux.c: likewise
38593
cb5a0f40 385942009-05-16 Pavel Roskin <proski@gnu.org>
38595
38596 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
38597 const to avoid a warning.
38598 (grub_lua_setenv): Likewise.
38599 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
38600 lmsg to fix a warning.
38601
334f2c28 386022009-05-16 Felix Zielcke <fzielcke@z-51.de>
38603
38604 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 38605 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38606 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
38607 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38608 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38609 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38610 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38611 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 38612
59e5d3ec 386132009-05-16 Felix Zielcke <fzielcke@z-51.de>
38614
38615 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
38616
9d87a1ba 386172009-05-16 Bean <bean123ch@gmail.com>
38618
38619 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
38620 (lua_mod_SOURCES): New variable.
38621 (lua_mod_CFLAGS): Likewise.
38622 (lua_mod_LDFLAGS): Likewise.
38623
38624 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
38625 (setjmp_mod_SOURCES): New variable.
38626 (setjmp_mod_CFLAGS): Likewise.
38627 (setjmp_LDFLAGS): Likewise.
38628
38629 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
38630 (setjmp_mod_SOURCES): New variable.
38631 (setjmp_mod_CFLAGS): Likewise.
38632 (setjmp_LDFLAGS): Likewise.
38633
38634 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38635 (setjmp_mod_SOURCES): New variable.
38636 (setjmp_mod_CFLAGS): Likewise.
38637 (setjmp_LDFLAGS): Likewise.
38638
38639 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38640 (setjmp_mod_SOURCES): New variable.
38641 (setjmp_mod_CFLAGS): Likewise.
38642 (setjmp_LDFLAGS): Likewise.
38643
38644 * normal/i386/setjmp.S: Moved from here ...
38645 * lib/i386/setjmp.S: ... Moved here
38646 * normal/x86_64/setjmp.S: Moved from here ...
38647 * lib/x86_64/setjmp.S: ... Moved here
38648 * normal/powerpc/setjmp.S: Moved from here ...
38649 * lib/powerpc/setjmp.S: ... Moved here
38650 * normal/sparc64/setjmp.S: Moved from here ...
38651 * lib/sparc64/setjmp.S: ... Moved here
38652
38653 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
38654 returns_twice in mingw.
38655
38656 * script/lua/grub_lib.c: New file.
38657 * script/lua/grub_lib.h: Likewise.
38658 * script/lua/grub_lua.h: Likewise.
38659 * script/lua/grub_main.c: Likewise.
38660 * script/lua/lapi.c: Likewise.
38661 * script/lua/lapi.h: Likewise.
38662 * script/lua/lauxlib.c: Likewise.
38663 * script/lua/lauxlib.h: Likewise.
38664 * script/lua/lbaselib.c: Likewise.
38665 * script/lua/lcode.c: Likewise.
38666 * script/lua/lcode.h: Likewise.
38667 * script/lua/ldblib.c: Likewise.
38668 * script/lua/ldebug.c: Likewise.
38669 * script/lua/ldebug.h: Likewise.
38670 * script/lua/ldo.c: Likewise.
38671 * script/lua/ldo.h: Likewise.
38672 * script/lua/ldump.c: Likewise.
38673 * script/lua/lfunc.c: Likewise.
38674 * script/lua/lfunc.h: Likewise.
38675 * script/lua/lgc.c: Likewise.
38676 * script/lua/lgc.h: Likewise.
38677 * script/lua/linit.c: Likewise.
38678 * script/lua/liolib.c: Likewise.
38679 * script/lua/llex.c: Likewise.
38680 * script/lua/llex.h: Likewise.
38681 * script/lua/llimits.h: Likewise.
38682 * script/lua/lmathlib.c: Likewise.
38683 * script/lua/lmem.c: Likewise.
38684 * script/lua/lmem.h: Likewise.
38685 * script/lua/loadlib.c: Likewise.
38686 * script/lua/lobject.c: Likewise.
38687 * script/lua/lobject.h: Likewise.
38688 * script/lua/lopcodes.c: Likewise.
38689 * script/lua/lopcodes.h: Likewise.
38690 * script/lua/loslib.c: Likewise.
38691 * script/lua/lparser.c: Likewise.
38692 * script/lua/lparser.h: Likewise.
38693 * script/lua/lstate.c: Likewise.
38694 * script/lua/lstate.h: Likewise.
38695 * script/lua/lstring.c: Likewise.
38696 * script/lua/lstring.h: Likewise.
38697 * script/lua/lstrlib.c: Likewise.
38698 * script/lua/ltable.c: Likewise.
38699 * script/lua/ltable.h: Likewise.
38700 * script/lua/ltablib.c: Likewise.
38701 * script/lua/ltm.c: Likewise.
38702 * script/lua/ltm.h: Likewise.
38703 * script/lua/lua.h: Likewise.
38704 * script/lua/luaconf.h: Likewise.
38705 * script/lua/lualib.h: Likewise.
38706 * script/lua/lundump.c: Likewise.
38707 * script/lua/lundump.h: Likewise.
38708 * script/lua/lvm.c: Likewise.
38709 * script/lua/lvm.h: Likewise.
38710 * script/lua/lzio.c: Likewise.
38711 * script/lua/lzio.h: Likewise.
38712
5e898c9d 387132009-05-16 Bean <bean123ch@gmail.com>
38714
38715 * include/grub/kernel.h (grub_module_header_types): Add type
38716 OBJ_TYPE_CONFIG.
38717
38718 * kern/main.c (grub_load_config): New function.
38719 (grub_main): Call grub_load_config to read boot config.
38720
38721 * grub-mkimage (generate_image): New parameter config_path.
38722 (options): New option --config.
38723 (main): Parse --config option, and pass it to generate_image.
38724
cf353a47 387252009-05-14 Christian Franke <franke@computer.org>
38726
38727 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
38728 This fixes build on Cygwin.
38729
3834887f 387302009-05-14 Pavel Roskin <proski@gnu.org>
38731
38732 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
38733 jump. This saves two bytes, so the typical case of 2 swapped
38734 drives would fit 32 bytes.
38735
8090fc01 387362009-05-13 Pavel Roskin <proski@gnu.org>
38737
ac963883 38738 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
38739 grub_uint32_t to avoid a warning.
38740
8090fc01 38741 * loader/i386/linux.c (allocate_pages): When assigning
38742 real_mode_mem, cast through grub_size_t to fix a warning. The
38743 code already makes sure that the value would fit a pointer.
38744 (grub_linux_setup_video): Cast render_target->data to
38745 grub_size_t to fix a warning.
38746
18f547ad 387472009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 38748
38749 * commands/i386/pc/drivemap.c: New file - implement drivemap
38750 command.
38751 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
38752 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
38753
6f6a8b28 387542009-05-13 Pavel Roskin <proski@gnu.org>
38755
38756 * util/i386/pc/grub-setup.c (setup): Remove unused variable
38757 embedding_area_exists.
38758
15fbf4c4 387592009-05-13 Robert Millan <rmh.grub@aybabtu.com>
38760
38761 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
38762 it easier to understand / work with.
59978c8a 38763 Improve warning messages for cases where there's no embedding area,
38764 or when it is too small (or core.img too large).
15fbf4c4 38765
238e871f 387662009-05-13 Pavel Roskin <proski@gnu.org>
38767
0ab3a9a4 38768 * loader/i386/pc/multiboot2.c: Add necessary includes for
38769 grub_multiboot2_real_boot().
38770
a2c8c5f8 38771 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
38772 PX record is always little-endian. We only need the lower 2
38773 bytes of the mode.
38774
faec96af 38775 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
38776 facilitate code reuse.
38777 (grub_cpio_mount): Use "struct head", not a char buffer. This
38778 fixes a warning reported by gcc 4.4.
38779
238e871f 38780 * kernel/disk.c (grub_disk_read): Use void pointer for the
38781 buffer.
38782 (grub_disk_write): Use const void pointer for the buffer.
38783 Adjust all callers. Remove unnecessary casts.
38784
901d2f0c 387852009-05-10 Robert Millan <rmh.grub@aybabtu.com>
38786
38787 * util/i386/pc/grub-install.in: Update copyright year.
38788
18f547ad 387892009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 38790
38791 gptsync
38792
38793 * commands/gptsync.c: new file
38794 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
38795 (gptsync_mod_SOURCES): new variable
38796 (gptsync_mod_CFLAGS): likewise
38797 (gptsync_mod_LDFLAGS): likewise
18f547ad 38798 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 38799 new definition
38800 (GRUB_PC_PARTITION_TYPE_HFS): likewise
38801 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
38802 * conf/i386-ieee1275.rmk: likewise
38803 * conf/i386-pc.rmk: likewise
38804 * conf/powerpc-ieee1275.rmk: likewise
38805
b4ba690a 388062009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38807
38808 Fixed grub-emu
38809
38810 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
38811 (grub_dl_ref): likewise
38812
317e1a44 388132009-05-08 Robert Millan <rmh.grub@aybabtu.com>
38814
38815 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
38816 split in two functions (one for msdos and one for gpt).
38817
041b8094 388182009-05-08 Pavel Roskin <proski@gnu.org>
38819
752473c2 38820 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
38821 not modified.
38822
041b8094 38823 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
38824 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
38825 Initialize them with -1. Add sanity check for bad1. Eliminate
38826 nerr variable.
38827
172800ce 388282009-05-08 David S. Miller <davem@davemloft.net>
38829
38830 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
38831
29aa5e81 388322009-05-06 Robert Millan <rmh.grub@aybabtu.com>
38833
38834 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 38835 existence.
29aa5e81 38836
96613b62 388372009-05-05 Felix Zielcke <fzielcke@z-51.de>
38838
38839 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 38840 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 38841
eef73c8a 388422009-05-05 David S. Miller <davem@davemloft.net>
38843
38844 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
38845
119494b5 388462009-05-05 Pavel Roskin <proski@gnu.org>
38847
38848 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
38849 of grub_dl_ref() and grub_dl_unref().
38850 * commands/parttool.c: Remove preprocessor conditionals around
38851 grub_dl_ref() and grub_dl_unref().
38852 * fs/affs.c: Likewise.
38853 * fs/afs.c: Likewise.
38854 * fs/cpio.c: Likewise.
38855 * fs/ext2.c: Likewise.
38856 * fs/fat.c: Likewise.
38857 * fs/hfs.c: Likewise.
38858 * fs/hfsplus.c: Likewise.
38859 * fs/iso9660.c: Likewise.
38860 * fs/jfs.c: Likewise.
38861 * fs/minix.c: Likewise.
38862 * fs/ntfs.c: Likewise.
38863 * fs/reiserfs.c: Likewise.
38864 * fs/sfs.c: Likewise.
38865 * fs/udf.c: Likewise.
38866 * fs/ufs.c: Likewise.
38867 * fs/xfs.c: Likewise.
38868 * include/grub/dl.h: Likewise.
38869 * loader/xnu.c: Likewise.
38870
de5fd76e 388712009-05-04 Pavel Roskin <proski@gnu.org>
38872
38873 * commands/acpi.c: Remove unused variable my_mod.
38874 * partmap/amiga.c: Likewise.
38875 * partmap/apple.c: Likewise.
38876 * partmap/gpt.c: Likewise.
38877 * partmap/pc.c: Likewise.
38878 * partmap/sun.c: Likewise.
38879 * term/gfxterm.c: Likewise.
38880 * term/i386/pc/vesafb.c: Likewise.
38881 * term/i386/pc/vga.c: Likewise.
38882
983598ad 388832009-05-04 David S. Miller <davem@davemloft.net>
38884
38885 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
38886 pointer args to grub_ieee1275_get_property().
38887
8aadec43 38888 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
38889
9554b15e 38890 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
38891 devices, and do not traverse down under controller nodes.
38892
67e23c90 38893 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
38894 (grub_ofdisk_open): Use it to un-escape "," characters.
38895 * kern/disk.c (find_part_sep): New.
38896 (grub_disk_open): Use it to find the first non-escaped ','
38897 character in the disk name.
38898 * util/ieee1275/devicemap.c (escape_of_path): New.
38899 (grub_util_emit_devicemap_entry): Use it.
38900 * util/sparc64/ieee1275/grub-install.in: Update script to
38901 strip partition specifiers properly by not triggering on
38902 '\' escaped ',' characters.
38903
74bfdd2f 389042009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38905
38906 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
38907 to 0x300.
38908 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
38909 resolutions.
38910 (linux_vesafb_modes): Add a lot of additional modes to the list (based
38911 on documentation from Wikipedia).
38912
4241d2b1 389132009-05-04 Pavel Roskin <proski@gnu.org>
38914
38915 * disk/ata.c: Spelling fixes.
38916 * disk/raid.c: Likewise.
38917 * disk/usbms.c: Likewise.
38918 * disk/dmraid_nvidia.c: Likewise.
38919 * kern/ieee1275/openfw.c: Likewise.
38920 * kern/ieee1275/init.c: Likewise.
38921 * kern/ieee1275/cmain.c: Likewise.
38922 * boot/i386/pc/cdboot.S: Likewise.
38923 * video/readers/png.c: Likewise.
38924 * video/i386/pc/vbe.c: Likewise.
38925 * fs/udf.c: Likewise.
38926 * fs/hfs.c: Likewise.
38927 * fs/reiserfs.c: Likewise.
38928 * efiemu/runtime/efiemu.c: Likewise.
38929 * efiemu/main.c: Likewise.
38930 * efiemu/mm.c: Likewise.
38931 * include/grub/elf.h: Likewise.
38932 * include/grub/xnu.h: Likewise.
38933 * include/grub/usbdesc.h: Likewise.
38934 * include/grub/usb.h: Likewise.
38935 * include/grub/script_sh.h: Likewise.
38936 * include/grub/lib/LzmaEnc.h: Likewise.
38937 * include/grub/efiemu/efiemu.h: Likewise.
38938 * include/grub/command.h: Likewise.
38939 * normal/menu.c: Likewise.
38940 * normal/main.c: Likewise.
38941 * normal/datetime.c: Likewise.
38942 * bus/usb/uhci.c: Likewise.
38943 * mmap/i386/uppermem.c: Likewise.
38944 * mmap/mmap.c: Likewise.
38945 * commands/acpi.c: Likewise.
38946 * commands/test.c: Likewise.
38947 * partmap/apple.c: Likewise.
38948 * font/font.c: Likewise.
38949 * loader/sparc64/ieee1275/linux.c: Likewise.
38950 * loader/macho.c: Likewise.
38951 * loader/i386/bsd_trampoline.S: Likewise.
38952 * loader/i386/bsd.c: Likewise.
38953 * loader/xnu.c: Likewise.
38954 * term/i386/pc/vesafb.c: Likewise.
38955 * term/usb_keyboard.c: Likewise.
38956 * util/resolve.c: Likewise.
38957 * util/getroot.c: Likewise.
38958
0cfc0083 389592009-05-04 Felix Zielcke <fzielcke@z-51.de>
38960
38961 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
38962
7c1d00cd 389632009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38964
38965 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
38966 build error.
38967
b01f0548 389682009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38969
38970 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
38971 parameter only available on BIOS.
38972
ecc3eb22 389732009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38974
38975 Removed wrong semicolon in declaration
38976
38977 * grub/misc.h (grub_dprintf): remove semicolon
38978
112972a9 389792009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38980
38981 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
38982 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
38983 is done by grub_cmd_linux() now).
38984 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
38985 restore video to text mode.
38986 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
38987 indicates lack of "vga=" parameter. "vga=0" is mapped to
38988 `GRUB_LINUX_VID_MODE_NORMAL'.
38989
afd5c115 389902009-05-04 Felix Zielcke <fzielcke@z-51.de>
38991
38992 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
38993 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
38994 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 38995 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 38996 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
38997 `grub_script.tab.c'.
38998
38999 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39000 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39002 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39003 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39004
faa517ce 39005 * Makefile.in: Remove duplicated 2008 in Copyright line.
39006
ae0c0bdc 390072009-05-04 Robert Millan <rmh.grub@aybabtu.com>
39008
473d1e45 39009 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 39010 unconditionally.
39011 * include/grub/util/misc.h (grub_util_warn): New declaration.
39012
39013 * util/i386/pc/grub-install.in: Understand --force and pass it down
39014 to grub-setup.
39015
39016 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
39017 down to setup().
39018 (setup): Improve error messages and add warnings when requested to
39019 install in odd layouts. Refuse to install using blocklists unless
39020 --force was set.
39021
18f547ad 390222009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 39023
39024 * disk/raid.c (grub_raid_scan_device): Improve debug message.
39025
6d260daa 390262009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
39027
39028 Updated copyright year
39029
39030 * fs/hfsplus.c: updated copyright year
18f547ad 39031
69f853f8 390322009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
39033
39034 HFS+ UUID
39035
18f547ad 39036 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 39037 in the space previously used by unused3
39038 (grub_hfsplus_uuid): new function
39039 (grub_hfsplus_fs): added uuid field
39040
4c402e73 390412009-05-03 Pavel Roskin <proski@gnu.org>
39042
39043 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
39044 suppress warnings. It's no longer needed.
39045 * disk/host.c: Likewise.
39046 * disk/ata_pthru.c: Likewise.
39047 * disk/loopback.c: Likewise.
39048 * hook/datehook.c: Likewise.
39049 * parttool/pcpart.c: Likewise.
39050 * fs/i386/pc/pxe.c: Likewise.
39051 * fs/ntfscomp.c: Likewise.
39052 * efiemu/main.c: Likewise.
39053 * mmap/mmap.c: Likewise.
39054 * commands/crc.c: Likewise.
39055 * commands/hexdump.c: Likewise.
39056 * commands/hdparm.c: Likewise.
39057 * commands/acpi.c: Likewise.
39058 * commands/echo.c: Likewise.
39059 * commands/minicmd.c: Likewise.
39060 * commands/blocklist.c: Likewise.
39061 * commands/memrw.c: Likewise.
39062 * commands/loadenv.c: Likewise.
39063 * commands/usbtest.c: Likewise.
39064 * commands/lsmmap.c: Likewise.
39065 * commands/boot.c: Likewise.
39066 * commands/parttool.c: Likewise.
39067 * commands/configfile.c: Likewise.
39068 * commands/search.c: Likewise.
39069 * commands/ieee1275/suspend.c: Likewise.
39070 * commands/cat.c: Likewise.
39071 * commands/i386/pc/pxecmd.c: Likewise.
39072 * commands/i386/pc/play.c: Likewise.
39073 * commands/i386/pc/halt.c: Likewise.
39074 * commands/i386/pc/vbeinfo.c: Likewise.
39075 * commands/i386/pc/vbetest.c: Likewise.
39076 * commands/lspci.c: Likewise.
39077 * commands/date.c: Likewise.
39078 * commands/handler.c: Likewise.
39079 * commands/ls.c: Likewise.
39080 * commands/test.c: Likewise.
39081 * commands/cmp.c: Likewise.
39082 * commands/efi/loadbios.c: Likewise.
39083 * commands/efi/fixvideo.c: Likewise.
39084 * commands/halt.c: Likewise.
39085 * commands/help.c: Likewise.
39086 * commands/reboot.c: Likewise.
39087 * hello/hello.c: Likewise.
39088 * script/sh/main.c: Likewise.
39089 * loader/xnu.c: Likewise.
39090 * term/terminfo.c: Likewise.
39091 * term/i386/pc/serial.c: Likewise.
39092 * term/usb_keyboard.c: Likewise.
39093
515b5079 390942009-05-03 David S. Miller <davem@davemloft.net>
39095
39096 * normal/menu.c: Include grub/parser.h
39097
dfc31a22 390982009-05-03 Pavel Roskin <proski@gnu.org>
39099
2fee74f1 39100 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
39101 not char*.
39102 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
39103 Suggested by Javier Martín <lordhabbit@gmail.com>
39104
dfc31a22 39105 * util/i386/pc/grub-mkrescue.in: Allow for the case when
39106 efiemu??.o doesn't exist.
39107 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
39108 copying.
39109
18f547ad 391102009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 39111
39112 FreeBSD 64-bit support
39113
18f547ad 39114 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 39115 and loader/i386/bsd_trampoline.S
39116 (bsd_mod_ASFLAGS): new variable
39117 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
39118 (FREEBSD_MODTYPE_KERNEL64): likewise
39119 (grub_bsd64_trampoline_start): likewise
39120 (grub_bsd64_trampoline_end): likewise
39121 (grub_bsd64_trampoline_selfjump): likewise
39122 (grub_bsd64_trampoline_gdt): likewise
39123 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
39124 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
39125 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
39126 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 39127 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 39128 of "attrib" member
39129 * loader/i386/bsd_pagetable.c: new file
39130 * loader/i386/bsd_trampoline.S: likewise
39131 * loader/i386/bsd.c (ALIGN_QWORD): new macro
39132 (ALIGN_VAR): likewise
39133 (entry_hi): new variable
39134 (kern_end_mdofs): likewise
39135 (is_64bit): likewise
39136 (grub_freebsd_add_meta): use ALIGN_VAR
39137 (grub_e820_mmap): new declaration
39138 (grub_freebsd_add_mmap): new function
39139 (grub_freebsd_add_meta_module): support 64 bit kernels
39140 (grub_freebsd_list_modules): use ALIGN_VAR
39141 (gdt_descriptor): new declaration
39142 (grub_freebsd_boot): support 64 bit kernels
39143 (grub_bsd_elf64_hook): new function
39144 (grub_bsd_load_elf): support elf64
39145
038c5720 391462009-05-03 Bean <bean123ch@gmail.com>
39147
39148 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
39149 after we get the result of if statement.
39150
fc45fb58 391512009-05-03 Bean <bean123ch@gmail.com>
39152
39153 * Makefile.in (enable_efiemu): New variable.
39154
39155 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
39156 set.
39157 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
39158 path.
39159 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
39160 path, add -mno-red-zone option.
39161 (efiemu64_s.o): Likewise.
39162 (efiemu64.o): Use macro $^ for source file.
39163
39164 * configure.ac (--enable-efiemu): New option.
39165
bbee0f2b 391662009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
39167
39168 xnu support
39169
39170 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
39171 (pkglib_MODULES): add xnu.mod
39172 (xnu_mod_SOURCES): new variable
39173 (xnu_mod_CFLAGS): likewise
39174 (xnu_mod_LDFLAGS): likewise
39175 (xnu_mod_ASFLAGS): likewise
39176 * conf/i386-pc.rmk: likewise
39177 * conf/x86_64-efi.rmk: likewise
7dd4a573 39178 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 39179 new declaration
39180 * include/grub/i386/macho.h: new file
39181 * include/grub/i386/xnu.h: likewise
39182 * include/grub/macho.h: likewise
39183 * include/grub/machoload.h: likewise
39184 * include/grub/x86_64/macho.h: likewise
39185 * include/grub/x86_64/xnu.h: likewise
39186 * include/grub/xnu.h: likewise
39187 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
39188 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
39189 * loader/i386/efi/xnu.c: new file
39190 * loader/i386/pc/xnu.c: likewise
39191 * loader/i386/xnu.c: likewise
39192 * loader/i386/xnu_helper.S: likewise
39193 * loader/macho.c: likewise
39194 * loader/xnu.c: likewise
39195 * loader/xnu_resume.c: likewise
39196 * util/grub-dumpdevtree: likewise
39197 * include/grub/i386/pit.h: include grub/err.h
39198 (grub_pit_wait): export
39199 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 39200
5caf964d 392012009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39202
39203 Efiemu
7dd4a573 39204
5caf964d 39205 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 39206 _linux_efi, linux_efi.
39207 new files in grub-emu
5caf964d 39208 new targets efiemu32.o and efiemu64.o
39209 * loader/linux_normal_efiemu.c: likewise
39210 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 39211 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 39212 files to copy
39213 * include/grub/autoefi.h: new file
7dd4a573 39214 * include/grub/i386/efiemu.h: likewise
5caf964d 39215 * include/grub/i386/pc/efiemu.h: likewise
39216 * include/grub/efi/api.h: add LL suffix when necessary
39217 new definitions relating to tables
39218 * include/grub/efiemu/efiemu.h: new file
39219 * include/grub/efiemu/runtime.h: likewise
39220 * efiemu/prepare.c: likewise
39221 * efiemu/loadcore_common.c: likewise
39222 * efiemu/loadcore64.c: likewise
39223 * efiemu/runtime/efiemu.sh: likewise
39224 * efiemu/runtime/efiemu.S: likewise
39225 * efiemu/runtime/efiemu.c: likewise
39226 * efiemu/runtime/config.h: likewise
39227 * efiemu/prepare32.c: likewise
39228 * efiemu/main.c: likewise
39229 * efiemu/modules/pnvram.c: likewise
39230 * efiemu/modules/i386: likewise
39231 * efiemu/modules/i386/pc: likewise
39232 * efiemu/modules/acpi.c: likewise
39233 * efiemu/i386/pc/cfgtables.c: likewise
39234 * efiemu/i386/loadcore64.c: likewise
39235 * efiemu/i386/loadcore32.c: likewise
39236 * efiemu/prepare64.c: likewise
39237 * efiemu/loadcore.c: likewise
39238 * efiemu/symbols.c: likewise
39239 * efiemu/mm.c: likewise
39240 * efiemu/loadcore32.c: likewise
7dd4a573 39241
392422009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 39243
39244 ACPI spoofing
39245
39246 * commands/acpi.c: new file
39247 * commands/i386/pc/acpi.c: likewise
39248 * commands/efi/acpi.c: likewise
39249 * include/grub/acpi.h: likewise
39250 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
39251 (acpi_mod_SOURCES): new variable
39252 (acpi_mod_CFLAGS): likewise
39253 (acpi_mod_LDFLAGS): likewise
39254 * conf/i386-efi.rmk: likewise
39255 * conf/x86_64-efi.rmk: likewise
39256
7dd4a573 392572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 39258
39259 Missing part from mmap patch
39260
39261 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
39262 (grub_mmap_unregister)
39263 (grub_mmap_free_and_unregister): use grub_mmap_register
39264
7dd4a573 392652009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 39266
39267 Mmap services
39268
39269 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
39270 * loader/i386/linux.c (find_mmap_size): likewise
39271 (allocate_pages): likewise
39272 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
39273 (grub_fill_multiboot_mmap): likewise
39274 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
39275 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
39276 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
39277 (OPENBSD_MMAP_RESERVED): likewise
39278 * include/grub/i386/pc/memory.h: include grub/memory.h
39279 (grub_lower_mem): removed
39280 (grub_upper_mem): likewise
39281 (GRUB_MACHINE_MEMORY_ACPI): new definition
39282 (GRUB_MACHINE_MEMORY_NVS): likewise
39283 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
39284 (GRUB_MACHINE_MEMORY_HOLE): likewise
39285 (grub_machine_mmap_register): likewise
39286 (grub_machine_mmap_unregister): likewise
39287 (grub_machine_get_upper): likewise
39288 (grub_machine_get_lower): likewise
39289 (grub_machine_get_post64): likewise
39290 * include/grub/i386/efi/memory.h: new file
39291 * include/grub/x86_64/efi/memory.h: likewise
39292 * include/grub/efi/memory.h: likewise
39293 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
39294 (mmap_mod_SOURCES): new variable
39295 (mmap_mod_LDFLAGS): likewise
39296 (mmap_mod_ASFLAGS): likewise
39297 * conf/i386-coreboot.rmk: likewise
39298 * conf/i386-ieee1275.rmk: likewise
39299 * conf/i386-efi.rmk: likewise
39300 * conf/x86_64-efi.rmk: likewise
39301 * include/grub/types.h (UINT_TO_PTR): new macro
39302 (PTR_TO_UINT32): likewise
39303 (PTR_TO_UINT64): likewise
39304 * include/grub/memory.h: new file
39305 * mmap/i386/pc/mmap.c: likewise
39306 * mmap/i386/pc/mmap_helper.S: likewise
39307 * mmap/i386/uppermem.c: likewise
39308 * mmap/mmap.c: likewise
39309 * mmap/efi/mmap.c: likewise
7dd4a573 39310 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 39311 grub_upper_mem
39312 * kern/i386/pc/init.c (grub_lower_mem): removed variable
39313 (grub_upper_mem): likewise
39314 (grub_machine_init): don't use grub_upper_mem,
39315 make grub_lower_mem local
39316 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
39317 grub_mmap_iterate and grub_mmap_get_upper
39318 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
39319
d558e6b5 393202009-05-02 Bean <bean123ch@gmail.com>
39321
39322 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
39323 script/sh/parser.y.
39324 (pkglib_MODULES): Add normal.mod and sh.mod.
39325 (normal_SOURCES): New variable.
39326 (normal_mod_CFLAGS): Likewise.
39327 (normal_mod_LDFLAGS): Likewise.
39328 (sh_mod_SOURCES): Likewise.
39329 (sh_mod_CFLAGS): Likewise.
39330 (sh_mod_LDFLAGS): Likewise.
39331
39332 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
39333 script/sh/lexer.c_DEPENDENCIES.
39334 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
39335 kern/rescue_reader.c and kern/rescue_parser.c.
39336 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
39337 (grub_emu_SOURCES): Change source files.
39338 (pkglib_MODULES): Remove normal.mod.
39339 (normal_SOURCES): Removed.
39340 (normal_mod_CFLAGS): Likewise.
39341 (normal_mod_LDFLAGS): Likewise.
39342 * conf/i386-coreboot.rmk: Likewise.
39343 * conf/i386-efi.rmk: Likewise.
39344 * conf/i386-ieee1276.rmk: Likewise.
39345 * conf/powerpc-ieee1275.rmk: Likewise.
39346 * conf/sparc64-ieee1275.rmk: Likewise.
39347 * conf/x86_64-efi.rmk: Likewise.
39348
39349 * include/grub/command.h (grub_command_execute): New inline function.
39350
39351 * include/grub/menu.h (grub_menu_entry): Removed commands field.
39352
39353 * include/grub/normal.h: Remove <grub/setjmp.h>.
39354 (grub_fs_module_list): Moved to normal/autofs.c.
39355 (grub_exit_env): Removed.
39356 (grub_command_execute): Likewise.
39357 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
39358 parameter script.
39359 (read_command_list): New function declaration.
39360 (read_fs_list): Likewise.
39361
39362 * include/parser.h: Include <grub/reader.h>.
39363 (grub_parser_split_cmdline): Change type of getline parameter.
39364 (grub_parser): New structure.
39365 (grub_parser_class): New variable.
39366 (grub_parser_execute): New function declaration.
39367 (grub_register_rescue_parser): Likewise.
39368 (grub_parser_register): New inline function.
39369 (grub_parser_unregister): Likewise.
39370 (grub_parser_get_current): Likewise.
39371 (grub_parser_set_current): Likewise.
39372
39373 * include/grub/reader.h: New file.
39374 * kern/reader.c: Likewise.
39375 * kern/rescue_parser.c: Likewise.
39376 * kern/rescue_reader.c: Likewise.
39377 * normal/autofs.c: Likewise.
39378 * normal/dyncmd.c: Likewise.
39379
39380 * include/grub/rescue.h: Removed.
39381 * normal/command.h: Likewise.
39382
39383 * include/grub/script.h: Moved to ...
39384 * include/grub/script_sh.h: ... Moved here.
39385 * normal/execute.c: Moved to ...
39386 * script/sh/execute.c: ... Moved here.
39387 * normal/function.c: Moved to ...
39388 * script/sh/function.c: ... Moved here.
39389 * normal/lexer.c: Moved to ...
39390 * script/sh/lexer.c: ... Moved here.
39391 * normal/parser.y: Moved to ...
39392 * script/sh/parser.y: ... Moved here.
39393 * normal/script.c: Moved to ...
39394 * script/sh/script.c: ... Moved here.
39395
39396 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
39397 <grub/reader.h>.
39398 (grub_exit_env): Removed.
39399 (fs_module_list): Moved to normal/autofs.c.
39400 (grub_file_getline): Don't handle comment here.
39401 (free_menu): Skip removed field entry->commands.
39402 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
39403 script parameter.
39404 (read_config_file): Removed nested parameter, change getline function.
39405 (grub_enter_normal_mode): Removed.
39406 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
39407 (read_command_list): Likewise.
39408 (autoload_fs_module): Moved to normal/autofs.c.
39409 (read_fs_list): Likewise.
39410 (reader_nested): New variable.
39411 (grub_normal_execute): Run parser.sh to switch to sh parser.
39412 (grub_cmd_rescue): Removed.
39413 (cmd_normal): Removed.
39414 (grub_cmd_normal): Unregister itself at the beginning. Don't register
39415 rescue command.
39416 (grub_cmdline_run): New function.
39417 (grub_normal_reader_init): Likewise.
39418 (grub_normal_read_line): Likewise.
39419 (grub_env_write_pager): Likewise.
39420 (cmdline): New variable.
39421 (grub_normal_reader): Likewise.
39422 (GRUB_MOD_INIT): Register normal reader and set as current, register
39423 pager hook, register normal command with grub_register_command_prio,
39424 so that it won't show up in command.lst.
39425 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
39426 grub_fs_autoload_hook.
39427
39428 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
39429 (grub_menu_execute_entry): Replace grub_script_execute with
39430 grub_parser_execute, change parameter to grub_command_execute.
39431
39432 * normal/menu_text.c: Remove <grub/script.h>.
39433
39434 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
39435 and <grub/parser.h>.
39436 (run): Change editor_getline to use new parser interface. Change
39437 parameter to grub_command_execute.
39438
39439 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
39440 <grub/reader.h> and <grub/parser.h>.
39441 (grub_load_normal_mode): Execute normal command.
39442 (grub_main): Call grub_register_core_commands,
39443 grub_register_rescue_parser and grub_register_rescue_reader, use
39444 grub_reader_loop to enter input loop.
39445
7dd4a573 39446 * kern/parser.c (grub_parser_split_cmdline): Change type of
39447 getline parameter.
d558e6b5 39448 (grub_parser_class): New variable.
39449 (grub_parser_execute): New function.
39450
39451 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
39452 * loader/multiboot2.c: Likewise.
39453 * loader/sparc64/ieee1275/linux.c: Likewise.
39454
39455 * util/grub-emu.c (read_command_list): New dummy function.
39456
18db813d 394572009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39458
39459 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
39460 count to 16 for CCISS and IDA.
39461
6c67de15 394622009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39463
39464 * normal/menu_text.c (grub_wait_after_message): Print a newline
39465 after waiting for user input.
39466
39467 * loader/i386/linux.c: Include `<grub/normal.h>'.
39468 (grub_cmd_linux): Improve the error message about `ask' mode, by
39469 waiting for user input so it's not missed (we can do this, since
39470 user requested interaction).
39471
d9dc87b0 394722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39473
39474 Added missing lst to grub-mkrescue
39475
39476 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
39477 and ${input_dir}/parttool.lst
39478
ac8a2baa 394792009-04-30 David S. Miller <davem@davemloft.net>
39480
ad22a610 39481 * util/hostdisk.c (device_is_wholedisk): New function.
39482 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
39483 zero only if device_is_wholedisk() returns true.
39484
6966215d 39485 * util/hostdisk.c (convert_system_partition_to_system_disk):
39486 Handle virtual disk devices named /dev/vdiskX as found on sparc
39487 and powerpc.
39488
ac8a2baa 39489 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
39490 lettered partition specifier is found, convert to numbered.
39491
979b4fb4 394922009-04-29 David S. Miller <davem@davemloft.net>
39493
e2bf39b2 39494 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
39495 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39496
3c64e104 39497 * normal/command.c: Add missing newline at end of file.
39498
979b4fb4 39499 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
39500 warnings.
39501 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
39502 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
39503 grub_ofdisk_read): Likewise, and deal similarly with the fact that
39504 ihandles have a 32-bit type but need to be stored in a "void *".
39505
136d9f82 395062009-04-28 Pavel Roskin <proski@gnu.org>
39507
9459c306 39508 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
39509 not disk. Adjust all dependencies.
2e08a26a 39510 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 39511 grub_disk_close().
39512
136d9f82 39513 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
39514 parent's partition, don't copy it by reference, as it gets freed
39515 on close.
39516
7dd4a573 395172009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 39518
39519 Preboot hooks support
39520
39521 * commands/boot.c (struct grub_preboot_t): new declaration
39522 (preboots_head): new variable
39523 (preboots_tail): likewise
39524 (grub_loader_register_preboot_hook): new function
39525 (grub_loader_unregister_preboot_hook): likewise
39526 (grub_loader_set): launch preboot hooks
39527 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
39528 (grub_loader_register_preboot_hook): new declaration
39529 (grub_loader_unregister_preboot_hook): likewise
39530
5af922b5 395312009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39532
39533 Warning fix
39534
7dd4a573 39535 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 39536 calling grub_dprintf
39537
a5562c30 395382009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
39539
39540 Bug and warning fixes
39541
7dd4a573 39542 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 39543 declaration
39544 * commands/test.c (test_parse): fixed bug with file tests and corrected
39545 declaration of find_file
39546
4006f85c 395472009-04-26 Pavel Roskin <proski@gnu.org>
39548
39549 * Makefile.in: Don't install empty manual pages if help2man is
39550 missing. Use help2man option for output, not shell redirection.
39551
5c77c3de 395522009-04-26 David S. Miller <davem@davemloft.net>
39553
39554 * util/grub-mkdevicemap.c (make_device_map): Add missing
39555 NESTED_FUNC_ATTR to process_device().
39556
033b10a8 395572009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39558
39559 Test command
39560
39561 * commands/test.c: rewritten to use bash-like test
39562
e4343593 395632009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39564
39565 Parttool autoloading and improvements
39566
7dd4a573 39567 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 39568 (parttool.lst): new target
39569 * genmk.rb: generate parttool-*
39570 (CLEANFILES): add #{parttool}
39571 (PARTTOOLFILES): new variable
39572 * genparttoollist.sh: new file
7dd4a573 39573 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 39574 (grub_pcpart_type): likewise
39575 * commands/parttool.c (helpmsg): new variable
39576 (grub_cmd_parttool): output help if not enough arguments are supplied
39577 autoload modules
39578 (GRUB_MOD_INIT(parttool)): use helpmsg
39579
0d312500 395802009-04-24 David S. Miller <davem@davemloft.net>
39581
7dd4a573 39582 Avoiding opening same device multiple times in device iterator.
0d312500 39583
39584 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 39585 and use it to build a list of partitions in iterate_disk() and
0d312500 39586 iterate_partition().
39587
ac20caff 39588 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
39589 on disk->data.
39590
0dcf7495 39591 * disk/ieee1275/nand.c (grub_nand_iterate): Return
39592 grub_devalias_iterate() result instead of unconditional 0.
39593 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
39594 Also, capture hook return value, either directly or via
39595 grub_children_iterate(), and propagate to caller.
39596 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
39597 grub_children_iterate): Return value is now 'int' instead of
39598 'grub_err_t'.
39599 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
39600 like a proper iterator, stopping when hooks return non-zero.
39601 (grub_devalias_iterate): Likewise.
39602
c8c08833 396032009-04-23 David S. Miller <davem@davemloft.net>
39604
39605 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
39606
f01005a8 396072009-04-22 David S. Miller <davem@davemloft.net>
39608
39609 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
39610 is larger than address_cells, use that value for address_cells too.
39611
4e8269da 39612 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
39613 IEEE1275_MAX_PATH_LEN): Define.
39614 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
39615 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
39616 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
39617 'devtype'. Explicitly NULL terminate devalias expansion.
39618
a1447506 39619 * util/sparc64/ieee1275/misc.c: New file.
39620 * util/sparc64/ieee1275/grub-setup.c: New file.
39621 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
39622 * util/sparc64/ieee1275/grub-mkimage.c: New file.
39623 * util/sparc64/ieee1275/grub-install.in: New file.
39624 * util/ieee1275/ofpath.c: New file.
39625 * util/ieee1275/devicemap.c: New file.
39626 * util/devicemap.c: New file.
39627 * util/deviceiter.c: New file.
39628 * kern/sparc64/ieee1275/init.c: New file.
39629 * include/grub/util/ofpath.h: New file.
39630 * include/grub/util/deviceiter.h: New file.
39631 * util/grub-mkdevicemap.c: Include deviceiter.h.
39632 Implement using grub_util_emit_devicemap_entry and
39633 grub_util_iterate_devices.
39634 * conf/i386-corebook.rmk: Build util/deviceiter.c and
39635 util/devicemap.c into grub-mkdevicemap
39636 * conf/i386-efi.rmk: Likewise.
39637 * conf/i386-ieee1275.rmk: Likewise.
39638 * conf/i386-pc.rmk: Likewise.
39639 * conf/powerpc-ieee1275.rmk: Likewise.
39640 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
39641 images and installation utilities. Build kernel as image
39642 instead of as elf binary. Use common rules as much as possible.
39643
7dd4a573 396442009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 39645
39646 Correct GPT definition
39647
7dd4a573 39648 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 39649 of "attrib" member
39650
c6c5219f 396512009-04-19 Felix Zielcke <fzielcke@z-51.de>
39652
39653 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
39654
0552ff9f 396552009-04-19 David S. Miller <davem@davemloft.net>
39656
39657 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
39658 (grub_rescue_cmd_linux): Rename to...
39659 (grub_cmd_linux): and fix prototype.
39660 (grub_rescue_cmd_initrd): Rename to...
39661 (grub_cmd_initrd): and fix prototype.
39662 (cmd_linux, cmd_initrd): New.
39663 (GRUB_MOD_INIT(linux)): Use grub_register_command().
39664 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
39665
d1a282fc 396662009-04-17 Pavel Roskin <proski@gnu.org>
39667
07c5039f 39668 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
39669 format.
39670 (grub_ohci_transfer): Likewise.
39671
b012002d 39672 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
39673
1bc09c35 39674 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
39675 return without a value. Fix inconsistent indentation.
39676
e0ff9126 39677 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
39678 match struct grub_fs.
39679
d1a282fc 39680 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
39681 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
39682 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
39683 * commands/lspci.c (grub_lspci_iter): Likewise.
39684
a96df3f2 396852009-04-16 Bean <bean123ch@gmail.com>
39686
39687 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
39688 value.
39689
41bb0fe9 396902009-04-15 Pavel Roskin <proski@gnu.org>
39691
39692 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
39693 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
39694 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
39695 definitions.
39696
596c6970 396972009-04-15 Felix Zielcke <fzielcke@z-51.de>
39698
39699 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 39700 that no multiple data or metadata areas are supported and `Unknown
596c6970 39701 metadata header'.
39702
7dd4a573 397032009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 39704
39705 Move loader out of the kernel
39706
39707 * kern/loader.c: moved to ...
39708 * commands/boot.c: ... moved here
39709 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
39710 * commands/boot.c (grub_cmd_boot): moved here. All users updated
39711 * include/grub/kernel.h (grub_machine_fini): export
39712 * include/grub/loader.h (grub_loader_is_loaded): update declaration
39713 (grub_loader_set): likewise
39714 (grub_loader_unset): likewise
39715 (grub_loader_boot): likewise
39716 * conf/common.rmk: new module boot.mod
39717 (pkglib_MODULES): add boot.mod
39718 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
39719 (grub_emu_SOURCES): likewise
39720 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
39721 (grub_emu_SOURCES): likewise
39722 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
39723 (grub_emu_SOURCES): likewise
39724 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
39725 (grub_emu_SOURCES): likewise
39726 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
39727 (grub_emu_SOURCES): likewise
7dd4a573 39728 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
39729 (grub_emu_SOURCES): likewise
0d5d5653 39730 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 39731 (grub_emu_SOURCES): likewise
0d5d5653 39732
7dd4a573 397332009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 39734
39735 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 39736
5999d619 39737 * kern/misc.c (grub_itoa): Removed function
39738 (grub_ltoa): likewise
39739 (grub_vsprintf): use grub_lltoa
39740
7dd4a573 397412009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 39742
39743 Restore grub-emu
39744
39745 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
39746 * conf/i386-coreboot.rmk: likewise
39747 * conf/i386-ieee1275.rmk: likewise
39748 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 39749
20318222 397502009-04-15 Felix Zielcke <fzielcke@z-51.de>
39751
39752 * INSTALL: Add that `./autogen.sh' needs to be run before
39753 `./configure.'.
39754
d05f0df3 397552009-04-14 Bean <bean123ch@gmail.com>
39756
39757 * Makefile.in (pkglib_DATA): Add handler.lst.
39758 (handler.lst): New rule.
39759
39760 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
39761 * conf/i386-coreboot.rmk: Likewise.
39762 * conf/i386-ieee1275.rmk: Likewise.
39763 * conf/i386-efi.rmk: Likewise.
39764 * conf/x86_64-efi.rmk: Likewise.
39765 * conf/powerpc-ieee1275.rmk: Likewise.
39766 * conf/sparc64-ieee1275.rmk: Likewise.
39767
39768 * genhandlerlist.sh: New file.
39769
39770 * genmk.rb: Add rules to generate handler.lst.
39771
39772 * include/grub/normal.h (grub_file_getline): New function definition.
39773 (read_handler_list): Likewise.
39774 (free_handler_list): Likewise.
39775
39776 * include/grub/term.h (grub_term_register_input): Add name parameter
39777 for auto generation of handler.lst.
39778 (grub_term_register_output): Likewise.
39779
39780 * normal/handler.c: New file.
39781
39782 * normal/main.c (get_line): Renamed to grub_file_getline.
39783 (read_config_file): Use the newly renamed grub_file_getline.
39784 (read_command_list): Likewise.
39785 (read_fs_list): Likewise.
39786 (grub_normal_execute): Call read_handler_list to parse handler.lst.
39787 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
39788
39789 * term/efi/console.c (grub_console_init): Add name parameter for auto
39790 generation of handler.lst.
39791 * term/gfxterm.c: Likewise.
39792 * term/i386/pc/at_keyboard.c: Likewise.
39793 * term/i386/pc/console.c: Likewise.
39794 * term/i386/pc/serial.c: Likewise.
39795 * term/i386/pc/vesafb.c: Likewise.
39796 * term/i386/pc/vga.c: Likewise.
39797 * term/i386/pc/vga_text.c: Likewise.
39798 * term/ieee1275/ofconsole.c: Likewise.
39799 * term/usb_keyboard.c: Likewise.
39800
33c846be 398012009-04-14 Bean <bean123ch@gmail.com>
39802
39803 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
39804 properly with null character.
39805
4484e01e 398062009-04-14 Felix Zielcke <fzielcke@z-51.de>
39807
39808 * configure: Remove.
39809 * config.h.in: Likewise.
f93d668e 39810 * stamp-h.in: Likewise.
4484e01e 39811 * DISTLIST: Likewise.
39812 * conf/common.mk: Likewise.
39813 * conf/i386-coreboot.mk: Likewise.
39814 * conf/i386-efi.mk: Likewise.
39815 * conf/i386-ieee1275.mk: Likewise.
39816 * conf/i386.mk: Likewise.
39817 * conf/i386-pc.mk: Likewise.
39818 * conf/powerpc-ieee1275.mk: Likewise.
39819 * conf/sparc64-ieee1275.mk: Likewise.
39820 * conf/x86_64-efi.mk: Likewise.
39821
39822 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
39823 develop on GRUB.
39824
7dd4a573 398252009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 39826 David S. Miller <davem@davemloft.net>
39827
39828 * util/hostdisk.c (make_device_name): Fix buffer length
39829 calculations.
39830
e25b5a8c 398312009-04-14 Felix Zielcke <fzielcke@z-51.de>
39832
39833 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
39834 <sys/param.h> and <sys/sysctl.h>.
39835 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
39836 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
39837 opening the device and reset them afterwards.
39838
1f1f580c 398392009-04-13 Pavel Roskin <proski@gnu.org>
39840
39841 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
39842 Reported by John Stanley <jpsinthemix@verizon.net>
39843
7ebc2d6b 398442009-04-13 Robert Millan <rmh@aybabtu.com>
39845
39846 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 39847 that name for menuentries when appropriate.
7ebc2d6b 39848
d8ba3667 398492009-04-13 Felix Zielcke <fzielcke@z-51.de>
39850
39851 * util/grub.d/10_freebsd.in: Add a missing `fi'.
39852
cba416eb 398532009-04-13 Robert Millan <rmh@aybabtu.com>
39854
39855 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
39856 to Linux, simply abort telling the user it's no longer supported.
39857
a547a745 398582009-04-13 Felix Zielcke <fzielcke@z-51.de>
39859
39860 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 39861 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 39862 `freebsd_loadenv' only when devices.hints exist.
39863
232a769c 398642009-04-13 Pavel Roskin <proski@gnu.org>
39865
39866 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
39867
c3012039 398682009-04-13 Felix Zielcke <fzielcke@z-51.de>
39869
39870 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
39871 partition number.
39872 (grub_drive): Likewise.
39873
234022fe 398742009-04-13 David S. Miller <davem@davemloft.net>
39875
39876 * kern/sparc64/ieee1275/ieee1275.c: New file.
39877 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
39878 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
39879 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
39880 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
39881 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
39882 grub_ieee1275_alloc_physmem): Declare new exported functions.
39883
d8e1836c 39884 * include/grub/sparc64/ieee1275/loader.h: New file.
39885 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39886 * include/grub/sparc64/kernel.h: Likewise.
39887 * loader/sparc64/ieee1275/linux.c: Likewise.
39888
96bd81ec 39889 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
39890 (grub_fstest_SOURCES): Likewise.
39891
6a4737e5 39892 * util/hostdisk.c (make_device_name): Do not make any assumptions
39893 about the length of drive names.
39894
1d7a72fd 39895 * kern/dl.c (grub_dl_load_file): Close file immediately when
39896 we are done using it.
39897
56bc2471 398982009-04-12 David S. Miller <davem@davemloft.net>
39899
39900 * kern/misc.c (grub_ltoa): Fix cast when handling negative
39901 values. Noticed by Pavel Roskin.
39902
df38d0bb 39903 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
39904 target compiler.
7dd4a573 39905
e382e93a 39906 * genmk.rb: Add more flexible image type specification, also
39907 pass --strip-unneeded to objcopy.
39908 * conf/i386-pc.rmk: Use *_FORMAT.
39909 * conf/i386-pc.mk: Rebuilt.
39910
f5dbbca9 39911 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
39912 (OFDISK_HASH_SZ): Define.
39913 (ofdisk_hash): New hash table.
39914 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
39915 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
39916 instead of device phandle which is not unique.
39917
91c88b12 39918 * kern/sparc64/ieee1275/init.c: Delete, replace with...
39919 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
39920 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
39921 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
39922 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
39923 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
39924 GRUB_KERNEL_MACHINE_DATA_END): Define.
39925 (grub_kernel_image_size, grub_total_module_size): Declare.
39926
5b5d4aa5 399272009-04-12 Pavel Roskin <proski@gnu.org>
39928
7dd4a573 39929 * configure.ac: Change the logic when we check for target tools.
39930 Do it when the target is specified and it's different from the
39931 specified value of the host.
5b5d4aa5 39932
c91e1793 399332009-04-11 Felix Zielcke <fzielcke@z-51.de>
39934
39935 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
39936 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
39937 GNU/kFreeBSD. Check if a device is a character device. Use
39938 DIOCGMEDIASIZE to get the size.
39939 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
39940 support for GNU/kFreeBSD.
39941 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
39942 is a character device instead of a block device. Add support for
39943 FreeBSD device names.
39944
39945 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
39946 is a character device instead of a block device.
39947
39948 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
39949 is a character device instead of a block device.
39950
b1ac8644 399512009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
39952
39953 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
39954 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
39955 FreeBSD. Check if a device is a character device. Use
39956 DIOCGMEDIASIZE to get the size.
39957 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
39958 support for FreeBSD.
39959 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
39960 is a character device instead of a block device. Add support for
39961 FreeBSD device names.
39962
39963 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
39964 a character device instead of a block device.
39965 (grub_util_check_char_device): New function.
39966
39967 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
39968 a character device instead of a block device.
39969
39970 * include/grub/util/getroot.h (grub_util_check_char_device): New
39971 prototype.
39972
a3f7515a 399732009-04-11 David S. Miller <davem@davemloft.net>
39974
39975 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
39976 static libgcc.
39977 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
39978 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
39979 function, if present.
39980 (__bswapdi2): Likewise.
39981
0d44993d 39982 * include/grub/sparc64/ieee1275/boot.h: New file.
39983 * boot/sparc64/ieee1275/boot.S: Likewise.
39984 * boot/sparc64/ieee1275/diskboot.S: Likewise.
39985
ed3d2bc2 39986 * kern/misc.c (grub_ltoa): New function.
39987 (grub_vsprintf): Use it to format 'long' integers.
39988
d3bfb59c 399892009-04-10 David S. Miller <davem@davemloft.net>
39990
39991 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
39992 slots are of type grub_ieee1275_cell_t.
39993 (grub_nand_read): Likewise.
39994 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
39995 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
39996 macros are used to compare values in arg/ret block of the call.
39997 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39998 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
39999 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
40000 grub_ieee1275_instance_to_path, grub_ieee1275_write,
40001 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
40002 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
40003 grub_ieee1275_close, grub_ieee1275_set_property,
40004 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
40005 grub_ieee1275_cell_t.
40006 * kern/ieee1275/openfw.c (grub_map): Likewise.
40007 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
40008 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
40009
450e2238 40010 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
40011 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
40012 (grub_devalias_iterate): Likewise.
40013
7dd4a573 400142009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 40015
40016 UFS improvements
40017
40018 * fs/ufs.c (INODE_NBLOCKS): new definition
40019 (struct grub_ufs_dirent): added fields for non-BSD dirents
40020 (grub_ufs_get_file_block): fixed double indirect handling
40021 (grub_ufs_lookup_symlink): use more robust way to determine whether
40022 symlink is inline
40023 (grub_ufs_find_file): support for non-BSD dirents
40024 (grub_ufs_dir): support for non-BSD dirents
40025
e7e6862a 400262009-04-10 Bean <bean123ch@gnail.com>
40027
40028 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
40029 attribute, otherwise the size would be wrong for i386 platform.
40030
40031 * include/grub/pci.h (grub_pci_read_word): New inline function.
40032 (grub_pci_read_byte): Likewise.
40033 (grub_pci_write): Likewise.
40034 (grub_pci_write_word): Likewise.
40035 (grub_pci_write_byte): Likewise.
40036
40037 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
40038
40039 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
40040 (find_framebuf): Scan pci to locate the frame buffer address.
40041
40042 * commands/efi/fixvideo.c: New file.
40043
40044 * commands/efi/loadbios.c: Likewise.
40045
40046 * commands/memrw.c: Likewise.
40047
40048 * util/grub-dumpbios.in: Likewise.
40049
40050 * conf/common.rmk (grub-dumpbios): New utility.
40051 (pkglib_MODULES): New module memrw.mod.
40052 (memrw_mod_SOURCE): New macro.
40053 (memrw_mod_CFLAGS): Likewise.
40054 (memrw_mod_LDFLAGS): Likewise.
40055
7dd4a573 40056 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 40057 fixvideo.mod.
40058 (loadbios_mod_SOURCE): New macro.
40059 (loadbios_mod_CFLAGS): Likewise.
40060 (loadbios_mod_LDFLAGS): Likewise.
40061 (fixvideo_mod_SOURCE): Likewise.
40062 (fixvideo_mod_CFLAGS): Likewise.
40063 (fixvideo_mod_LDFLAGS): Likewise.
40064
7dd4a573 40065 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 40066 fixvideo.mod.
40067 (loadbios_mod_SOURCE): New macro.
40068 (loadbios_mod_CFLAGS): Likewise.
40069 (loadbios_mod_LDFLAGS): Likewise.
40070 (fixvideo_mod_SOURCE): Likewise.
40071 (fixvideo_mod_CFLAGS): Likewise.
40072 (fixvideo_mod_LDFLAGS): Likewise.
40073
af63ada2 400742009-04-08 Felix Zielcke <fzielcke@z-51.de>
40075
40076 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
40077
c2cdde70 400782009-04-07 David S. Miller <davem@davemloft.net>
40079
40080 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
40081 support for R_SPARC_OLO10 relocations. Fix compile warning for
40082 R_SPARC_WDISP30 case.
ea3f72cf 40083 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 40084
761319cf 400852009-04-06 Pavel Roskin <proski@gnu.org>
40086
1007d1f5 40087 * include/grub/misc.h (ARRAY_SIZE): New macro.
40088 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
40089 New macro.
40090 * loader/i386/linux.c (allocate_pages): Use free_pages().
40091 (grub_linux_unload): Don't use free_pages().
40092 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
40093 wrong index. Treat all other modes as text modes.
40094 (grub_cmd_linux): Initialize vid_mode unconditionally to
40095 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
40096
761319cf 40097 * commands/help.c (print_command_help): Use cmd->prio, not
40098 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
40099
ea761d40 401002009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 40101
ea761d40 40102 Parttool
40103
40104 * parttool/pcpart.c: new file
40105 * commands/parttool.c: likewise
40106 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
40107 (parttool_mod_SOURCES): new variable
40108 (parttool_mod_CFLAGS): likewise
40109 (parttool_mod_LDFLAGS): likewise
40110 (pcpart_mod_SOURCES): likewise
40111 (pcpart_mod_CFLAGS): likewise
40112 (pcpart_mod_LDFLAGS): likewise
7dd4a573 40113 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 40114 and parttool/pcpart.c
40115 * conf/i386-efi.rmk: likewise
40116 * conf/i386-ieee1275.rmk: likewise
40117 * conf/i386-pc.rmk: likewise
40118 * conf/powerpc-ieee1275.rmk: likewise
40119 * conf/sparc64-ieee1275.rmk: likewise
40120 * conf/x86_64-ieee1275.rmk: likewise
40121
05aaebfb 401222009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
40123
40124 Support for mtime and further expandability of dir command
40125
40126 * include/grub/lib/datetime.h: moved to ...
7dd4a573 40127 * include/grub/datetime.h: ... moved here and added
05aaebfb 40128 declaration of grub_unixtime2datetime. All users updated
7dd4a573 40129 * include/grub/fs.h: new syntax for dir and mtime functions in
40130 struct grub_fs
05aaebfb 40131 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
40132 and GRUB_FSHELP_FLAGS_MASK
40133 * commands/ls.c (grub_ls_list_files): Write mtime in long format
40134 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
40135 (grub_ext2_mtime): new function
40136 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
40137 (grub_hfsplus_mtime): new function
40138 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
40139 (GRUB_UFS_ATTR_FILE): likewise
40140 (GRUB_UFS_ATTR_LNK): likewise
40141 (struct grub_ufs_sblock): new fields mtime
40142 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
40143 all users updated
40144 (grub_ufs_dir): mtime support
40145 (grub_ufs_mtime): new function
40146 * fs/affs.c (grub_affs_dir): use new dir syntax
40147 * fs/afs.c (grub_afs_dir): likewise
40148 * fs/cpio.c (grub_cpio_dir): likewise
40149 * fs/fat.c (grub_fat_find_dir): likewise
40150 * fs/hfs.c (grub_hfs_dir): likewise
40151 * fs/iso9660.c (grub_iso9660_dir): likewise
40152 * fs/jfs.c (grub_jfs_dir): likewise
40153 * fs/minix.c (grub_minix_dir): likewise
40154 * fs/ntfs.c (grub_ntfs_dir): likewise
40155 * fs/reiserfs.c (grub_reiserfs_dir): likewise
40156 * fs/sfs.c (grub_sfs_dir): likewise
40157 * fs/xfs.c (grub_xfs_dir): likewise
40158 * util/hostfs.c (grub_hostfs_dir): likewise
40159 * lib/datetime.c: moved to ...
40160 * normal/datetime.c: ... moved here
40161 (grub_unixtime2datetime): new function
40162 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 40163 * normal/completion.c (iterate_dir): use new dir syntax
40164 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 40165 last modification time of a volume
7dd4a573 40166 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 40167 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 40168 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 40169 (normal_mod_SOURCES): likewise
40170 (datetime_mod_SOURCES): Removed lib/datetime.c
40171 * conf/i386-efi.rmk: likewise
7dd4a573 40172 * conf/i386-ieee1275.rmk: likewise
05aaebfb 40173 * conf/i386-pc.rmk: likewise
40174 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 40175 * conf/sparc64-ieee1275.rmk: likewise
40176 * conf/x86_64-efi.rmk: likewise
05aaebfb 40177
8a7e1a14 401782009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
40179
40180 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 40181
40182 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 40183 on grub_fat_find_dir
40184 (grub_fat_find_dir): use grub_fat_iterate_dir
40185 (grub_fat_label): likewise
40186
04186a9c 401872009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
40188
7dd4a573 40189 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 40190 and command.h
40191 remove extraneous kernel_elf_HEADERS
40192
da4c0bb6 401932009-04-04 Bean <bean123ch@gnail.com>
40194
40195 * include/grub/util/misc.h: Add dummy function fsync for mingw.
40196
40197 * util/misc.c: Likewise.
40198
54ad9555 401992009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40200
40201 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
40202 instead of grub_printf.
40203
7a6bf9f2 402042009-04-03 Robert Millan <rmh@aybabtu.com>
40205
40206 * loader/i386/linux.c (grub_linux_setup_video): Fill
40207 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
40208 values from `mode info' structure instead of hardcoded
40209 values.
40210
3fcc2083 402112009-04-01 Pavel Roskin <proski@gnu.org>
40212
40213 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
40214 unused now.
40215 * genmk.rb: Likewise.
40216 * configure.ac: Likewise.
40217
5ec9740b 402182009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
40219
40220 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
40221 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
40222
5270cec8 402232009-04-01 David S. Miller <davem@davemloft.net>
40224
40225 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 40226 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 40227 (grub_setjmp): Mark with 'returns_twice' attribute.
40228 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
40229 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
40230 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
40231
9c3dd854 402322009-04-01 Robert Millan <rmh@aybabtu.com>
40233
40234 Reapply fix from 2008-07-28 which was accidentally reverted; also
40235 perform the same fix to a similar check in same function.
40236
40237 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
40238 with the same number are found, just use issue a warning with
40239 grub_dprintf(), as this error has been reported to be non-fatal.
40240
0d818b7e 402412009-03-31 Pavel Roskin <proski@gnu.org>
40242
40243 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
40244 for cross-compilation.
40245
95646d92 402462009-03-30 Robert Millan <rmh@aybabtu.com>
40247
40248 Fix i386-ieee1275 build.
40249
40250 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
40251 Remove declaration.
40252
6a003ed1 402532009-03-30 Pavel Roskin <proski@gnu.org>
40254
40255 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
40256 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
40257 zero-terminated, rely only on the strlen value. Fix comparison
40258 of strings differing in length.
40259
92f33540 402602009-03-30 Robert Millan <rmh@aybabtu.com>
40261
40262 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
40263 checking for abi version. Improve error messages on BIOS to notify
40264 user about `linux16' command.
40265
a8c48fd5 402662009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
40267
f968172e 40268 Leak fixes
a8c48fd5 40269
f968172e 40270 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
40271 in case of collision
40272 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 40273
9c323f09 402742009-03-29 Robert Millan <rmh@aybabtu.com>
40275
40276 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
40277 set `vid_mode' accordingly.
40278 (grub_linux_boot): Process `vid_mode' and set video mode.
40279
ae68f423 402802009-03-29 Robert Millan <rmh@aybabtu.com>
40281
40282 * util/grub.d/10_linux.in (linux_entry): New function.
40283 Factorize generation of Linux boot entries.
40284
5709cfc4 402852009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
40286
40287 Make the format of Environment Block plain text. The boot loader
40288 part is not tested well yet.
7dd4a573 40289
5709cfc4 40290 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
40291 (buffer): Removed.
40292 (envblk): Likewise.
40293 (usage): Remove "info" and "clear". Add "unset". Update the
40294 description of "set", as this does not delete variables any
40295 longer.
40296 (create_envblk_file): Complete rewrite.
40297 (open_envblk_file): Likewise.
40298 (cmd_info): Removed.
40299 (cmd_list): Likewise.
40300 (cmd_set): Likewise.
40301 (cmd_clear): Likewise.
40302 (list_variables): New function.
40303 (write_envblk): Likewise.
40304 (set_variables): Likewise.
40305 (unset_variables): Likewise.
40306 (main): Complete rewrite.
40307
40308 * commands/loadenv.c (buffer): Removed.
40309 (envblk): Likewise.
40310 (open_envblk_file): New function.
40311 (read_envblk_file): Complete rewrite.
40312 (grub_cmd_load_env): Likewise.
40313 (grub_cmd_list_env): Likewise.
40314 (struct blocklist): New struct.
40315 (free_blocklists): New function.
40316 (check_blocklists): Likewise.
40317 (write_blocklists): Likewise.
40318 (grub_cmd_save_env): Complete rewrite.
40319
40320 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
40321 a plain text signature.
40322 (GRUB_ENVBLK_MAXLEN): Removed.
40323 (struct grub_envblk): Complete rewrite.
40324 (grub_envblk_find): Removed.
40325 (grub_envblk_insert): Likewise.
40326 (grub_envblk_open): New prototype.
40327 (grub_envblk_set): Likewise.
40328 (grub_envblk_delete): Put const to VALUE.
40329 (grub_envblk_iterate): Put const to NAME and VALUE.
40330 (grub_envblk_close): New prototype.
40331 (grub_envblk_buffer): New inline function.
40332 (grub_envblk_size): Likewise.
40333
40334 * lib/envblk.c: Include grub/mm.h.
40335 (grub_env_find): Removed.
40336 (grub_envblk_open): New function.
40337 (grub_envblk_close): Likewise.
40338 (escaped_value_len): Likewise.
40339 (find_next_line): Likewise.
40340 (grub_envblk_insert): Removed.
40341 (grub_envblk_set): New function.
40342 (grub_envblk_delete): Complete rewrite.
40343 (grub_envblk_iterate): Likewise.
40344
a9368fd3 403452009-03-28 Robert Millan <rmh@aybabtu.com>
40346
40347 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
40348 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
40349 variables. Use 16-bit loader.
40350 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
40351 loader.
40352 * kern/i386/loader.S (grub_linux_boot): Rename to ...
40353 (grub_linux16_boot): ... this. Update all users.
40354 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
40355 (grub_linux_boot): ... this. Update all users.
40356
40357 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
40358 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
40359 commands to `linux16' and `initrd16'.
40360 (GRUB_MOD_FINI(linux)): Rename to ...
40361 (GRUB_MOD_FINI(linux16)): ... this.
40362
e4dd5a7e 403632009-03-24 Pavel Roskin <proski@gnu.org>
40364
40365 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
40366 not just for compilation.
40367
c04d6e05 403682009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
40369
40370 Move multiboot helper out of kernel
40371
40372 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
40373 `loader/i386/multiboot_helper.S'.
40374 * conf/i386-coreboot.rmk: Likewise
40375 * conf/i386-ieee1275.rmk: Likewise
40376
40377 * kern/i386/loader.S: Move multiboot helpers from here...
40378 * loader/i386/multiboot_helper.S: ...moved here
40379 * include/grub/i386/loader.h: Move declarations of multiboot
40380 helpers from here...
40381 * include/grub/i386/multiboot.h: ...moved here
40382 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
40383
42a5b3fc 403842009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40385
40386 * kern/env.c (grub_env_context_open): Added an argument to specify
40387 whether a new context inherits exported variables from current
40388 one. This is useful when making a sandbox to interpret a config
40389 file.
40390 All callers updated.
40391
40392 * include/grub/env.h (grub_env_context_open): Updated the prototype.
40393
b28bbc4e 403942009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40395
40396 * kern/env.c (grub_env_context_close): Fix memory leaks.
40397
f04f02e4 403982009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40399
40400 * normal/main.c (grub_normal_execute): Added an argument
40401 BATCH to specify if an interactive interface should be provided
40402 after reading a config file.
40403 All callers updated.
40404 (read_command_list): Prevent being executed twice.
40405 (read_fs_list): Likewise.
40406
42a5b3fc 40407 * include/grub/normal.h (grub_normal_execute): Updated the
40408 prototype.
f04f02e4 40409
41473ac2 404102009-03-22 Pavel Roskin <proski@gno.org>
40411
fbc00b0c 40412 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
40413 _start.
40414 * kern/i386/pc/startup.S: Likewise.
40415 * kern/i386/efi/startup.S: Likewise.
40416 * kern/i386/ieee1275/startup.S: Likewise.
40417 * kern/i386/coreboot/startup.S: Likewise.
40418 * kern/x86_64/efi/startup.S: Likewise.
40419
41473ac2 40420 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
40421 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
40422 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
40423
2274cc8f 404242009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
40425
40426 Bugfixes in multiboot for bugs uncovered by solaris kernel.
40427
40428 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
40429 limit detection.
40430 Use vaddr of correct segment for entry_point.
40431
b1b797cb 404322009-03-21 Bean <bean123ch@gmail.com>
40433
40434 * commands/blocklist.c: Add include file <grub/command.h>, remove
40435 <grub/normal.h> and <grub/arg.h>.
40436 (grub_cmd_blocklist): Use the new command interface.
40437 (GRUB_MOD_INIT): Likewise.
40438 (GRUB_MOD_FINI): Likewise.
40439 * commands/boot.c: Likewise.
40440 * commands/cat.c: Likewise.
40441 * commands/cmp.c: Likewise.
40442 * commands/configfile.c: Likewise.
40443 * commands/crc.c: Likewise.
40444 * commands/echo.c: Likewise.
40445 * commands/halt.c: Likewise.
40446 * commands/handler.c: Likewise.
40447 * commands/hdparm.c: Likewise.
40448 * commands/help.c: Likewise.
40449 * commands/hexdump.c: Likewise.
40450 * commands/loadenv.c: Likewise.
40451 * commands/ls.c: Likewise.
40452 * commands/lsmmap.c: Likewise.
40453 * commands/lspci.c: Likewise.
40454 * commands/loadenv.c: Likewise.
40455 * commands/read.c: Likewise.
40456 * commands/reboot.c: Likewise.
40457 * commands/search.c: Likewise.
40458 * commands/sleep.c: Likewise.
40459 * commands/test.c: Likewise.
40460 * commands/usbtest.c: Likewise.
40461 * commands/videotest.c: Likewise.
40462 * commands/i386/cpuid.c: Likewise.
40463 * commands/i386/pc/halt.c: Likewise.
40464 * commands/i386/pc/play.c: Likewise.
40465 * commands/i386/pc/pxecmd.c: Likewise.
40466 * commands/i386/pc/vbeinfo.c: Likewise.
40467 * commands/i386/pc/vbetest.c: Likewise.
40468 * commands/ieee1275/suspend.c: Likewise.
40469 * disk/loopback.c: Likewise.
40470 * font/font_cmd.c: Likewise.
40471 * hello/hello.c: Likewise.
40472 * loader/efi/appleloader.c: Likewise.
40473 * loader/efi/chainloader.c: Likewise.
40474 * loader/i386/bsd.c: Likewise.
40475 * loader/i386/efi/linux.c: Likewise.
40476 * loader/i386/ieee1275/linux.c: Likewise.
40477 * loader/i386/linux.c: Likewise.
40478 * loader/i386/pc/chainloader.c: Likewise.
40479 * loader/i386/pc/linux.c: Likewise.
40480 * loader/powerpc/ieee1275/linux.c: Likewise.
40481 * loader/multiboot_loader.c: Likewise.
40482 * term/gfxterm.c: Likewise.
40483 * term/i386/pc/serial.c: Likewise.
40484 * term/terminfo.c: Likewise.
40485
40486 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
40487 * term/i386/pc/vga.c: Likewise.
40488 * video/readers/jpeg.c: Likewise.
40489 * video/readers/png.c: Likewise.
40490 * video/readers/tga.c: Likewise.
40491
40492 * util/grub-fstest (cmd_loopback): Removed.
40493 (cmd_blocklist): Likewise.
40494 (cmd_ls): Likewise.
40495 (grub_register_command): Likewise.
40496 (grub_unregister_command): Likewise.
40497 (execute_command): Use grub_command_find to locate command and execute
40498 it.
40499
40500 * include/grub/efi/chainloader.h: Removed.
40501 * loader/efi/chainloader_normal.c: Likewise.
40502 * loader/i386/bsd_normal.c: Likewise.
40503 * loader/i386/pc/chainloader_normal.c: Likewise.
40504 * loader/i386/pc/multiboot_normal.c: Likewise.
40505 * loader/linux_normal.c: Likewise.
40506 * loader/multiboot_loader_normal.c: Likewise.
40507 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40508
40509 * gencmdlist.sh: Scan new registration command grub_register_extcmd
40510 and grub_register_command_p1.
40511
40512 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
40513 kern/command.c, lib/arg.c and commands/extcmd.c.
40514 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
40515 (minicmd_mod_SOURCES): New variable.
40516 (minicmd_mod_CFLAGS): Likewise.
40517 (minicmd_mod_LDFLAGS): Likewise.
40518 (extcmd_mod_SOURCES): Likewise.
40519 (extcmd_mod_CFLAGS): Likewise.
40520 (extcmd_mod_LDFLAGS): Likewise.
40521 (boot_mod_SOURCES): Removed.
40522 (boot_mod_CFLAGS): Likewise.
40523 (boot_mod_LDFLAGS): Likewise.
40524
40525 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
40526 kern/corecmd.c.
40527 (kernel_img_HEADERS): Add command.h.
40528 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
40529 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
40530 and lib/arg.c.
40531 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
40532 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
40533 remove the corresponding normal mode command.
40534 (normal_mod_SOURCES): Remove normal/arg.c.
40535 * conf/i386-coreboot.rmk: Likewise.
40536 * conf/i386-efi.rmk: Likewise.
40537 * conf/i386-ieee1275.rmk: Likewise.
40538 * conf/powerpc-ieee1275.rmk: Likewise.
40539 * conf/x86_64-efi.rmk: Likewise.
40540
40541 * include/grub/arg.h: Move from here ...
40542 * include/grub/lib/arg.h: ... to here.
40543
40544 * normal/arg.c: Move from here ...
40545 * lib/arg.c: ... to here.
40546
40547 * commands/extcmd.c: New file.
40548 * commands/minicmd.c: Likewise.
40549 * include/grub/command.h: Likewise.
40550 * include/grub/extcmd.h: Likewise.
40551 * kern/command.c: Likewise.
40552 * kern/corecmd.c: Likewise.
40553
40554 * kern/list.c (grub_list_iterate): Return int instead of void.
40555 (grub_list_insert): New function.
40556 (grub_prio_list_insert): Likewise.
40557
40558 * kern/rescue.c (grub_rescue_command): Removed.
40559 (grub_rescue_command_list): Likewise.
40560 (grub_rescue_register_command): Likewise.
40561 (grub_rescue_unregister_command): Likewise.
40562 (grub_rescue_cmd_boot): Move to minicmd.c
40563 (grub_rescue_cmd_help): Likewise.
40564 (grub_rescue_cmd_info): Likewise.
40565 (grub_rescue_cmd_boot): Likewise.
40566 (grub_rescue_cmd_testload): Likewise.
40567 (grub_rescue_cmd_dump): Likewise.
40568 (grub_rescue_cmd_rmmod): Likewise.
40569 (grub_rescue_cmd_lsmod): Likewise.
40570 (grub_rescue_cmd_exit): Likewise.
40571 (grub_rescue_print_devices): Moved to corecmd.c.
40572 (grub_rescue_print_files): Likewise.
40573 (grub_rescue_cmd_ls): Likewise.
40574 (grub_rescue_cmd_insmod): Likewise.
40575 (grub_rescue_cmd_set): Likewise.
40576 (grub_rescue_cmd_unset): Likewise.
7d074e3c 40577 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 40578 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 40579 commands, remove grub_rescue_register_command calls.
b1b797cb 40580
7d074e3c 40581 * normal/command.c (grub_register_command): Removed.
b1b797cb 40582 (grub_unregister_command): Likewise.
40583 (grub_command_find): Likewise.
40584 (grub_iterate_commands): Likewise.
40585 (rescue_command): Likewise.
40586 (export_command): Moved to corecmd.c.
40587 (set_command): Removed.
40588 (unset_command): Likewise.
40589 (insmod_command): Likewise.
40590 (rmmod_command): Likewise.
40591 (lsmod_command): Likewise.
40592 (grub_command_init): Likewise.
40593
40594 * normal/completion.c (iterate_command): Use cmd->prio to check for
40595 active command.
40596 (complete_arguments): Use grub_extcmd_t structure to find options.
40597 (grub_normal_do_completion): Change function grub_iterate_commands to
40598 grub_command_iterate.
40599
40600 * normal/execute.c (grub_script_execute_cmd): No need to parse
40601 argument here.
40602
40603 * normal/main.c (grub_dyncmd_dispatcher): New function.
40604 (read_command_list): Register unload commands as dyncmd.
40605 (grub_cmd_normal): Use new command interface, register rescue,
40606 unregister normal at entry, register normal, unregister rescue at exit.
40607
40608 * include/grub/list.h (grub_list_test_t): New type.
40609 (grub_list_iterate): Return int instead of void.
40610 (grub_list_insert): New function.
40611 (GRUB_AS_NAMED_LIST_P): New macro.
40612 (GRUB_AS_PRIO_LIST): Likewise.
40613 (GRUB_AS_PRIO_LIST_P): Likewise.
40614 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
40615 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
40616 (grub_prio_list): New structure.
40617 (grub_prio_list_insert): New function.
40618 (grub_prio_list_remove): New inline function.
40619
40620 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
40621 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
40622 (GRUB_COMMAND_FLAG_MENU): Likewise.
40623 (GRUB_COMMAND_FLAG_BOTH): Likewise.
40624 (GRUB_COMMAND_FLAG_TITLE): Likewise.
40625 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
40626 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
40627 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
40628 (grub_command): Likewise.
40629 (grub_register_command): Likewise.
40630 (grub_command_find): Likewise.
40631 (grub_iterate_commands): Likewise.
40632 (grub_command_init): Likewise.
40633 (grub_arg_parse): Likewise.
40634 (grub_arg_show_help): Likewise.
40635
40636 * include/grub/rescue.h (grub_rescue_register_command): Removed.
40637 (grub_rescue_unregister_command): Likewise.
40638
40639 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
40640 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
40641 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
40642
40643 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
40644 grub_rescue_cmd_initrd.
40645 * include/grub/i386/loader.h: Likewise.
40646 * include/grub/x86_64/loader.h: Likewise.
40647
40648 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
40649
1f4147aa 406502009-03-21 Bean <bean123ch@gmail.com>
40651
40652 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
40653 instead of stat in mingw environment.
40654
40655 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
40656
40657 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
40658
40659 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
40660 AC_CONFIG_LINKS.
40661
2156d5ba 406622009-03-21 Bean <bean123ch@gmail.com>
40663
40664 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
40665 out of range error.
40666
177b82ca 406672009-03-18 Michel Dänzer <michel@daenzer.net>
40668
40669 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
40670 checking inode flags for EXT4_EXTENTS_FLAG.
40671
14aad807 406722009-03-18 Robert Millan <rmh@aybabtu.com>
40673
40674 * loader/i386/linux.c: Include `<grub/video.h>' and
40675 `<grub/i386/pc/vbe.h>'..
40676 (grub_linux_setup_video): New function. Loosely based on the EFI one.
40677 (grub_linux32_boot): Attempt to configure video settings with
40678 grub_linux_setup_video().
40679 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
40680 to avoid grub_console_fini() which would step out of graphical mode
40681 unconditionally.
40682
8cf83a27 406832009-03-14 Robert Millan <rmh@aybabtu.com>
40684
40685 Fix build on powerpc.
40686 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
40687
40164e75 406882009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
40689
40690 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
40691 background image command.
40692
c58bc32a 406932009-03-12 Colin D Bennett <colin@gibibit.com>
40694
40695 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
40696 (grub_gfxterm_putchar): Extract pairs of identical calls to
40697 draw_cursor out of conditional blocks.
40698
5415144a 406992009-03-11 Pavel Roskin <proski@gnu.org>
40700
40701 * fs/hfs.c (grub_hfs_strncasecmp): New function.
40702 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
40703
6394042e 407042009-03-11 Robert Millan <rmh@aybabtu.com>
40705
40706 * loader/i386/multiboot_elfxx.c
40707 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
40708
b7b50e5f 407092009-03-11 Felix Zielcke <fzielcke@z-51.de>
40710
40711 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
40712 `kern/handler.c'.
40713
1ca7fc96 407142009-03-11 Robert Millan <rmh@aybabtu.com>
40715
40716 * loader/i386/multiboot.c (code_size): New variable.
40717 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 40718 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 40719 4-byte alignment to MBI and others by increasing
7d074e3c 40720 `boot_loader_name_length' appropriately.
1ca7fc96 40721
40722 * loader/i386/multiboot_elfxx.c
40723 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
40724
a83ea1d2 407252009-03-09 Felix Zielcke <fzielcke@z-51.de>
40726
40727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
40728 `fs/ext2.c'.
40729
aa9f3bff 407302009-03-08 Robert Millan <rmh@aybabtu.com>
40731
40732 Make loader/i386/linux.c usable on i386-pc again.
40733
40734 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
40735 memory to heap.
40736 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
40737 `#error' stanza.
40738
d8b3b60e 407392009-03-07 Bean <bean123ch@gmail.com>
40740
40741 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
40742 allocation.
40743
b362c9e9 407442009-03-06 Robert Millan <rmh@aybabtu.com>
40745
40746 Fix display issue on terminals with screen size other than 80x25
40747 (e.g. gfxterm with resolution higher than 640x480).
40748
40749 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 40750 position relative to the center of the terminal instead of relying
b362c9e9 40751 on a hardcoded offset.
40752
9304eef1 407532009-03-04 Robert Millan <rmh@aybabtu.com>
40754
40755 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
40756 installed.
40757
40758 * Makefile.in (host_kernel): New variable.
40759 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
40760 scripts instead of just the windows one.
40761 * configure.ac: Initialize and AC_SUBST `host_kernel'.
40762
eabc95fb 407632009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 40764
40765 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
40766 `kern/handler.c'.
40767 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40768 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40769 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40771 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40772 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40773
ceb1223c 407742009-03-04 Felix Zielcke <fzielcke@z-51.de>
40775
40776 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
40777 or if there's no space for the disk label and print the partition number on a
40778 invalid magic.
40779
4910684a 407802009-03-04 Felix Zielcke <fzielcke@z-51.de>
40781
40782 * util/misc.c: Include <time.h>.
40783 (grub_millisleep): New function.
40784
7e9ca17a 407852009-03-04 Bean <bean123ch@gmail.com>
40786
40787 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
40788 another option -mno-red-zone.
40789
40790 * commands/handler.c: Change module description.
40791
40792 * kern/handler.c: Add missing space at the end of description line.
40793
40794 * kern/list.c: Likewise.
40795
f501677c 407962009-03-03 Robert Millan <rmh@aybabtu.com>
40797
40798 Move more components to the relocation area, and fix mbi pointer
40799 handling to use the destination rather than the origin (thanks to
40800 Vladimir Serbinenko for spotting).
40801
40802 * loader/i386/multiboot.c (mbi_dest): New variable.
40803 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
40804 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
40805 relocation area.
40806
9902d047 408072009-03-01 Bean <bean123ch@gmail.com>
40808
50fb7002 40809 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 40810 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
40811 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
40812 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
40813
40814 * loader/i386/efi/linux.c (acpi_guid): New variable.
40815 (acpi_guid): Likewise.
40816 (EBDA_SEG_ADDR): New constant.
40817 (LOW_MEM_ADDR): Likewise.
40818 (FAKE_EBDA_SEG): Likewise.
40819 (fake_bios_data): New function.
40820 (grub_linux_boot): Call fake_bios_data.
40821
71b9f361 408222009-03-01 Bean <bean123ch@gmail.com>
40823
40824 * commands/terminal.c: Removed.
40825
40826 * commands/handler.c: New file.
40827
40828 * include/grub/list.h: Likewise.
40829
40830 * include/grub/handler.h: Likewise.
40831
40832 * kern/list.c: Likewise.
40833
40834 * kern/handler.c: Likewise.
40835
40836 * kern/term.h: Include header file <grub/handler.h>.
40837 (grub_term_input): Move next field to the beginning.
40838 (grub_term_output): Likewise.
40839 (grub_term_input_class): New variable.
40840 (grub_term_output_class): Likewise.
40841 (grub_term_register_input): Changed to inline function.
40842 (grub_term_register_output): Likewise.
40843 (grub_term_unregister_input): Likewise.
40844 (grub_term_unregister_output): Likewise.
40845 (grub_term_set_current_input): Likewise.
40846 (grub_term_set_current_output): Likewise.
40847 (grub_term_get_current_input): Likewise.
40848 (grub_term_get_current_output): Likewise.
40849 (grub_term_iterate_input): Removed.
40850 (grub_term_iterate_output): Likewise.
40851
40852 * kern/term.c (grub_term_list_input): Removed.
40853 (grub_term_list_output): Likewise.
40854 (grub_term_input_class): New variable.
40855 (grub_term_output_class): Likewise.
50fb7002 40856 (grub_cur_term_input): Change variable as macro.
71b9f361 40857 (grub_cur_term_output): Likewise.
40858 (grub_term_register_input): Removed.
40859 (grub_term_register_output): Likewise.
40860 (grub_term_unregister_input): Likewise.
40861 (grub_term_unregister_output): Likewise.
40862 (grub_term_set_current_input): Likewise.
40863 (grub_term_set_current_output): Likewise.
40864 (grub_term_iterate_input): Likewise.
40865 (grub_term_iterate_output): Likewise.
40866 (grub_term_get_current_input): Likewise.
40867 (grub_term_get_current_output): Likewise.
40868
40869 * util/grub-editenv.c: Include header file <grub/handler.h>.
40870 (grub_term_get_current_input): Removed.
40871 (grub_term_get_current_output): Likewise.
40872 (grub_term_input_class): New variable.
50fb7002 40873 (grub_term_output_class): Likewise.
71b9f361 40874
40875 * util/grub-fstest.c (grub_term_get_current_input): Removed.
40876 (grub_term_get_current_output): Likewise.
40877 (grub_term_input_class): New variable.
50fb7002 40878 (grub_term_output_class): Likewise.
71b9f361 40879
40880 * util/grub-probe.c (grub_term_get_current_input): Removed.
40881 (grub_term_get_current_output): Likewise.
40882 (grub_term_input_class): New variable.
50fb7002 40883 (grub_term_output_class): Likewise.
71b9f361 40884
40885 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
40886 (grub_term_get_current_output): Likewise.
40887 (grub_term_input_class): New variable.
50fb7002 40888 (grub_term_output_class): Likewise.
71b9f361 40889
40890 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
40891 (terminal_mod_SOURCES): Likewise.
40892 (terminal_mod_CFLAGS): Likewise.
40893 (terminal_mod_LDFLAGS): Likewise.
40894
40895 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
40896 handler.c.
40897 (kernel_img_SOURCES): Add list.c and handler.c.
40898 (kernel_img_HEADERS): Add list.h and handler.h.
40899
40900 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40901 handler.c.
40902 (kernel_mod_SOURCES): Add list.c and handler.c.
40903 (kernel_mod_HEADERS): Add list.h and handler.h.
40904
40905 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
40906 handler.c.
40907 (kernel_elf_SOURCES): Add list.c and handler.c.
40908 (kernel_elf_HEADERS): Add list.h and handler.h.
40909
40910 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40911 handler.c.
40912 (kernel_elf_SOURCES): Add list.c and handler.c.
40913 (kernel_elf_HEADERS): Add list.h and handler.h.
40914
40915 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40916 handler.c.
40917 (kernel_mod_SOURCES): Add list.c and handler.c.
40918 (kernel_mod_HEADERS): Add list.h and handler.h.
40919
40920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40921 handler.c.
40922 (kernel_elf_SOURCES): Add list.c and handler.c.
40923 (kernel_elf_HEADERS): Add list.h and handler.h.
40924
8a31787f 409252009-02-27 Robert Millan <rmh@aybabtu.com>
40926
40927 Factorize elf32 / elf64 code in Multiboot loader. This will
40928 prevent it from getting out of sync again.
40929
40930 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
40931 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
40932 grub_multiboot_load_elf64): Move from here ...
40933 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
40934 grub_multiboot_load_elf): ... to here (new file).
40935
51cd3dfc 409362009-02-27 Robert Millan <rmh@aybabtu.com>
40937
40938 * util/grub.d/10_linux.in: Rename "single-user mode" to
40939 "recovery mode".
40940
6e8c9c3a 409412009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
40942
40943 Don't leak in SCSI code.
40944 * disk/scsi.c (grub_scsi_close): free `scsi'.
40945
4b6bf4f9 409462009-02-27 Robert Millan <rmh@aybabtu.com>
40947
40948 * loader/i386/pc/multiboot.c: Move from here ...
40949 * loader/i386/multiboot.c: ... to here. Update all users.
40950
b9413424 409512009-02-27 Robert Millan <rmh@aybabtu.com>
40952
40953 Patch from Alexandre Bique <bique.alexandre@gmail.com>
40954 * util/i386/pc/grub-setup.c (setup): Fix directory path.
40955
50fb7002 409562009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 40957
40958 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
40959 b-tree.
40960
8cc50345 409612009-02-27 Robert Millan <rmh@aybabtu.com>
40962
40963 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
40964 `0x' qualifier as 0 when base is specified as parameter).
40965
6e09b8b7 409662009-02-24 Bean <bean123ch@gmail.com>
40967
40968 * configure.ac: Check for -mcmodel=large in x86_64 target.
40969
40970 * include/grub/efi/api.h (efi_call_10): New macro.
40971 (efi_wrap_10): New function.
40972
40973 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
40974 (GRUB_PE32_REL_BASED_HIGH): Likewise.
40975 (GRUB_PE32_REL_BASED_LOW): Likewise.
40976 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
40977 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
40978 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
40979 (GRUB_PE32_REL_BASED_SECTION): Likewise.
40980 (GRUB_PE32_REL_BASED_REL): Likewise.
40981 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
40982 (GRUB_PE32_REL_BASED_DIR64): Likewise.
40983 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
40984
40985 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
40986 issue.
40987
40988 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
40989 (efi_wrap_10): New function.
40990
40991 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
40992
40993 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
40994 MB/MBP model (NV chipset).
40995 (devdata_devs): Add devpath_5 to the list.
40996
40997 * load/i386/efi/linux.c (video_base): Remove variable.
40998 (RGB_MASK): New macro.
40999 (RGB_MAGIC): Likewise.
41000 (LINE_MIN): Likewise.
41001 (LINE_MAX): Likewise.
41002 (FBTEST_STEP): Likewise.
41003 (FBTEST_COUNT): Likewise.
41004 (fb_list): New variable.
41005 (grub_find_video_card): Remove function.
41006 (find_framebuf): New function.
41007 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
41008 line length.
41009
41010 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
41011 problem for x86_64.
41012
74b21bee 410132009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
41014
41015 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
41016
41017 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
41018 coding tool name.
41019
a455f472 410202009-02-22 Robert Millan <rmh@aybabtu.com>
41021
41022 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
41023 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
41024 in our relocation, instead of using it directly from heap. Also
41025 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
41026
6374daf3 410272009-02-21 Robert Millan <rmh@aybabtu.com>
41028
41029 Implement USB keyboard support (based on patch by Marco Gerards)
41030
41031 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
41032 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
41033 (usb_keyboard_mod_LDFLAGS): New variables.
41034
41035 * term/usb_keyboard.c: New file.
41036
8fa4ea70 410372009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
41038
41039 Corrected wrong declaration
41040
41041 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
41042
353976ac 410432009-02-14 Christian Franke <franke@computer.org>
41044
41045 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
41046 (grub_lspci_iter): Print class code and programming interface byte.
41047
6aa1169b 410482009-02-14 Christian Franke <franke@computer.org>
41049
41050 * gendistlist.sh: Ignore `.svn' directories.
41051
265372ca 410522009-02-14 Felix Zielcke <fzielcke@z-51.de>
41053
41054 * fs/fat.c: Add 2009 to Copyright line.
41055
9ff516f3 410562009-02-14 Christian Franke <franke@computer.org>
41057
41058 * commands/hdparm.c: New file. Provides `hdparm' command
41059 which sends ATA commands via grub_disk_ata_pass_through ().
41060
41061 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
41062
41063 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
41064 and <grub/cpu/io.h> to include/grub/ata.h.
41065 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
41066 (GRUB_CDROM_SECTOR_SIZE): Remove.
41067 (GRUB_ATA_*): Move to include/grub/ata.h.
41068 (GRUB_ATAPI_*): Likewise.
41069 (enum grub_ata_commands): Likewise.
41070 (enum grub_ata_timeout_milliseconds): Likewise.
41071 (struct grub_ata_device): Likewise.
41072 (grub_ata_regset): Likewise.
41073 (grub_ata_regget): Likewise.
41074 (grub_ata_regset2): Likewise.
41075 (grub_ata_regget2): Likewise.
41076 (grub_ata_check_ready): Likewise.
41077 (grub_ata_wait_not_busy): Remove static, exported in
41078 include/grub/ata.h.
41079 (grub_ata_wait_drq): Likewise.
41080 (grub_ata_pio_read): Likewise.
41081
41082 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
41083 function for hdparm.mod.
41084
41085 * include/grub/ata.h: New file, contains declarations from
41086 disk/ata.c.
41087 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
41088
41089 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
41090 (grub_disk_ata_pass_through): New exported variable.
41091
41092 * kern/disk.c (grub_disk_ata_pass_through): New variable.
41093
772e23da 410942009-02-13 Colin D Bennett <colin@gibibit.com>
41095
41096 Support multiple fallback entries, and provide an API to support
41097 executing default+fallback menu entries. Renamed the `terminal' menu
41098 viewer to `text'.
41099
41100 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
41101 variable declaration.
41102 (grub_menu_execute_callback): New structure declaration.
41103 (grub_menu_execute_callback_t): New typedef.
41104 (grub_menu_execute_with_fallback): New function declaration.
41105 (grub_menu_get_entry): Likewise.
41106 (grub_menu_get_timeout): Likewise.
41107 (grub_menu_set_timeout): Likewise.
41108
41109 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
41110
41111 * normal/menu.c (grub_wait_after_message): Moved to
41112 `normal/menu_text.c'.
41113 (draw_border): Likewise.
41114 (print_message): Likewise.
41115 (print_entry): Likewise.
41116 (print_entries): Likewise.
41117 (grub_menu_init_page): Likewise.
41118 (get_entry_number): Likewise.
41119 (print_timeout): Likewise.
41120 (run_menu): Likewise.
41121 (grub_menu_execute_entry): Likewise.
41122 (show_text_menu): Likewise.
41123 (get_and_remove_first_entry_number): New function.
41124 (grub_menu_execute_with_fallback): Likewise.
41125 (get_entry): Renamed to ...
41126 (grub_menu_get_entry): .. this and made it global.
41127 (get_timeout): Renamed to ...
41128 (grub_menu_get_timeout): ... this and made it global.
41129 (set_timeout): Renamed to ...
41130 (grub_menu_set_timeout): ... this and made it global.
41131 (grub_normal_terminal_menu_viewer): Renamed to ...
41132 (grub_normal_text_menu_viewer): ... this.
41133
41134 * normal/menu_text.c: New file. Extracted text-menu-specific code
41135 from normal/menu.c.
41136
41137 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
41138 (normal_mod_SOURCES): Likewise.
41139
41140 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41141 (normal_mod_SOURCES): Likewise.
41142
41143 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41144 (normal_mod_SOURCES): Likewise.
41145
41146 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
41147 (normal_mod_SOURCES): Likewise.
41148
41149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41150 (normal_mod_SOURCES): Likewise.
41151
41152 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41153 (normal_mod_SOURCES): Likewise.
41154
41155 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41156 (normal_mod_SOURCES): Likewise.
41157
16ac430e 411582009-02-11 Robert Millan <rmh@aybabtu.com>
41159
41160 * util/grub.d/00_header.in: Update old reference to `font' command.
41161
06ff20fc 411622009-02-10 Felix Zielcke <fzielcke@z-51.de>
41163
41164 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
41165
41166 Based on patch from Javier Martín.
41167
96da9407 411682009-02-09 Felix Zielcke <fzielcke@z-51.de>
41169
41170 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 41171 to avoid false positives with FAT.
96da9407 41172 (grub_fstest_SOURCES): Likewise.
41173 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41174 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41176 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
41177 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41178 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41179
6dca6fe4 411802009-02-09 Felix Zielcke <fzielcke@z-51.de>
41181
06ff20fc 41182 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 41183 bpb.version_specific.fat12_or_fat16.fstype and
41184 bpb.version_specific.fat32.fstype.
41185
2550c62f 411862009-02-08 Robert Millan <rmh@aybabtu.com>
41187
be110b30 41188 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 41189
56978920 411902009-02-08 Robert Millan <rmh@aybabtu.com>
41191
41192 * Makefile.in (host_os, host_cpu): New variables.
41193 (target_os): Remove. Update all users.
41194
d64399b5 411952009-02-08 Marco Gerards <marco@gnu.org>
41196
41197 * Makefile.in (enable_grub_emu_usb): New variable.
41198 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
41199 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
41200 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
41201 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
41202 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
41203 `usbtest.mod' and `usbms.mod'.
41204 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
41205 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
41206 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
41207 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
41208 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
41209 variables.
41210
41211 * disk/usbms.c: New file.
41212
41213 * include/grub/usb.h: Likewise.
41214
41215 * include/grub/usbtrans.h: Likewise.
41216
41217 * include/grub/usbdesc.h: Likewise.
41218
41219 * bus/usb/usbtrans.c: Likewise.
41220
41221 * bus/usb/ohci.c: Likewise.
41222
41223 * bus/usb/uhci.c: Likewise.
41224
41225 * bus/usb/usbhub.c: Likewise.
41226
41227 * bus/usb/usb.c: Likewise.
41228
41229 * commands/usbtest.c: Likewise.
41230
41231 * util/usb.c: Likewise.
50fb7002 41232
d64399b5 41233 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
41234
41235 * configure.ac: Test for libusb presence.
50fb7002 41236
d64399b5 41237 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
41238
2b40d6bb 412392009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
41240
41241 * kern/mm.c: Add more comments.
41242
73a4ce81 412432009-02-08 Robert Millan <rmh@aybabtu.com>
41244
41245 Patch from Javier Martín.
41246 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
41247 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
41248
f821ce59 412492009-02-08 Robert Millan <rmh@aybabtu.com>
41250
41251 * fs/cpio.c: Split tar functionality to ...
41252 * fs/tar.c: ... here (new file). Update all users.
41253
aebfc4b0 412542009-02-07 Robert Millan <rmh@aybabtu.com>
41255
41256 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
41257 backward-incompatible features.
41258
41259 Based on patch from Javier Martín, with some adjustments.
41260
50fb7002 412612009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 41262
41263 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
41264
0bb5115e 412652009-02-07 Robert Millan <rmh@aybabtu.com>
41266
41267 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
41268 position of `disk/lvm.c' to ensure grub_init_all() always picks it
41269 after the RAID stuff.
41270
38a0f8e7 412712009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
41272
50fb7002 41273 Fixes problem when running vbetest command as reported by
38a0f8e7 41274 Vladimir Serbinenko <phcoder@gmail.com>.
41275
41276 * (grub_vbe_set_video_mode): Fixed problem with text modes.
41277
3143cc1c 412782009-02-04 Felix Zielcke <fzielcke@z-51.de>
41279
41280 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
41281 /dev/md/NpN style mdraid devices.
41282
9cba6fce 412832009-02-03 Felix Zielcke <fzielcke@z-51.de>
41284
41285 * util/unifont2pff.rb: Remove.
41286
e507a2c1 412872009-02-03 Felix Zielcke <fzielcke@z-51.de>
41288
41289 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
41290 `#'.
41291
d2c2b4cd 412922009-02-03 Felix Zielcke <fzielcke@z-51.de>
41293
41294 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
41295 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41296 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41297 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
41298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41299 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41300 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41301
b4315fb0 413022009-02-02 Christian Franke <franke@computer.org>
41303
41304 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
41305
de3aa260 413062009-02-01 Felix Zielcke <fzielcke@z-51.de>
41307
7c3ff286 41308 * INSTALL: Note that we now require at least autoconf 2.59 and
41309 that LZO is optional.
de3aa260 41310
825a182b 413112009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41312
41313 Base on patch on bug #24154 created by Tomas Tintera
41314 <trosos@seznam.cz>.
41315
41316 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
41317
a69ef770 413182009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41319
7c3ff286 41320 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 41321 <bero@arklinux.org>.
41322
41323 * normal/parser.y (script_init): Add missing semicolon.
41324
6fa42fa6 413252009-01-31 Colin D Bennett <colin@gibibit.com>
41326
7c3ff286 41327 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 41328 (free_menu_entry_classes): Added.
41329 (grub_normal_menu_addentry): Added class property handling.
41330 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
41331 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
41332
41333 * normal/menu_viewer.c: New file.
41334
41335 * normal/menu.c (run_menu_entry): Renamed to ...
41336 (grub_menu_execute_entry): ... this and made it as global.
41337 (grub_menu_run): Renamed to ...
41338 (show_text_menu): ... this and made it local.
41339 (show_text_menu): Adapt to new function names.
41340 (grub_normal_terminal_menu_viewer): New global variable.
41341
41342 * include/grub/menu.h: New file.
41343
41344 * include/grub/menu_viewer.h: New file.
41345
41346 * include/grub/normal.h: Added include to grub/menu.h.
41347 (grub_menu_entry): Moved to include/grub/menu.h.
41348 (grub_menu_entry_t): Likewise.
41349 (grub_menu): Likewise.
41350 (grub_menu_t): Likewise.
41351 (grub_normal_terminal_menu_viewer): Added.
41352 (grub_menu_execute_entry): Likewise.
41353 (grub_menu_run): Removed.
41354
41355 * DISTLIST: Added include/grub/menu.h.
41356 Added include/grub/menu_viewer.h.
41357 Added normal/menu_viewer.c.
41358
413592009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
41360
41361 * normal/execute.c (grub_script_execute_menuentry): Changed to use
41362 arglist for menutitle arguments.
41363
41364 * normal/main.c (grub_normal_menu_addentry): Likewise.
41365
41366 * normal/parser.y (menuentry): Likewise.
41367
41368 * normal/script.c (grub_script_create_cmdmenu): Likewise.
41369
41370 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
41371 (grub_script_create_cmdmenu): Likewise.
41372
41373 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
41374
41375 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
41376 changes.
41377
41378 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
41379
41380 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
41381
41382 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
41383
41384 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41385
41386 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41387
41388 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41389
56192c23 413902009-01-30 Christian Franke <franke@computer.org>
41391
41392 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
41393 in option help text.
41394
d72521b3 413952009-01-27 Pavel Roskin <proski@gnu.org>
41396
41397 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
41398
994b5e84 413992009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41400
41401 * commands/lsmmap.c: Add include to grub/machine/memory.h.
41402
41403 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
41404
41405 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
41406 unregister function.
41407
6a7eab2c 414082009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41409
41410 * disk/scsi.c (grub_scsi_read): Fix sign problem.
41411
41412 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
41413
41414 * util/grub-mkfont.c (usage): Fix typo.
41415
41416 * util/elf/grub-mkimage.c (load_modules): Fix warning.
41417
1806b56e 414182009-01-26 Daniel Mierswa <impulze@impulze.org>
41419
3fb18f09 41420 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
41421
336e1fb9 41422 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
41423
1806b56e 41424 * kern/misc.c (grub_strcasecmp): New function.
41425 (grub_strcasecmp): Use grub_size_t instead of int for length.
41426 Fix return value.
41427 * include/grub/misc.h: Update function prototypes.
41428
580b2a0f 414292009-01-26 Robert Millan <rmh@aybabtu.com>
41430
41431 * configure.ac: Fix cross-compilation check.
ef257b36 41432
d31c24f1 414332009-01-22 Christian Franke <franke@computer.org>
41434
41435 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
41436 (precision) digit string. Allow `.format2' without `format1' (width).
41437 Limit input chars for `%s' output to `format2' if specified. This is
41438 compatible with standard printf ().
41439
3138b44c 414402009-01-22 Christian Franke <franke@computer.org>
41441
41442 * disk/ata.c (grub_ata_wait_status): Replace by ...
41443 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
41444 other status bits may be invalid while BSY is asserted.
41445 (grub_ata_check_ready): New function.
41446 (grub_ata_cmd): Removed.
41447 (grub_ata_wait_drq): New function.
41448 (grub_ata_strncpy): Remove inline.
41449 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
41450 and error check now done by grub_ata_wait_drq ().
41451 (grub_ata_pio_write): Likewise.
41452 (grub_atapi_identify): Set DEV before check for !BSY. Use
41453 grub_ata_wait_drq () to wait for data.
41454 (grub_ata_device_initialize): Add status register check to
41455 detect missing SATA slave devices. Add debug messages.
41456 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
41457 (grub_atapi_packet): Set DEV before check for !BSY. Replace
41458 transfer loop by grub_ata_pio_write ().
41459 (grub_ata_identify): Set DEV before check for !BSY. Use
41460 grub_ata_wait_drq () to wait for data.
ef257b36 41461 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 41462 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
41463 read/write in one loop. Fix invalid command on write. Fix incomplete
41464 command on (size % batch) == 0. Add missing error check after write of
41465 last block. Add debug messages.
41466 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
41467
59a64ef6 414682009-01-19 Christian Franke <franke@computer.org>
41469
41470 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
41471 (GRUB_ATAPI_IREASON_*): Likewise.
41472 (grub_ata_pio_write): Fix timeout error return.
41473 (grub_atapi_identify): Add grub_ata_wait () after cmd.
41474 (grub_atapi_wait_drq): New function.
41475 (grub_atapi_packet): New parameter `size'.
41476 Use grub_atapi_wait_drq () and direct write instead of
41477 grub_ata_pio_write ().
41478 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
41479 reads the number of bytes requested by the device for each DRQ
41480 assertion.
41481 (grub_atapi_write): Remove old implementation, return not
41482 implemented instead.
41483
1cfe20b3 414842009-01-19 Christian Franke <franke@computer.org>
41485
41486 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
41487 of 512 to calculate data size.
41488 (grub_scsi_read12): Likewise.
41489 (grub_scsi_write10): Likewise.
41490 (grub_scsi_write12): Likewise.
41491 (grub_scsi_read): Adjust size according to blocksize.
41492 Add checks for invalid blocksize and unaligned transfer.
41493
bee5fe5d 414942009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
41495
41496 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
41497
ef257b36 41498 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 41499 width glyphs.
41500
3e643f8c 415012009-01-19 Robert Millan <rmh@aybabtu.com>
41502
41503 * config.guess: Update to latest version from config git.
41504 * config.sub: Likewise.
41505
4fa80998 415062009-01-17 Felix Zielcke <fzielcke@z-51.de>
41507
41508 * Makefile.in: Change font compilation to use new grub-mkfont instead
41509 of java version.
41510
41511 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
41512 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41513 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41514 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41515 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41516 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41517 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41518 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41519 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41520
7086085b 415212009-01-16 Christian Franke <franke@computer.org>
41522
41523 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
41524 (enum grub_ata_timeout_milliseconds): New enum.
41525 (grub_ata_wait_status): Add parameter milliseconds.
41526 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
41527 recovery from timed-out commands.
41528 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
41529 return grub_errno instead of REG_ERROR.
41530 (grub_ata_pio_write): Add parameter milliseconds.
41531 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
41532 Pass milliseconds to grub_ata_wait_status () and
41533 grub_ata_pio_read ().
41534 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
41535 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
41536 grub_ata_wait_status (). Fix IDENTIFY timeout check.
41537 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
41538 It is not suitable for device detection, because DEV bit is ignored,
41539 the command may run too long, and not all devices set the signature
41540 properly.
41541 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
41542 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
41543 Fix device selection, DEV bit must be set first to address the registers
41544 of the correct device.
41545 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
41546 grub_ata_pio_read/write ().
41547 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
41548 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
41549
4a412913 415502009-01-13 Carles Pina i Estany <carles@pina.cat>
41551
41552 * util/grub-editenv.c (main): Use fseeko(), not fseek().
41553
7795c55e 415542009-01-13 Bean <bean123ch@gmail.com>
d913988c 41555
41556 * util/grub-mkfont.c (write_font): forget to remove some debug code.
41557
7795c55e 415582009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 41559
41560 * Makefile.in: (enable_grub_mkfont): New variable.
41561 (freetype_cflags): Likewise.
41562 (freetype_libs): Likewise.
41563
41564 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
41565 (grub_mkfont_SOURCES): New variable.
41566 (grub_mkfont_CFLAGS): Likewise.
41567 (grub_mkfont_LDFLAGS): Likewise.
41568
41569 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
41570 library if `--enable-grub-mkfont' is requested.
41571 (enable_grub_mkfont): New variable.
41572 (freetype_cflags): Likewise.
41573 (freetype_libs): Likewise.
41574
41575 * util/grub-mkfont.c: New file.
41576
093af1fe 415772009-01-12 Christian Franke <franke@computer.org>
41578
41579 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
41580 mode check. Fix setting of compat_use[].
41581
f36cc108 415822009-01-10 Robert Millan <rmh@aybabtu.com>
41583
41584 Update a few copyright years which we forgot to do in 2008 (only for
41585 files whose changes made in 2008 were copyright-significant)
41586
41587 * Makefile.in: Add 2008 to Copyright line.
41588 * disk/ieee1275/ofdisk.c: Likewise.
41589 * disk/efi/efidisk.c: Likewise.
41590 * kern/dl.c: Likewise.
41591 * kern/sparc64/ieee1275/init.c: Likewise.
41592 * kern/mm.c: Likewise.
41593 * kern/efi/mm.c: Likewise.
41594 * boot/i386/pc/boot.S: Likewise.
41595 * genfslist.sh: Likewise.
41596 * fs/iso9660.c: Likewise.
41597 * fs/hfs.c: Likewise.
41598 * fs/jfs.c: Likewise.
41599 * fs/minix.c: Likewise.
41600 * fs/ufs.c: Likewise.
41601 * gensymlist.sh.in: Likewise.
41602 * genkernsyms.sh.in: Likewise.
41603 * include/grub/misc.h: Likewise.
41604 * include/grub/types.h: Likewise.
41605 * include/grub/symbol.h: Likewise.
41606 * include/grub/elf.h: Likewise.
41607 * include/grub/kernel.h: Likewise.
41608 * include/grub/disk.h: Likewise.
41609 * include/grub/dl.h: Likewise.
41610 * include/grub/i386/linux.h: Likewise.
41611 * include/grub/i386/pc/biosdisk.h: Likewise.
41612 * include/grub/efi/api.h: Likewise.
41613 * include/grub/efi/pe32.h: Likewise.
41614 * include/grub/util/misc.h: Likewise.
41615 * normal/execute.c: Likewise.
41616 * normal/arg.c: Likewise.
41617 * normal/completion.c: Likewise.
41618 * normal/lexer.c: Likewise.
41619 * normal/parser.y: Likewise.
41620 * normal/misc.c: Likewise.
41621 * commands/i386/pc/vbeinfo.c: Likewise.
41622 * commands/hexdump.c: Likewise.
41623 * commands/terminal.c: Likewise.
41624 * commands/ls.c: Likewise.
41625 * commands/help.c: Likewise.
41626 * partmap/pc.c: Likewise.
41627 * loader/efi/chainloader.c: Likewise.
41628 * loader/multiboot_loader.c: Likewise.
41629 * loader/i386/pc/multiboot2.c: Likewise.
41630 * term/efi/console.c: Likewise.
41631 * term/i386/pc/serial.c: Likewise.
41632 * util/lvm.c: Likewise.
41633 * util/console.c: Likewise.
41634 * util/i386/efi/grub-mkimage.c: Likewise.
41635 * util/raid.c: Likewise.
41636
7f02114b 416372009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
41638
41639 * commands/videotest.c: Removed include to grub/machine/memory.h.
41640
41641 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
41642 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
41643 (video_mod_SOURCES): Removed.
41644 (video_mod_CFLAGS): Likewise.
41645 (video_mod_LDFLAGS): Likewise.
41646 (gfxterm_mod_SOURCES): Likewise.
41647 (gfxterm_mod_CFLAGS): Likewise.
41648 (gfxterm_mod_LDFLAGS): Likewise.
41649 (videotest_mod_SOURCES): Likewise.
41650 (videotest_mod_CFLAGS): Likewise.
41651 (videotest_mod_LDFLAGS): Likewise.
41652 (bitmap_mod_SOURCES): Likewise.
41653 (bitmap_mod_CFLAGS): Likewise.
41654 (bitmap_mod_LDFLAGS): Likewise.
41655 (tga_mod_SOURCES): Likewise.
41656 (tga_mod_CFLAGS): Likewise.
41657 (tga_mod_LDFLAGS): Likewise.
41658 (jpeg_mod_SOURCES): Likewise.
41659 (jpeg_mod_CFLAGS): Likewise.
41660 (jpeg_mod_LDFLAGS): Likewise.
41661 (png_mod_SOURCES): Likewise.
41662 (png_mod_CFLAGS): Likewise.
41663 (png_mod_LDFLAGS): Likewise.
41664
41665 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
41666 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
41667 (video_mod_SOURCES): Added.
41668 (video_mod_CFLAGS): Likewise.
41669 (video_mod_LDFLAGS): Likewise.
41670 (videotest_mod_SOURCES): Likewise.
41671 (videotest_mod_CFLAGS): Likewise.
41672 (videotest_mod_LDFLAGS): Likewise.
41673 (bitmap_mod_SOURCES): Likewise.
41674 (bitmap_mod_CFLAGS): Likewise.
41675 (bitmap_mod_LDFLAGS): Likewise.
41676 (tga_mod_SOURCES): Likewise.
41677 (tga_mod_CFLAGS): Likewise.
41678 (tga_mod_LDFLAGS): Likewise.
41679 (jpeg_mod_SOURCES): Likewise.
41680 (jpeg_mod_CFLAGS): Likewise.
41681 (jpeg_mod_LDFLAGS): Likewise.
41682 (png_mod_SOURCES): Likewise.
41683 (png_mod_CFLAGS): Likewise.
41684 (png_mod_LDFLAGS): Likewise.
41685 (gfxterm_mod_SOURCES): Likewise.
41686 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 41687 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 41688
41689 * term/gfxterm.c: Removed include to grub/machine/memory.h,
41690 grub/machine/console.h.
41691
644fff97 416922009-01-04 Jerone Young <jerone@gmail.com>
41693
41694 Make on screen instructions clearer
41695
41696 Based on patch created by Jidanni <jidanni@jidanni.org>
41697
41698 * normal/menu.c: print clearer instructions on the screen
41699
1e901a75 417002009-01-02 Colin D Bennett <colin@gibibit.com>
41701
41702 New font engine.
34c44600 41703
1e901a75 41704 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
41705 build system and fixed gfxterm.c to work with different sized fonts.
41706
41707 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 41708
1e901a75 41709 * configure: Re-generated.
34c44600 41710
1e901a75 41711 * DISTLIST: Removed font/manager.c.
41712 Added font/font.c.
41713 Added font/font_cmd.c.
34c44600 41714
1e901a75 41715 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
41716 compilation.
34c44600 41717
1e901a75 41718 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 41719
41720 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 41721
41722 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 41723
1e901a75 41724 * normal/menu.c: Likewise.
34c44600 41725
1e901a75 41726 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
41727 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 41728
1e901a75 41729 * include/grub/font.h: Replaced with new file.
34c44600 41730
1e901a75 41731 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
41732 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
41733 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
41734 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
41735 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 41736 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 41737 fg_red, fg_green, fg_blue, fg_alpha.
41738 (grub_video_adapter): Removed blit_glyph.
34c44600 41739 (grub_video_blit_glyph): Removed.
41740
1e901a75 41741 * font/manager.c: Removed file.
34c44600 41742
41743 * font/font.c: New file.
41744
1e901a75 41745 * font/font_cmd.c: Likewise.
34c44600 41746
1e901a75 41747 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 41748
1e901a75 41749 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
41750 (grub_video_vbe_map_rgba): Likewise.
41751 (grub_video_vbe_unmap_color_int): Likewise.
41752 (grub_video_vbe_blit_glyph): Removed.
41753 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 41754
1e901a75 41755 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
41756 (get_pixel): Likewise.
34c44600 41757 (set_pixel): Likewise.
41758
1e901a75 41759 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 41760
1e901a75 41761 * term/gfxterm.c: Adapted to new font engine.
34c44600 41762
1e901a75 41763 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 41764
1e901a75 41765 * term/i386/pc/vga.c: Likewise.
34c44600 41766
1e901a75 41767 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 41768
1e901a75 41769 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 41770
1e901a75 41771 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 41772
1e901a75 41773 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 41774
1e901a75 41775 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 41776
1e901a75 41777 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 41778
1e901a75 41779 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 41780
1e901a75 41781 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 41782
1e901a75 41783 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41784
41785 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 41786
1e901a75 41787 * util/grub-mkconfig_lib.in: Changed font extension.
41788
278922e8 417892008-12-28 Felix Zielcke <fzielcke@z-51.de>
41790
41791 * util/getroot.c (grub_util_get_grub_dev): Add support for
41792 /dev/md/dNNpNN style partitionable mdraid devices.
41793
3ced05cf 417942008-12-12 Alex Smith <alex@alex-smith.me.uk>
41795
41796 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
41797 at a time limit of the PXE TFTP API correctly.
41798 (grub_pxefs_close): Likewise.
41799
7fd0ee30 418002008-11-29 Robert Millan <rmh@aybabtu.com>
41801
34c44600 41802 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 41803 grub_ata_device_initialize() calls.
41804
34c44600 418052008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 41806
41807 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
41808 iteration failed.
41809 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
41810
89313780 418112008-11-28 Robert Millan <rmh@aybabtu.com>
41812
41813 Fix build on powerpc-ieee1275. Based on patch created by
41814 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
41815 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41816 `kern/ieee1275/mmap.c'.
41817 * include/grub/powerpc/ieee1275/memory.h: New file.
41818
15257703 41819 Provide grub-install on coreboot.
41820 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
41821 (grub_install_SOURCES): New variable.
41822 * util/i386/pc/grub-install.in: Add a few condition checks to make it
41823 usable on coreboot.
41824
9fc5388a 418252008-11-25 Felix Zielcke <fzielcke@z-51.de>
41826
41827 * util/grub-fstest.c (grub_term_get_current_input): Change return type
41828 to `grub_term_input_t'.
41829 (grub_term_get_current_output): Change return type to
41830 `grub_term_output_t'.
41831
bc3a2f31 418322008-11-22 Robert Millan <rmh@aybabtu.com>
41833
34c44600 41834 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 41835 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
41836 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
41837 grub_vga_text_cls().
41838
80fc88f2 41839 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 41840 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 41841
cbf36fd3 41842 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
41843 to 0x200000 (avoids trouble with some OFW implementations, and matches
41844 with the one in Yaboot).
41845 Reported by Manoel Abranches
41846
73e8e268 418472008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 41848
41849 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
41850 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
41851
73e8e268 41852 * util/grub-mkconfig_lib.in (grub_warn): New function.
41853 (convert_system_path_to_grub_path): Use grub_warn() when issuing
41854 warnings, to obtain consistent formatting.
41855 * util/grub.d/00_header.in: Likewise.
41856 * util/update-grub_lib.in: Likewise.
41857
e94045a1 41858 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 41859 Move comment text to `#error' stanza.
e94045a1 41860
79d29fd7 41861 Harmonize ieee1275's grub_available_iterate() with the generic
41862 grub_machine_mmap_iterate() interface (fixes a recently-introduced
41863 build problem on i386-ieee1275):
41864 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
41865 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
41866 parameter `type'. Update all users of this function.
41867 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41868 `kern/ieee1275/mmap.c'.
41869 * kern/ieee1275/init.c
41870 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
41871 with ...
41872 (grub_machine_mmap_iterate): ... this.
41873 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
41874 return type to `grub_err_t'. Update all implementations of this
41875 function prototype.
41876 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
41877 Likewise.
41878
60d6b16e 41879 Add `lsmmap' command (lists firmware-provided memory map):
41880 * commands/lsmmap.c: New file.
41881 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
41882 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
41883 variables.
41884 * conf/powerpc-ieee1275.rmk: Likewise.
41885 * conf/i386-coreboot.rmk: Likewise.
41886 * conf/i386-ieee1275.rmk: Likewise.
41887
ebaaf49b 418882008-11-19 Robert Millan <rmh@aybabtu.com>
41889
41890 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 41891 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
41892 constraints to initrd allocation (based on code from
41893 loader/i386/pc/linux.c). Without them, initrd was allocated too high
41894 for Linux to find it.
ebaaf49b 41895
dfab719f 418962008-11-14 Robert Millan <rmh@aybabtu.com>
41897
41898 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
41899 order to cope with duplicate slashes.
41900
10fc3eb9 419012008-11-14 Robert Millan <rmh@aybabtu.com>
41902
41903 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
41904 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
41905 don't want to mess with lower memory, because it is used in the Linux
41906 loader.
41907
41908 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 41909 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 41910 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
41911 is in our heap (probably as a result of it being corrupted during
2f2a3442 41912 decompression). Add #error instance with comment to explain why this
41913 loader isn't currently usable on PC/BIOS.
10fc3eb9 41914
e2e07847 419152008-11-14 Robert Millan <rmh@aybabtu.com>
41916
41917 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 41918 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 41919
fe8e8d69 419202008-11-12 Robert Millan <rmh@aybabtu.com>
41921
41922 Make loader/i386/linux.c buildable on i386-pc (although disabled).
41923
41924 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
41925 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
41926 from here ...
41927 * include/grub/i386/pc/memory.h: ... to here.
41928
976b07d0 419292008-11-12 Robert Millan <rmh@aybabtu.com>
41930
41931 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
41932 split).
41933
41934 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
41935 (grub_console_cur_color, grub_console_real_putchar)
41936 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41937 (grub_console_setcolorstate, grub_console_setcolor)
41938 (grub_console_getcolor): Move from here ...
41939 * include/grub/i386/vga_common.h: ... to here (new file).
41940
41941 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
41942 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
41943 `<grub/i386/io.h>'.
41944 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
41945 `<grub/i386/vga_common.h>'.
41946
76679cd3 419472008-11-12 Robert Millan <rmh@aybabtu.com>
41948
41949 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
41950 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
41951 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
41952 variables.
41953 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41954 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
41955
41956 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
41957 grub_console_init() with call to grub_vga_text_init().
41958 (grub_machine_fini): Replace call to
41959 grub_console_fini() with call to grub_vga_text_fini() and
41960 grub_at_keyboard_fini().
41961
41962 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
41963 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41964 (grub_console_setcolorstate, grub_console_setcolor)
41965 (grub_console_getcolor): New function prototypes.
41966
41967 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
41968 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
41969 (grub_vga_text_setcursor): Static-ize.
41970 (grub_vga_text_term): New structure.
41971 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
41972
41973 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
41974 (grub_console_cur_color, grub_console_standard_color)
41975 (grub_console_normal_color, grub_console_highlight_color)
41976 (map_char, grub_console_putchar, grub_console_getcharwidth)
41977 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
41978 (grub_console_getcolor): Move from here ...
41979 * term/i386/vga_common.c: ... to here (same function names).
41980
95b841d3 419812008-11-12 Robert Millan <rmh@aybabtu.com>
41982
41983 Use newly-added Multiboot support in coreboot.
41984
41985 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41986 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
41987
41988 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
41989 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
41990 (codestart): Store the MBI in `startup_multiboot_info' when we're
41991 being loaded using Multiboot.
41992
41993 * kern/i386/coreboot/init.c (grub_machine_init): Move
41994 grub_at_keyboard_init() call to beginning of function (useful for
41995 debugging). Call grub_machine_mmap_init() before attempting to use
41996 grub_machine_mmap_iterate().
41997 (grub_lower_mem, grub_upper_mem): Move from here ...
41998 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
41999 here (new file).
42000
42001 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
42002 function prototype.
42003
761ca975 420042008-11-12 Robert Millan <rmh@aybabtu.com>
42005
42006 Fix a regression introduced by the at_keyboard.mod split. Because
42007 some terminals are default on some platforms and non-default on
42008 others, the first terminal being registered determines which is
42009 going to be default.
42010
42011 * kern/term.c (grub_term_register_input): If this is the first
42012 terminal being registered, set it as the current one.
42013 (grub_term_register_output): Likewise.
42014
42015 * term/efi/console.c (grub_console_init): Do not call
42016 grub_term_set_current_output() or grub_term_set_current_input().
42017 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
42018 * term/i386/pc/console.c (grub_console_init): Likewise.
42019 (grub_console_fini): Do not call grub_term_set_current_input()
42020 (but leave grub_term_set_current_output() to restore text mode).
42021
6c529df7 420222008-11-10 Robert Millan <rmh@aybabtu.com>
42023
42024 * util/grub.d/00_header.in: Add backward compatibility check for
42025 versions of terminal.mod that don't understand `terminal_input' or
42026 `terminal_output'.
42027
132e4113 420282008-11-09 Robert Millan <rmh@aybabtu.com>
42029
42030 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
42031 `terminal_input' / `terminal_output', not `terminal'.
42032
ac293d50 420332008-11-08 Robert Millan <rmh@aybabtu.com>
42034
42035 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 42036 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 42037
0025933a 420382008-11-08 Robert Millan <rmh@aybabtu.com>
42039
42040 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 42041 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 42042 members. Update all users.
42043 * util/console.c (grub_ncurses_term): Split in ...
42044 (grub_ncurses_term_input): ... this, and ...
42045 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 42046 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 42047
37c86336 420482008-11-08 Robert Millan <rmh@aybabtu.com>
42049
42050 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
42051 (PKGDATA): Add $(pkgdata_SRCDIR).
42052 (pkglib_BUILDDIR): New variable.
42053 (pkgdata_SRCDIR): New variable.
42054 (build_env.mk): New target.
42055 (include_DATA): New variable.
42056 (install-local): Install $(include_DATA) files in $(includedir).
42057
b6c15a2d 420582008-11-07 Pavel Roskin <proski@gnu.org>
42059
d99d46f1 42060 * gendistlist.sh: Use C locale for sorting to ensure consistent
42061 output on all systems.
42062
b6c15a2d 42063 * util/grub.d/00_header.in: Remove incorrect space before
42064 "serial".
42065
c32ee8c9 420662008-11-07 Robert Millan <rmh@aybabtu.com>
42067
42068 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
42069 per specification.
42070 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
42071 * loader/multiboot_loader.c (find_multi_boot2_header): New function
42072 (based on find_multi_boot1_header).
42073 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
42074 using find_multi_boot2_header(), and abort if neither Multiboot or
42075 Multiboot headers were found.
42076
651c29b7 420772008-11-07 Robert Millan <rmh@aybabtu.com>
42078
42079 Modularize at_keyboard.mod:
42080
42081 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
42082 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
42083 (at_keyboard_mod_LDFLAGS): New variables.
42084
42085 Actual terminal split:
42086
42087 * include/grub/term.h (struct grub_term): Split in ...
42088 (struct grub_term_input): ... this, and ...
42089 (struct grub_term_output): ... this. Update all users.
42090 (grub_term_set_current): Split in ...
42091 (grub_term_set_current_input): ... this, and ...
42092 (grub_term_set_current_output): ... this.
42093 (grub_term_get_current): Split in ...
42094 (grub_term_get_current_input): ... this, and ...
42095 (grub_term_get_current_output): ... this.
42096 (grub_term_register): Split in ...
42097 (grub_term_register_input): ... this, and ...
42098 (grub_term_register_output): ... this.
42099 (grub_term_unregister): Split in ...
42100 (grub_term_unregister_input): ... this, and ...
42101 (grub_term_unregister_output): ... this.
42102 (grub_term_iterate): Split in ...
42103 (grub_term_iterate_input): ... this, and ...
42104 (grub_term_iterate_output): ... this.
42105
42106 * kern/term.c (grub_term_list): Split in ...
42107 (grub_term_list_input): ... this, and ...
42108 (grub_term_list_output): ... this. Update all users.
42109 (grub_cur_term): Split in ...
42110 (grub_cur_term_input): ... this, and ...
42111 (grub_cur_term_output): ... this. Update all users.
42112 (grub_term_set_current): Split in ...
42113 (grub_term_set_current_input): ... this, and ...
42114 (grub_term_set_current_output): ... this.
42115 (grub_term_get_current): Split in ...
42116 (grub_term_get_current_input): ... this, and ...
42117 (grub_term_get_current_output): ... this.
42118 (grub_term_register): Split in ...
42119 (grub_term_register_input): ... this, and ...
42120 (grub_term_register_output): ... this.
42121 (grub_term_unregister): Split in ...
42122 (grub_term_unregister_input): ... this, and ...
42123 (grub_term_unregister_output): ... this.
42124 (grub_term_iterate): Split in ...
42125 (grub_term_iterate_input): ... this, and ...
42126 (grub_term_iterate_output): ... this.
42127
42128 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
42129 a check for input and one for output (and only attempt to get keys
42130 from user when input works).
42131
42132 * util/grub-probe.c (grub_term_get_current): Split in ...
42133 (grub_term_get_current_input): ... this, and ...
42134 (grub_term_get_current_output): ... this.
42135 * util/grub-fstest.c: Likewise.
42136 * util/i386/pc/grub-setup.c: Likewise.
42137 * util/grub-editenv.c: Likewise.
42138
42139 Portability adjustments:
42140
42141 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
42142 `term/i386/pc/at_keyboard.c'.
42143 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
42144 grub_keyboard_controller_init() (now handled by terminal .init).
42145 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
42146 grub_at_keyboard_init().
42147 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
42148 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
42149 at_keyboard.mod via input terminal interface).
42150 * include/grub/i386/coreboot/console.h: Convert into a stub for
42151 `<grub/i386/pc/console.h>'.
42152
42153 Migrate full terminals to new API:
42154
42155 * term/efi/console.c (grub_console_term): Split into ...
42156 (grub_console_term_input): ... this, and ...
42157 (grub_console_term_output): ... this. Update all users.
42158 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
42159 (grub_ofconsole_init): Split into ...
42160 (grub_ofconsole_init_input): ... this, and ...
42161 (grub_ofconsole_init_output): ... this.
42162 (grub_ofconsole_term): Split into ...
42163 (grub_ofconsole_term_input): ... this, and ...
42164 (grub_ofconsole_term_output): ... this. Update all users.
42165 * term/i386/pc/serial.c (grub_serial_term): Split into ...
42166 (grub_serial_term_input): ... this, and ...
42167 (grub_serial_term_output): ... this. Update all users.
42168 * term/i386/pc/console.c (grub_console_term): Split into ...
42169 (grub_console_term_input): ... this, and ...
42170 (grub_console_term_output): ... this. Update all users.
42171 (grub_console_term_input): Only enable it on PC/BIOS platform.
42172 (grub_console_init): Remove grub_keyboard_controller_init() call.
42173
42174 Migrate input terminals to new API:
42175
42176 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
42177 `i386' and `i386/pc' to enable build on x86_64 (this driver is
42178 i386-specific anyway).
42179 (grub_console_checkkey): Rename to ...
42180 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
42181 users.
42182 (grub_keyboard_controller_orig): New variable.
42183 (grub_console_getkey): Rename to ...
42184 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
42185 users.
42186 (grub_keyboard_controller_init): Static-ize. Save original
42187 controller value so that it can be restored ...
42188 (grub_keyboard_controller_fini): ... here (new function).
42189 (grub_at_keyboard_term): New structure.
42190 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
42191 functions.
42192
42193 Migrate output terminals to new API:
42194
42195 * term/i386/pc/vga.c (grub_vga_term): Change type to
42196 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
42197 members. Update all users.
42198 * term/gfxterm.c (grub_video_term): Change type to
42199 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
42200 members. Update all users.
42201 * include/grub/i386/pc/console.h (grub_console_checkkey)
42202 (grub_console_getkey): Do not export (no longer needed by gfxterm,
42203 etc).
42204
42205 Migrate `terminal' command and userland tools to new API:
42206
42207 * commands/terminal.c (grub_cmd_terminal): Split into ...
42208 (grub_cmd_terminal_input): ... this, and ...
42209 (grub_cmd_terminal_output): ... this.
42210 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
42211 `terminal_input' and `terminal_output'.
42212 * util/grub.d/00_header.in: Adjust `terminal' calls to new
42213 `terminal_input' / `terminal_output' API.
42214 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
42215 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
42216 provided ${GRUB_TERMINAL}, convert it).
42217
96e5d876 422182008-11-04 Robert Millan <rmh@aybabtu.com>
42219
42220 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
42221 for FreeBSD.
42222 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
42223
556f3775 422242008-11-03 Bean <bean123ch@gmail.com>
42225
42226 * kern/elf.c (grub_elf32_load): Revert to previous code.
42227 (grub_elf64_load): Likewise.
42228
42229 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
42230
926b9823 422312008-11-01 Robert Millan <rmh@aybabtu.com>
42232
42233 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
42234 (TARGET_CPPFLAGS): Likewise.
42235 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
42236
1432e958 422372008-11-01 Carles Pina i Estany <carles@pina.cat>
42238
42239 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
42240
dba3f844 422412008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 42242
42243 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
42244 addition of objects until the code is not going to be able to fail.
42245
dba3f844 422462008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 42247
42248 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
42249 (add a missing NULL check, and correct them by moving the pointer
42250 operations after the actual check).
42251
7ab28c21 422522008-10-29 Robert Millan <rmh@aybabtu.com>
42253
42254 * util/i386/pc/grub-install.in: Handle empty string as output from
42255 make_system_path_relative_to_its_root().
42256
1b7748eb 422572008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
42258
42259 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
42260 circular metadata worst case scenario. If the metadata is circular
42261 then copy the wrap in place.
42262 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
42263 project lib/format_text/layout.h
42264 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
42265
c9618ab2 422662008-10-03 Felix Zielcke <fzielcke@z-51.de>
42267
7a36edca 42268 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 42269
bf981c62 422702008-10-03 Felix Zielcke <fzielcke@z-51.de>
42271
42272 * util/update-grub_lib.in: Mention filename in warning message.
42273
6d994591 422742008-09-29 Felix Zielcke <fzielcke@z-51.de>
42275
42276 * NEWS: Update for rename of update-grub to grub-mkconfig.
42277
18ade780 422782008-09-29 Felix Zielcke <fzielcke@z-51.de>
42279
42280 * util/update-grub_lib.in: Copy to ...
42281 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 42282 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 42283 * util/update-grub.in: Rename to ...
42284 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
42285 option. Add `--output' option to allow users to specify the generated
42286 configuration file. Default to stdout.
42287 (update_grub_dir): Rename to ...
42288 (grub_mkconfig_dir): ... this.
42289 (grub_cfg): Default to an empty string.
42290 * conf/common.rmk (update-grub): Rename to ...
42291 (grub-mkconfig): ... this.
42292 (update-grub_lib): Copy to ...
42293 (grub-mkconfig_lib): ... this.
42294 (update-grub_SCRIPTS): Copy to ...
42295 (grub-mkconfig_SCRIPTS): ... this. Update all users.
42296 (update-grub_DATA): Rename to ...
42297 (grub-mkconfig_DATA): ... this.
42298
556ce6ac 422992008-09-28 Robert Millan <rmh@aybabtu.com>
42300
42301 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
42302 to `modified'. Add the real `created' field.
42303 (grub_iso9660_uuid): Use `modified' rather than `created' for
42304 constructing the UUID.
42305
423062008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 42307
42308 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
42309 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
42310
92274e85 423112008-09-28 Bean <bean123ch@gmail.com>
42312
42313 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
42314 Thanks to Christian Franke for finding this bug.
42315
add6f17a 423162008-09-25 Robert Millan <rmh@aybabtu.com>
42317
42318 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
42319 instances of grub_util_get_disk_name() (see previous commit).
42320
d2a367b8 423212008-09-25 Robert Millan <rmh@aybabtu.com>
42322
42323 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
42324 `util/i386/get_disk_name.c'.
42325 * conf/i386-efi.rmk: Likewise.
42326 * conf/x86_64-efi.rmk: Likewise.
42327 * conf/i386-coreboot.rmk: Likewise.
42328 * conf/i386-ieee1275.rmk: Likewise.
42329 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
42330 `util/ieee1275/get_disk_name.c'.
42331 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
42332 * util/ieee1275/get_disk_name.c: Remove file.
42333 * util/i386/get_disk_name.c: Remove file.
42334 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
42335 "hd%d" for device.map entries, rather than using
42336 grub_util_get_disk_name().
42337
81a06771 423382008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 42339
42340 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
42341 warning.
42342 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
42343
5a004279 423442008-09-24 Carles Pina i Estany <carles@pina.cat>
42345
42346 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
42347 Changed to 0x5100.
42348 (GRUB_TERM_PPAGE): Changed to 0x4900.
42349
397093d3 423502008-09-24 Robert Millan <rmh@aybabtu.com>
42351
42352 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
42353 macros (they were i386-pc specific).
42354 * include/grub/sparc64/ieee1275/console.h: Likewise.
42355 * include/grub/efi/console.h: Likewise.
42356
a91b6c7c 423572008-09-22 Bean <bean123ch@gmail.com>
42358
42359 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
42360 resident and in attribute list.
42361
42362 * include/grub/ntfs.h (BMP_LEN): Removed.
42363
c40fd116 423642008-09-22 Bean <bean123ch@gmail.com>
42365
81a06771 42366 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 42367 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
42368
42369 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
42370 error occurs, as grub_disk_open will call grub_disk_close, which will
42371 call p->close (scsi).
42372
81a06771 423732008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 42374
42375 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
42376 (AC_PREREQ): Bumped to 2.59.
42377 (AC_TRY_COMPILE): Replace obsolete macro with ...
42378 (AC_COMPILE_IFELSE): ... this.
42379 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
42380 (AC_LINK_IFELSE): ... this.
42381
5dc43410 423822008-09-21 Felix Zielcke <fzielcke@z-51.de>
42383
42384 * autogen.sh: Add a call to `gendistlist.sh'.
42385
9035dce4 423862008-09-19 Christian Franke <franke@computer.org>
42387
42388 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
42389 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
42390 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
42391 Export __enable_execute_stack() to modules.
42392 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
42393 New function.
42394
7fd75377 423952008-09-09 Felix Zielcke <fzielcke@z-51.de>
42396
040030b3 42397 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
42398 Sort the list.
42399
424002008-09-09 Felix Zielcke <fzielcke@z-51.de>
42401
42402 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 42403 #include <grub/util/hostdisk.h>.
42404
89d5ffcf 424052008-09-08 Robert Millan <rmh@aybabtu.com>
42406
42407 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
42408 segments when their filesz is zero (grub_file_read() interprets
81a06771 42409 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 42410 Use `lowest_segment' rather than 0 for calculating the current
42411 segment load address.
42412
40da438f 424132008-09-08 Robert Millan <rmh@aybabtu.com>
42414
42415 * util/hostdisk.c (open_device): Replace a grub_util_info() call
42416 with grub_dprintf("hostdisk", ...), as it was so verbose that it
42417 clobbered useful information.
42418
ddbf5556 424192008-09-08 Robert Millan <rmh@aybabtu.com>
42420
42421 * include/grub/util/biosdisk.h: Move to ...
42422 * include/grub/util/hostdisk.h: ... here. Update all users.
42423 * util/biosdisk.c: Move to ...
42424 * util/hostdisk.c: ... here. Update all users.
42425
783d0f48 424262008-09-07 Robert Millan <rmh@aybabtu.com>
42427
42428 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
42429 variables.
42430 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
42431 and length can be stored directly in the `mbi->mmap_addr' and
42432 `mbi->mmap_length' struct fields.
42433
548e2ea5 424342008-09-07 Robert Millan <rmh@aybabtu.com>
42435
42436 * conf/i386.rmk: New file. Provides declaration for building
42437 `cpuid.mod'.
42438 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
42439 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
42440 variables.
42441 Include `conf/i386.mk'.
42442 * conf/i386-efi.rmk: Likewise.
42443 * conf/x86_64-efi.rmk: Likewise.
42444 * conf/i386-coreboot.rmk: Likewise.
42445 * conf/i386-ieee1275.rmk: Likewise.
42446
0ea85a37 424472008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
42448
42449 Based on patch created by Colin D Bennett <colin@gibibit.com>.
42450 Adds optimization support for BGR based modes.
42451
42452 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
42453 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42454 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42455 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42456 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42457 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42458 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42459 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42460 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42461 (grub_video_i386_vbeblit_index_index): Likewise.
42462 (grub_video_i386_vbeblit_replace_directN): Added.
42463 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42464 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42465 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42466 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42467 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42468 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 42469 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 42470 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42471 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42472 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42473 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42474 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42475 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42476
42477 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
42478 (grub_video_i386_vbefill_R8G8B8): Likewise.
42479 (grub_video_i386_vbefill_index): Likewise.
42480 (grub_video_i386_vbefill_direct32): Added.
42481 (grub_video_i386_vbefill_direct24): Likewise.
42482 (grub_video_i386_vbefill_direct16): Likewise.
42483 (grub_video_i386_vbefill_direct8): Likewise.
42484
81a06771 42485 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 42486 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
42487 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
42488 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
42489 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
42490 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 42491
0ea85a37 42492 * video/video.c (grub_video_get_blit_format): Updated to use new
42493 blit formats. Added handling for 16 bit color modes.
81a06771 42494
42495 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 42496 fillers.
42497 (common_blitter): Updated to use new blitters.
42498
42499 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
42500 Removed.
42501 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42502 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42503 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42504 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42505 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42506 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42507 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42508 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42509 (grub_video_i386_vbeblit_index_index): Likewise.
42510 (grub_video_i386_vbeblit_replace_directN): Added.
42511 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42512 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42513 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42514 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42515 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42516 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42517 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42518 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42519 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42520 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42521 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42522 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42523 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 42524
0ea85a37 42525 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
42526 (grub_video_i386_vbefill_R8G8B8): Likewise.
42527 (grub_video_i386_vbefill_index): Likewise.
42528 (grub_video_i386_vbefill_direct32): Added.
42529 (grub_video_i386_vbefill_direct24): Likewise.
42530 (grub_video_i386_vbefill_direct16): Likewise.
42531 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 42532
0ea85a37 42533 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
42534 types.
81a06771 42535
0ea85a37 42536 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
42537 types.
81a06771 42538
0ea85a37 42539 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
42540 blitter types.
81a06771 42541
0ea85a37 42542 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
42543 types.
42544
e8a83df6 425452008-09-06 Felix Zielcke <fzielcke@z-51.de>
42546
42547 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
42548 RAID level 1.
42549
6bcd8ee5 425502008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 42551
6bcd8ee5 42552 * fs/iso9660.c (grub_iso9660_date): New structure.
42553 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
42554 (grub_iso9660_uuid): New function.
c375ae58 42555
59261157 425562008-09-05 Bean <bean123ch@gmail.com>
42557
42558 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
42559
42560 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
42561 insensitive bit for names in Win32 and Win32 & DOS namespace.
42562
42563 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
42564
42565 * include/grub/types.h (LONG_MAX): Likewise.
42566
58b6645a 425672008-09-04 Felix Zielcke <fzielcke@z-51.de>
42568
4ee55921 42569 * util/getroot.c: Include <config.h>.
42570 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
42571 add support for /dev/md/N devices and handle LVM double dash escaping.
42572
425732008-09-04 Felix Zielcke <fzielcke@z-51.de>
42574
42575 * config.guess: Update to latest version from config git.
42576 * config.sub: Likewise.
58b6645a 42577
9124f65d 425782008-09-03 Robert Millan <rmh@aybabtu.com>
42579
42580 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
42581 `disk->total_sectors'.
42582
81a06771 425832008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 42584
42585 * include/grub/normal.h: Fixed incorrect comment for
42586 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
42587
81a06771 425882008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 42589
42590 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
42591 values with defines.
42592
42593 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
42594 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
42595 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
42596 (GRUB_VBE_MODEATTR_COLOR): Likewise.
42597 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
42598 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
42599 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
42600 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
42601 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
42602 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
42603 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
42604 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
42605 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
42606 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
42607 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
42608 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
42609 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
42610 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
42611 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
42612
93d5cbf8 426132008-08-31 Robert Millan <rmh@aybabtu.com>
42614
42615 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
42616 declaration.
42617 (grub_multiboot): Fix a few warnings.
42618
21751d50 426192008-08-31 Robert Millan <rmh@aybabtu.com>
42620
42621 * loader/i386/pc/multiboot.c: Update comment not to say that
42622 boot_device support is unimplemented.
42623
e27a75c5 426242008-08-31 Robert Millan <rmh@aybabtu.com>
42625
42626 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
42627 or memory map support are unimplemented.
42628
81a06771 426292008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 42630
42631 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
42632
81a06771 426332008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 42634
42635 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
42636 total video memory in 'vbeinfo' output; show color format details for
42637 each video mode.
42638
7c5d8d95 426392008-08-30 Pavel Roskin <proski@gnu.org>
42640
42641 * util/genmoddep.c: Remove for real this time.
42642 * DISTLIST: Remove util/genmoddep.c.
42643
4cebd25a 426442008-08-30 Robert Millan <rmh@aybabtu.com>
42645
42646 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
42647 as required by Multiboot spec (it was already 4-byte aligned, but
42648 only by chance).
42649
b497a269 426502008-08-29 Pavel Roskin <proski@gnu.org>
42651
e3925185 42652 * kern/powerpc/ieee1275/crt0.S: Rename to ...
42653 * kern/powerpc/ieee1275/startup.S: ... this.
42654 * conf/powerpc-ieee1275.rmk: Adjust for the above.
42655 * DISTLIST: Likewise.
42656
b497a269 42657 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
42658 grub/cpu/kernel.h. Add start label for consistency with other
42659 platforms. Add grub_prefix immediately after start. Add jump
42660 to the code after grub_prefix.
42661 * include/grub/powerpc/kernel.h: Provide valid values for
42662 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
42663
6e5a42fe 426642008-08-29 Bean <bean123ch@gmail.com>
42665
42666 * configure.ac: Change host_os to cygwin for mingw.
42667 (asprintf): New check for function.
42668
42669 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
42670 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
42671
42672 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 42673 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 42674 sync, sleep and grub_util_get_disk_size for mingw.
42675
42676 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
42677 to get size in mingw.
42678 (open_device): Use flag O_BINARY if it's defined.
42679 (find_root_device): Add dummy code for mingw.
42680
42681 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
42682 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
42683 (get_scsi_disk_name): Return 0 for mingw.
42684
42685 * util/hostfs.c: #include <grub/util/misc.h>.
42686 (grub_hostfs_open): Use "rb" flag to open file, use
42687 grub_util_get_disk_size to get disk size for mingw.
42688
42689 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
42690 (asprintf): New function if HAVE_ASPRINTF is not set.
42691 (sync): New function for mingw.
42692 (sleep): Likewise.
42693 (grub_util_get_disk_size): Likewise.
42694
ab3f2673 426952008-08-28 Pavel Roskin <proski@gnu.org>
42696
42697 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42698 kern/time.c.
42699
1c282483 427002008-08-28 Robert Millan <rmh@aybabtu.com>
42701
42702 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
42703
678e849c 427042008-08-28 Robert Millan <rmh@aybabtu.com>
42705
42706 Change find_grub_drive() syntax so it doesn't prevent it from
42707 detecting NULL names as errors.
42708
42709 * util/biosdisk.c (find_grub_drive): Move free slot search code
42710 from here ...
42711 (find_free_slot): ... to here.
42712 (read_device_map): Use find_free_slot() to search for free slots.
42713
965c75ca 427142008-08-27 Marco Gerards <marco@gnu.org>
42715
42716 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
42717 (scsi_mod_SOURCES): New variable.
42718 (scsi_mod_CFLAGS): Likewise
42719 (scsi_mod_LDFLAGS): Likewise.
42720
42721 * disk/scsi.c: New file.
42722
42723 * include/grub/scsi.h: Likewise.
42724
42725 * include/grub/scsicmd.h: Likewise.
42726
42727 * disk/ata.c: Include <grub/scsi.h>.
42728 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
42729 instead.
42730 (grub_ata_iterate): Skip ATAPI devices.
42731 (grub_ata_open): Only handle ATAPI devices.
42732 (struct grub_atapi_read): Removed.
42733 (grub_atapi_readsector): Likewise.
42734 (grub_ata_read): No longer handle ATAPI devices.
42735 (grub_ata_write): Likewise.
42736 (grub_atapi_iterate): New function.
42737 (grub_atapi_read): Likewise.
42738 (grub_atapi_write): Likewise.
42739 (grub_atapi_open): Likewise.
42740 (grub_atapi_close): Likewise.
42741 (grub_atapi_dev): New variable.
42742 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
42743 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
42744
42745 * include/grub/disk.h (enum grub_disk_dev_id): Add
42746 `GRUB_DISK_DEVICE_SCSI_ID'.
42747
c07ae501 427482008-08-26 Robert Millan <rmh@aybabtu.com>
42749
42750 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
42751 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
42752 descriptive.
42753
5ed20adc 427542008-08-23 Bean <bean123ch@gmail.com>
42755
42756 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
42757 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42758 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
42759 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
42760 dm_nv.mod.
42761 (raid5rec_mod_SOURCES): New macro.
42762 (raid5rec_mod_CFLAGS): Likewise.
42763 (raid5rec_mod_LDFLAGS): Likewise.
42764 (raid6rec_mod_SOURCES): Likewise.
42765 (raid6rec_mod_CFLAGS): Likewise.
42766 (raid6rec_mod_LDFLAGS): Likewise.
42767 (mdraid_mod_SOURCES): Likewise.
42768 (mdraid_mod_CFLAGS): Likewise.
42769 (mdraid_mod_LDFLAGS): Likewise.
42770 (dm_nv_mod_SOURCES): Likewise.
42771 (dm_nv_mod_CFLAGS): Likewise.
42772 (dm_nv_mod_LDFLAGS): Likewise.
42773
42774 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
42775 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42776 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42777
42778 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
42779 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42780
42781 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42782
42783 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42784
42785 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42786
42787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42788
42789 * disk/raid5_recover.c: New file.
42790
42791 * disk/raid6_recover.c: Likewise.
42792
42793 * disk/mdraid_linux.c: Likewise.
42794
42795 * disk/dmraid_nvidia.c: Likewise.
42796
42797 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
42798 ULONG_MAX.
42799
42800 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
42801 calculate the size of raid device.
42802 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
42803 different layout of raid5.
42804 (grub_raid_scan_device): Remove code specific to mdraid.
42805 (grub_raid_list): New variable.
42806 (free_array): New function.
42807 (grub_raid_register): Likewise.
42808 (grub_raid_unregister): Likewise.
42809 (grub_raid_rescan): Likewise.
42810 (GRUB_MOD_INIT): Don't iterate device here.
42811 (GRUB_MOD_FINI): Use free_array to release resource.
42812
42813 * include/grub/raid.h: Remove macro and structure specific to mdraid.
42814 (grub_raid5_recover_func_t): New function variable type.
42815 (grub_raid6_recover_func_t): Likewise.
42816 (grub_raid5_recover_func): New variable.
42817 (grub_raid6_recover_func): Likewise.
42818 (grub_raid_register): New function.
42819 (grub_raid_unregister): Likewise.
42820 (grub_raid_rescan): Likewise.
42821 (grub_raid_block_xor): Likewise.
42822
42823 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
42824 (CMD_CRC): New macro.
42825 (part): Removed.
42826 (read_file): Handle device as well as file.
42827 (cmd_crc): New function.
42828 (fstest): Handle multiple disks.
42829 (options): Remove part, raw and long, add root and diskcount.
42830 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 42831 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 42832 add handling for the new options, support multiple disks.
42833
42834 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
42835
29c18915 428362008-08-23 Bean <bean123ch@gmail.com>
42837
42838 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
42839
42840 * genfslist.sh: Ignore kernel.mod.
42841
42842 * genpartmaplist.sh: Likewise.
42843
8415f261 428442008-08-23 Robert Millan <rmh@aybabtu.com>
42845
42846 * util/getroot.c (find_root_device): Skip anything that starts with
42847 a dot, not just directories. This avoids things like /dev/.tmp.md0.
42848
d5a7dc5b 428492008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 42850
d5a7dc5b 42851 * util/update-grub.in (GRUB_GFXMODE): Export variable.
42852 * util/grub.d/00_header.in: Allow the administrator to change default
42853 gfxmode via ${GRUB_GFXMODE}.
42854
380cfbb4 428552008-08-21 Felix Zielcke <fzielcke@z-51.de>
42856
42857 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
42858
c9baafe7 428592008-08-21 Robert Millan <rmh@aybabtu.com>
42860
42861 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
42862 loader.
42863 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
42864 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
42865
e290bef2 428662008-08-20 Carles Pina i Estany <carles@pina.cat>
42867
42868 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
42869 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
42870
f9dbfc96 428712008-08-19 Robert Millan <rmh@aybabtu.com>
42872
42873 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
42874 (struct grub_virtual_screen): Remove `cursor_color'.
42875 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
42876 initialization.
42877 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
42878
dd6bd6ab 428792008-08-18 Robert Millan <rmh@aybabtu.com>
42880
42881 Unify (identical) linux_normal.c files.
42882 * loader/i386/efi/linux_normal.c: Move from here ...
42883 * loader/linux_normal.c: ... to here. Update all users.
42884 * loader/i386/pc/linux_normal.c: Delete. Update all users.
42885 * loader/i386/ieee1275/linux_normal.c: Likewise.
42886
7f42f83e 428872008-08-18 Robert Millan <rmh@aybabtu.com>
42888
42889 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
42890 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
42891 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
42892 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
42893 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
42894 New macros.
42895 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
42896 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
42897 (GRUB_LINUX_CL_END_OFFSET): ... to here.
42898 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
42899 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
42900 (GRUB_EFI_CL_END_OFFSET): Rename to ...
42901 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
42902 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
42903 Initialize `params->video_cursor_x' and `params->video_cursor_y'
42904 portably using grub_getxy().
42905 Replace `-EFI' with `-bzImage' in boot message.
42906
38487ddb 429072008-08-17 Robert Millan <rmh@aybabtu.com>
42908
42909 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
42910
deceb3ec 429112008-08-17 Robert Millan <rmh@aybabtu.com>
42912
42913 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
42914
42915 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
42916 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
42917 (grub_machine_mmap_iterate): New function declaration.
42918 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
42919 structure.
42920 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
42921 macros.
42922
42923 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
42924 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
42925 Move e820 parsing from here ...
42926 * kern/i386/pc/mmap.c: New file.
42927 (grub_machine_mmap_iterate): ... to here.
42928
42929 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
42930 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
42931 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
42932 (grub_available_iterate): Redeclare to return `void', and redeclare
42933 its hook to use grub_uint64_t as addr and size parameters, and rename
42934 to ...
42935 (grub_machine_mmap_iterate): ... this. Update all users.
42936
42937 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
42938 to make it more readable. Rename to ...
42939 (grub_machine_mmap_iterate): ... this.
42940
42941 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
42942 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
42943 (grub_multiboot): Allocate an extra region after the payload, and fill
42944 it with a Multiboot memory map. Adjust a.out loader to calculate size
42945 with the extra space.
42946 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
42947 with the extra space.
42948
f8aa0f43 429492008-08-17 Carles Pina i Estany <carles@pina.cat>
42950
9807deb9 42951 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 42952
605f5bb6 429532008-08-17 Felix Zielcke <fzielcke@z-51.de>
42954
42955 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
42956 mdate-sh to the list `find' searches for.
42957 * DISTLIST: Regenerated.
42958
210db6c6 429592008-08-16 Felix Zielcke <fzielcke@z-51.de>
42960
42961 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
42962 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 42963 genmoddep.awk, gensymlist.sh.in.
42964 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 42965 * DISTLIST: Regenerated.
48cdbfd4 42966 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 42967
1082b929 429682008-08-16 Robert Millan <rmh@aybabtu.com>
42969
42970 * disk/raid.c (grub_raid_init): Handle/report errors set by
42971 grub_device_iterate().
42972 * disk/lvm.c (grub_lvm_init): Likewise.
42973
42ce5170 429742008-08-15 Bean <bean123ch@gmail.com>
42975
42976 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42977 and datehook.mod.
42978 (datetime_mod_SOURCES): New macro.
42979 (datetime_mod_CFLAGS): Likewise.
42980 (datetime_mod_LDFLAGS): Likewise.
42981 (date_mod_SOURCES): Likewise.
42982 (date_mod_CFLAGS): Likewise.
42983 (date_mod_LDFLAGS): Likewise.
42984 (datehook_mod_SOURCES): Likewise.
42985 (datehook_mod_CFLAGS): Likewise.
42986 (datehook_mod_LDFLAGS): Likewise.
42987
42988 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42989 and datehook.mod.
42990 (datetime_mod_SOURCES): New macro.
42991 (datetime_mod_CFLAGS): Likewise.
42992 (datetime_mod_LDFLAGS): Likewise.
42993 (date_mod_SOURCES): Likewise.
42994 (date_mod_CFLAGS): Likewise.
42995 (date_mod_LDFLAGS): Likewise.
42996 (datehook_mod_SOURCES): Likewise.
42997 (datehook_mod_CFLAGS): Likewise.
42998 (datehook_mod_LDFLAGS): Likewise.
42999
43000 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
43001 and datehook.mod.
43002 (datetime_mod_SOURCES): New macro.
43003 (datetime_mod_CFLAGS): Likewise.
43004 (datetime_mod_LDFLAGS): Likewise.
43005 (date_mod_SOURCES): Likewise.
43006 (date_mod_CFLAGS): Likewise.
43007 (date_mod_LDFLAGS): Likewise.
43008 (datehook_mod_SOURCES): Likewise.
43009 (datehook_mod_CFLAGS): Likewise.
43010 (datehook_mod_LDFLAGS): Likewise.
43011
43012 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
43013 and datehook.mod.
43014 (datetime_mod_SOURCES): New macro.
43015 (datetime_mod_CFLAGS): Likewise.
43016 (datetime_mod_LDFLAGS): Likewise.
43017 (date_mod_SOURCES): Likewise.
43018 (date_mod_CFLAGS): Likewise.
43019 (date_mod_LDFLAGS): Likewise.
43020 (datehook_mod_SOURCES): Likewise.
43021 (datehook_mod_CFLAGS): Likewise.
43022 (datehook_mod_LDFLAGS): Likewise.
43023
43024 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
43025 and datehook.mod.
43026 (datetime_mod_SOURCES): New macro.
43027 (datetime_mod_CFLAGS): Likewise.
43028 (datetime_mod_LDFLAGS): Likewise.
43029 (date_mod_SOURCES): Likewise.
43030 (date_mod_CFLAGS): Likewise.
43031 (date_mod_LDFLAGS): Likewise.
43032 (datehook_mod_SOURCES): Likewise.
43033 (datehook_mod_CFLAGS): Likewise.
43034 (datehook_mod_LDFLAGS): Likewise.
43035
43036 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
43037
43038 * commands/date.c: New file.
43039
43040 * hook/datehook.c: Likewise.
43041
43042 * include/grub/lib/datetime.h: Likewise.
43043
43044 * include/grub/i386/cmos.h: Likewise.
43045
43046 * lib/datetime.c: Likewise.
43047
43048 * lib/i386/datetime.c: Likewise.
43049
43050 * lib/efi/datetime.c: Likewise.
43051
0e9242da 430522008-08-14 Robert Millan <rmh@aybabtu.com>
43053
43054 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
43055 (grub_mkelfimage_SOURCES): New variable.
43056 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
43057
43058 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
43059 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
43060 * conf/powerpc-ieee1275.rmk: Likewise.
43061 * conf/i386-ieee1275.rmk: Likewise.
43062
43063 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
43064 * kern/i386/coreboot/init.c: Likewise.
43065
43066 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
43067 with `<grub/cpu/kernel.h>'.
43068 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
43069 to ...
43070 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
43071 * kern/i386/coreboot/startup.S: Likewise.
43072
43073 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
43074 (GRUB_MOD_GAP): Remove.
43075 * include/grub/powerpc/kernel.h: New file.
43076 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
43077 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
43078 * include/grub/i386/kernel.h: New file.
43079 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
43080 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
43081 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
43082
43083 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
43084 `grub-mkelfimage'.
43085 Use --directory when invoking grub_mkimage.
43086
43087 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
43088 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
43089 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
43090 and GRUB_KERNEL_CPU_PREFIX.
43091
b86408f8 430922008-08-14 Felix Zielcke <fzielcke@z-51.de>
43093
d5e619ca 43094 * include/grub/err.h (grub_err_printf): New function prototype.
43095 * util/misc.c (grub_err_printf): New function.
43096 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
43097 grub_printf.
43098 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 43099
7161f0e0 431002008-08-13 Robert Millan <rmh@aybabtu.com>
43101
43102 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
43103
a1967522 431042008-08-13 Robert Millan <rmh@aybabtu.com>
43105
43106 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
43107 boot entry.
43108
371458b5 431092008-08-12 Robert Millan <rmh@aybabtu.com>
43110
43111 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
43112 of the relocation code from here ...
43113 (grub_multiboot): ... to here.
43114 (forward_relocator, backward_relocator): Move from here ...
43115 * kern/i386/loader.S (grub_multiboot_forward_relocator)
43116 (grub_multiboot_backward_relocator): ... to here.
43117 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
43118 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
43119 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
43120 (grub_multiboot_forward_relocator_end)
43121 (grub_multiboot_backward_relocator)
43122 (grub_multiboot_backward_relocator_end): New variables.
43123
05f9452b 431242008-08-12 Bean <bean123ch@gmail.com>
43125
43126 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
43127
20024ab0 431282008-08-11 Robert Millan <rmh@aybabtu.com>
43129
43130 * kern/i386/linuxbios/startup.S: Move from here ...
43131 * kern/i386/coreboot/startup.S: ... to here.
43132
43133 * kern/i386/linuxbios/init.c: Move from here ...
43134 * kern/i386/coreboot/init.c: ... to here.
43135
43136 * kern/i386/linuxbios/table.c: Move from here ...
43137 * kern/i386/coreboot/mmap.c: ... to here.
43138
43139 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
43140
e352e9cd 431412008-08-11 Robert Millan <rmh@aybabtu.com>
43142
43143 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
43144 errors. Leave it to the upper layer to handle them.
43145
2d05bc6a 431462008-08-09 Christian Franke <franke@computer.org>
43147
43148 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
43149 * conf/common.rmk: Install `grub-pe2elf' only if requested.
43150 Install `grub.d/10_windows' only on Cygwin.
43151 * configure.ac: Add subst of `target_os'.
43152 Check `target_os' also before setting TARGET_OBJ2ELF.
43153 Add `--enable-grub-pe2elf'.
43154
042bd419 431552008-08-08 Robert Millan <rmh@aybabtu.com>
43156
43157 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
43158 (grub_last_time): Change type to grub_uint64_t.
43159 (grub_disk_open): Migrate code from to using grub_get_time_ms().
43160 (grub_disk_close): Likewise.
43161
43162 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
43163 (run_menu): Migrate code from to using grub_get_time_ms().
43164
43165 * util/misc.c (grub_get_time_ms): New function.
43166
7f280db5 431672008-08-08 Marco Gerards <marco@gnu.org>
43168
43169 * disk/ata.c (grub_ata_regget): Change return type to
43170 `grub_uint8_t'.
43171 (grub_ata_regget2): Likewise.
43172 (grub_ata_wait_status): New function.
43173 (grub_ata_wait_busy): Removed function, updated all users to use
43174 `grub_ata_wait_status'.
43175 (grub_ata_wait_drq): Likewise.
43176 (grub_ata_cmd): New function.
43177 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
43178 error handling.
43179 (grub_ata_pio_write): Add error handling.
43180 (grub_atapi_identify): Likewise.
43181 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
43182 handling.
43183 (grub_ata_identify): Use `grub_ata_cmd' and improve error
43184 handling. Actually use the detected registers. Reorder the
43185 detection logic such that it is easier to read.
43186 (grub_ata_pciinit): Do not assign the same ID to each controller.
43187 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
43188 handling.
43189 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
43190
43191 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
43192
1fbc5e66 431932008-08-08 Marco Gerards <marco@gnu.org>
43194
43195 * NEWS: Update.
43196
819ce6c0 431972008-08-07 Bean <bean123ch@gmail.com>
43198
43199 * include/grub/x86_64/pci.h: New file.
43200
5c41d44d 432012008-08-07 Christian Franke <franke@computer.org>
43202
43203 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
43204 (TIMER2_GATE): Likewise.
43205 (grub_pit_wait): Add enable/disable of the timer2 gate
43206 bit of port 0x61. This fixes a possible infinite loop.
43207
5ebc275d 432082008-08-07 Bean <bean123ch@gmail.com>
43209
43210 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
43211 kern/i386/tsc.c and kern/i386/pit.c.
43212
43213 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
43214 x86_64 platform.
43215
43216 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
43217 <grub/i386/tsc.h>.
43218
43219 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
43220
e383b3d0 432212008-08-07 Bean <bean123ch@gmail.com>
43222
43223 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
43224
43225 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
43226
43227 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
43228 multiple inclusion. Add #include <grub/types.h>.
43229
1cbb58ac 432302008-08-06 Christian Franke <franke@computer.org>
43231
43232 * conf/common.rmk: Build and install `10_windows'.
43233 * util/grub.d/10_windows.in: New script.
43234
337f5a1e 432352008-08-06 Pavel Roskin <proski@gnu.org>
43236
43237 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
43238
057bc4ac 432392008-08-06 Robert Millan <rmh@aybabtu.com>
43240
43241 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
43242 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
43243
2b99f123 432442008-08-06 Bean <bean123ch@gmail.com>
43245
43246 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
43247 (grub_pxefs_fs_int): Remove dummy definition.
43248 (grub_pxefs_open): Use data->block_size to store the current block
43249 size setting.
43250 (grub_pxefs_read): Use block size stored in data->block_size. As the
43251 value of grub_pxe_blksize can be changed after the file is opened.
43252
9f0234cb 432532008-08-06 Bean <bean123ch@gmail.com>
43254
43255 * fs/i386/pc/pxe.c (curr_file): new variable.
43256 (grub_pxefs_open): Simply the handling of pxe file system. Don't
43257 require the dummy internal file system anymore.
43258 (grub_pxefs_read): Removed.
43259 (grub_pxefs_close): Likewise.
43260 (grub_pxefs_fs_int): Likewise.
43261 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
43262 connection when we switch file.
43263 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
43264
a55d42e0 432652008-08-06 Robert Millan <rmh@aybabtu.com>
43266
43267 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
43268 `halt.mod'.
43269 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
43270 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
43271
43272 * kern/i386/halt.c: New file.
43273 * kern/i386/reboot.c: Likewise.
43274 * include/grub/i386/reboot.h: Likewise.
43275 * include/grub/i386/halt.h: Likewise.
43276
43277 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
43278 Include `<grub/cpu/halt.h>'.
43279 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
43280 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
43281
43282 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
43283 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
43284 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
43285 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
43286 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
43287 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
43288 from here ...
43289 * include/grub/i386/at_keyboard.h: ... to here.
43290
24371d26 432912008-08-05 Robert Millan <rmh@aybabtu.com>
43292
43293 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
43294 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
43295 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
43296 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43297 `kern/generic/millisleep.c'.
43298
43299 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
43300 instead of grub_get_rtc().
43301 (grub_tsc_init): Initialize `tsc_boot_time'.
43302
43303 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
43304 (grub_machine_init): Use grub_tsc_init() rather than
43305 installing an RTC-based handler via grub_install_get_time_ms().
43306
43307 * kern/i386/pit.c: New file.
43308 * include/grub/i386/pit.h: Likewise.
43309
9e7007b3 433102008-08-05 Bean <bean123ch@gmail.com>
43311
43312 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
43313
43314 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
43315 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
43316 (pxe_mod_SOURCES): New macro.
43317 (pxe_mod_CFLAGS): Likewise.
43318 (pxe_mod_LDFLAGS): Likewise.
43319 (pxecmd_mod_SOURCES): Likewise.
43320 (pxecmd_mod_CFLAGS): Likewise.
43321 (pxecmd_mod_LDFLAGS): Likewise.
43322
43323 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
43324 (grub_pxe_call): Likewise.
43325
43326 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
43327
43328 * commands/i386/pc/pxecmd.c: New file.
43329
9f0234cb 43330 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 43331
43332 * include/grub/i386/pc/pxe.h: Likewise.
43333
6977d49f 433342008-08-05 Bean <bean123ch@gmail.com>
43335
43336 * util/console.c (grub_console_cur_color): New variable.
43337 (grub_console_standard_color): Likewise.
43338 (grub_console_normal_color): Likewise.
43339 (grub_console_highlight_color): Likewise.
43340 (color_map): Likewise.
43341 (use_color): Likewise.
43342 (NUM_COLORS): New macro.
43343 (grub_ncurses_setcolorstate): Handle color properly.
43344 (grub_ncurses_setcolor): Don't change color here, just remember the
43345 settings, color will be set in grub_ncurses_setcolorstate.
43346 (grub_ncurses_getcolor): New function.
43347 (grub_ncurses_init): Initialize color pairs.
43348 (grub_ncurses_term): New member grub_ncurses_getcolor.
43349
9c2ff3ee 433502008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 43351
9c2ff3ee 43352 High resolution timer support. Implemented for x86 CPUs using TSC.
43353 Extracted generic grub_millisleep() so it's linked in only as needed.
43354 This requires a Pentium compatible CPU; if the RDTSC instruction is
43355 not supported, then it falls back on the generic grub_get_time_ms()
43356 implementation that uses the machine's RTC.
43357
43358 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
43359 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43360 `kern/generic/millisleep.c'.
43361
43362 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
43363 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
43364
43365 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
43366 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
43367
43368 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43369
43370 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
43371 `kern/generic/millisleep.c'.
43372
43373 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43374
43375 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
43376
43377 * kern/generic/rtc_get_time_ms.c: New file.
43378
43379 * kern/generic/millisleep.c: New file.
337f5a1e 43380
9c2ff3ee 43381 * kern/misc.c: Don't include
43382 <kern/time.h> anymore.
43383 (grub_millisleep_generic): Removed.
43384
43385 * commands/sleep.c (grub_interruptible_millisleep): Uses
43386 grub_get_time_ms() instead of grub_get_rtc().
43387
43388 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
43389 function.
43390 (grub_cpu_is_cpuid_supported): New inline function.
43391 (grub_cpu_is_tsc_supported): New inline function.
43392 (grub_tsc_init): New function prototype.
43393 (grub_tsc_get_time_ms): New function prototype.
43394
43395 * kern/i386/tsc.c (grub_get_time_ms): New file.
43396
43397 * include/grub/time.h: Include <grub/types.h.
43398 (grub_millisleep_generic): Removed.
43399 (grub_get_time_ms): New prototype.
43400 (grub_install_get_time_ms): New prototype.
43401 (grub_rtc_get_time_ms): New prototype.
43402
43403 * kern/time.c (grub_get_time_ms): New function.
43404 (grub_install_get_time_ms): New function.
43405
43406 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
43407 <grub/time.h> anymore.
43408 (grub_millisleep): Removed.
43409 (grub_machine_init): Call grub_tsc_init.
43410
43411 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
43412 get_time_ms() implementation.
43413
43414 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
43415 (ieee1275_get_time_ms): New function.
43416 (grub_machine_init): Install get_time_ms() implementation.
43417
43418 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
43419 (grub_machine_init): Call grub_tsc_init().
43420 (grub_millisleep): Removed.
bf06a93f 43421
9c2ff3ee 43422 * kern/ieee1275/init.c (grub_millisleep): Removed.
43423 (grub_machine_init): Install ieee1275_get_time_ms()
43424 implementation.
43425 (ieee1275_get_time_ms): New function.
43426 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
43427 real work.
43428
9ec92aaf 434292008-08-05 Marco Gerards <marco@gnu.org>
43430
43431 * disk/ata.c: Include <grub/pci.h>.
43432 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
43433 (grub_ata_initialize): Rewritten.
43434 (grub_ata_device_initialize): New function.
43435
8d23f507 434362008-08-04 Pavel Roskin <proski@gnu.org>
43437
43438 * kern/main.c: Include grub/mm.h.
43439
5e15ee3d 434402008-08-04 Robert Millan <rmh@aybabtu.com>
43441
43442 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
43443 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
43444 corruption problem).
43445
a9053f8f 434462008-08-04 Robert Millan <rmh@aybabtu.com>
43447
43448 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
43449 warnings introduced in my last commit.
43450
dd19c7d7 434512008-08-03 Robert Millan <rmh@aybabtu.com>
43452
43453 Make PCI available on all i386 architectures.
43454
43455 * include/grub/i386/pc/pci.h: Move from here ...
43456 * include/grub/i386/pci.h: ... to here.
43457
43458 * include/grub/i386/pc/pci.h: Remove.
43459 * include/grub/i386/efi/pci.h: Remove.
43460 * include/grub/x86_64/efi/pci.h: Remove.
43461
43462 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
43463 `<grub/cpu/pci.h>'.
43464
43465 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
43466 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
43467 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
43468
43469 * conf/i386-ieee1275.rmk: Likewise.
43470
e14a6184 434712008-08-03 Robert Millan <rmh@aybabtu.com>
43472
43473 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
43474 (grub_console_setcursor): Make it possible to set cursor off.
43475
52768e37 434762008-08-03 Robert Millan <rmh@aybabtu.com>
43477
43478 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
43479 of modules instead of assuming which platform provides what.
43480 * util/update-grub.in: Likewise.
43481
2d52f57f 434822008-08-03 Robert Millan <rmh@aybabtu.com>
43483
43484 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
43485 instead of `grub_install_dos_part' to determine whether a drive needs
43486 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 43487 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 43488
2a5cd121 434892008-08-02 Robert Millan <rmh@aybabtu.com>
43490
43491 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
43492
93808428 434932008-08-02 Robert Millan <rmh@aybabtu.com>
43494
43495 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
43496 of informational grub_dprintf() calls.
43497
3bd0a12a 434982008-08-02 Robert Millan <rmh@aybabtu.com>
43499
43500 * disk/memdisk.c (memdisk_size): Don't initialize.
43501 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
43502
43503 * include/grub/i386/pc/kernel.h
43504 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
43505 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
43506 (grub_memdisk_image_size, grub_arch_memdisk_addr)
43507 (grub_arch_memdisk_size): Remove.
43508
43509 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
43510 field (was only used to transfer a constant). Add `type' field to
43511 support multiple module types.
43512 (grub_module_iterate): New function.
43513
43514 * kern/device.c (grub_device_open): Do not hide error messages
43515 when grub_disk_open() fails. Use grub_print_error() instead.
43516
43517 * kern/i386/pc/init.c (grub_arch_modules_addr)
43518 (grub_arch_memdisk_size): Remove functions.
43519 (grub_arch_modules_addr): Return the module address in high memory
43520 (now that it isn't copied anymore).
43521
43522 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
43523 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
43524 decompression routine (grub_total_module_size already includes that
43525 now). Don't copy modules back to low memory.
43526
43527 * kern/main.c: Include `<grub/mm.h>'.
43528 (grub_load_modules): Split out (and use) ...
43529 (grub_module_iterate): ... this function, which iterates through
43530 module objects and runs a hook.
43531 Comment out grub_mm_init_region() call, as it would cause non-ELF
43532 modules to be overwritten.
43533
43534 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
43535 the memdisk image in its own region, make it part of the module list.
43536 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
43537 (main): Parse --memdisk|-m option, and pass user-provided path as
43538 parameter to generate_image().
43539 (add_segments): Pass `memdisk_path' down to load_modules().
43540 (load_modules): Embed memdisk image in module section when requested.
43541 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
43542 `header.type' instead of `header.offset'.
43543
43544 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
43545 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
43546 (memdisk_mod_LDFLAGS): New variables.
43547 * conf/i386-coreboot.rmk: Likewise.
43548 * conf/i386-ieee1275.rmk: Likewise.
43549
a927cc73 435502008-08-02 Robert Millan <rmh@aybabtu.com>
43551
43552 * loader/i386/pc/multiboot.c (playground, forward_relocator)
43553 (backward_relocator): New variables. Used to allocate and relocate
43554 the payload, respectively.
43555 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 43556 address, install the appropriate relocator code in each bound of
a927cc73 43557 the payload, and set the entry point such that
43558 grub_multiboot_real_boot() will jump to one of them.
43559
43560 * kern/i386/loader.S (grub_multiboot_payload_size)
43561 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43562 (grub_multiboot_payload_entry_offset): New variables.
43563 (grub_multiboot_real_boot): Set cpu context to what the relocator
43564 expects, and jump to the relocator instead of the payload.
43565
43566 * include/grub/i386/loader.h (grub_multiboot_payload_size)
43567 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43568 (grub_multiboot_payload_entry_offset): Export.
43569
b15d8a0c 435702008-08-01 Bean <bean123ch@gmail.com>
43571
43572 * normal/menu_entry.c (editor_getline): Don't return the original
43573 string as result, as it will be released by lexer once it has done
43574 using it.
43575
cdfb3d22 435762008-08-01 Robert Millan <rmh@aybabtu.com>
43577
43578 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
43579 within menuentries, not before them.
43580 util/grub.d/10_hurd.in: Likewise.
43581
9175e93d 435822008-08-01 Bean <bean123ch@gmail.com>
43583
43584 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
43585 (bufio_mod_SOURCES): New macro.
43586 (bufio_mod_CFLAGS): Likewise.
43587 (bufio_mod_LDFLAGS): Likewise.
43588
43589 * include/grub/bufio.h: New file.
43590
43591 * io/bufio.c: Likewise.
43592
43593 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
43594 (grub_video_reader_png): Use grub_buffile_open to open file.
43595
43596 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
43597 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
43598
43599 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
43600 (grub_video_reader_tga): Use grub_buffile_open to open file.
43601
43602 * font/manager.c: Include <grub/bufio.h>.
43603 (add_font): Use grub_buffile_open to open file.
43604
3d8383e7 436052008-07-31 Robert Millan <rmh@aybabtu.com>
43606
43607 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
43608 ELF segments, use a macro for arbitrarily accessing any of them instead
43609 of preparing a pointer that allows access to one at a time.
43610 (grub_multiboot_load_elf64): Likewise.
43611
16e641b6 436122008-07-31 Bean <bean123ch@gmail.com>
43613
43614 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
43615 GRUB_KERNEL_MACHINE_DATA_END.
43616
59198b72 436172008-07-30 Robert Millan <rmh@aybabtu.com>
43618
43619 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
43620 Increase from 0x50 to 0x60.
43621 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
43622 use UUIDs to identify the root drive for them. If that's not
43623 possible, abort.
43624 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
43625 check, for cross-disk installs.
43626
ae88bca3 436272008-07-30 Robert Millan <rmh@aybabtu.com>
43628
43629 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
43630 is non-empty, use it to set the `prefix' environment variable instead
43631 of the usual approach.
43632 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
43633 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
43634 environment variable instead of dummy make_install_device().
43635
43636 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
43637 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 43638 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 43639
43640 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
43641 New variable reference.
43642 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
43643 New macro. Defines offset of `grub_prefix' within startup.S (relative
43644 to `start').
43645 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
43646 section within startup.S (relative to `start').
43647 * include/grub/i386/coreboot/kernel.h: Likewise.
43648
43649 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
43650 Overwrite grub_prefix with its contents, at the beginning of the
43651 first segment.
43652 (main): Understand -p|--prefix.
43653
14f41dd1 436542008-07-30 Robert Millan <rmh@aybabtu.com>
43655
43656 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
43657
4ca049a3 436582008-07-30 Robert Millan <rmh@aybabtu.com>
43659
43660 * term/i386/pc/vga_text.c (grub_console_cls): Use
43661 grub_console_gotoxy() to go back to beginning of the screen.
43662 Found by Patrick Georgi <patrick.georgi@coresystems.de>
43663
2921d337 436642008-07-29 Christian Franke <franke@computer.org>
43665
43666 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43667 Add conversion of emulated mount points on Cygwin.
43668
b609876d 436692008-07-29 Christian Franke <franke@computer.org>
43670
43671 * util/update-grub.in: Add a check for admin
43672 group on Cygwin.
43673 Remove old `grub.cfg.new' before creation.
43674 Add `-f' to `mv' to handle the different filesystem
43675 semantics of Windows.
43676
e93e4679 436772008-07-29 Bean <bean123ch@gmail.com>
43678
43679 * normal/main.c (get_line): Fix buffer overflow bug.
43680
41694fd0 436812008-07-28 Robert Millan <rmh@aybabtu.com>
43682
43683 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
43684 (struct grub_apple_header): New struct. Describes the layout of
43685 the partmap header.
43686 (apple_partition_map_iterate): Check the header magic as well as the
43687 partition magic (which was already being checked).
43688
cfd0b4e6 436892008-07-28 Pavel Roskin <proski@gnu.org>
43690
43691 * genmk.rb: Add a warning to the beginning of the output that
43692 it's a generated file and should not be edited.
43693
93cce016 436942008-07-28 Robert Millan <rmh@aybabtu.com>
43695
43696 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
43697 with the same number are found, just use issue a warning with
43698 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 43699
cd1df915 437002008-07-27 Robert Millan <rmh@aybabtu.com>
43701
43702 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
43703 information.
43704
b70a8427 437052008-07-27 Bean <bean123ch@gmail.com>
43706
43707 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
43708 (grub_fat_find_dir): Ignore case when comparing filename.
43709
8f5e379f 437102008-07-27 Bean <bean123ch@gmail.com>
43711
43712 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
43713 smallino, as it's more descriptive, and i8count can be confused with
43714 the other field count.
43715 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
43716 inode type.
43717
a85cd5a0 437182008-07-27 Bean <bean123ch@gmail.com>
43719
43720 * commands/crc.c: New file.
43721
43722 * lib/crc.c: Likewise.
43723
43724 * include/grub/lib/crc.h: Likewise.
43725
43726 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
43727
43728 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
43729 (hexdump): Move this function to ...
43730
43731 * lib/hexdump.c: ... here.
43732
43733 * include/grub/hexdump.h: Renamed to ...
43734
43735 * include/grub/lib/hexdump.h: ... this.
43736
43737 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
43738
43739 * util/grub-editenv.c: Likewise.
43740
43741 * include/envblk.h: Renamed to ...
43742
43743 * include/lib/envblk.h: ... this.
43744
43745 * util/envblk.c: Renamed to ...
43746
43747 * lib/envblk.c: ... this.
43748
43749 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
43750 lib/hexdump.c.
43751 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
43752 (pkglib_MODULES): Add crc.mod.
43753 (hexdump_mod_SOURCES): Add lib/hexdump.c.
43754 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
43755 (crc_mod_SOURCES): New macro.
43756 (crc_mod_CFLAGS): Likewise.
43757 (crc_mod_LDFLAGS): Likewise.
43758
43759 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
43760
43761 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43762
43763 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43764
43765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43766
43767 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
43768
c298def0 437692008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 43770
43771 * commands/help.c: Include <grub/term.h>.
43772 (TERM_WIDTH): Removed. Updated all users.
43773
cc349fb3 437742008-07-27 Pavel Roskin <proski@gnu.org>
43775
43776 * util/getroot.c (find_root_device): Rephrase a comment to avoid
43777 spurious warnings about a comment within a comment.
43778
9051607e 437792008-07-25 Robert Millan <rmh@aybabtu.com>
43780
43781 * util/getroot.c (find_root_device): Skip devices that match
43782 /dev/dm-[0-9]. This lets the real device be found for any type of
43783 abstraction (LVM, EVMS, RAID..).
43784 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
43785 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
43786 device is found first, find_root_device() will now skip it.
43787
01453bfc 437882008-07-24 Pavel Roskin <proski@gnu.org>
43789
43790 * include/grub/types.h: Use __builtin_bswap32() and
43791 __builtin_bswap64() with gcc 4.3 and newer.
43792
6af9849f 437932008-07-24 Christian Franke <franke@computer.org>
43794
3a0fa256 43795 * util/i386/pc/grub-install.in: If `--debug' is specified,
43796 pass `--verbose' to grub-setup.
43797 Abort script if make_system_path_relative_to_its_root() fails.
43798
7810e747 437992008-07-24 Bean <bean123ch@gmail.com>
43800
43801 * configure.ac: Fixed a bug caused by the previous cygwin patch,
43802 variable `target_platform' should be `platform'.
43803
42290e17 438042008-07-24 Bean <bean123ch@gmail.com>
43805
51cc5193 43806 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 43807 (grub_png_init_fixed_block): New function.
43808 (grub_png_decode_image_data): Handle fixed huffman code compression.
43809
2a8a80e4 438102008-07-24 Bean <bean123ch@gmail.com>
43811
43812 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
43813 (grub_pe2elf_SOURCES): New macro.
43814 (CLEANFILES): Add grub-pe2elf.
43815
43816 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
43817 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
43818 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
43819 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
43820 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
43821 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
43822 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
43823 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
43824 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
43825 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
43826 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
43827 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
43828 (GRUB_PE32_DT_FUNCTION): Likewise.
43829 (GRUB_PE32_REL_I386_DIR32): Likewise.
43830 (GRUB_PE32_REL_I386_REL32): Likewise.
43831 (grub_pe32_symbol): New structure.
43832 (grub_pe32_reloc): Likewise.
43833
43834 * util/grub-pe2elf.c: New file.
43835
43836 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
43837 start symbol in non pc platform.
43838
43839 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
43840
43841 The following patches are from Christian Franke.
43842
43843 * include/grub/dl.h: Remove .previous, gas supports this only
43844 for ELF format.
43845
43846 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
43847 Remove .type, gas supports this only for ELF format.
43848
43849 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
43850 nullbytes in symbol table. This fixes an infinite loop if table is
43851 zero filled.
43852
43853 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
43854 TARGET_IMG_LDFLAGS and EXEEXT.
43855
43856 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
43857 TARGET_IMG_LDFLAGS_AC.
43858 (grub_CHECK_STACK_ARG_PROBE): New function.
43859
43860 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
43861
43862 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
43863
43864 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
43865 to set TARGET_IMG_LD* accordingly.
43866 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
43867 Add call to grub_CHECK_STACK_ARG_PROBE.
43868 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
43869
43870 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
43871
43872 * genmk.rb: Add EXEEXT to CLEANFILES.
43873
12ccdb75 438742008-07-23 Robert Millan <rmh@aybabtu.com>
43875
43876 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
43877 define the codes for arrows and lines used for the menu).
43878 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
43879 as well.
43880
43881 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
43882 fonts, because the latter are too slow.
43883
18eeaf04 438842008-07-21 Bean <bean123ch@gmail.com>
43885
43886 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
43887 a20. Run keyboard test last, as it will cause macbook to halt.
43888
b095e2ad 438892008-07-18 Pavel Roskin <proski@gnu.org>
43890
43891 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
43892 load foreign architecture modules correctly anyway. Keep
43893 support for loading host architecture modules, whether we
43894 compile them or not.
43895
737feb35 438962008-07-17 Pavel Roskin <proski@gnu.org>
43897
3f4ce737 43898 * configure.ac: Use -m32 or -m64 regardless of whether we had to
43899 change target_cpu. The compiler default can mismatch target_cpu
43900 in any case.
43901
4ad2d049 43902 * disk/efi/efidisk.c: Fix format warnings on x86_64.
43903 * kern/efi/efi.c: Likewise.
43904
f6130a12 43905 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
43906 target compiler is functional.
43907 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
43908 are set up.
43909
58393a2d 43910 * configure.ac: Default to efi platform for x86_64-apple. Allow
43911 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
43912 adjustments from the rest, only do them if target is not
43913 explicitly given. Merge other adjustments with the final sanity
43914 check. Remove an extraneous check for supported CPU. Be
43915 specific which CPU and which platform is not supported.
43916
737feb35 43917 * configure.ac: Default to pc platform for x86_64.
43918
546f966a 439192008-07-17 Robert Millan <rmh@aybabtu.com>
43920
43921 Partial LinuxBIOS -> Coreboot rename.
43922
43923 * conf/i386-linuxbios.rmk: Renamed to ...
43924 * conf/i386-coreboot.rmk: ... this.
43925 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
43926 * configure.ac: Accept "coreboot" as input platform (but maintain
43927 compatibility with "linuxbios").
43928 * include/grub/i386/linuxbios: Renamed to ...
43929 * include/grub/i386/coreboot: ... this.
43930
20011694 439312008-07-17 Bean <bean123ch@gmail.com>
43932
43933 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 43934 (appleldr_mod_SOURCE): New variable.
20011694 43935 (appleldr_mod_CFLAGS): Likewise.
43936 (appleldr_mod_LDFLAGS): Likewise.
43937 (pci_mod_SOURCES): Likewise.
43938 (pci_mod_CFLAGS): Likewise.
43939 (pci_mod_LDFLAGS): Likewise.
43940 (lspci_mod_SOURCES): Likewise.
43941 (lspci_mod_CFLAGS): Likewise.
43942 (lspci_mod_LDFLAGS): Likewise.
43943
43944 * conf/x86_64-efi.rmk: New file.
43945
43946 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
43947 macro.
43948 (grub_efidisk_write): Likewise.
43949
43950 * include/efi/api.h (efi_call_0): New macro.
43951 (efi_call_1): Likewise.
43952 (efi_call_2): Likewise.
43953 (efi_call_3): Likewise.
43954 (efi_call_4): Likewise.
43955 (efi_call_5): Likewise.
43956 (efi_call_6): Likewise.
43957
43958 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
43959 grub_rescue_cmd_chainloader.
43960
43961 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
43962 (grub_pe32_optional_header): Change some fields based on i386 or
43963 x86_64 platform.
43964 (GRUB_PE32_PE32_MAGIC): Likewise.
43965
43966 * include/grub/efi/uga_draw.h: New file.
43967
43968 * include/grub/elf.h (STN_ABS): New constant.
43969 (R_X86_64_NONE): Relocation constant for x86_64.
43970 (R_X86_64_64): Likewise.
43971 (R_X86_64_PC32): Likewise.
43972 (R_X86_64_GOT32): Likewise.
43973 (R_X86_64_PLT32): Likewise.
43974 (R_X86_64_COPY): Likewise.
43975 (R_X86_64_GLOB_DAT): Likewise.
43976 (R_X86_64_JUMP_SLOT): Likewise.
43977 (R_X86_64_RELATIVE): Likewise.
43978 (R_X86_64_GOTPCREL): Likewise.
43979 (R_X86_64_32): Likewise.
43980 (R_X86_64_32S): Likewise.
43981 (R_X86_64_16): Likewise.
43982 (R_X86_64_PC16): Likewise.
43983 (R_X86_64_8): Likewise.
43984 (R_X86_64_PC8): Likewise.
43985
43986 * include/grub/i386/efi/pci.h: New file.
43987
43988 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
43989 Change it value based on platform.
43990 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
43991 (GRUB_E820_RAM): Likewise.
43992 (GRUB_E820_RESERVED): Likewise.
43993 (GRUB_E820_ACPI): Likewise.
43994 (GRUB_E820_NVS): Likewise.
43995 (GRUB_E820_EXEC_CODE): Likewise.
43996 (GRUB_E820_MAX_ENTRY): Likewise.
43997 (grub_e820_mmap): New structure.
43998 (linux_kernel_header): Change the efi field according to different
43999 kernel version, also field from linux_kernel_header.
44000
44001 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
44002
44003 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
44004 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
44005 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
44006 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
44007 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
44008 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
44009 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
44010 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
44011 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
44012 (GRUB_PCI_ADDR_IO_MASK): Likewise.
44013
44014 * include/grub/x86_64/efi/kernel.h: New file.
44015
44016 * include/grub/x86_64/efi/loader.h: Likewise.
44017
44018 * include/grub/x86_64/efi/machine.h: Likewise.
44019
44020 * include/grub/x86_64/efi/pci.h: Likewise.
44021
44022 * include/grub/x86_64/efi/time.h: Likewise.
44023
44024 * include/grub/x86_64/linux.h: Likewise.
44025
44026 * include/grub/x86_64/setjmp.h: Likewise.
44027
44028 * include/grub/x86_64/time.h: Likewise.
44029
44030 * include/grub/x86_64/types.h: Likewise.
44031
44032 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
44033 GRUB_TARGET_SIZEOF_VOID_P.
44034
44035 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
44036 (grub_efi_locate_handle): Likewise.
44037 (grub_efi_open_protocol): Likewise.
44038 (grub_efi_set_text_mode): Likewise.
44039 (grub_efi_stall): Likewise.
44040 (grub_exit): Likewise.
44041 (grub_reboot): Likewise.
44042 (grub_halt): Likewise.
44043 (grub_efi_exit_boot_services): Likewise.
44044 (grub_get_rtc): Likewise.
44045
44046 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
44047 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
44048 (grub_efi_allocate_pages): Wrap efi calls.
44049 (grub_efi_free_pages): Wrap efi calls.
44050 (grub_efi_get_memory_map): Wrap efi calls.
44051
44052 * kern/x86_64/dl.c: New file.
44053
44054 * kern/x86_64/efi/callwrap.S: Likewise.
44055
44056 * kern/x86_64/efi/startup.S: Likewise.
44057
44058 * loader/efi/appleloader.c: Likewise.
44059
44060 * loader/efi/chainloader.c (cmdline): New variable.
44061 (grub_chainloader_unload): Wrap efi calls.
44062 (grub_chainloader_boot): Likewise.
44063 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
44064 command line.
44065
44066 * loader/efi/chainloader_normal.c (chainloader_command):
44067 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
44068 command line.
44069
44070 * loader/i386/efi/linux.c (allocate_pages): Change allocation
44071 method.
44072 (grub_e820_add_region): New function.
44073 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
44074 booting.
44075 (grub_find_video_card): New function.
44076 (grub_linux_setup_video): New function.
44077 (grub_rescue_cmd_linux): Probe for video information.
44078
44079 * normal/x86_64/setjmp.S: New file.
44080
44081 * term/efi/console.c (map_char): New function.
44082 (grub_console_putchar): Map unicode char.
44083 (grub_console_checkkey): Wrap efi calls.
44084 (grub_console_getkey): Likewise.
44085 (grub_console_getwh): Likewise.
44086 (grub_console_gotoxy): Likewise.
44087 (grub_console_cls): Likewise.
44088 (grub_console_setcolorstate): Likewise.
44089 (grub_console_setcursor): Likewise.
44090
44091 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
44092
59652a20 440932008-07-16 Pavel Roskin <proski@gnu.org>
44094
ef294055 44095 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
44096 format strings.
44097
59652a20 44098 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
44099 pointer, not an integer. This fixes a warning and prevents
44100 precision loss on 64-bit systems.
44101 (relocate_addresses): Remove unneeded cast.
44102
afc3b5d7 441032008-07-15 Pavel Roskin <proski@gnu.org>
44104
506b2b3e 44105 * kern/i386/ieee1275/init.c: Include grub/cache.h.
44106
62ead89c 44107 * term/ieee1275/ofconsole.c: Disable code unused on i386.
44108
c4cd51d7 44109 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
44110 Fix comparison between signed and unsigned.
44111
0d3d8f28 44112 * include/grub/i386/ieee1275/console.h: Declare
44113 grub_console_init() and grub_console_fini().
44114
8804b286 44115 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
44116 It's empty and unused.
44117
ee01cf35 44118 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
44119 beginning to avoid warnings with some compilers.
44120
afc3b5d7 44121 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
44122 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
44123
e4e8eaa5 441242008-07-14 Pavel Roskin <proski@gnu.org>
44125
407aceb4 44126 * kern/env.c (grub_register_variable_hook): Don't copy empty
44127 string, it leaks memory. Pass "" to grub_env_set(), it should
44128 handle constant strings.
44129
e4e8eaa5 44130 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
44131 * commands/cmp.c (grub_cmd_cmp): Likewise.
44132 * kern/dl.c (grub_dl_flush_cache): Likewise.
44133 (grub_dl_load_core): Likewise.
44134 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
44135 (grub_elf64_load_phdrs): Likewise.
44136
d4e2dad3 441372008-07-13 Pavel Roskin <proski@gnu.org>
44138
44139 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
44140 between signed and unsigned.
44141 (LzmaEnc_Finish): Fix warning about an unused parameter.
44142
aa24b516 441432008-07-13 Bean <bean123ch@gmail.com>
44144
44145 * Makefile.in (enable_lzo): New rule.
44146
44147 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
44148
44149 * configure.ac (ENABLE_LZO): New option --enable-lzo.
44150
44151 * boot/i386/pc/lnxboot.S: #include <config.h>.
44152
44153 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 44154 its value according to the compression algorithm used, lzo or lzma.
aa24b516 44155
44156 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
44157 compression algorithm according to configure macro.
44158
44159 * kern/i386/pc/startup.S (codestart): Likewise.
44160
44161 * kern/i386/pc/lzma_decode.S: New file.
44162
44163 * include/grub/lib/LzFind.h: Likewise.
44164
44165 * include/grub/lib/LzHash.h: Likewise.
44166
44167 * include/grub/lib/LzmaDec.h: Likewise.
44168
44169 * include/grub/lib/LzmaEnc.h: Likewise.
44170
44171 * include/grub/lib/LzmaTypes.h: Likewise.
44172
44173 * lib/LzFind.c: Likewise.
44174
44175 * lib/LzmaDec.c: Likewise.
44176
44177 * lib/LzmaEnc.c: Likewise.
44178
4ae821ac 441792008-07-13 Bean <bean123ch@gmail.com>
44180
44181 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
44182 (grub_ext4_extent_header): New structure.
44183 (grub_ext4_extent): Likewise.
44184 (grub_ext4_extent_idx): Likewise.
44185 (grub_ext4_find_leaf): New function.
44186 (grub_ext2_read_block): Handle extents.
44187
9a745147 441882008-07-12 Robert Millan <rmh@aybabtu.com>
44189
44190 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
44191
d49a4cf6 441922008-07-11 Robert Millan <rmh@aybabtu.com>
44193
44194 * util/grub.d/40_custom.in: New file. Example on how to add custom
44195 entries to /etc/grub.d.
44196 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
44197 40_custom (implicitly, by merging all the grub.d rules).
44198
947414b4 441992008-07-11 Pavel Roskin <proski@gnu.org>
44200
0059cf6f 44201 * commands/read.c (grub_getline): Fix invalid memory access.
44202 Don't add newline to the variable value.
44203
947414b4 44204 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
44205 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
44206 (serial_hw_get_port): Check validity of the port number.
44207 (grub_cmd_serial): Check return value of serial_hw_get_port().
44208
62a02d00 442092008-07-07 Pavel Roskin <proski@gnu.org>
44210
44211 * boot/i386/pc/diskboot.S (notification_string): Replace
44212 "Loading kernel" with just "loading". This is shorter, less
44213 confusing and saves a few bytes for possible future changes.
44214
3e5581b0 442152008-07-05 Pavel Roskin <proski@gnu.org>
44216
ea387a48 44217 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
44218 size for ATAPI devices, they are undefined. Output sector
44219 number in decimal form.
44220
3e5581b0 44221 * disk/ata.c: Use named constants for status bits.
44222
fdecb8fd 442232008-07-04 Pavel Roskin <proski@gnu.org>
44224
bcd35b90 44225 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
44226 grub_addr_t before casting it to the void pointer to fix a
44227 warning. Non-addressable regions are discarded earlier.
44228 (grub_arch_modules_addr): Cast _end to grub_addr_t.
44229 * kern/i386/linuxbios/table.c: Include grub/misc.h.
44230 (check_signature): Don't shadow table_header.
44231 (grub_linuxbios_table_iterate): Cast numeric constants to
44232 grub_linuxbios_table_header_t.
44233 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
44234 grub_stop().
44235
af58ab3d 44236 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
44237 prevent warnings.
44238
1759aa57 44239 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
44240 pointer, which can cause warnings. Support 64-bit addresses.
44241
fdecb8fd 44242 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
44243 of sizeof(long). This fixes PowerPC image generation on x86_64.
44244
8516d2a8 442452008-07-04 Robert Millan <rmh@aybabtu.com>
44246
44247 This fixes a performance issue when pc & gpt partmap iterators
44248 didn't abort iteration even after our hook found what it was
fe987087 44249 looking for (often causing expensive probes of non-existent drives).
8516d2a8 44250
44251 Some callers relied on previous buggy behaviour, since they would
34c44600 44252 raise an error when their own hooks caused early abortion of its
8516d2a8 44253 iteration.
44254
44255 * kern/device.c (grub_device_open): Improve error message.
44256 * disk/lvm.c (grub_lvm_open): Likewise.
44257 * disk/raid.c (grub_raid_open): Likewise.
44258
44259 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
44260 when hook requests it, independently of grub_errno.
44261 (pc_partition_map_probe): Do not fail when find_func() caused
44262 early abortion of pc_partition_map_iterate().
44263
44264 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
44265 when hook requests it, independently of grub_errno.
44266 (gpt_partition_map_probe): Do not fail when find_func() caused
44267 early abortion of gpt_partition_map_iterate().
44268
44269 * kern/partition.c (grub_partition_iterate): Abort parent iteration
44270 when hook requests it, independently of grub_errno. Do not fail when
44271 part_map_iterate_hook() caused early abortion of p->iterate().
44272
44273 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
44274 when grub_partition_iterate() returned with non-zero.
44275
277d0de9 442762008-07-03 Pavel Roskin <proski@gnu.org>
44277
44278 * disk/ata.c (grub_ata_pio_write): Check status before writing,
44279 like we do in grub_ata_pio_read().
44280 (grub_ata_readwrite): Always write individual sectors. Fix the
44281 sector count for the remainder.
44282 (grub_ata_write): Enable writing to ATA devices. Correctly
44283 report error for ATAPI devices.
44284
d4c9b428 442852008-07-02 Pavel Roskin <proski@gnu.org>
44286
e43fc690 44287 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
44288 warning.
44289
f707af42 44290 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
44291 for every read sector, we already increment it for the whole
44292 batch. This fixes reading more than 256 sectors at once.
44293
11e16b15 44294 * util/grub-editenv.c (cmd_info): Cast argument to long
44295 explicitly. ptrdiff_t reduces to int on i386.
44296
cbabfdd4 44297 * util/grub-editenv.c (main): Be specific which parameter is
44298 missing.
44299
b8fbce0a 44300 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
44301 (memdisk): Make memdisk_orig_addr a pointer.
44302
c9c8e606 44303 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
44304 for file offsets, use grub_off_t instead. Fix printf format
44305 warnings.
44306
ca62e598 44307 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
44308 there. Real unexpected warnings should not drown in the noise
44309 about known problems.
44310
ce8d1766 44311 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
44312 grub_disk_addr_t for memory addresses.
44313
00c7a56a 44314 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
44315 explicitly to fix a warning.
44316
08d3ef09 44317 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
44318
cb71ba20 44319 * Makefile.in (MODULE_LDFLAGS): New variable.
44320 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
44321 the linker accepts --build-id=none.
44322 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
44323 MODULE_LDFLAGS.
44324 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
44325
d4c9b428 44326 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
44327 those in Linux XFS code. Provide a way to access 64-bit parent
44328 inode.
44329 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
44330 the end of struct grub_xfs_dir_header.
44331
d4156eee 443322008-07-02 Bean <bean123ch@gmail.com>
44333
44334 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
44335 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44336 and GRUB_IEEE1275_FLAG_NO_ANSI.
44337
44338 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
44339 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44340 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
44341
44342 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
44343 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
44344
44345 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
44346 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
44347
44348 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
44349 esc sequence on non ANSI terminal.
44350 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
44351
44352 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
44353 beginning of file.
44354
2270f77b 443552008-07-02 Bean <bean123ch@gmail.com>
44356
44357 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
44358 (grub_editenv_SOURCES): New variable.
44359 (pkglib_MODULES): Add loadenv.mod.
44360 (loadenv_mod_SOURCES): New variable.
44361 (loadenv_mod_CFLAGS): Likewise.
44362 (loadenv_mod_LDFLAGS): Likewise.
44363
44364 * include/grub/envblk.h: New file.
44365
44366 * util/envblk.c: New file.
44367
44368 * util/grub-editenv.c: New file.
44369
44370 * commands/loadenv.c: New file.
44371
0e9e51ec 443722008-07-01 Pavel Roskin <proski@gnu.org>
44373
d89b7634 44374 * include/multiboot2.h (struct multiboot_tag_module): Use char,
44375 not unsigned char. This fixes warnings and is consistent with
44376 other tags.
44377
bf1835b1 44378 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
44379
8222a04b 44380 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
44381
6a42d99d 44382 * term/tparm.c (analyze): Always set *popcount.
44383
10b159d1 44384 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
44385 cast to fix a warning.
44386
b8789f6c 44387 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
44388 cast to suppress a warning.
44389
29d7e38a 44390 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
44391 grub_fshelp_read_file() expects.
44392
f341f669 44393 * fs/fat.c: Fix UUID calculation on big-endian systems. We
44394 write uuid as a 32-bit value in CPU byte order, so declare and
44395 use it as such.
44396
0e9e51ec 44397 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
44398 long if the format specifier expects it.
44399 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
44400 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44401 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
44402 long to fix a warning.
44403 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
44404 grub_dprintf() arguments to fix warnings.
44405
3aefa857 444062008-06-30 Pavel Roskin <proski@gnu.org>
44407
56c7668b 44408 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
44409 install_bsd_part immediately before core.img is embedded or
44410 modified on disk. This fixes core.img verification if core.img
44411 cannot be embedded.
44412
3aefa857 44413 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
44414 core_path to calculate the blocklist.
44415 Patch from Javier Martín <lordhabbit@gmail.com>
44416
5444088d 444172008-06-29 Robert Millan <rmh@aybabtu.com>
44418
44419 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
44420 block to disk block.
44421 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
44422 Patch from Niels Böhm <bitbucket@arcor.de>
44423
674835c8 444242008-06-29 Robert Millan <rmh@aybabtu.com>
44425
44426 * util/update-grub_lib.in (font_path): Search for fonts in
44427 /boot/grub first, which is more likely to be readable (we aren't
44428 deciding where fonts live, just looking for them).
44429
f527dbc8 444302008-06-26 Pavel Roskin <proski@gnu.org>
44431
6c2d8df6 44432 * util/biosdisk.c (read_device_map): Don't leave dead map
44433 entries for devices failing stat() check.
44434
f527dbc8 44435 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
44436 core_path_dev for the core.img path on the target device.
44437
aebe3d13 444382008-06-26 Robert Millan <rmh@aybabtu.com>
44439
44440 * disk/fs_uuid.c: New file.
44441 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
44442 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
44443 (fs_uuid_mod_LDFLAGS): New variables.
44444 * include/grub/disk.h (grub_disk_dev_id): Add
44445 `GRUB_DISK_DEVICE_UUID_ID'.
44446 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
44447 implement iterate().
44448
37aaf354 444492008-06-26 Robert Millan <rmh@aybabtu.com>
44450
44451 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
44452 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
44453 Linux image includes no initrd.
44454
25ff262a 444552008-06-21 Javier Martín <lordhabbit@gmail.com>
44456
44457 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
44458 call to resolve the core image location that effectively appended the
44459 name twice.
44460
76a2bd44 444612008-06-21 Robert Millan <rmh@aybabtu.com>
44462
44463 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
44464 call from here ...
44465
44466 * util/grub.d/10_hurd.in: ... to here ...
44467 * util/grub.d/10_linux.in: ... and here.
44468
650e1c79 444692008-06-19 Robert Millan <rmh@aybabtu.com>
44470
fe987087 44471 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 44472 after it has been set by grub_machine_set_prefix().
44473
6ce63911 444742008-06-19 Robert Millan <rmh@aybabtu.com>
44475
44476 * commands/search.c (search_label, search_fs_uuid, search_file): Print
44477 search result when not saving to variable, not the other way around.
44478 When saving to variable, abort iteration as soon as a match is found.
44479
73940cec 444802008-06-19 Robert Millan <rmh@aybabtu.com>
44481
44482 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
44483 check for partition that provides /boot/grub. Its logic is flawed,
44484 as it prevents prepare_grub_to_access_device() from being called
44485 multiple times.
44486
3c62a39d 444872008-06-19 Robert Millan <rmh@aybabtu.com>
44488
44489 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
44490 "insmod" command directly when abstraction modules are needed,
fe987087 44491 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 44492 since it had already been processed).
44493
47395a42 444942008-06-19 Pavel Roskin <proski@gnu.org>
44495
44496 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
44497 changed. This is needed in case GRUB_LIBDIR changes.
44498 * conf/i386-ieee1275.rmk: Likewise.
44499 * conf/i386-linuxbios.rmk: Likewise.
44500 * conf/i386-pc.rmk: Likewise.
44501 * conf/powerpc-ieee1275.rmk: Likewise.
44502
a145ac2d 445032008-06-18 Pavel Roskin <proski@gnu.org>
44504
44505 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
44506 kernel_elf_symlist.c to symlist.c for consistency with other
44507 architectures. Update all users.
44508 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
44509
7847c51e 445102008-06-18 Robert Millan <rmh@aybabtu.com>
44511
44512 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
44513 it in prefix.
44514
44515 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
44516 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
44517 a RAID device, run setup() for all members independently on whether
44518 LVM abstraction is being used.
44519 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
44520 If grub-mkimage has set `*install_dos_part == -2', don't override this
44521 value.
44522 Perform *install_dos_part adjustments independently on whether
44523 we're embedding or not.
44524 Clarify error message when image is too big for embedding.
44525 Remove duplicate *install_dos_part stanza.
44526
b23e5644 445272008-06-17 Robert Millan <rmh@aybabtu.com>
44528
44529 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
44530 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
44531 variables.
44532 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
44533 values in grub_ofconsole_normal_color and
44534 grub_ofconsole_highlight_color (they're not directly related to
44535 background and foreground).
44536 (grub_ofconsole_setcolorstate): Extract background and foreground
44537 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
44538
0aac2f79 445392008-06-17 Robert Millan <rmh@aybabtu.com>
44540
44541 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
44542 /boot/grub for the check in last commit, not /boot (they could be
44543 different partitions).
44544
3cca7ef3 445452008-06-16 Robert Millan <rmh@aybabtu.com>
44546
44547 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
44548 asked to setup access for the same partition that provides /boot,
44549 don't bother using UUIDs since our root already has the value we
44550 want.
44551
347396d8 445522008-06-16 Robert Millan <rmh@aybabtu.com>
44553
44554 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
44555 I2O devices.
44556 Patch from Sven Mueller <sven@debian.org>.
44557
991477f8 445582008-06-16 Robert Millan <rmh@aybabtu.com>
44559
44560 * util/update-grub.in: Check for $EUID instead of $UID.
44561 Reported by Vincent Zweije.
44562
d31a32a1 445632008-06-16 Bean <bean123ch@gmail.com>
44564
fe987087 44565 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 44566 (grub_ext2_read_block): Likewise.
44567 (grub_ext2_read_inode): Likewise.
44568 (grub_ext2_mount): Likewise.
44569 (grub_ext2_close): Likewise.
44570 (grub_ext3_get_journal): Removed.
44571
fe987087 44572 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 44573 (grub_reiserfs_read_symlink): Likewise.
44574 (grub_reiserfs_mount): Likewise.
44575 (grub_reiserfs_open): Likewise.
44576 (grub_reiserfs_read): Likewise.
44577 (grub_reiserfs_close): Likewise.
44578 (grub_reiserfs_get_journal): Removed.
44579
44580 * fs/fshelp.c (grub_fshelp_read): Removed.
44581 (grub_fshelp_map_block): Likewise.
44582
44583 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
44584 (grub_fshelp_journal): Likewise.
44585 (grub_fshelp_read): Likewise.
44586 (grub_fshelp_map_block): Likewise.
44587
3540a760 445882008-06-16 Pavel Roskin <proski@gnu.org>
44589
44590 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
44591 floating point anymore.
44592 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
44593
95614c84 445942008-06-15 Pavel Roskin <proski@gnu.org>
44595
44596 * commands/ls.c (grub_ls_list_files): Use integer calculations
44597 for human readable format, avoid floating point use.
44598 * kern/misc.c (grub_ftoa): Remove.
44599 (grub_vsprintf): Remove floating point support.
44600
50465dd6 446012008-06-15 Robert Millan <rmh@aybabtu.com>
44602
fe6b695a 44603 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 44604 devices.
44605 Reported by Max Vozeler.
44606
a9207284 446072008-06-15 Robert Millan <rmh@aybabtu.com>
44608
44609 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
44610 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
44611 skipped later.
44612 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
44613 the beginning of the prefix.
44614
44615 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
44616 It is assumed that if we have a memdisk, grub-mkimage has set
44617 grub_prefix to include the "(memdisk)" drive in it.
44618
a7cbd45a 446192008-06-15 Robert Millan <rmh@aybabtu.com>
44620
44621 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
44622 Initialize keyboard controller after registering the terminal, so that
44623 grub_printf() can be called from grub_keyboard_controller_init().
44624
21cf716a 446252008-06-15 Robert Millan <rmh@aybabtu.com>
44626
44627 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
44628 extent-btree which is written as big endian on disk.
44629 Reported by Alain Greppin <al@chilibi.org>.
44630
23a64d8e 446312008-06-14 Robert Millan <rmh@aybabtu.com>
44632
44633 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
44634 * util/i386/pc/grub-install.in (modules): Likewise.
44635
d687651c 446362008-06-13 Pavel Roskin <proski@gnu.org>
44637
44638 * commands/ls.c (grub_ls_list_files): Fix format warnings.
44639
dfe9ddd4 446402008-06-13 Bean <bean123ch@gmail.com>
44641
44642 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
44643
44644 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
44645
44646 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
44647 to indicate sparse block.
44648
16ae7781 446492008-06-12 Pavel Roskin <proski@gnu.org>
44650
e6d1a308 44651 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
44652 number, grub_fshelp_read() does it for us.
44653
16ae7781 44654 * fs/fshelp.c (grub_fshelp_read): New function. Implement
44655 linear disk read with journal translation.
44656 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
44657 * include/grub/fshelp.h: Declare grub_fshelp_read().
44658
40fd3a2b 446592008-06-09 Pavel Roskin <proski@gnu.org>
44660
44661 * fs/minix.c (grub_minix_mount): Handle error reading
44662 superblock.
44663
f5679726 446642008-06-08 Robert Millan <rmh@aybabtu.com>
44665
44666 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
44667 don't append the RAID prefix afterwards.
44668 Reported by Clint Adams.
44669
ce525529 446702008-06-08 Robert Millan <rmh@aybabtu.com>
44671
44672 Based on description from Pavel:
44673 * kern/disk.c (grub_disk_check_range): Rename to ...
44674 (grub_disk_adjust_range): ... this. Add a comment explaining the
44675 tasks performed by this function.
44676
ad4936a0 446772008-06-08 Robert Millan <rmh@aybabtu.com>
44678
44679 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
44680 `num_serial' (for consistency with other variables).
44681 (struct grub_ntfs_data): Add `uuid' member.
44682 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
44683 (grub_ntfs_uuid): New function.
44684 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
44685
dc20b0f9 446862008-06-07 Pavel Roskin <proski@gnu.org>
44687
44688 * util/biosdisk.c (open_device): Revert last change to the
44689 function, it broke installation. The sector needs to be
44690 different dependent on which device is opened.
44691
c5e3cfba 446922008-06-06 Robert Millan <rmh@aybabtu.com>
44693
44694 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
44695 rest of GRUB, and breakage doesn't happen if its value were modified.
44696
44697 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44698 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
44699 a constant (same value).
44700 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
44701 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
44702
26a1f8c4 447032008-06-06 Robert Millan <rmh@aybabtu.com>
44704
44705 * util/biosdisk.c (open_device): Do not modify sector offset when
44706 accessing a partition. kern/disk.c already handles this for us.
44707
25d6b327 447082008-06-06 Robert Millan <rmh@aybabtu.com>
44709
44710 * util/grub-emu.c (grub_machine_init): Move code in this function from
44711 here ...
44712 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
44713 segfault in case grub_printf() is called).
44714
44715 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
44716 grub_probe. Update all users not to explicitly add it again.
44717 (grub_device): New variable; contains corresponding device for grubdir.
44718 (fs_module, partmap_module, devabstraction_module): Pass
44719 `--device ${grub_device}' to grub_probe to avoid traversing /dev
44720 every time.
44721
9ece62fb 447222008-06-05 Robert Millan <rmh@aybabtu.com>
44723
44724 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
44725 is found, print it (same layout as with labels).
44726
1ad36d37 447272008-06-04 Robert Millan <rmh@aybabtu.com>
44728
44729 * util/biosdisk.c (get_drive): Rename to ...
44730 (find_grub_drive): ... this. Update all users.
44731
44732 (get_os_disk): Rename to ...
44733 (convert_system_partition_to_system_disk): ... this. Update all users.
44734
44735 (find_drive): Rename to ...
44736 (find_system_device): ... this. Update all users.
44737
e6a30859 447382008-06-04 Robert Millan <rmh@aybabtu.com>
44739
44740 * util/biosdisk.c (get_os_disk): Handle IDA devices.
44741 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44742 (make_device_map): Likewise.
44743
00c108a4 447442008-06-01 Robert Millan <rmh@aybabtu.com>
44745
44746 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
44747 before dereferencing it.
44748
44749 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
44750 union with fat12/fat16-specific ones. Add some new fields, including
44751 `num_serial' for both versions.
44752 (struct grub_fat_data): Add `uuid' member.
44753 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
44754 names. Initialize `data->uuid' using `num_serial'.
44755 (grub_fat_uuid): New function.
44756 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
44757
44758 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
44759 (grub_reiserfs_uuid): New function.
44760 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
44761 member.
44762
44763 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
44764 (grub_xfs_uuid): New function.
44765 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
44766
1385c5bb 447672008-06-01 Robert Millan <rmh@aybabtu.com>
44768
44769 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
44770 code that is backward compatible with pre-uuid search command.
44771
c682dfd7 447722008-05-31 Robert Millan <rmh@aybabtu.com>
44773
44774 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
44775 floppies after everything else, to ensure floppy drive isn't accessed
44776 unnecessarily (patch from Bean).
44777
b7db5d47 447782008-05-31 Robert Millan <rmh@aybabtu.com>
44779
44780 * commands/search.c (search_label, search_fs_uuid, search_file): Do
44781 not print device names when we were asked to set a variable.
44782
6e037aa9 447832008-05-31 Robert Millan <rmh@aybabtu.com>
44784
44785 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
44786 using "cursor-on" and "cursor-off" commands (understood at least by
44787 the Open Firmware flavour on OLPC).
44788
41305bc8 447892008-05-31 Michael Gorven <michael@gorven.za.net>
44790
44791 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
44792 on and off sequences.
44793
69ba137e 447942008-05-31 Robert Millan <rmh@aybabtu.com>
44795
44796 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
44797 * util/update-grub.in: Likewise.
44798
520ae21b 447992008-05-30 Pavel Roskin <proski@gnu.org>
44800
44801 * util/biosdisk.c (linux_find_partition): Simplify logic and
44802 make the code more universal. Keep special processing for
44803 devfs, but use a simple rule for all other devices. If the
44804 device ends with a number, append 'p' and the partition number.
44805 Otherwise, append only the partition number.
44806
5786569b 448072008-05-30 Robert Millan <rmh@aybabtu.com>
44808
44809 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
44810 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
44811 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
44812 the `root' parameter to Linux.
44813
51500452 448142008-05-30 Robert Millan <rmh@aybabtu.com>
44815
44816 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
44817 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
44818 --fs_uuid with --fs-uuid.
44819 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
44820 all filesystems support them).
44821
811d3878 448222008-05-30 Robert Millan <rmh@aybabtu.com>
44823
44824 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 44825 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 44826
cab63c95 448272008-05-30 Robert Millan <rmh@aybabtu.com>
44828
44829 * util/grub.d/00_header.in: Remove obsolete comment referencing
44830 convert_system_path_to_grub_path().
44831 * util/update-grub.in: Likewise.
44832 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
44833 (convert_system_path_to_grub_path): Add a warning message explaining
44834 that this function is deprecated. Rely on is_path_readable_by_grub()
44835 for the readability checks.
44836 (font_path): Use is_path_readable_by_grub() for the readability
44837 check rather than convert_system_path_to_grub_path().
44838
972e2f7a 448392008-05-30 Robert Millan <rmh@aybabtu.com>
44840
44841 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
44842 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
44843 converting it first.
44844 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
44845 grub.cfg for access to font file, and afterwards call it again to set
44846 the root device.
44847
62191274 448482008-05-30 Robert Millan <rmh@aybabtu.com>
44849
44850 * commands/search.c (options): Add --fs_uuid option.
44851 (search_fs_uuid): New function.
44852 (grub_cmd_search): Fix --set argument passing.
44853 Use search_fs_uuid() when requested via --fs_uuid.
44854 (grub_search_init): Update help message.
44855 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
44856 and redeclare it as an array of 16-bit words.
44857 (grub_ext2_uuid): New function.
44858 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
44859 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
44860 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
44861 (GRUB_DEVICE_BOOT_UUID): New variables.
44862 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
44863 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
44864 whenever possible.
44865 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
44866 just assume `root' variable has the right value.
44867 * util/grub.d/10_linux.in: Likewise.
44868 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
44869 via PRINT_FS_UUID.
44870 (main): Recognise `-t fs_uuid' argument.
44871
01b73ec8 448722008-05-30 Robert Millan <rmh@aybabtu.com>
44873
44874 * util/biosdisk.c (map): Redefine structure to hold information
44875 about GRUB drive name.
fe6b695a 44876 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 44877 drive names.
44878 (call_hook): Remove.
44879 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
44880 member. Assume drive has partitions.
44881 (grub_util_biosdisk_open): Access device names via `.device' struct
44882 member.
44883 (open_device): Likewise.
44884 (find_drive): Likewise.
44885 (read_device_map): Adjust map[] usage to match the new struct
44886 definition. Don't check for duplicates (still possible, but not cheap
44887 anymore).
44888 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
44889 (make_device_name): Remove assumption of BIOS-like drive names.
44890
22f16596 448912008-05-30 Pavel Roskin <proski@gnu.org>
44892
44893 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
44894 compiling execute.c doesn't need grub_script.tab.h anymore.
44895 (normal/command.c_DEPENDENCIES): Likewise.
44896 (normal/function.c_DEPENDENCIES): Likewise.
44897 * conf/i386-ieee1275.rmk: Likewise.
44898 * conf/i386-linuxbios.rmk: Likewise.
44899 * conf/i386-pc.rmk: Likewise.
44900 * conf/powerpc-ieee1275.rmk: Likewise.
44901 * conf/sparc64-ieee1275.rmk: Likewise.
44902
528ad8f2 449032008-05-29 Pavel Roskin <proski@gnu.org>
44904
d1dff95d 44905 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
44906 when scanning metadata for volume group name.
44907
528ad8f2 44908 * include/grub/script.h: Don't include grub_script.tab.h. It's
44909 a generated file, which may only be included from the files with
44910 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
44911 use union YYSTYPE, as the later allows forward declaration.
44912 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
44913
47248e08 449142008-05-29 Robert Millan <rmh@aybabtu.com>
44915
44916 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
44917 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
44918 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
44919 (grub_console_checkkey): Add grub_dprintf() call to report unknown
44920 scan codes.
44921
ee632529 449222008-05-29 Robert Millan <rmh@aybabtu.com>
44923
44924 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
44925 control key combinations.
44926
eee96e08 449272008-05-29 Robert Millan <rmh@aybabtu.com>
44928
44929 * util/powerpc/ieee1275/grub-install.in: Move from here ...
44930 * util/ieee1275/grub-install.in: ... to here.
44931 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
44932 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
44933 (grub_install_SOURCES): Likewise.
44934
da9a6a94 449352008-05-29 Robert Millan <rmh@aybabtu.com>
44936
44937 * fs/affs.c: Update copyright year.
44938 * fs/ext2.c: Likewise.
44939 * fs/fshelp.c: Likewise.
44940 * fs/hfsplus.c: Likewise.
44941 * fs/ntfs.c: Likewise.
44942 * fs/xfs.c: Likewise.
44943 * include/grub/fshelp.h: Likewise.
44944 * util/grub-mkdevicemap.c: Likewise.
44945
12e65f3a 449462008-05-28 Robert Millan <rmh@aybabtu.com>
44947
44948 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
44949 might need to be fatfs to support some firmware implementations
44950 (e.g. OFW or EFI).
44951
23023641 449522008-05-28 Robert Millan <rmh@aybabtu.com>
44953
44954 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
44955 devices.
44956 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44957 (make_device_map): Likewise.
44958
887d2619 449592008-05-20 Bean <bean123ch@gmail.com>
44960
44961 * fs/fshelp.c (grub_fshelp_map_block): New function.
44962 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
44963 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
44964
44965 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
44966 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
44967 (grub_fshelp_journal): New structure.
44968 (grub_fshelp_map_block): New function prototype.
44969 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
44970 (grub_fshelp_map_block): Likewise.
44971
44972 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
44973 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
44974 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
44975 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
44976 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
44977 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
44978 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
44979 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
44980 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
44981 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
44982 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
44983 (grub_ext2_sblock): New members for journal support.
44984 (grub_ext3_journal_header): New structure.
44985 (grub_ext3_journal_revoke_header): Likewise.
44986 (grub_ext3_journal_block_tag): Likewise.
44987 (grub_ext3_journal_sblock): Likewise.
44988 (grub_fshelp_node): New members logfile and journal.
44989 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
44990 grub_fshelp_map_block to get real block number.
44991 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
44992 number.
44993 (grub_ext2_read_inode): Likewise.
44994 (grub_ext3_get_journal): New function.
44995 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
44996 (grub_ext2_close): Release memory used by journal.
44997
44998 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
44999 (REISERFS_MAGIC_DESC_BLOCK): New macro.
45000 (grub_reiserfs_transaction_header): Renamed to
45001 grub_reiserfs_description_block, replace field data with real_blocks.
45002 (grub_reiserfs_commit_block): New structure.
45003 (grub_reiserfs_data): New member journal.
45004 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
45005 number.
45006 (grub_reiserfs_read_symlink): Likewise.
45007 (grub_reiserfs_iterate_dir): Likewise.
45008 (grub_reiserfs_open): Likewise.
45009 (grub_reiserfs_read): Likewise.
45010 (grub_reiserfs_get_journal): New function.
45011 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
45012 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
45013 using grub_reiserfs_get_journal.
45014 (grub_reiserfs_close): Release memory used by journal.
45015
45016 * fs/affs.c (grub_affs_read_block): Change block type to
45017 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
45018
45019 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
45020
45021 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
45022
45023 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
45024
45025 * fs/udf.c (grub_udf_read_block): Change block type to
45026 grub_disk_addr_t. Use type cast to avoid warning.
45027
45028 * fs/xfs.c (grub_xfs_read_block): Likewise.
45029
b7c6bed5 450302008-05-16 Christian Franke <franke@computer.org>
45031
45032 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
45033 to ensure that break with ESC will always work.
45034 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
45035 Remove ESC from keyboard queue.
45036
eedf167f 450372008-05-16 Christian Franke <franke@computer.org>
45038
45039 * util/biosdisk.c: [__CYGWIN__] Add includes.
45040 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
45041 (get_os_disk): Move variable declarations to OS specific
45042 parts to avoid warning.
45043 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
45044 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
45045 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
45046 Cygwin.
45047 * util/getroot.c: [__CYGWIN__] Add includes.
45048 (strip_extra_slashes): Fix "/" case.
45049 [__CYGWIN__] (get_win32_path): New function.
45050 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
45051 [__CYGWIN__] (find_root_device): Disable.
45052 [__CYGWIN__] (get_bootsec_serial): New function.
45053 [__CYGWIN__] (find_cygwin_root_device): Likewise.
45054 [__linux__] (grub_guess_root_device): Add early returns to simplify
45055 structure.
45056 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
45057 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
45058 check for Linux only.
45059
a079699e 450602008-05-15 Bean <bean123ch@gmail.com>
45061
45062 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
45063 keyboard hang problem in apple's intel mac.
45064
1cf4059a 450652008-05-09 Robert Millan <rmh@aybabtu.com>
45066
45067 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
45068 devices.
45069 * util/grub-mkdevicemap.c (get_virtio_disk_name)
45070 (make_device_map): Likewise.
45071 Reported by Aurelien Jarno <aurel32@debian.org>
45072
ed759390 450732008-05-07 Ian Campbell <ijc@hellion.org.uk>
45074
45075 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
45076 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
45077 (make_device_map): Output entries for xvd type disks.
45078
b56c4eaa 450792008-05-07 Robert Millan <rmh@aybabtu.com>
45080
45081 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
45082 devices.
45083 * util/grub-mkdevicemap.c (get_cciss_disk_name)
45084 (make_device_map): Likewise.
45085 Reported by Roland Dreier <rdreier@cisco.com>
45086
7f8866ed 450872008-05-07 Robert Millan <rmh@aybabtu.com>
45088
45089 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
45090 grub_strstr() call. Correct a few mistakes in failure path handling.
45091
b0346e0f 450922008-05-06 Robert Millan <rmh@aybabtu.com>
45093
45094 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
45095 Do not print a trailing slash (therefore, the root directory is an
45096 empty string).
45097 (convert_system_path_to_grub_path): Do not remove trailing slash
45098 from make_system_path_relative_to_its_root() output.
45099
45100 * util/i386/pc/grub-install.in: Add trailing slash to output from
45101 make_system_path_relative_to_its_root().
45102
6cf12cbd 451032008-05-06 Robert Millan <rmh@aybabtu.com>
45104
45105 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
45106 ensures that output lines aren't intermangled with those sent to
45107 stderr (via grub_util_info()).
45108 * util/grub-probe.c (grub_refresh): Likewise.
45109 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
45110
0fbb3117 451112008-05-05 Christian Franke <franke@computer.org>
45112
45113 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
45114 Add Cygwin device names.
45115 (get_ide_disk_name) [__CYGWIN__]: Likewise.
45116 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
45117 (check_device): Return error instead of success on empty name.
45118 (make_device_map): Move label inside linux specific code to
45119 prevent compiler warning.
45120
8124cdb7 451212008-04-30 Robert Millan <rmh@aybabtu.com>
45122
45123 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
45124 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
45125 first boot option.
45126 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
45127
094c01d0 451282008-04-29 Robert Millan <rmh@aybabtu.com>
45129
45130 * docs/grub.cfg: New file (example GRUB configuration).
45131
f4b1fc02 451322008-04-26 Robert Millan <rmh@aybabtu.com>
45133
329ce2a5 45134 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
45135 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
45136 and `disk/ieee1275/nand.c'.
f4b1fc02 45137
25f16ec1 451382008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 45139
25f16ec1 45140 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
45141 i386-linuxbios.
45142
45143 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
45144 change the buffer size to 4096 for cdrom device.
45145
45146 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
45147 and nand.mod.
45148 (_linux_mod_SOURCES): New variable.
45149 (_linux_mod_CFLAGS): Likewise.
45150 (_linux_mod_LDFLAGS): Likewise.
45151 (linux_mod_SOURCES): Likewise.
45152 (linux_mod_CFLAGS): Likewise.
45153 (linux_mod_LDFLAGS): Likewise.
45154 (nand_mod_SOURCES): Likewise.
45155 (nand_mod_CFLAGS): Likewise.
45156 (nand_mod_LDFLAGS): Likewise.
45157
45158 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
45159 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
45160 type property. (nand device in olpc don't have this property)
45161
45162 * include/grub/disk.h (grub_disk_dev_id): New macro
45163 GRUB_DISK_DEVICE_NAND_ID.
45164
45165 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
45166 function prototype.
45167 (grub_rescue_cmd_initrd): Likewise.
45168
45169 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
45170 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
45171 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 45172
25f16ec1 45173 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
45174 GRUB_MACHINE_IEEE1275 is defined.
45175
45176 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
45177 Use NESTED_FUNC_ATTR attribute on the hook parameter.
45178
45179 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
45180 on nested function heap_init.
45181 (grub_upper_mem): New variable for i386-ieee1275.
45182 (grub_get_extended_memory): New function for i386-ieee1275.
45183 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
45184
45185 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
45186 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
45187 property.
f19dbdb7 45188
25f16ec1 45189 * loader/i386/ieee1275/linux.c: New file.
45190
45191 * loader/i386/ieee1275/linux_normal.c: New file.
45192
45193 * disk/ieee1275/nand.c: New file.
45194
e89d61e9 451952008-04-18 Thomas Schwinge <tschwinge@gnu.org>
45196
45197 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
45198 value.
45199 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
45200
602566f6 452012008-04-18 Robert Millan <rmh@aybabtu.com>
45202
45203 Restructures early code path on ieee1275 to unify grub_main() as
45204 the first C function that is executed in every platform.
45205
45206 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
45207 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
45208 cmain().
45209 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
45210 * kern/ieee1275/cmain.c (cmain): Rename to ...
45211 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
45212 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
45213 at the beginning.
45214
57490c2b 452152008-04-18 Robert Millan <rmh@aybabtu.com>
45216
45217 * util/update-grub.in: Fix syntax error when setting
45218 `GRUB_PRELOAD_MODULES'.
45219 Reported by Stephane Chazelas <stephane@artesyncp.com>
45220
1977517d 452212008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
45222
45223 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
45224 section into account, newer toolchains generate unique build ids
45225 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 45226 we want build ids to be preserved
1977517d 45227 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
45228 far from other sections don't cause the raw binary images grow
45229 size
45230
bfb1f1a2 452312008-04-15 Robert Millan <rmh@aybabtu.com>
45232
45233 * disk/lvm.c: Update copyright year.
45234 * kern/misc.c: Likewise.
45235
01979850 452362008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
45237
45238 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 45239 there is no memory left for physical volume name.
01979850 45240
0a1150e2 452412008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
45242
45243 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
45244 volume name mapping to support bigger than 9 character names properly.
45245
82ead3fe 452462008-04-13 Robert Millan <rmh@aybabtu.com>
45247
45248 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
45249 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
45250
e54a72f5 452512008-04-13 Christian Franke <franke@computer.org>
45252
45253 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
45254 to create a floppy emulation boot CD when non emulation mode
45255 does not work.
45256 Enable Joliet CD filesystem extension.
45257
9fe86034 452582008-04-13 Robert Millan <rmh@aybabtu.com>
45259
45260 * kern/misc.c (grub_strncat): Fix off-by-one error.
45261 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
45262
45263 * kern/env.c (grub_env_context_close): Clear current context, not
45264 previous one.
45265 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
45266
45267 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
45268
7ceeee39 452692008-04-13 Robert Millan <rmh@aybabtu.com>
45270
45271 Improve robustness when handling LVM.
45272
45273 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 45274 (and leave `*p' unmodified).
7ceeee39 45275 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
45276 through it.
45277 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
45278 iterating through it.
45279 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
45280 through it.
fe6b695a 45281 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 45282 when due) on each grub_lvm_getvalue() or grub_strstr() call.
45283 Don't assume `vg->pvs != NULL' when iterating through it.
45284
58cd3d85 452852008-04-13 Robert Millan <rmh@aybabtu.com>
45286
45287 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
45288 * genmk.rb (partmap): New variable.
45289 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
45290 (#{partmap}): New target rule.
45291 * genpartmaplist.sh: New file.
45292 * Makefile.in (pkglib_DATA): Add partmap.lst.
45293 (partmap.lst): New target rule.
45294 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
45295 modules (including all partition maps), instead of preloading them.
45296
78b51059 452972007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
45298
45299 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
45300 `linux-boot-prober' (if installed) to detect other operating
45301 systems which are installed on the computer and add them to
45302 the boot menu.
45303 * conf/common.rmk: Build and install 30_os-prober.
45304
a91627b4 453052008-04-12 Robert Millan <rmh@aybabtu.com>
45306
45307 * kern/powerpc/ieee1275/init.c: Move from here ...
45308 * kern/ieee1275/init.c: ... to here. Update all users.
45309
45310 * kern/powerpc/ieee1275/cmain.c: Move from here ...
45311 * kern/ieee1275/cmain.c: ... to here. Update all users.
45312
45313 * kern/powerpc/ieee1275/openfw.c: Move from here ...
45314 * kern/ieee1275/openfw.c: ... to here. Update all users.
45315
45316 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
45317 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
45318
322562ea 453192008-04-10 Pavel Roskin <proski@gnu.org>
45320
45321 * configure.ac: Always use "_cv_" in cache variables for
45322 compatibility with Autoconf 2.62.
45323
a02a73c5 453242008-04-07 Robert Millan <rmh@aybabtu.com>
45325
45326 Revert grub/machine/init.h addition by Pavel (since it breaks on
45327 i386-ieee1275 and others):
45328 * util/i386/pc/misc.c: Remove grub/machine/init.h.
45329 * util/powerpc/ieee1275/misc.c: Likewise.
45330
25c024b1 453312008-04-07 Robert Millan <rmh@aybabtu.com>
45332
45333 * util/grub-probe.c (probe): Improve error message.
45334
3cbd2f98 453352008-04-07 Robert Millan <rmh@aybabtu.com>
45336
45337 * util/biosdisk.c (read_device_map): Skip devices that don't exist
45338 (this prevents the presence of a bogus entry from ruining the whole
45339 thing).
45340
87a297bf 453412008-04-06 Pavel Roskin <proski@gnu.org>
45342
36747a62 45343 * util/biosdisk.c: Include grub/util/biosdisk.h.
45344 * util/grub-fstest.c (execute_command): Make static.
45345 * util/grub-mkdevicemap.c (check_device): Likewise.
45346 * util/i386/pc/misc.c: Include grub/machine/init.h.
45347 * util/powerpc/ieee1275/misc.c: Likewise.
45348 * util/lvm.c: Include grub/util/lvm.h.
45349 * util/misc.c: Include grub/kernel.h, grub/misc.h and
45350 grub/cache.h.
45351 * util/raid.c: Include grub/util/raid.h.
45352 (grub_util_getdiskname): Make static.
45353
87a297bf 45354 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
45355 grub_hostfs_fini(), as they are called from grub_init_all() and
45356 grub_fini_all() respectively. This fixes an infinite loop in
45357 grub-fstest due to double registration of hostfs.
45358 Reported by Christian Franke <Christian.Franke@t-online.de>
45359
f6ce7629 453602008-04-05 Pavel Roskin <proski@gnu.org>
45361
45362 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
45363 all 8 functions. Otherwise, probe function 0 only.
45364
070e49e4 453652008-04-04 Pavel Roskin <proski@gnu.org>
45366
8b088a4c 45367 * commands/lspci.c (grub_lspci_iter): Print the bus number
45368 correctly.
45369
4f657021 45370 * commands/lspci.c (grub_pci_classes): Fix typos.
45371 (grub_lspci_iter): Don't print func twice. Print vendor ID
45372 before device ID, as it's normally done.
45373
070e49e4 45374 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45375 Fix signedness warnings.
45376 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
45377 Likewise.
45378 * util/ieee1275/get_disk_name.c: Include config.h so that
45379 _GNU_SOURCE is defined and getline() is declared. Mark an
45380 unused argument as such. Fix a signedness warning.
45381
ba7328dc 453822008-04-02 Pavel Roskin <proski@gnu.org>
45383
26887f22 45384 * genkernsyms.sh.in: Use more robust assignments for CC and
45385 srcdir. Quote srcdir.
45386 * gensymlist.sh.in: Likewise. Assert at the compile time that
45387 the symbol table is not empty.
45388
ba7328dc 45389 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
45390 * fs/cpio.c (grub_cpio_read): Likewise.
45391
0f582c6b 453922008-04-01 Pavel Roskin <proski@gnu.org>
45393
4b6e1995 45394 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
45395 * disk/host.c (grub_host_open): Likewise.
45396 * disk/loopback.c (grub_loopback_open): Likewise.
45397 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
45398 disk->id as in disk/host.c, not a multi-character constant.
45399
828a2768 45400 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
45401 later is obsolete, potentially dangerous and sets a bad example.
45402 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
45403 * util/misc.c (grub_util_get_image_size): Likewise.
45404
2bb4fb47 45405 * disk/loopback.c (options): Improve help for "--partitions".
45406
0f582c6b 45407 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
45408 options to align them with the short options, e.g. "echo -e".
45409
a33224e0 454102008-03-31 Bean <bean123ch@gmail.com>
45411
45412 * video/reader/png.c (grub_png_data): New member is_16bit and
45413 image_data.
45414 (grub_png_decode_image_header): Detect 16 bit png image.
45415 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
45416 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
45417 (grub_video_reader_png): Release memory occupied by image_data.
45418
45419 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
45420 4096 bytes.
45421 (grub_nfs_mount): Skip the test for sector per cluster.
45422
45423 * include/grub/ntfs.h (MAX_SPC): Removed.
45424
86cb4f54 454252008-03-31 Bean <bean123ch@gmail.com>
45426
45427 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
45428 (grub_probe_SOURCES): Add fs/afs.c.
45429 (grub_fstest_SOURCES): Likewise.
45430 (afs_mod_SOURCES): New variable.
45431 (afs_mod_CFLAGS): Likewise.
45432 (afs_mod_LDFLAGS): Likewise.
45433
45434 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
45435 (grub_emu_SOURCES): Likewise.
45436
45437 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45438
45439 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45440
45441 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45442
45443 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45444
45445 * fs/afs.c: New file.
45446
17c74c21 454472008-03-30 Pavel Roskin <proski@gnu.org>
45448
4cb68e89 45449 * disk/host.c: Include grub/misc.h to fix a warning.
45450 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
45451 warnings about implicit declarations.
45452
8790bb04 45453 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
45454 variable.
45455 * include/grub/i386/loader.h: Change declaration of
45456 grub_linux_boot() to match what grub_loader_set() expects.
45457 * util/getroot.c (grub_guess_root_device): Return const char* to
45458 fix a warning.
45459 * util/grub-probe.c (probe): Fix a warning about uninitialized
45460 abstraction_name variable.
45461 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
45462 second argument as unused to fix a warning.
45463
9a3f3296 45464 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
45465 missing grub_error() call.
45466
0ecef90d 45467 * util/update-grub_lib.in: Define datarootdir, since Autoconf
45468 2.60 and newer uses it to define datadir.
45469
0bf6d401 45470 * commands/sleep.c: Fix warning about implicit declaration.
45471 * disk/memdisk.c: Likewise.
45472 * loader/aout.c: Likewise.
45473 * loader/i386/bsd_normal.c: Likewise.
45474 * util/grub-probe.c: Likewise.
45475
7cdacf97 45476 * commands/i386/cpuid.c (has_longmode): Make static.
45477 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
45478 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
45479
17c74c21 45480 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
45481 GDT. This is more robust, as %ds can change.
45482 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
45483 calling real_to_prot().
45484 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
45485
80a3e68b 454862008-03-28 Pavel Roskin <proski@gnu.org>
45487
45488 * kern/i386/pc/startup.S: Assert that uncompressed functions
45489 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
45490 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
45491 code, as they push parts of the code (error handlers) beyond
45492 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
45493 code as correctness and size.
45494
77bcd272 454952008-03-28 Pavel Roskin <proski@gnu.org>
45496
45497 * kern/i386/pc/startup.S
45498 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
45499 data block address to the real mode, keep offset minimal. This
45500 works around a bug in AWARD BIOS on old Athlon systems, which
45501 makes CD detection hang.
45502
c5dfd43b 455032008-03-26 Pavel Roskin <proski@gnu.org>
45504
45505 * normal/color.c (grub_parse_color_name_pair): Make `name' a
45506 const.
45507 * include/grub/normal.h: Add grub_parse_color_name_pair()
45508 declaration.
45509
bf962df2 455102008-03-24 Bean <bean123ch@gmail.com>
45511
45512 * disk/i386/pc/biosdisk.c (cd_start): Removed.
45513 (cd_count): Removed.
45514 (cd_drive): New variable.
45515 (grub_biosdisk_get_drive): Don't check for (cdN) device.
45516 (grub_biosdisk_call_hook): Likewise.
45517 (grub_biosdisk_iterate): Change cdrom detection method.
45518 (grub_biosdisk_open): Replace cd_start with cd_drive.
45519 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
45520 detect cdrom device.
45521
45522 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
45523 Removed.
45524 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
45525 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
45526 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
45527 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
45528 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
45529 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
45530 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
45531 (grub_biosdisk_cdrp): New structure.
45532 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
45533
45534 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
45535
45536 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
45537 device.
45538
45539 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
45540 New function.
45541
68e7fc7a 455422008-03-20 Robert Millan <rmh@aybabtu.com>
45543
45544 Remove 2 TiB limit in ata.mod.
45545 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
45546 (grub_ata_dumpinfo): Print sector count with 0x%llx.
45547 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
45548 grub_uint64_t instead of grub_uint32_t.
45549
38ad2cf5 455502008-03-05 Bean <bean123ch@gmail.com>
45551
45552 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
45553 (grub_multiboot): Set boot device.
45554
45555 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
45556
2b89344e 455572008-03-02 Bean <bean123ch@gmail.com>
45558
45559 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
45560 symlink_buffer.
45561
87a95d1f 455622008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
45563
45564 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
45565 texinfo.tex.
45566
45567 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
45568 modified.
45569
45570 * docs/fdl.texi: New file.
f19dbdb7 45571
87a95d1f 45572 * docs/mdate-sh: New file. Copied from gnulib.
45573 * docs/texinfo.tex: Likewise.
45574
45575 * config.guess: Updated from gnulib.
45576 * install-sh: Likewise.
45577
7dc15d8e 455782008-02-28 Robert Millan <rmh@aybabtu.com>
45579
45580 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
45581 (aout_mod_SOURCES): New variable.
45582 (aout_mod_CFLAGS): Likewise.
45583 (aout_mod_LDFLAGS): Likewise.
45584
45585 * conf/i386-ieee1275.rmk: Likewise.
45586
b00ab696 455872008-02-28 Robert Millan <rmh@aybabtu.com>
45588
45589 * util/update-grub.in: Reorganise terminal validity check. Accept
45590 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
45591 Based on suggestion by Franklin PIAT.
45592
79ca2d78 455932008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
45594
45595 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
45596 function.
45597 * util/getroot.c (grub_util_check_block_device): New function that
45598 returns the given argument if it is a block device and returns NULL else.
45599 * util/grub-probe.c (argument_is_device): New variable.
45600 (probe): Promote device_name from a variable to an argument. Receive
45601 device_name from grub_util_check_block_device() if path is NULL and from
45602 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 45603 (options): Introduce new parameter '-d, --device'.
79ca2d78 45604 (main): Add description of the new parameter to the help screen.
45605 Rename path variable to argument. Set argument_is_device if the '-d'
45606 option is given. Pass argument to probe() depending on
45607 argument_is_device.
45608
0d16e571 456092008-02-24 Bean <bean123ch@gmail.com>
45610
45611 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
45612 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
45613 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
45614 (GRUB_ISO9660_VOLDESC_PART): Likewise.
45615 (GRUB_ISO9660_VOLDESC_END): Likewise.
45616 (grub_iso9660_primary_voldesc): New member escape.
45617 (grub_iso9660_data): New member joliet.
45618 (grub_iso9660_convert_string): New function.
45619 (grub_iso9660_mount): Detect joliet extension.
45620 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
45621 (grub_iso9660_iso9660_label): Likewise.
45622
45623 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
45624 (grub_setup_SOURCES): Add fs/udf.c.
45625 (grub_fstest_SOURCES): Likewise.
45626 (udf_mod_SOURCES): New variable.
45627 (udf_mod_CFLAGS): Likewise.
45628 (udf_mod_LDFLAGS): Likewise.
45629
45630 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
45631 (grub_emu_SOURCES): Likewise.
45632
45633 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45634
45635 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45636
45637 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45638
45639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45640
45641 * fs/udf.c: New file.
45642
8a594a17 456432008-02-24 Robert Millan <rmh@aybabtu.com>
45644
45645 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
45646 (normal/lexer.c_DEPENDENCIES): New variables.
45647 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45648 (normal/lexer.c_DEPENDENCIES): Likewise.
45649 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
45650 (normal/lexer.c_DEPENDENCIES): Likewise.
45651 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
45652 (normal/lexer.c_DEPENDENCIES): Likewise.
45653 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45654 (normal/lexer.c_DEPENDENCIES): Likewise.
45655 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45656 (normal/lexer.c_DEPENDENCIES): Likewise.
45657
2dc33c03 456582008-02-23 Robert Millan <rmh@aybabtu.com>
45659
45660 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
45661 since they were intended to be in hex. This didn't break previously
45662 because of a bug in gpt_partition_map_iterate() (see below).
45663
45664 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
45665 when checking the validity of GPT header.
45666 Remove `partno', since it always provides the same information as `i'.
45667
f6f4cfb0 456682008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
45669
45670 * include/grub/efi/time.h: Fix a wrong comment.
45671
79ff665f 456722008-02-19 Pavel Roskin <proski@gnu.org>
45673
45674 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
45675 message.
45676
d38e24c2 456772008-02-19 Bean <bean123ch@gmail.com>
45678
45679 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
45680 (aout_mod_SOURCES): New variable.
45681 (aout_mod_CFLAGS): Likewise.
45682 (aout_mod_LDFLAGS): Likewise.
45683 (_bsd_mod_SOURCES): New variable.
45684 (_bsd_mod_CFLAGS): Likewise.
45685 (_bsd_mod_LDFLAGS): Likewise.
45686 (bsd_mod_SOURCES): New variable.
45687 (bsd_mod_CFLAGS): Likewise.
45688 (bsd_mod_LDFLAGS): Likewise.
45689
45690 * include/grub/aout.h: New file.
45691
45692 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
45693
45694 * include/grub/i386/bsd.h: New file.
45695
45696 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
45697 to make it public.
45698
45699 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
45700 function is called, so that it's possible to change it inside the hook.
45701 (grub_elf64_load): Likewise.
45702 (grub_elf_file): Don't close the file if elf header is not found.
45703 (grub_elf_close): Close the file if grub_elf_file fails (The new
45704 grub_elf_file won't close it).
45705 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
45706 (grub_elf64_size): Likewise.
45707
45708 * kern/i386/loader.S (grub_unix_real_boot): New function.
45709
45710 * loader/aout.c: New file.
45711
45712 * loader/i386/bsd.c: New file.
45713
45714 * loader/i386/bsd_normal.c: New file.
45715
45716 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
45717
45718 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 45719 can test other formats.
d38e24c2 45720
b93bdb0f 457212008-02-19 Robert Millan <rmh@aybabtu.com>
45722
45723 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
45724 (grub_gpt_partition_type_empty): Redefine with macro from
45725 `<grub/gpt_partition.h>'.
45726 (gpt_partition_map_iterate): Adjust partition type comparison.
45727
45728 Export `entry' as partmap-specific `part.data' struct.
45729 (grub_gpt_header, grub_gpt_partentry): Move from here ...
45730
45731 * include/grub/gpt_partition.h (grub_gpt_header)
45732 (grub_gpt_partentry): ... to here (new file).
45733
45734 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
45735
45736 (grub_gpt_partition_type_bios_boot): New const variable, defined
45737 with macro from `<grub/gpt_partition.h>'.
45738
45739 (setup): Replace `first_start' with `embed_region', which keeps
45740 track of the embed region (and is partmap-agnostic).
45741
45742 Replace find_first_partition_start() with find_usable_region(),
45743 which finds a usable region for embedding using partmap-specific
45744 knowledge (supports PC/MSDOS and GPT).
45745
45746 Fix all assumptions that the embed region start at sector 1, using
45747 `embed_region.start' from now on. Similarly, use `embed_region.end'
45748 rather than `first_start' to calculate available size.
45749
45750 In grub_util_info() message, replace "into after the MBR" with an
45751 indication of the specific sector our embed region starts at.
45752
66cb40f6 457532008-02-19 Robert Millan <rmh@aybabtu.com>
45754
45755 * DISTLIST: Replace `commands/ieee1275/halt.c' and
45756 `commands/ieee1275/reboot.c' with `commands/halt.c' and
45757 `commands/reboot.c'.
45758 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45759 (halt_mod_SOURCES): Likewise.
45760 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45761 (halt_mod_SOURCES): Likewise.
45762
b7202015 457632008-02-17 Christian Franke <franke@computer.org>
45764
45765 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
45766
32b0fc49 457672008-02-17 Robert Millan <rmh@aybabtu.com>
45768
45769 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45770 set `first_start' to 0 for non-PC/MSDOS partition maps.
45771
aca63502 457722008-02-16 Robert Millan <rmh@aybabtu.com>
45773
45774 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45775 do not assume partition map is PC/MSDOS before performing checks that
45776 are specific to that layout.
45777
0de8be86 457782008-02-13 Robert Millan <rmh@aybabtu.com>
45779
45780 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
45781 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
45782 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
45783
c3db8364 457842008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
45785
45786 * configure.ac: Only a cosmetic change on the handling of
45787 -fno-stack-protector.
45788
f714229e 457892008-02-12 Alexandre Boeglin <alex@boeglin.org>
45790
c3db8364 45791 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
45792 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
45793 reboot.c.
f714229e 45794 (grub_install_SOURCES): Add halt.mod and reboot.mod.
45795 (halt_mod_SOURCES): New variable.
45796 (halt_mod_CFLAGS): Likewise.
45797 (halt_mod_LDFLAGS): Likewise.
45798 (reboot_mod_SOURCES): Likewise.
45799 (reboot_mod_CFLAGS): Likewise.
45800 (reboot_mod_LDFLAGS): Likewise.
45801
c3db8364 45802 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
45803 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
45804 reboot.c.
f714229e 45805 (halt_mod_SOURCES): Likewise.
45806 (reboot_mod_SOURCES): Likewise.
45807
c3db8364 45808 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
45809 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 45810 (reboot_mod_SOURCES): Likewise.
45811
45812 * commands/i386/pc/reboot.c: merge this file ...
45813
45814 * commands/ieee1275/reboot.c: ... and this file ...
45815
45816 * commands/reboot.c: ... to this file.
c3db8364 45817 Add some precompiler directive to include the correct header for
45818 each machine.
f714229e 45819
45820 * commands/ieee1275/halt.c: move this file ...
45821
45822 * commands/halt.c: ... to here.
c3db8364 45823 Add some precompiler directive to include the correct header for
45824 each machine.
f714229e 45825
45826 * include/grub/efi/efi.h (grub_reboot): New function declaration.
45827 (grub_halt): Likewise.
45828
45829 * kern/efi/efi.c (grub_reboot): New function.
45830 (grub_halt): Likewise.
45831
c74493e0 458322008-02-12 Robert Millan <rmh@aybabtu.com>
45833
45834 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
45835 /dev (like it is done for /dev/mapper). This doesn't provide support
45836 for EVMS, but at least it is now easy to identify the problem when it
45837 arises.
45838
d0db4b04 458392008-02-11 Robert Millan <rmh@aybabtu.com>
45840
45841 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
45842 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
45843 comparing it with -1, not 0.
45844
bf748642 458452008-02-10 Robert Millan <rmh@aybabtu.com>
45846
45847 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
45848 `disk/lvm.c'.
45849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45850 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
45851
45852 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
45853 `disk/lvm.c' to the end of the list.
45854 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45855 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45856
b5db202a 458572008-02-10 Robert Millan <rmh@aybabtu.com>
45858
45859 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
45860 grub_print_error() instead. This will let user know why we're entering
45861 rescue mode.
45862 Based on suggestions from Sam Morris.
45863
83abee31 458642008-02-10 Alexandre Boeglin <alex@boeglin.org>
45865
45866 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
45867 on remaining N args, instead of "--" arg N times.
45868
78d5a08b 458692008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
45870
45871 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
45872 (fill_with_default_glyph): Changed to use unknown_glyph for fill
45873 pattern for unknown glyphs.
45874
68807e5f 458752008-02-09 Robert Millan <rmh@aybabtu.com>
45876
45877 * configure.ac: Probe for `help2man'.
45878 * Makefile.in (builddir): New variable.
45879 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
45880 or otherwise add a few flags/options to it.
45881 (install-local): For every executable utility or script that is
45882 installed, invoke $(HELP2MAN) to install a manpage based on --help
45883 output.
45884
45885 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
45886 that it doesn't prevent --help from working in build tree.
45887
45888 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
45889 with `bug-grub@gnu.org'.
45890 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
45891 * util/update-grub.in (usage): New function.
45892 Implement proper argument check, with support for --help and --version
45893 (as well as existing -y).
45894
458952008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 45896
45897 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
45898 avoid overwriting previous output.
45899 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
45900
c1962162 459012008-02-09 Robert Millan <rmh@aybabtu.com>
45902
45903 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
45904 drawing the menu.
45905
3dac2e3f 459062008-02-09 Robert Millan <rmh@aybabtu.com>
45907
45908 * commands/sleep.c: New file.
45909 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
45910 (sleep_mod_SOURCES): New variable.
45911 (sleep_mod_CFLAGS): Likewise.
45912 (sleep_mod_LDFLAGS): Likewise.
45913
7a634e08 459142008-02-09 Robert Millan <rmh@aybabtu.com>
45915
45916 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
45917 situations in which we can deduce the RAID size and the superblock
45918 doesn't match it.
45919
b92f0c18 459202008-02-09 Robert Millan <rmh@aybabtu.com>
45921
45922 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
45923 and return a grub_diskmemberlist_t composed of LVM physical volumes.
45924 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
45925
45926 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
45927 and return a grub_diskmemberlist_t composed of physical array members.
45928 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
45929
45930 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
45931 prototype.
45932 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
45933 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
45934 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
45935
45936 * util/grub-probe.c (probe): Move partmap probing code from here ...
45937 (probe_partmap): ... to here.
45938 (probe): Use probe_partmap() once for the disk we're probing, and
45939 additionally, when such disk contains a memberlist() struct member,
45940 once for each disk that is contained in the structure returned by
45941 memberlist().
45942
91a4bf68 459432008-02-09 Robert Millan <rmh@aybabtu.com>
45944
45945 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
45946 environment variable to 'all' in order to obtain debug output from
45947 non-util/ code.
45948 * util/i386/pc/grub-setup.c (main): Likewise.
45949
a96f9caa 459502008-02-08 Robert Millan <rmh@aybabtu.com>
45951
45952 * disk/raid.c (grub_raid_scan_device): Check for
45953 `array->device[sb.this_disk.number]' rather than for
45954 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 45955 guaranteed to be accessible.
a96f9caa 45956
b37a9222 459572008-02-08 Robert Millan <rmh@aybabtu.com>
45958
45959 * disk/raid.c: Update copyright.
45960 * fs/cpio.c: Likewise.
45961 * include/grub/raid.h: Likewise.
45962 * loader/i386/pc/multiboot.c: Likewise.
45963 * util/hostfs.c: Likewise.
45964
5626aee1 459652008-02-08 Robert Millan <rmh@aybabtu.com>
45966
45967 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
45968 to a grub_disk_t array.
45969 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
45970 `device[x]'.
45971 (grub_raid_scan_device): Replace `device[x].name' accesses with
45972 `device[x]->name'. Simplify initialization of `array->device[x]'.
45973
554f0187 459742008-02-08 Robert Millan <rmh@aybabtu.com>
45975
45976 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
45977 grub_dprintf() calls.
45978 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
45979 error message.
45980
1ec8425d 459812008-02-07 Christian Franke <franke@computer.org>
45982
45983 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
45984 instead of fseek and ftell to support large files.
45985 (grub_hostfs_read): Likewise.
45986
f2156fda 459872008-02-07 Robert Millan <rmh@aybabtu.com>
45988
45989 Patch from Jeroen Dekkers.
45990 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 45991 failure, since successfully reading all array members might not be
f2156fda 45992 required.
45993
9216e0e7 459942008-02-06 Robert Millan <rmh@aybabtu.com>
45995
45996 * util/grub-probe.c (probe): Simplify partmap probing (with the
45997 assumption that the first word up to the underscore equals to
45998 the module name).
45999
b0dfd29a 460002008-02-06 Christian Franke <franke@computer.org>
46001
46002 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
46003 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
46004 last block of a cpio or tar stream.
46005 Check for "TRAILER!!!" instead of any empty data
46006 block to detect last block of a cpio stream.
46007 (grub_cpio_dir): Fix constness of variable np.
46008 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
46009 cpio or tar trailer is detected. This fixes a crash
46010 on open of a non existing file.
46011
c32865bf 460122008-02-05 Bean <bean123ch@gmail.com>
46013
46014 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
46015 address of entry.
46016 (grub_multiboot_load_elf64): Likewise.
46017 (grub_multiboot): Initialize mbi structure.
46018
46019 * util/grub-fstest.c: Don't include unused header file script.h.
46020
fe6b695a 46021 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 46022 of file.
46023 (grub_fstest_SOURCES): Likewise.
46024
409480b7 460252008-02-05 Robert Millan <rmh@aybabtu.com>
46026
46027 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
46028 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
46029 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
46030 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
46031
46032 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
46033 (translation_table): Replace hardcoded values with macros
46034 provided by `<grub/term.h>'.
46035
46036 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
46037 (keyboard_map): Correct/add a few values, with macros provided
46038 by `<grub/term.h>'.
46039 (keyboard_map_shift): Zero values that don't differ from their
46040 `keyboard_map' equivalents.
46041 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
46042 Discard the second scan code that is always sent by Caps lock.
46043 Only use `keyboard_map_shift' when it provides a non-zero value,
46044 otherwise fallback to `keyboard_map'.
46045
99fadbaa 460462008-02-04 Bean <bean123ch@gmail.com>
46047
46048 * Makefile.in (enable_grub_fstest): New variable.
46049
46050 * conf/common.rmk (grub_fstest_init.lst): New rule.
46051 (grub_fstest_init.h): Likewise.
46052 (grub_fstest_init.c): Likewise.
46053 (util/grub-fstest.c_DEPENDENCIES): New variable.
46054 (grub_fstest_SOURCES): Likewise.
46055
46056 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
46057
46058 * util/grub-fstest.c: New file.
46059
bf567c50 460602008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
46061
46062 Make grub-setup handle a separate root device.
f19dbdb7 46063
bf567c50 46064 * util/i386/pc/grub-setup.c (setup): Always open the root device,
46065 so that the root device can be compared with the destination
46066 device.
46067 When embedding the core image, if the root and destination devices
46068 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
46069 0xFF.
46070 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 46071
9be6b98b 460722008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
46073
46074 Add support for having a grub directory in a different drive. This
46075 is still only the data handling part.
f19dbdb7 46076
9be6b98b 46077 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
46078 (codestart): Save %dh in GRUB_ROOT_DRIVE.
46079 (grub_root_drive): New variable.
46080
46081 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
46082 instead of GRUB_BOOT_DRIVE to construct a device name. Set
46083 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
46084 as it was.
46085
46086 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
46087
46088 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
46089 macro.
46090 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
46091
46092 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
46093 is bogus, because PXE booting does not specify any drive
46094 correctly.
46095
46096 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
46097 am not sure if this is really correct.
46098
46099 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
46100 is always identical to the boot drive when booting from a CD.
46101
46102 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
46103 longer.
46104 (root_drive): New variable.
46105 (real_start): Unconditionally set %dh to ROOT_DRIVE.
46106 (setup_sectors): Push %dx right after popping it, because %dh will
46107 be modified later.
46108 (copy_buffer): Restore %dx.
46109
e0ca0677 461102008-02-03 Robert Millan <rmh@aybabtu.com>
46111
46112 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
46113 use `cdboot.img' for cdrom images.
46114
3b3f6629 461152008-02-03 Robert Millan <rmh@aybabtu.com>
46116
46117 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
46118 only setup gfxterm when `font' command has succeeded.
46119
d42b3672 461202008-02-03 Robert Millan <rmh@aybabtu.com>
46121
46122 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
46123 (grub_rescue_cmd_multiboot_loader)
46124 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
46125
fa370ea6 461262008-02-03 Pavel Roskin <proski@gnu.org>
46127
e0c5dacb 46128 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 46129 %edx and %esi from stack only after grub_gate_a20() is called.
46130 grub_gate_a20() clobbers %edx.
46131
f2a76e1d 461322008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
46133
46134 * configure.ac (AC_INIT): Bumped to 1.96.
46135
46136 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
46137 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
46138 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
46139 video/readers/png.c.
46140
90fd32d1 461412008-02-03 Bean <bean123ch@gmail.com>
9be665dd 46142
46143 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
46144 (cdboot_img_SOURCES): New variable.
46145 (cdboot_img_ASFLAGS): New variable.
46146 (cdboot_img_LDFLAGS): New variable.
46147
46148 * boot/i386/pc/cdboot.S: New file.
46149
46150 * disk/i386/pc/biosdisk.c (cd_start): New variable.
46151 (cd_count): Likewise.
46152 (grub_biosdisk_get_drive): Add support for cd device.
46153 (grub_biosdisk_call_hook): Likewise.
46154 (grub_biosdisk_iterate): Likewise.
46155 (grub_biosdisk_open): Likewise.
46156 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
46157 (grub_biosdisk_rw): Support reading from cd device.
46158 (GRUB_MOD_INIT): Iterate cd devices.
46159
46160 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
46161 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
46162 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
46163
46164 * kern/i386/pc/init.c (make_install_device): Check for cd device.
46165
4020aa53 461662008-02-02 Robert Millan <rmh@aybabtu.com>
46167
46168 * commands/read.c: New file.
46169 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
46170 (read_mod_SOURCES): New variable.
46171 (read_mod_CFLAGS): Likewise.
46172 (read_mod_LDFLAGS): Likewise.
46173
e03a1132 461742008-02-02 Robert Millan <rmh@aybabtu.com>
46175
46176 * normal/main.c (grub_normal_execute): Check for `menu->size' when
46177 determining whether menu has to be displayed.
46178
58c69220 461792008-02-02 Marco Gerards <marco@gnu.org>
46180
46181 * bus/pci.c: New file.
46182
46183 * include/grub/pci.h: Likewise.
46184
46185 * include/grub/i386/pc/pci.h: Likewise.
46186
46187 * commands/lspci.c: Likewise.
46188
46189 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
46190 `lspci.mod'.
46191 (pci_mod_SOURCES): New variable.
46192 (pci_mod_CFLAGS): Likewise.
46193 (pci_mod_LDFLAGS): Likewise.
46194 (lspci_mod_SOURCES): Likewise.
46195 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 46196 (lspci_mod_LDFLAGS): Likewise.
58c69220 46197
c004e1b4 461982008-02-02 Bean <bean123ch@gmail.com>
46199
46200 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
46201 (grub_ufs_get_file_block): Fix indirect block calculation problem.
46202
46203 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
46204 (grub_xfs_btree_node): New structure.
46205 (grub_xfs_btree_root): New structure.
46206 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
46207 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
46208 (GRUB_XFS_EXTENT_BLOCK): Likewise.
46209 (GRUB_XFS_EXTENT_SIZE): Likewise.
46210 (grub_xfs_read_block): Support btree format type.
46211 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
46212 Use directory block as basic unit.
46213
46214 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
46215
46216 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
46217 __attribute__ ((__regparm__ (1))).
46218
f95562bf 462192008-02-01 Robert Millan <rmh@aybabtu.com>
46220
46221 Correct a mistake in previous commit.
46222
46223 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
46224 top.
46225 (normal/command.c_DEPENDENCIES): New variable.
46226
7d31f41f 462272008-02-01 Robert Millan <rmh@aybabtu.com>
46228
46229 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
46230 top.
46231 (normal/command.c_DEPENDENCIES): New variable.
46232 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
46233 * conf/i386-ieee1275.rmk: Likewise.
46234 * conf/i386-linuxbios.rmk: Likewise.
46235 * conf/i386-pc.rmk: Likewise.
46236 * conf/sparc64-ieee1275.rmk: Likewise.
46237 * conf/powerpc-ieee1275.rmk: Likewise.
46238 (grub_emu_SOURCES): Add `fs/fshelp.c'.
46239
46240 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
46241
60b6be74 462422008-02-01 Robert Millan <rmh@aybabtu.com>
46243
46244 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
46245 call at beginning of function.
46246
078522ab 462472008-01-31 Pavel Roskin <proski@gnu.org>
46248
46249 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 46250 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
46251 (grub_mkrescue_SOURCES): Likewise.
078522ab 46252 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
46253
ccaa8a5f 462542008-01-30 Robert Millan <rmh@aybabtu.com>
46255
46256 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
46257 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
46258 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
46259 (grub_probe_SOURCES): ... to here.
46260
46261 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
46262 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
46263 * conf/i386-ieee1275.rmk: Likewise.
46264 * conf/i386-linuxbios.rmk: Likewise.
46265 * conf/powerpc-ieee1275.rmk: Likewise.
46266
ae5a9cd7 462672008-01-30 Tristan Gingold <gingold@free.fr>
46268
46269 * kern/rescue.c: Silently accept empty lines.
46270
70bc2ef2 462712008-01-29 Bean <bean123ch@gmail.com>
46272
46273 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
46274 (real_code_2): Code cleanup and change comment style.
46275 (move_memory): Avoid using 32-bit address mode.
46276
6a4d50ea 462772008-01-29 Bean <bean123ch@gmail.com>
46278
46279 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
46280 (png_mod_SOURCES): New variable.
46281 (png_mod_CFLAGS): Likewise.
46282 (png_mod_LDFLAGS): Likewise.
46283
46284 * video/readers/png.c: New file.
46285
11cc30ac 462862008-01-28 Robert Millan <rmh@aybabtu.com>
46287
46288 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
46289 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
46290 `ifndef GRUB_MOD_GAP' hack.
46291 * util/elf/grub-mkimage.c (add_segments): Likewise.
46292
3abc589f 462932008-01-27 Robert Millan <rmh@aybabtu.com>
46294
46295 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
46296 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 46297 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 46298
e1907778 462992008-01-27 Robert Millan <rmh@aybabtu.com>
46300
46301 Get grub-emu to build again (including parallel builds).
46302
46303 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
46304 Split into ...
46305 (util/grub-emu.c_DEPENDENCIES): ... this, ...
46306 (normal/execute.c_DEPENDENCIES): ... this, ...
46307 (grub-emu_DEPENDENCIES): ... and this.
46308
46309 * conf/i386-efi.rmk: Likewise.
46310 * conf/i386-linuxbios.rmk: Likewise.
46311 * conf/i386-ieee1275.rmk: Likewise.
46312 * conf/powerpc-ieee1275.rmk: Likewise.
46313 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
46314
2216b101 463152008-01-27 Robert Millan <rmh@aybabtu.com>
46316
46317 * NEWS: Add a few items.
46318
f75172d9 463192008-01-27 Robert Millan <rmh@aybabtu.com>
46320
46321 Fix parallel builds with grub-emu. Based on earlier commit for
46322 grub-probe and grub-setup.
46323
46324 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46325 (util/grub-emu.c_DEPENDENCIES): ... this.
46326 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46327 (util/grub-emu.c_DEPENDENCIES): ... this.
46328 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46329 (util/grub-emu.c_DEPENDENCIES): ... this.
46330 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46331 (util/grub-emu.c_DEPENDENCIES): ... this.
46332 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46333 (util/grub-emu.c_DEPENDENCIES): ... this.
46334
3f51de77 463352008-01-27 Pavel Roskin <proski@gnu.org>
46336
46337 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
46338 to create a gap between _end and the modules added to the image
46339 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
46340 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
46341 * util/elf/grub-mkimage.c (add_segments): Likewise.
46342
2033f53e 463432008-01-26 Pavel Roskin <proski@gnu.org>
46344
46345 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
46346 just return an error.
46347
22da1f6f 463482008-01-26 Bean <bean123ch@gmail.com>
46349
46350 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
46351 (grub_reiserfs_get_item): Save offset of the next item.
46352 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
46353
2a9525e6 463542008-01-25 Robert Millan <rmh@aybabtu.com>
46355
46356 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
46357 make all filesystem sources appear together (possibly fixing omissions
46358 while at it).
46359 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46360 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46361 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46363
46364 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
46365 add `kern/file.c'.
46366 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
46367 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46368 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
46369 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46370
46371 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
46372 (probe): Add a sanity check to make sure of our ability to read
46373 requested files when probing for filesystem type.
46374
46375 * genmk.rb: Update copyright year (2007).
46376
46377 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
46378 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
46379 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
46380 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
46381 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
46382 : Remove function prototypes.
46383
b95f71b5 463842008-01-25 Robert Millan <rmh@aybabtu.com>
46385
46386 Revert my previous commits (based on wrong assumption of how grub_errno
46387 works).
46388
fe6b695a 46389 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 46390 * kern/file.c (grub_file_open): Likewise.
46391
d08bbb49 463922008-01-24 Pavel Roskin <proski@gnu.org>
46393
46394 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
46395 that hang if GRUB tries to setup colors.
46396 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
46397 colors for firmwares that don't support it.
46398 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
46399 Recognize Open Hack'Ware, set flags to work around its
46400 limitations.
46401
605e36ed 464022008-01-24 Robert Millan <rmh@aybabtu.com>
46403
46404 * kern/file.c (grub_file_open): Do not account previous failures of
46405 unrelated functions when grub_errno is checked for.
46406 Reported by Oleg Strikov.
46407
bac332a1 464082008-01-24 Bean <bean123ch@gmail.com>
46409
46410 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
46411 (grub_ufs_sblock): New member volume name.
46412 (grub_ufs_find_file): Fix string copy bug.
46413 (grub_ufs_label): Implement this function properly.
46414
46415 * fs/hfs.c (grub_hfs_cnid_type): New enum.
46416 (grub_hfs_iterate_records): Use the correct file number for extents
46417 and catalog file. Fix problem in next index calculation.
46418 (grub_hfs_find_node): Replace recursive function call with loop.
46419 (grub_hfs_iterate_dir): Replace recursive function call with loop.
46420
15c80c09 464212008-01-23 Robert Millan <rmh@aybabtu.com>
46422
46423 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
46424 `<grub/symbol.h>' and `<grub/multiboot.h>'.
46425 (grub_multiboot2_real_boot): New function prototype.
46426
46427 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
46428 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
46429
46430 * kern/i386/ieee1275/init.c (grub_os_area_addr)
46431 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
46432
305338fd 464332008-01-23 Robert Millan <rmh@aybabtu.com>
46434
46435 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
46436 #ifdef'ed out grub_printf().
46437
3ea52685 464382008-01-23 Robert Millan <rmh@aybabtu.com>
46439
46440 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
46441 grub_dprintf calls, since they make "debug=all" mode unusable.
46442 (grub_console_checkkey): Likewise.
46443
5882ae4b 464442008-01-23 Robert Millan <rmh@aybabtu.com>
46445
46446 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
46447 `term/i386/pc/at_keyboard.c'.
46448 (pkglib_MODULES): Add `serial.mod'.
46449 (serial_mod_SOURCES): New variable.
46450 (serial_mod_CFLAGS): Likewise.
46451 (serial_mod_LDFLAGS): Likewise.
46452
46453 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
46454 `<grub/powerpc/ieee1275/console.h>'.
46455 (grub_keyboard_controller_init): New function prototype.
46456 (grub_console_checkkey): Likewise.
46457 (grub_console_getkey): Likewise.
46458
46459 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
46460 keyboard on i386.
46461
46462 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
46463 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
46464
06ab5303 464652008-01-23 Robert Millan <rmh@aybabtu.com>
46466
46467 * kern/i386/pc/init.c (make_install_device): When memdisk image is
46468 present, "(memdisk)/boot/grub" becomes the default prefix.
46469
46470 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
46471 a memdisk tarball with all the modules. Add --overlay=DIR option that
46472 allows users to overlay additional files into the image.
46473
dbb475a4 464742008-01-23 Robert Millan <rmh@aybabtu.com>
46475
46476 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
46477 and `machine/memory.h'.
46478 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
46479 (_multiboot_mod_SOURCES): New variable.
46480 (_multiboot_mod_CFLAGS): Likewise.
46481 (_multiboot_mod_LDFLAGS): Likewise.
46482 (multiboot_mod_SOURCES): Likewise.
46483 (multiboot_mod_CFLAGS): Likewise.
46484 (multiboot_mod_LDFLAGS): Likewise.
46485
46486 * include/grub/i386/ieee1275/loader.h: New file.
46487
46488 * include/grub/i386/ieee1275/machine.h: Likewise.
46489
46490 * include/grub/i386/ieee1275/memory.h: Likewise.
46491
46492 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
46493 variable declaration.
46494 (grub_os_area_size): Likewise.
46495
46496 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
46497 (grub_lower_mem, grub_upper_mem): New variables.
46498 (grub_stop_floppy): New function (just to make
46499 grub_multiboot2_real_boot() happy).
46500
46501 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
46502 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
46503 (grub_stop): New function.
46504 Include `"../realmode.S"' and `"../loader.S"'.
46505
46506 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
46507 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
46508
46509 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
46510 rely on grub_multiboot2_real_boot() for final boot.
46511
25638629 465122008-01-22 Robert Millan <rmh@aybabtu.com>
46513
46514 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
46515 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
46516 device that doesn't look like an SD card.
46517 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46518 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
46519 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
46520 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
46521 found.
46522
9dad816d 465232008-01-22 Robert Millan <rmh@aybabtu.com>
46524
46525 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
46526 avoid claiming over our own code.
46527
34842f2d 465282008-01-22 Bean <bean123ch@gmail.com>
46529
46530 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
46531 (jpeg_mod_SOURCES): New variable.
46532 (jpeg_mod_CFLAGS): Likewise.
46533 (jpeg_mod_LDFLAGS): Likewise.
46534
46535 * video/readers/jpeg.c : New file.
46536
44023a28 465372008-01-22 Bean <bean123ch@gmail.com>
46538
46539 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
46540 there are no more items.
46541
bc2d8ac6 465422008-01-21 Robert Millan <rmh@aybabtu.com>
46543
46544 * kern/mm.c (grub_mm_init_region): Improve debug message.
46545
261bd4bc 465462008-01-21 Robert Millan <rmh@aybabtu.com>
46547
46548 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
46549 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
46550 address.
46551 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
46552 a C macro.
46553 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
46554 Indicates start of upper memory.
46555 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
46556 (generate_image): Abort when image size is big enough to corrupt
46557 upper memory.
46558
46559 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
46560 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
46561 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46562 instead of hardcoding 0xA0000.
46563 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
46564 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46565 instead of hardcoding 0xA0000.
46566
f970b55e 465672008-01-21 Robert Millan <rmh@aybabtu.com>
46568
46569 * disk/memdisk.c (memdisk_size): New variable.
46570 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
46571 `memdisk_size'.
46572 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
46573 image to dynamic memory.
46574 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
46575 `memdisk_size'. Free memdisk block.
46576
1a8b0526 465772008-01-21 Robert Millan <rmh@aybabtu.com>
46578
46579 Fix detection of very small filesystems (like tar).
46580
46581 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
46582 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
46583 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
46584 a problem with this disk).
46585
6e9b4aab 465862008-01-21 Robert Millan <rmh@aybabtu.com>
46587
46588 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
46589 on grub_biosdisk_rw_standard() error.
46590
0d8837b2 465912008-01-21 Robert Millan <rmh@aybabtu.com>
46592
46593 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
46594 recent changes.
46595 * kern/elf.c: Likewise.
46596 * kern/ieee1275/ieee1275.c: Likewise.
46597 * kern/powerpc/ieee1275/openfw.c: Likewise.
46598 * term/ieee1275/ofconsole.c: Likewise.
46599
ffd36e34 466002008-01-21 Robert Millan <rmh@aybabtu.com>
46601
46602 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
46603
3f0093d0 46604 * include/grub/kernel.h (grub_arch_memdisk_addr)
46605 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 46606
3f0093d0 46607 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
46608 (grub_arch_memdisk_size): ... to here.
ffd36e34 46609
6c391b21 466102008-01-21 Robert Millan <rmh@aybabtu.com>
46611
46612 Mostly based on bugfix from Bean.
46613
46614 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
46615 attribute with hook() parameter.
46616 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
46617 declaration.
46618 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
46619 attribute with hook() parameter.
46620 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
46621 declaration.
46622
55a581dc 466232008-01-21 Robert Millan <rmh@aybabtu.com>
46624
46625 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
46626 (pkglib_MODULES): Add `memdisk.mod'.
46627 (memdisk_mod_SOURCES): New variable.
46628 (memdisk_mod_CFLAGS): Likewise.
46629 (memdisk_mod_LDFLAGS): Likewise.
46630
46631 * disk/memdisk.c: New file.
46632
46633 * include/grub/disk.h (grub_disk_dev_id): Add
46634 `GRUB_DISK_DEVICE_MEMDISK_ID'.
46635
46636 * include/grub/i386/pc/kernel.h
46637 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
46638 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
46639 (grub_kernel_image_size): New variable declaration.
46640 (grub_total_module_size): Likewise.
46641 (grub_memdisk_image_size): Likewise.
46642
46643 * include/grub/i386/pc/memory.h
46644 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
46645
46646 * include/grub/kernel.h: Include `<grub/symbol.h>'.
46647 (grub_arch_memdisk_addr): New variable declaration.
46648 (grub_arch_memdisk_size): Likewise.
46649
46650 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
46651 (grub_arch_memdisk_size): Likewise.
46652
46653 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
46654 (codestart): Replace hardcoded `0x100000' with
46655 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
46656
46657 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
46658 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
46659 not NULL, append the contents of the file it refers to, at the end of
46660 the compressed kernel image. Initialize `grub_memdisk_image_size'
46661 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
46662 (options): Add "memdisk"|'m' option.
46663 (main): Parse --memdisk|-m option, and pass user-provided path as
46664 parameter to generate_image().
46665
3d7f54c9 466662008-01-20 Robert Millan <rmh@aybabtu.com>
46667
46668 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
46669 grub_dprintf() calls from here ...
46670 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
46671
0bf74728 466722008-01-20 Robert Millan <rmh@aybabtu.com>
46673
46674 Fix detection of "real mode" when /options/real-mode? doesn't exist.
46675
46676 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
46677 declaration.
46678 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
46679 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
46680 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 46681 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 46682 property).
46683 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
46684 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
46685
33bf70a7 466862008-01-19 Robert Millan <rmh@aybabtu.com>
46687
fe6b695a 46688 Get rid of confusing function (superseded by
33bf70a7 46689 `grub_ieee1275_get_integer_property')
46690 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
46691 prototype.
46692 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
46693 function.
46694 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
46695 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 46696 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 46697
e2da7d26 466982008-01-19 Robert Millan <rmh@aybabtu.com>
46699
46700 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
46701 command after "shut-down", since implementations differ on which
46702 the command for halt is.
46703
59f1fd8d 467042008-01-19 Robert Millan <rmh@aybabtu.com>
46705
46706 * include/grub/i386/linuxbios/console.h: Add header protection.
46707 (grub_keyboard_controller_init): New function prototype.
46708 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
46709 (KEYBOARD_COMMAND_READ): Likewise.
46710 (KEYBOARD_COMMAND_WRITE): Likewise.
46711 (KEYBOARD_SCANCODE_SET1): Likewise.
46712 (grub_keyboard_controller_write): New function.
46713 (grub_keyboard_controller_read): Likewise.
46714 (grub_keyboard_controller_init): Likewise.
46715
46716 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
46717 (grub_console_init): On coreboot/LinuxBIOS, call
46718 grub_keyboard_controller_init().
46719
5f5a7c15 467202008-01-19 Robert Millan <rmh@aybabtu.com>
46721
46722 PowerPC changes provided by Pavel Roskin.
46723
46724 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
46725 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
46726 don't rely on cmain() doing it.
46727 * kern/i386/ieee1275/startup.S (_start): Store %eax in
46728 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
46729
1210e168 467302008-01-16 Robert Millan <rmh@aybabtu.com>
46731
46732 * include/grub/i386/linuxbios/memory.h
46733 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
46734 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
46735 receive `table_header' as argument. Instead, probe for it in the
46736 known memory ranges where it can be present.
46737 (grub_available_iterate): Do not pass a fixed `table_header' address
46738 to grub_linuxbios_table_iterate().
46739
3d04eab8 467402008-01-15 Robert Millan <rmh@aybabtu.com>
46741
46742 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
46743 * conf/i386-ieee1275.rmk: New file.
46744 * include/grub/i386/ieee1275/console.h: Likewise.
46745 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
46746 * include/grub/i386/ieee1275/kernel.h: Likewise.
46747 * include/grub/i386/ieee1275/time.h: Likewise.
46748 * kern/i386/ieee1275/init.c: Likewise.
46749 * kern/i386/ieee1275/startup.S: Likewise.
46750
d1bc1b73 467512008-01-15 Robert Millan <rmh@aybabtu.com>
46752
46753 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
46754 when pointers are 32-bit (but still do set it to one when they are
46755 64-bit).
46756
66a65807 467572008-01-15 Robert Millan <rmh@aybabtu.com>
46758
46759 * include/grub/ieee1275/ieee1275.h
46760 (grub_ieee1275_get_integer_property): New function prototype.
46761
46762 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
46763 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 46764 grub_ieee1275_get_property() to handle endianness.
66a65807 46765
46766 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
46767 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 46768 where appropriate.
66a65807 46769 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
46770 (grub_map): Likewise.
46771 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
46772
a83ccafd 467732008-01-15 Bean <bean123ch@gmail.com>
46774
46775 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
46776 (grub_script_execute_cmdline): Reset grub_errno.
46777
46778 * normal/main.c (read_config_file): Reset grub_errno.
46779
46780 * normal/parse.y (script_init): New.
46781 (script): Move function and menuentry here.
46782 (delimiter): New.
46783 (command): Add delimiter at the end of command.
46784 (commands): Adjust to match the new command.
46785 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 46786 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 46787 (if): Use the new commands.
46788
46789 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
46790
df6ecfc6 467912008-01-15 Robert Millan <rmh@aybabtu.com>
46792
46793 * normal/menu.c (run_menu): Move timeout message from here ...
46794 (print_timeout): ... to here.
46795 (run_menu): Use print_timeout() once during initial draw to print
46796 the whole message, and again in every clock tick to update only
46797 the number of seconds.
46798
87ae25eb 467992008-01-15 Robert Millan <rmh@aybabtu.com>
46800
46801 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
46802 actual size of `available' from grub_ieee1275_get_property(), and
46803 restrict parsing to that bound.
46804
47bf09a4 468052008-01-15 Christian Franke <franke@computer.org>
46806
46807 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
46808 (argp_program_version): Remove variable.
46809 (argp_program_bug_address): Likewise.
46810 (options): Convert from struct argp_option to struct option.
46811 (struct arguments): Remove.
46812 (parse_opt): Remove.
46813 (usage): New function.
46814 (main): Replace struct args members by simple variables.
46815 Replace argp_parse() by getopt_long().
46816 Add switch to evaluate options.
46817 Add missing "(...)" around root_dev in prefix string.
46818
c86f1469 468192008-01-14 Robert Millan <rmh@aybabtu.com>
46820
46821 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
46822 for grub_ieee1275_exit(), in order to improve portability.
46823
e622c559 468242008-01-14 Robert Millan <rmh@aybabtu.com>
46825
46826 * util/grub.d/10_linux.in (prefix): Define.
46827 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
46828
44cb1ec8 468292008-01-13 Pavel Roskin <proski@gnu.org>
46830
46831 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
46832 grub_errno if no errors have been detected.
46833
1eb8c802 468342008-01-12 Robert Millan <rmh@aybabtu.com>
46835
46836 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
46837 (grub_util_get_dev_abstraction): New function prototype.
46838
46839 * util/getroot.c: Include `<grub/util/getroot.h>'
46840 (grub_util_get_grub_dev): Move detection of abstraction type to ...
46841 (grub_util_get_dev_abstraction): ... here (new function).
46842
46843 * util/grub-probe.c: Convert PRINT_* to an enum. Add
46844 `PRINT_ABSTRACTION'.
46845 (probe): Probe for abstraction type when requested.
46846 (main): Understand `--target=abstraction'.
46847
46848 * util/i386/efi/grub-install.in: Add abstraction module to core
46849 image when it is found to be necessary.
46850 * util/i386/pc/grub-install.in: Likewise.
46851 * util/powerpc/ieee1275/grub-install.in: Likewise.
46852
46853 * util/update-grub_lib.in (font_path): Return system path without
46854 converting to GRUB path.
46855 * util/update-grub.in: Convert system path returned by font_path()
46856 to a GRUB path. Use `grub-probe -t abstraction' to determine what
46857 abstraction module is needed for loading fonts (if any). Export
46858 that as `GRUB_PRELOAD_MODULES'.
46859 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
46860 insmod commands).
46861
52bd3de9 468622008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
46863
46864 Remove some unused code from reiserfs.
f19dbdb7 46865
52bd3de9 46866 * fs/reiserfs.c (struct grub_reiserfs_key)
46867 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
46868 (struct grub_reiserfs_node_body): Removed.
46869 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46870 Likewise.
46871 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46872 Likewise.
46873 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46874 Likewise.
46875 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46876 Likewise.
46877 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46878 Likewise.
46879 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
46880 Likewise.
46881 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46882 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46883 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46884
2f80039d 468852008-01-10 Robert Millan <rmh@aybabtu.com>
46886
46887 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
46888 Determines if a file is garbage left by packaging systems, etc.
46889 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
46890 for processing /etc/grub.d scripts.
46891 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
46892 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
46893 as a condition for processing Linux images.
46894
87888032 468952008-01-10 Pavel Roskin <proski@gnu.org>
46896
46897 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
46898 to compile reiserfs.c on PowerPC.
46899
7e54fced 469002008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 46901
46902 * kern/device.c (grub_device_iterate): Do not abort device iteration
46903 when one of the devices cannot be opened.
46904 * kern/disk.c (grub_disk_open): Do not account previous failures of
46905 unrelated functions when grub_errno is checked for.
46906
5aa541e6 469072008-01-08 Robert Millan <rmh@aybabtu.com>
46908
46909 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
46910 `! grub_linux_is_bzimage', change order of address comparison to make
46911 it more intuitive, and improve "too big zImage" error message.
46912
7076340d 469132008-01-08 Robert Millan <rmh@aybabtu.com>
46914
46915 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
46916 `$(update-grub_DATA)'.
46917 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
46918 targets.
46919
9ca70333 469202008-01-07 Robert Millan <rmh@aybabtu.com>
46921
46922 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
46923 which instruction is modified by grub-setup during installation
46924 (since it wasn't obvious by only looking at this file).
46925
38ccf575 469262008-01-07 Robert Millan <rmh@aybabtu.com>
46927
46928 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
46929 listing actual TODO items.
46930
f5db4291 469312008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46932
868967cf 46933 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
46934 correctly.
46935 (grub_reiserfs_get_key_offset): Likewise.
46936 (grub_reiserfs_set_key_offset): Likewise.
46937 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 46938 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 46939
46940 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
46941 better to remove the bitfield version completely.
f19dbdb7 46942
868967cf 469432008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46944
f5db4291 46945 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
46946 allocated from the heap, due to the fshelp implementation.
46947 (grub_reiserfs_dir): Free NODE, due to the same reason.
46948
492e6d9d 469492008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46950
46951 Mostly from Vincent Pelletier:
f19dbdb7 46952
492e6d9d 46953 * fs/reiserfs.c: New file.
f19dbdb7 46954
492e6d9d 46955 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
46956 (reiserfs_mod_SOURCES): New variable.
46957 (reiserfs_mod_CFLAGS): Likewise.
46958 (reiserfs_mod_LDFLAGS): Likewise.
46959
46960 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
46961 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
46962 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
46963 normal/color.c.
46964
9ce3e7c1 469652008-01-06 Robert Millan <rmh@aybabtu.com>
46966
46967 * normal/color.c: Remove `<grub/env.h>'.
46968
f3b58148 469692008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
46970
46971 * include/grub/normal.h: Include <grub/env.h>.
46972
7ac3bcfa 469732008-01-05 Robert Millan <rmh@aybabtu.com>
46974
46975 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
46976 usage example with `(hd0,1)'.
fb358190 46977 Reported by Samuel Thibault.
7ac3bcfa 46978
c8ee99d7 469792008-01-05 Robert Millan <rmh@aybabtu.com>
46980
46981 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
46982 (grub_linux_boot_zimage): Rename to ...
46983 (grub_linux_boot): ... this.
46984 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
46985 (grub_linux_boot_zimage): Conditionalize zImage copy.
46986
46987 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
46988 (grub_linux_boot_bzimage): Remove prototype.
46989 (grub_linux_boot_zimage): Rename to ...
46990 (grub_linux_boot): ... this.
46991
46992 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
46993 (grub_linux_boot): Remove function.
46994
0ece25b1 469952008-01-05 Robert Millan <rmh@aybabtu.com>
46996
46997 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
46998 (grub_env_write_color_highlight): Likewise.
46999 (grub_wait_after_message): Likewise.
47000
47001 * normal/color.c: New file.
47002
47003 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
47004 (normal_mod_DEPENDENCIES): Likewise.
47005
47006 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
47007 (normal_mod_DEPENDENCIES): Likewise.
47008
47009 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
47010 (normal_mod_DEPENDENCIES): Likewise.
47011
47012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
47013 (normal_mod_DEPENDENCIES): Likewise.
47014
47015 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
47016 for waiting after a message is printed.
47017 * normal/main.c (read_config_file): Likewise.
47018 (grub_normal_init): Register grub_env_write_color_normal() and
47019 grub_env_write_color_highlight() hooks. Mark `color_normal' and
47020 `color_highlight' variables as global.
47021
47022 * normal/menu.c (grub_wait_after_message): New function.
47023 (grub_color_menu_normal): New variable. Replaces ...
47024 (GRUB_COLOR_MENU_NORMAL): ... this macro.
47025 (grub_color_menu_highlight): New variable. Replaces ...
47026 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
47027 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
47028 `GRUB_TERM_COLOR_STANDARD'.
47029 (print_message): Use `grub_setcolorstate' to reload colors. Rename
47030 `normal_code' and `highlight_code' to `old_color_normal' and
47031 `old_color_highlight', respectively.
47032 (grub_menu_init_page): Update colors when drawing the menu, based on
47033 `menu_color_normal' and `menu_color_highlight' variables.
47034 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
47035 a message is printed.
47036
182dd4e5 470372008-01-05 Robert Millan <rmh@aybabtu.com>
47038
47039 * kern/env.c (grub_env_context_open): Propagate hooks for global
47040 variables to new context.
47041
47042 * kern/main.c (grub_set_root_dev): Export `root' variable.
47043
ddf8f6ad 470442008-01-05 Robert Millan <rmh@aybabtu.com>
47045
47046 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 47047 discs unconditionally, since udev and others have options to provide
ddf8f6ad 47048 them.
47049
d8b43d9b 470502008-01-05 Robert Millan <rmh@aybabtu.com>
47051
47052 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
47053
2bff2de3 470542008-01-04 Christian Franke <franke@computer.org>
47055
47056 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
47057 of eisa_mmap.
47058
97eab917 470592008-01-03 Pavel Roskin <proski@gnu.org>
47060
47061 * kern/i386/linuxbios/init.c: Put "void" to all function
47062 declarations with no arguments.
47063 * kern/powerpc/ieee1275/init.c: Likewise.
47064 * term/i386/pc/at_keyboard.c: Likewise.
47065 * term/i386/pc/vga_text.c: Likewise.
47066 * util/grub-mkdevicemap.c: Likewise.
47067
b9416d00 470682008-01-02 Robert Millan <rmh@aybabtu.com>
47069
47070 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
47071 message when loaded image is out of bounds.
47072 (grub_multiboot_load_elf64): Likewise.
47073
92695df9 470742008-01-02 Pavel Roskin <proski@gnu.org>
47075
47076 * util/grub.d/10_linux.in: Try version without ".old" when
47077 looking for initrd. It's better to use initrd from the newer
47078 kernel of the same version than no initrd at all.
47079
d98d9cad 470802008-01-01 Robert Millan <rmh@aybabtu.com>
47081
47082 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
47083
dbfdce36 470842008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
47085
f19dbdb7 47086 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 47087 grub_video_get_active_render_target.
47088 (grub_video_adapter): Added unmap_color and get_active_render_target.
47089
f19dbdb7 47090 * video/video.c: Added grub_video_unmap_color and
dbfdce36 47091 grub_video_get_active_render_target.
47092 (grub_video_get_info): Changed method to accept NULL pointer as an
47093 argument to allow detection of active video adapter.
47094
47095 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
47096 grub_video_vbe_unmap_color_int.
47097 Added grub_video_vbe_unmap_color and
47098 grub_video_vbe_get_active_render_target.
47099 (grub_video_vbe_adapter): Added unmap_color and
47100 get_active_render_target.
47101
f19dbdb7 47102 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 47103 with grub_video_vbe_unmap_color_int.
47104
47105 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
47106 (DEFAULT_NORMAL_COLOR): Likewise.
47107 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
47108 (DEFAULT_FG_COLOR): Removed.
47109 (DEFAULT_BG_COLOR): Likewise.
47110 (DEFAULT_CURSOR_COLOR): Changed value.
47111 (grub_virtual_screen): Added standard_color_setting,
47112 normal_color_setting, highlight_color_setting and term_color.
47113 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
47114 (bitmap_width): Added.
47115 (bitmap_height): Likewise.
47116 (bitmap): Likewise.
47117 (set_term_color): Likewise.
47118 (grub_virtual_screen_setup): Changed to use new terminal coloring
47119 settings.
47120 (grub_gfxterm_init): Added init for bitmap.
47121 (grub_gfxterm_fini): Added destroy for bitmap.
47122 (redraw_screen_rect): Updated to use background bitmap and new
47123 terminal coloring.
47124 (scroll_up): Added optimization for case when there is no bitmap.
47125 (grub_gfxterm_cls): Fixed to use correct background color.
47126 (grub_virtual_screen_setcolorstate): Changed to use new terminal
47127 coloring.
47128 (grub_virtual_screen_setcolor): Likewise.
47129 (grub_virtual_screen_getcolor): Added.
47130 (grub_gfxterm_background_image_cmd): Likewise.
47131 (grub_video_term): Added setcolor and getcolor.
47132 (MOD_INIT): Added registration of background_image command.
47133 (MOD_TERM): Added unregistration for background_image command.
47134
c3c20931 471352007-12-30 Pavel Roskin <proski@gnu.org>
47136
47137 * loader/multiboot_loader.c: Fix multiboot command
47138 unregistration. Fix all typos in the word "multiboot".
47139
df266716 471402007-12-29 Pavel Roskin <proski@gnu.org>
94239199 47141
47142 * util/grub.d/10_linux.in: Refactor search for initrd. Add
47143 support for initrd names used in Fedora.
47144
fc6e896c 471452007-12-26 Bean <bean123ch@gmail.com>
47146
47147 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
47148 (cpio_mod_SOURCES): New variable.
47149 (cpio_mod_CFLAGS): Likewise.
47150 (cpio_mod_LDFLAGS): Likewise.
47151
47152 * fs/cpio.c: New file.
47153
47154 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
47155
47156 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
47157
47158 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
47159
47160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47161
533110ad 471622007-12-25 Robert Millan <rmh@aybabtu.com>
47163
47164 * include/grub/term.h (struct grub_term): Add `getcolor' function.
47165 (grub_getcolor): New function.
47166
47167 * kern/term.c (grub_getcolor): New function.
47168 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
47169 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
47170 (print_entry): Set normal and highlight colors to
47171 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
47172 respectively, before printing and restore them to old
47173 values afterwards.
47174 (grub_menu_init_page): Likewise. Fill an additional colored space
47175 that would otherwise be left blank.
47176
47177 * term/efi/console.c (grub_console_getcolor): New function.
47178 (struct grub_console_term.getcolor): New variable.
47179 * term/i386/pc/console.c (grub_console_getcolor): New function.
47180 (struct grub_console_term.getcolor): New variable.
47181 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
47182 (struct grub_console_term.getcolor): New variable.
47183
47184 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
47185 (struct grub_console_term.setcolor): Remove variable.
47186 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
47187 (struct grub_console_term.setcolor): Remove variable.
47188 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
47189 (struct grub_console_term.setcolor): Remove variable.
47190 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
47191 (struct grub_console_term.setcolor): Remove variable.
47192
4931827f 471932007-12-25 Robert Millan <rmh@aybabtu.com>
47194
47195 * configure.ac: Search for possible unifont.hex locations, and
47196 define UNIFONT_HEX if found.
47197
47198 * Makefile.in (UNIFONT_HEX): Define variable.
47199 (DATA): Rename to ...
47200 (PKGLIB): ... this. Update all users.
47201 (PKGDATA): New variable.
47202 (pkgdata_IMAGES): Rename to ...
47203 (pkglib_IMAGES): ... this. Update all users.
47204 (pkgdata_MODULES): Rename to ...
47205 (pkglib_MODULES): ... this. Update all users.
47206 (pkgdata_PROGRAMS): Rename to ...
47207 (pkglib_PROGRAMS): ... this. Update all users.
47208 (pkgdata_DATA): Rename to ...
47209 (pkglib_DATA): ... this. Update all users.
47210 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
47211 (unicode.pff, ascii.pff): New rules.
47212 (all-local): Add `$(PKGDATA)' dependency.
47213 (install-local): Process `$(PKGDATA)'.
47214
47215 * util/update-grub_lib.in (font_path): Search for *.pff files in
47216 a few more locations, including `${pkgdata}'.
47217
57e57e31 472182007-12-23 Robert Millan <rmh@aybabtu.com>
47219
47220 Patch from Bean <bean123ch@gmail.com>:
47221 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
47222 `size'.
47223
4bc72aa9 472242007-12-21 Bean <bean123ch@gmail.com>
47225
47226 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
47227 (ntfscomp_mod_SOURCES): New variable.
47228 (ntfscomp_mod_CFLAGS): Likewise.
47229 (ntfscomp_mod_LDFLAGS): Likewise.
47230
47231 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
47232 (grub_probe_SOURCES): Likewise.
47233 (grub_emu_SOURCES): Likewise.
47234
47235 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47236 (grub_emu_SOURCES): Likewise.
47237
47238 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47239 (grub_emu_SOURCES): Likewise.
47240
47241 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47242 (grub_emu_SOURCES): Likewise.
47243
47244 * fs/ntfs.c (grub_ntfscomp_func): New variable.
47245 (read_run_list): Renamed to grub_ntfs_read_run_list.
47246 (decomp_nextvcn): Moved to ntfscomp.c.
47247 (decomp_getch): Likewise.
47248 (decomp_get16): Likewise.
47249 (decomp_block): Likewise.
47250 (read_block): Likewise.
47251 (read_data): Partially moved to ntfscomp.c.
47252 (fixup): Change unsigned to grub_uint16_t.
47253 (read_mft): Change unsigned long to grub_uint32_t.
47254 (read_attr): Likewise.
47255 (read_data): Likewise.
47256 (read_run_data): Likewise.
47257 (read_run_list): Likewise.
47258 (read_mft): Likewise.
47259
47260 * fs/ntfscomp.c: New file.
47261
47262 * include/grub/ntfs.h: New file.
47263
af680a87 472642007-12-16 Robert Millan <rmh@aybabtu.com>
47265
47266 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
47267 IDE disk check, since Linux is known to support 20 IDE disks.
47268 Reported by Colin Watson.
47269
84be7599 472702007-12-15 Bean <bean123ch@gmail.com>
47271
47272 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
47273 (lnxboot_img_SOURCES): New variable.
47274 (lnxboot_img_ASFLAGS): Likewise.
47275 (lnxboot_img_LDFLAGS): Likewise.
47276
47277 * boot/i386/pc/lnxboot.S: New file.
47278
6af9db01 472792007-11-24 Pavel Roskin <proski@gnu.org>
47280
47281 * configure.ac: Test if '--build-id=none' is supported by the
47282 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
47283 objcopy to generate incorrect binary files (binutils
47284 2.17.50.0.18-1 as shipped by Fedora 8).
47285 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
47286 linking, so that build ID doesn't break the test.
47287
7361cfe6 472882007-11-24 Pavel Roskin <proski@gnu.org>
47289
47290 * include/grub/i386/time.h: use "void" in the argument list
47291 of grub_cpu_idle().
47292 * include/grub/powerpc/time.h: Likewise.
47293 * include/grub/sparc64/time.h: Likewise.
47294
1593e10c 472952007-11-18 Christian Franke <franke@computer.org>
47296
47297 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
47298 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
47299 This fixes the problem that function keys did not work in grub-emu.
47300
3b8db1a8 473012007-11-18 Christian Franke <franke@computer.org>
47302
47303 * disk/host.c (grub_host_open): Remove attribute unused from
47304 name parameter. Add check for "host". This fixes the problem
47305 that grub-emu does not find partitions.
47306
2e29408d 473072007-11-18 Christian Franke <franke@computer.org>
47308
47309 * util/hostfs.c (is_dir): New function.
47310 (grub_hostfs_dir): Handle missing dirent.d_type case.
47311 (grub_hostfs_read): Add missing fseek().
47312 (grub_hostfs_label): Clear label pointer. This fixes a crash
47313 of grub-emu on "ls (host)".
47314
398cd047 473152007-11-18 Christian Franke <franke@computer.org>
47316
47317 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
47318 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
47319 to 64 bit boundary by default.
47320
c405c391 473212007-11-18 Bean <bean123ch@gmail.com>
47322
47323 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
47324 (hexdump_mod_SOURCES): New variable.
47325 (hexdump_mod_CFLAGS): Likewise.
47326 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 47327
c405c391 47328 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47329
47330 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47331
47332 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47333
47334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47335
47336 * include/grub/hexdump.h: New file.
47337
47338 * commands/hexdump.c: New file.
47339
5cced7fd 473402007-11-10 Robert Millan <rmh@aybabtu.com>
47341
47342 * commands/i386/pc/play.c (beep_off): Switch order of arguments
47343 in grub_outb() calls.
47344 (beep_on): Likewise.
47345
8b714eb0 473462007-11-10 Christian Franke <franke@computer.org>
47347
47348 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
47349 (grub_menu_run): Likewise.
47350
ce0f1839 473512007-11-10 Robert Millan <rmh@aybabtu.com>
47352
47353 * include/grub/i386/efi/machine.h: New file.
47354 * include/grub/i386/linuxbios/machine.h: Likewise.
47355 * include/grub/i386/pc/machine.h: Likewise.
47356 * include/grub/powerpc/ieee1275/machine.h: Likewise.
47357 * include/grub/sparc64/ieee1275/machine.h: Likewise.
47358
47359 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
47360 (serial_hw_io_addr): New variable.
47361 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
47362 instead of `(unsigned short *) 0x400'.
47363
270c237d 473642007-11-10 Bean <bean123ch@gmail.com>
47365
47366 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
47367
a87783bf 473682007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47369
47370 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
47371 (vga_mod_SOURCES): Added.
47372 (vga_mod_CFLAGS): Likewise.
47373 (vga_mod_LDFLAGS): Likewise.
47374
47375 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
47376 grub_outb() calls.
47377 (set_map_mask): Likewise.
47378 (set_read_map): Likewise.
47379 (set_read_address): Likewise.
47380 (vga_font): Removed variable.
47381 (get_vga_glyph): Removed function.
47382 (invalidate_char): Likewise.
47383 (write_char): Changed to use grub_font_get_glyph() for font
47384 information.
47385 (grub_vga_putchar): Likewise.
47386 (grub_vga_getcharwidth): Likewise.
47387
6433b448 473882007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47389
47390 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
47391 flags.
47392 (pxeboot_img_LDFLAGS): Likewise.
47393 (diskboot_img_LDFLAGS): Likewise.
47394 (kernel_img_LDFLAGS): Likewise.
47395
49178511 473962007-11-06 Robert Millan <rmh@aybabtu.com>
47397
47398 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
47399 in grub_outb() calls.
47400 (serial_hw_init): Likewise.
47401
53b052de 474022007-11-05 Robert Millan <rmh@aybabtu.com>
47403
47404 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
47405 spaces. Skip non-regular files.
47406
5ab33bba 474072007-11-05 Robert Millan <rmh@aybabtu.com>
47408
47409 * kern/disk.c (grub_disk_firmware_fini)
47410 (grub_disk_firmware_is_tainted): New variables.
47411
47412 * include/grub/disk.h (grub_disk_firmware_fini)
47413 (grub_disk_firmware_is_tainted): Likewise.
47414
47415 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
47416 (grub_disk_biosdisk_fini): ... to here.
47417 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
47418 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
47419 is set. Register grub_disk_biosdisk_fini() in
47420 `grub_disk_firmware_fini'.
47421
47422 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
47423 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
47424 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
47425 to finish existing firmware disk interface.
47426
47427 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
47428 (ata_mod_SOURCES): New variable.
47429 (ata_mod_CFLAGS): Likewise.
47430 (ata_mod_LDFLAGS): Likewise.
47431
0149ab7c 474322007-11-05 Robert Millan <rmh@aybabtu.com>
47433
47434 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
47435 (grub_ata_wait): Reimplement using grub_millisleep().
47436
47437 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
47438 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
47439
be7ac41e 474402007-11-03 Marco Gerards <marco@gnu.org>
47441
47442 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
47443 (CRTC_ADDR_PORT): New macro.
47444 (CRTC_DATA_PORT): Likewise.
47445 (CRTC_CURSOR): Likewise.
47446 (CRTC_CURSOR_ADDR_HIGH): Likewise.
47447 (CRTC_CURSOR_ADDR_LOW): Likewise.
47448 (update_cursor): New function.
47449 (grub_console_real_putchar): Call `update_cursor'.
47450 (grub_console_gotoxy): Likewise.
47451 (grub_console_cls): Set the default color when clearing the
47452 screen.
47453 (grub_console_setcursor): Implemented.
47454
bb06ab2e 474552007-11-03 Marco Gerards <marco@gnu.org>
47456
47457 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
47458 become activate.
47459 (grub_ata_pio_write): Likewise.
47460
47461 (grub_atapi_identify): Wait after issuing an ATA command.
47462 (grub_atapi_packet): Likewise.
47463 (grub_ata_identify): Likewise.
47464 (grub_ata_readwrite): Likewise.
47465
cf8f780b 474662007-11-03 Marco Gerards <marco@gnu.org>
47467
47468 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
47469 (grub_ata_pio_write): Likewise.
47470 (grub_ata_readwrite): Use `grub_error', instead of
47471 returning `grub_errno'.
47472
ed649e54 474732007-11-03 Marco Gerards <marco@gnu.org>
47474
47475 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
47476 grub_ata_pio_write once for every single sector, instead of for
47477 multiple sectors.
47478
ca25d8f0 474792007-10-31 Robert Millan <rmh@aybabtu.com>
47480
47481 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
47482
47483 * conf/i386-linuxbios.rmk: New file.
47484
47485 * kern/i386/pc/hardware.c: Likewise.
47486 * term/i386/pc/at_keyboard.c: Likewise.
47487 * term/i386/pc/vga_text.c: Likewise.
47488
47489 * include/grub/i386/linuxbios/boot.h: Likewise.
47490 * include/grub/i386/linuxbios/console.h: Likewise.
47491 * include/grub/i386/linuxbios/init.h: Likewise.
47492 * include/grub/i386/linuxbios/kernel.h: Likewise.
47493 * include/grub/i386/linuxbios/loader.h: Likewise.
47494 * include/grub/i386/linuxbios/memory.h: Likewise.
47495 * include/grub/i386/linuxbios/serial.h: Likewise.
47496 * include/grub/i386/linuxbios/time.h: Likewise.
47497
47498 * kern/i386/linuxbios/init.c: Likewise.
47499 * kern/i386/linuxbios/startup.S: Likewise.
47500 * kern/i386/linuxbios/table.c: Likewise.
47501
e911ecc1 475022007-10-31 Marco Gerards <marco@gnu.org>
47503
47504 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
47505 (ata_mod_SOURCES): New variable.
47506 (ata_mod_CFLAGS): Likewise.
47507 (ata_mod_LDFLAGS): Likewise.
47508
47509 * disk/ata.c: New file.
47510
47511 * include/grub/disk.h (grub_disk_dev_id): Add
47512 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 47513
7f66d0e0 475142007-10-31 Robert Millan <rmh@aybabtu.com>
47515
47516 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
47517 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
47518
47519 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
47520 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
47521
47522 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
47523 `<grub/types.h>'.
47524
47525 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
47526
5cd7dd46 475272007-10-27 Robert Millan <rmh@aybabtu.com>
47528
3236ca65 47529 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 47530
2ebfc90f 475312007-10-22 Robert Millan <rmh@aybabtu.com>
47532
47533 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
47534 `"../realmode.S"'.
47535 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
47536
73fcb0f3 475372007-10-22 Robert Millan <rmh@aybabtu.com>
47538
47539 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
47540 (pkgdata_MODULES): Add `biosdisk.mod'.
47541 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
47542 variables.
47543
47544 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
47545 (grub_biosdisk_init): Replace with ...
47546 (GRUB_MOD_INIT(biosdisk)): ... this.
47547 (grub_biosdisk_fini): Replace with ...
47548 (GRUB_MOD_FINI(biosdisk)): ... this.
47549
47550 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
47551 (grub_machine_init): Remove call to grub_biosdisk_init().
47552 (grub_machine_fini): Remove call to grub_machine_fini().
47553
47554 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
47555
3381d274 475562007-10-22 Robert Millan <rmh@aybabtu.com>
47557
47558 * include/grub/time.h: New file.
47559 * include/grub/i386/time.h: Likewise.
47560 * include/grub/powerpc/time.h: Likewise.
47561 * include/grub/sparc64/time.h: Likewise.
47562
47563 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
47564 instances to ...
47565 (KERNEL_MACHINE_TIME_HEADER): ... this.
47566 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47567 instances to ...
47568 (KERNEL_MACHINE_TIME_HEADER): ... this.
47569 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47570 instances to ...
47571 (KERNEL_MACHINE_TIME_HEADER): ... this.
47572
47573 * kern/i386/efi/init.c: Include `<grub/time.h>'.
47574 (grub_millisleep): New function.
47575 * kern/i386/pc/init.c: Include `<grub/time.h>'.
47576 (grub_millisleep): New function.
47577 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
47578 Remove `grub/machine/time.h' include.
47579 (grub_millisleep): New function.
47580 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
47581 Remove `grub/machine/time.h' include.
47582 (grub_millisleep): New function.
47583
47584 * include/grub/misc.h (grub_div_roundup): New function.
47585
47586 * kern/misc.c: Include `<grub/time.h>'.
47587 (grub_millisleep_generic): New function.
47588
47589 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
47590 Add `time.h'.
47591 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
47592 Add `time.h'.
47593 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
47594 `machine/time.h'. Add `time.h'.
47595 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47596
a39a0312 475972007-10-21 Robert Millan <rmh@aybabtu.com>
47598
47599 * include/grub/misc.h (grub_max): New function.
47600
2aad70e2 476012007-10-21 Robert Millan <rmh@aybabtu.com>
47602
47603 * util/misc.c (grub_util_info): Call fflush() before returning.
47604
54b71c4b 476052007-10-20 Robert Millan <rmh@aybabtu.com>
47606
47607 * genmk.rb (Image): Copy `extra_flags' from here ...
47608 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
47609
47610 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
47611 to `argc' and `args' arguments.
47612
a979f513 476132007-10-17 Robert Millan <rmh@aybabtu.com>
47614
47615 * kern/i386/loader.S: New file.
47616
47617 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
47618 * kern/i386/loader.S (grub_linux_prot_size)... to here.
47619 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
47620 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
47621 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
47622 * kern/i386/loader.S (grub_linux_real_addr)... to here.
47623 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
47624 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
47625 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
47626 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
47627 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
47628 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
47629 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
47630 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
47631
47632 * kern/i386/realmode.S: New file.
47633
47634 * kern/i386/pc/startup.S (protstack): Moved from here ...
47635 * kern/i386/realmode.S (protstack)... to here.
47636 * kern/i386/pc/startup.S (gdt): Moved from here ...
47637 * kern/i386/realmode.S (gdt)... to here.
47638 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
47639 * kern/i386/realmode.S (prot_to_real)... to here.
47640
47641 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
47642 `kern/i386/realmode.S'.
47643
825fc8fd 476442007-10-17 Robert Millan <rmh@aybabtu.com>
47645
47646 * include/grub/i386/loader.h: New file.
47647
47648 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
47649 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47650 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47651 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47652 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
47653 * include/grub/i386/loader.h (grub_linux_prot_size)
47654 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47655 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47656 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47657 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
47658
47659 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
47660
e179b2f4 476612007-10-15 Robert Millan <rmh@aybabtu.com>
47662
47663 * normal/misc.c (grub_normal_print_device_info): Do not probe for
47664 filesystem when dev->disk is unset.
47665 Do probe for filesystem even when dev->disk->has_partitions is set.
47666 In case a filesystem is found, always report it.
47667 In case it isn't, if dev->disk->has_partitions is set, report that
47668 a partition table was found instead of reporting that no filesystem
47669 could be identified.
47670
5db82af6 476712007-10-12 Robert Millan <rmh@aybabtu.com>
47672
47673 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
47674 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
47675
68f6ac74 47676 * include/grub/types.h (grub_host_to_target16): New macro.
47677 (grub_host_to_target32): Likewise.
47678 (grub_host_to_target64): Likewise.
47679 (grub_target_to_host16): Likewise.
47680 (grub_target_to_host32): Likewise.
47681 (grub_target_to_host64): Likewise.
5db82af6 47682
47683 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47684 Renamed from to ...
47685 (GRUB_MOD_ALIGN): ...this. Update all users.
47686
68f6ac74 47687 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
47688 grub_host_to_target32.
47689 Replace grub_be_to_cpu32 with grub_target_to_host32.
47690 (load_modules): Likewise.
47691 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
47692 Replace grub_be_to_cpu32 with grub_target_to_host32.
47693 Replace grub_cpu_to_be16 with grub_host_to_target16.
47694 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 47695
3cf497cc 476962007-10-12 Robert Millan <rmh@aybabtu.com>
47697
47698 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
47699 * util/elf/grub-mkimage.c: ... here.
47700
47701 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
47702 `util/powerpc/ieee1275/grub-mkimage.c'.
47703
c8cc3692 477042007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 47705
c8cc3692 47706 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
47707 and make it easier to figure out.
47708 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
47709 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
47710 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
47711 leave us with less than HEAP_MIN_SIZE total heap.
47712 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 47713
5c58b791 477142007-10-03 Robert Millan <rmh@aybabtu.com>
47715
47716 * include/grub/i386/io.h: New file.
47717 * commands/i386/pc/play.c (inb): Removed.
47718 (outb): Removed.
47719 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47720 with grub_outb().
afcd2ef8 47721 * term/i386/pc/serial.c (inb): Removed.
47722 (outb): Removed.
47723 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47724 with grub_outb().
47725 * term/i386/pc/vga.c (inb): Removed.
47726 (outb): Removed.
47727 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47728 with grub_outb().
5c58b791 47729
1a477ed6 477302007-10-02 Robert Millan <rmh@aybabtu.com>
47731
47732 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
47733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47734 Reported by Marcin Kurek.
47735
6b5d80fa 477362007-09-07 Robert Millan <rmh@aybabtu.com>
47737
47738 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
47739 SmartFirmware version updates (as released by Sven Luther), and avoid
47740 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
47741 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
47742 known broken.
47743
5618afbf 477442007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47745
47746 From Hitoshi Ozeki:
47747 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
47748 when merging two regions.
47749
6139dcd9 477502007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47751
508e39ee 47752 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
47753 * normal/completion.c (grub_normal_do_completion): Likewise.
47754 Reported by Hitoshi Ozeki.
47755
477562007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 47757
6139dcd9 47758 Do not use devices at boot in chainloading.
f19dbdb7 47759
6139dcd9 47760 * loader/i386/pc/chainloader.c (boot_drive): New variable.
47761 (boot_part_addr): Likewise.
47762 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
47763 with BOOT_DRIVE and BOOT_PART_ADDR.
47764 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
47765 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
47766
38da6516 477672007-08-29 Robert Millan <rmh@aybabtu.com>
47768
47769 Patch from Simon Peter <dn.tlp@gmx.net>:
47770 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
47771 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
47772 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
47773 util/i386/pc/grub-setup.c_DEPENDENCIES.
47774 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
47775 util/grub-probe.c_DEPENDENCIES.
47776 * conf/powerpc-ieee1275.rmk: Likewise.
47777
29d0928c 477782007-08-28 Robert Millan <rmh@aybabtu.com>
47779
47780 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
47781 to tell grub-mkdevicemap how to name devices.
47782 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
47783 feature).
47784
47785 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
47786 util/i386/get_disk_name.c.
47787 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
47788 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
47789 util/ieee1275/get_disk_name.c.
47790
47791 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
47792
47793 * DISTLIST: Add util/i386/get_disk_name.c and
47794 util/ieee1275/get_disk_name.c.
47795
47796 * util/grub-mkdevicemap.c: Replace device naming logic with
47797 grub_util_get_disk_name() calls.
47798
5a0d3cca 477992007-08-20 Robert Millan <rmh@aybabtu.com>
47800
47801 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
47802 (so that it works for both plural and singular quantities).
47803
8b72db2f 478042007-08-05 Robert Millan <rmh@aybabtu.com>
47805
47806 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
47807 so that [xz] isn't taken into account when determining order.
47808
352466bf 478092007-08-02 Marco Gerards <marco@gnu.org>
47810
47811 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
47812 `include/multiboot2.h', `include/grub/elfload.h',
47813 `include/multiboot.h', `include/grub/multiboot.h',
47814 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
47815 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
47816 `kern/elf.c', `loader/multiboot_loader.c',
47817 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
47818 `loader/i386/pc/multiboot2.c',
47819 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
47820 `util/i386/pc/grub-mkrescue.in'. Remove
47821 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
47822 `include/grub/i386/pc/util/biosdisk.h' and
47823 `include/grub/powerpc/ieee1275/multiboot.h'.
47824
8f096014 478252007-08-02 Bean <bean123ch@gmail.com>
47826
47827 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
47828 (ntfs_mod_SOURCES): New variable.
47829 (ntfs_mod_CFLAGS): Likewise.
47830 (ntfs_mod_LDFLAGS): Likewise.
47831
47832 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
47833 (grub_probe_SOURCES): Likewise.
47834 (grub_emu_SOURCES): Likewise.
47835
47836 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47837 (grub_emu_SOURCES): Likewise.
47838
47839 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47840 (grub_emu_SOURCES): Likewise.
f19dbdb7 47841
8f096014 47842 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
47843
47844 * fs/ntfs.c: New file.
47845
9959f7db 478462007-08-02 Bean <bean123ch@gmail.com>
47847
47848 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
47849
47850 * file.h (grub_file): Likewise.
47851
47852 * fshelp.h (grub_fshelp_read_file): Likewise.
47853
47854 * util/i386/pc/grub-setup.c (setup): Likewise.
47855 (save_first_sector): Likewise.
47856 (save_blocklists): Likewise.
f19dbdb7 47857
9959f7db 47858 * fs/affs.c (grub_affs_read_file): Likewise.
47859
47860 * fs/ext2.c (grub_ext2_read_file): Likewise.
47861
47862 * fs/fat.c (grub_fat_read_data): Likewise.
47863
47864 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
47865
47866 * fs/hfs.c (grub_hfs_read_file): Likewise.
47867
47868 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47869
47870 * fs/jfs.c (grub_jfs_read_file): Likewise.
47871
47872 * fs/minix.c (grub_minix_read_file): Likewise.
47873
47874 * fs/sfs.c (grub_sfs_read_file): Likewise.
47875
47876 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 47877
9959f7db 47878 * fs/xfs.c (grub_xfs_read_file): Likewise.
47879
47880 * command/blocklist.c (read_blocklist): Likewise.
47881 (print_blocklist): Likewise.
47882
0a203f83 478832007-08-02 Marco Gerards <marco@gnu.org>
47884
47885 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
47886 `util/hostfs.c'.
47887
47888 * disk/host.c: New file.
47889
47890 * util/hostfs.c: Likewise.
47891
47892 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
47893 return `GRUB_ERR_BAD_FS'.
47894 * fs/sfs.c (grub_sfs_mount): Likewise.
47895 * fs/xfs.c (grub_xfs_mount): Likewise.
47896
47897 * include/grub/disk.h (enum grub_disk_dev_id): Add
47898 `GRUB_DISK_DEVICE_HOST_ID'.
47899
47900 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
47901
e5dfe777 479022007-07-24 Jerone Young <jerone@gmail.com>
47903
f19dbdb7 47904 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 47905 modules for compilation.
47906 * conf/powerpc-ieee1275.rmk: Likewise.
47907
47908 * include/multiboot.h: Move multiboot definitions to one file. Rename
47909 many definitions to not get grub specific.
47910 * include/multiboot2.h: Create header with multiboot 2 definitions.
47911 * include/grub/multiboot.h: Header for grub specific function
47912 prototypes and definitions.
47913 * include/grub/multiboot2.h: Likewise.
47914 * include/grub/multiboot_loader.h: Likewise.
47915 * include/grub/i386/pc/multiboot.h: Removed.
47916 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
47917
47918 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
47919 and 2 to allow for one multiboot and module commands.
47920 * loader/multiboot2.c: Add multiboot2 functionality.
47921 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
47922 and definition names.
47923 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
47924 2 functions.
47925 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
47926 ieee1275 specific multiboot2 code.
47927
47928 * kern/i386/pc/startup.S: Change headers and definition names for
47929 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
47930
daf0f0ba 479312007-07-22 Robert Millan <rmh@aybabtu.com>
47932
47933 * geninitheader.sh: Process file specified in first parameter rather
47934 than hardcoding grub_modules_init.lst.
fe6b695a 47935 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 47936 than hardcoding grub_modules_init.h.
47937
47938 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
47939 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
47940 grub_probe_init.[ch] and grub_setup_init.[ch].
47941
47942 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
47943 grub_modules_init.h with grub_emu_init.h.
47944 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
47945 grub_probe_init.[ch] files.
47946 * conf/i386-efi.rmk: Likewise.
47947 * conf/i386-pc.rmk: Likewise.
47948 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
47949 grub_setup_init.[ch] files.
47950
47951 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
47952 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
47953 to initialize modules rather than a list of hardcoded functions.
47954 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
47955 grub_init_all() to initialize modules rather than a list of hardcoded
47956 functions.
47957
54cdc1cc 479582007-07-22 Robert Millan <rmh@aybabtu.com>
47959
47960 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
47961 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
47962
ad0686cc 479632007-07-22 Robert Millan <rmh@aybabtu.com>
47964
47965 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
47966 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
47967 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
47968 flag when running on SmartFirmware.
47969 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
47970 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
47971 was set.
47972
47973 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47974 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
47975 rather than decreasing it.
47976
47977 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
47978 there's not enough space to do it, fail in the same way as when it
47979 can't be done because there are no partitions.
47980
47981 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
47982 when nvsetenv failed.
47983
969c02ec 479842007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47985
47986 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
47987 because this rule is automatically generated.
47988 (grub-mkrescue): Removed for the same reason as above.
47989
5a79f472 479902007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47991
47992 Migrate to GNU General Public License Version 3.
f19dbdb7 47993
5a79f472 47994 * COPYING: Replaced with the plain text version of GPLv3.
47995
47996 * config.guess: Updated from gnulib.
47997 * config.sub: Likewise.
47998
47999 * geninit.sh: Output a GPLv3 copyright notice.
48000 * geninitheader.sh: Likewise.
48001 * genmodsrc.sh: Likewise.
48002 * gensymlist.sh.in: Likewise.
48003
48004 * boot/i386/pc/boot.S: Upgraded to GPLv3.
48005 * boot/i386/pc/diskboot.S: Likewise.
48006 * boot/i386/pc/pxeboot.S: Likewise.
48007 * commands/blocklist.c: Likewise.
48008 * commands/boot.c: Likewise.
48009 * commands/cat.c: Likewise.
48010 * commands/cmp.c: Likewise.
48011 * commands/configfile.c: Likewise.
48012 * commands/echo.c: Likewise.
48013 * commands/help.c: Likewise.
48014 * commands/ls.c: Likewise.
48015 * commands/search.c: Likewise.
48016 * commands/terminal.c: Likewise.
48017 * commands/test.c: Likewise.
48018 * commands/videotest.c: Likewise.
48019 * commands/i386/cpuid.c: Likewise.
48020 * commands/i386/pc/halt.c: Likewise.
48021 * commands/i386/pc/play.c: Likewise.
48022 * commands/i386/pc/reboot.c: Likewise.
48023 * commands/i386/pc/vbeinfo.c: Likewise.
48024 * commands/i386/pc/vbetest.c: Likewise.
48025 * commands/ieee1275/halt.c: Likewise.
48026 * commands/ieee1275/reboot.c: Likewise.
48027 * commands/ieee1275/suspend.c: Likewise.
48028 * disk/loopback.c: Likewise.
48029 * disk/lvm.c: Likewise.
48030 * disk/raid.c: Likewise.
48031 * disk/efi/efidisk.c: Likewise.
48032 * disk/i386/pc/biosdisk.c: Likewise.
48033 * disk/ieee1275/ofdisk.c: Likewise.
48034 * font/manager.c: Likewise.
48035 * fs/affs.c: Likewise.
48036 * fs/ext2.c: Likewise.
48037 * fs/fat.c: Likewise.
48038 * fs/fshelp.c: Likewise.
48039 * fs/hfs.c: Likewise.
48040 * fs/hfsplus.c: Likewise.
48041 * fs/iso9660.c: Likewise.
48042 * fs/jfs.c: Likewise.
48043 * fs/minix.c: Likewise.
48044 * fs/sfs.c: Likewise.
48045 * fs/ufs.c: Likewise.
48046 * fs/xfs.c: Likewise.
48047 * hello/hello.c: Likewise.
48048 * include/grub/acorn_filecore.h: Likewise.
48049 * include/grub/arg.h: Likewise.
48050 * include/grub/bitmap.h: Likewise.
48051 * include/grub/boot.h: Likewise.
48052 * include/grub/cache.h: Likewise.
48053 * include/grub/device.h: Likewise.
48054 * include/grub/disk.h: Likewise.
48055 * include/grub/dl.h: Likewise.
48056 * include/grub/elfload.h: Likewise.
48057 * include/grub/env.h: Likewise.
48058 * include/grub/err.h: Likewise.
48059 * include/grub/file.h: Likewise.
48060 * include/grub/font.h: Likewise.
48061 * include/grub/fs.h: Likewise.
48062 * include/grub/fshelp.h: Likewise.
48063 * include/grub/gzio.h: Likewise.
48064 * include/grub/hfs.h: Likewise.
48065 * include/grub/kernel.h: Likewise.
48066 * include/grub/loader.h: Likewise.
48067 * include/grub/lvm.h: Likewise.
48068 * include/grub/misc.h: Likewise.
48069 * include/grub/mm.h: Likewise.
48070 * include/grub/net.h: Likewise.
48071 * include/grub/normal.h: Likewise.
48072 * include/grub/parser.h: Likewise.
48073 * include/grub/partition.h: Likewise.
48074 * include/grub/pc_partition.h: Likewise.
48075 * include/grub/raid.h: Likewise.
48076 * include/grub/rescue.h: Likewise.
48077 * include/grub/script.h: Likewise.
48078 * include/grub/setjmp.h: Likewise.
48079 * include/grub/symbol.h: Likewise.
48080 * include/grub/term.h: Likewise.
48081 * include/grub/terminfo.h: Likewise.
48082 * include/grub/tparm.h: Likewise.
48083 * include/grub/types.h: Likewise.
48084 * include/grub/video.h: Likewise.
48085 * include/grub/efi/api.h: Likewise.
48086 * include/grub/efi/chainloader.h: Likewise.
48087 * include/grub/efi/console.h: Likewise.
48088 * include/grub/efi/console_control.h: Likewise.
48089 * include/grub/efi/disk.h: Likewise.
48090 * include/grub/efi/efi.h: Likewise.
48091 * include/grub/efi/pe32.h: Likewise.
48092 * include/grub/efi/time.h: Likewise.
48093 * include/grub/i386/linux.h: Likewise.
48094 * include/grub/i386/setjmp.h: Likewise.
48095 * include/grub/i386/types.h: Likewise.
48096 * include/grub/i386/efi/kernel.h: Likewise.
48097 * include/grub/i386/efi/loader.h: Likewise.
48098 * include/grub/i386/efi/time.h: Likewise.
48099 * include/grub/i386/pc/biosdisk.h: Likewise.
48100 * include/grub/i386/pc/boot.h: Likewise.
48101 * include/grub/i386/pc/chainloader.h: Likewise.
48102 * include/grub/i386/pc/console.h: Likewise.
48103 * include/grub/i386/pc/init.h: Likewise.
48104 * include/grub/i386/pc/kernel.h: Likewise.
48105 * include/grub/i386/pc/loader.h: Likewise.
48106 * include/grub/i386/pc/memory.h: Likewise.
48107 * include/grub/i386/pc/multiboot.h: Likewise.
48108 * include/grub/i386/pc/serial.h: Likewise.
48109 * include/grub/i386/pc/time.h: Likewise.
48110 * include/grub/i386/pc/vbe.h: Likewise.
48111 * include/grub/i386/pc/vbeblit.h: Likewise.
48112 * include/grub/i386/pc/vbefill.h: Likewise.
48113 * include/grub/i386/pc/vbeutil.h: Likewise.
48114 * include/grub/i386/pc/vga.h: Likewise.
48115 * include/grub/ieee1275/ieee1275.h: Likewise.
48116 * include/grub/ieee1275/ofdisk.h: Likewise.
48117 * include/grub/powerpc/libgcc.h: Likewise.
48118 * include/grub/powerpc/setjmp.h: Likewise.
48119 * include/grub/powerpc/types.h: Likewise.
48120 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
48121 * include/grub/powerpc/ieee1275/console.h: Likewise.
48122 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
48123 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
48124 * include/grub/powerpc/ieee1275/loader.h: Likewise.
48125 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
48126 * include/grub/powerpc/ieee1275/time.h: Likewise.
48127 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
48128 * include/grub/sparc64/libgcc.h: Likewise.
48129 * include/grub/sparc64/setjmp.h: Likewise.
48130 * include/grub/sparc64/types.h: Likewise.
48131 * include/grub/sparc64/ieee1275/console.h: Likewise.
48132 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
48133 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
48134 * include/grub/sparc64/ieee1275/time.h: Likewise.
48135 * include/grub/util/biosdisk.h: Likewise.
48136 * include/grub/util/getroot.h: Likewise.
48137 * include/grub/util/lvm.h: Likewise.
48138 * include/grub/util/misc.h: Likewise.
48139 * include/grub/util/raid.h: Likewise.
48140 * include/grub/util/resolve.h: Likewise.
48141 * io/gzio.c: Likewise.
48142 * kern/device.c: Likewise.
48143 * kern/disk.c: Likewise.
48144 * kern/dl.c: Likewise.
48145 * kern/elf.c: Likewise.
48146 * kern/env.c: Likewise.
48147 * kern/err.c: Likewise.
48148 * kern/file.c: Likewise.
48149 * kern/fs.c: Likewise.
48150 * kern/loader.c: Likewise.
48151 * kern/main.c: Likewise.
48152 * kern/misc.c: Likewise.
48153 * kern/mm.c: Likewise.
48154 * kern/parser.c: Likewise.
48155 * kern/partition.c: Likewise.
48156 * kern/rescue.c: Likewise.
48157 * kern/term.c: Likewise.
48158 * kern/efi/efi.c: Likewise.
48159 * kern/efi/init.c: Likewise.
48160 * kern/efi/mm.c: Likewise.
48161 * kern/i386/dl.c: Likewise.
48162 * kern/i386/efi/init.c: Likewise.
48163 * kern/i386/efi/startup.S: Likewise.
48164 * kern/i386/pc/init.c: Likewise.
48165 * kern/i386/pc/lzo1x.S: Likewise.
48166 * kern/i386/pc/startup.S: Likewise.
48167 * kern/ieee1275/ieee1275.c: Likewise.
48168 * kern/powerpc/cache.S: Likewise.
48169 * kern/powerpc/dl.c: Likewise.
48170 * kern/powerpc/ieee1275/cmain.c: Likewise.
48171 * kern/powerpc/ieee1275/crt0.S: Likewise.
48172 * kern/powerpc/ieee1275/init.c: Likewise.
48173 * kern/powerpc/ieee1275/openfw.c: Likewise.
48174 * kern/sparc64/cache.S: Likewise.
48175 * kern/sparc64/dl.c: Likewise.
48176 * kern/sparc64/ieee1275/init.c: Likewise.
48177 * kern/sparc64/ieee1275/openfw.c: Likewise.
48178 * loader/efi/chainloader.c: Likewise.
48179 * loader/efi/chainloader_normal.c: Likewise.
48180 * loader/i386/efi/linux.c: Likewise.
48181 * loader/i386/efi/linux_normal.c: Likewise.
48182 * loader/i386/pc/chainloader.c: Likewise.
48183 * loader/i386/pc/chainloader_normal.c: Likewise.
48184 * loader/i386/pc/linux.c: Likewise.
48185 * loader/i386/pc/linux_normal.c: Likewise.
48186 * loader/i386/pc/multiboot.c: Likewise.
48187 * loader/i386/pc/multiboot_normal.c: Likewise.
48188 * loader/powerpc/ieee1275/linux.c: Likewise.
48189 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
48190 * normal/arg.c: Likewise.
48191 * normal/cmdline.c: Likewise.
48192 * normal/command.c: Likewise.
48193 * normal/completion.c: Likewise.
48194 * normal/execute.c: Likewise.
48195 * normal/function.c: Likewise.
48196 * normal/lexer.c: Likewise.
48197 * normal/main.c: Likewise.
48198 * normal/menu.c: Likewise.
48199 * normal/menu_entry.c: Likewise.
48200 * normal/misc.c: Likewise.
48201 * normal/parser.y: Likewise.
48202 * normal/script.c: Likewise.
48203 * normal/i386/setjmp.S: Likewise.
48204 * normal/powerpc/setjmp.S: Likewise.
48205 * normal/sparc64/setjmp.S: Likewise.
48206 * partmap/acorn.c: Likewise.
48207 * partmap/amiga.c: Likewise.
48208 * partmap/apple.c: Likewise.
48209 * partmap/gpt.c: Likewise.
48210 * partmap/pc.c: Likewise.
48211 * partmap/sun.c: Likewise.
48212 * term/gfxterm.c: Likewise.
48213 * term/terminfo.c: Likewise.
48214 * term/efi/console.c: Likewise.
48215 * term/i386/pc/console.c: Likewise.
48216 * term/i386/pc/serial.c: Likewise.
48217 * term/i386/pc/vesafb.c: Likewise.
48218 * term/i386/pc/vga.c: Likewise.
48219 * term/ieee1275/ofconsole.c: Likewise.
48220 * util/biosdisk.c: Likewise.
48221 * util/console.c: Likewise.
48222 * util/genmoddep.c: Likewise.
48223 * util/getroot.c: Likewise.
48224 * util/grub-emu.c: Likewise.
48225 * util/grub-mkdevicemap.c: Likewise.
48226 * util/grub-probe.c: Likewise.
48227 * util/lvm.c: Likewise.
48228 * util/misc.c: Likewise.
48229 * util/raid.c: Likewise.
48230 * util/resolve.c: Likewise.
48231 * util/update-grub.in: Likewise.
48232 * util/update-grub_lib.in: Likewise.
48233 * util/grub.d/00_header.in: Likewise.
48234 * util/grub.d/10_hurd.in: Likewise.
48235 * util/grub.d/10_linux.in: Likewise.
48236 * util/i386/efi/grub-install.in: Likewise.
48237 * util/i386/efi/grub-mkimage.c: Likewise.
48238 * util/i386/pc/grub-install.in: Likewise.
48239 * util/i386/pc/grub-mkimage.c: Likewise.
48240 * util/i386/pc/grub-mkrescue.in: Likewise.
48241 * util/i386/pc/grub-setup.c: Likewise.
48242 * util/i386/pc/misc.c: Likewise.
48243 * util/powerpc/ieee1275/grub-install.in: Likewise.
48244 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
48245 * util/powerpc/ieee1275/misc.c: Likewise.
48246 * video/bitmap.c: Likewise.
48247 * video/video.c: Likewise.
48248 * video/i386/pc/vbe.c: Likewise.
48249 * video/i386/pc/vbeblit.c: Likewise.
48250 * video/i386/pc/vbefill.c: Likewise.
48251 * video/i386/pc/vbeutil.c: Likewise.
48252 * video/readers/tga.c: Likewise.
48253
3572d015 482542007-07-02 Robert Millan <rmh@aybabtu.com>
48255
48256 * conf/i386-efi.rmk: Replace obsolete reference to
48257 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
48258 with util/getroot.c.
48259 * conf/powerpc-ieee1275.rmk: Likewise.
48260 * conf/sparc64-ieee1275.rmk: Likewise.
48261
48262 * util/grub-emu.c (main): Fix unchecked pointer handling.
48263
2c2a681b 482642007-07-02 Robert Millan <rmh@aybabtu.com>
48265
48266 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
48267 invocation to fail, in order to support partition-less media.
48268
48269 * util/i386/pc/grub-install.in: Likewise.
48270
48271 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
48272 which fs or partmap modules are needed (akin to its sister scripts).
48273
48274 Also use grub-probe to get rid of unportable /proc/mounts check.
48275
48276 Print the same informational message that the other scripts do, before
fe6b695a 48277 exiting.
2c2a681b 48278
6193defe 482792007-06-23 Robert Millan <rmh@aybabtu.com>
48280
fe6b695a 48281 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 48282 a font file can be found and, if so, echo the GRUB path to it.
48283
48284 * util/update-grub.in: Handle multiple terminals depending on user
48285 input, platform availability and font file presence. Propagate
48286 variables of our findings to /etc/grub.d/ children.
48287
48288 * util/grub.d/00_header.in: Handle multiple terminals, based on
48289 environment setup by update-grub.
48290
eface1dc 482912007-06-23 Robert Millan <rmh@aybabtu.com>
48292
ba50d28f 48293 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 48294
bf697e28 482952007-06-21 Robert Millan <rmh@aybabtu.com>
48296
48297 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
48298 indicate end of data section in kernel image.
48299 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
48300 GRUB_KERNEL_MACHINE_DATA_END.
48301
48302 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
48303 space for it.
48304 * kern/i386/efi/startup.S: Likewise.
48305
48306 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
48307 during image generation. Implement --prefix option to override this
48308 patch.
48309 * util/i386/efi/grub-mkimage.c: Likewise.
48310
48311 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
48312 code to make path relative to its root into a separate function.
48313
48314 * util/i386/pc/grub-install.in: Use newly provided
48315 make_system_path_relative_to_its_root() to convert ${grubdir}, then
48316 pass the result to grub-install --prefix.
48317
baa574b4 483182007-06-13 Robert Millan <rmh@aybabtu.com>
48319
48320 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
48321 DEFAULT_DEVICE_MAP.
48322 * util/grub-emu.c: Use above definitions from misc.h instead of
48323 defining them.
48324 * util/grub-mkdevicemap.c: Likewise.
48325 * util/i386/pc/grub-setup.c: Likewise.
48326 * util/grub-probe.c: Likewise.
48327 (probe): Abort with grub_util_error() when either
48328 grub_guess_root_device or grub_util_get_grub_dev fails.
48329
0215dcbf 483302007-06-12 Robert Millan <rmh@aybabtu.com>
48331
48332 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
48333 "pager" assignment.
48334 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
48335 "pcdata".
48336 * util/grub-probe.c (probe): Likewise for "drive_name".
48337
8af2ab7b 483382007-06-11 Robert Millan <rmh@aybabtu.com>
48339
48340 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
48341 not just the cdrom one.
48342
59d31694 483432007-06-11 Robert Millan <rmh@aybabtu.com>
48344
48345 * util/i386/pc/grub-mkrescue.in: Add "set -e".
48346 Add --pkglibdir=DIR option to override pkglibdir.
48347 Mention --image-type=TYPE in help output.
48348 Fix --grub-mkimage (it was a no-op).
fe6b695a 48349 Abort gracefully when no parameter is given.
59d31694 48350
7ee367e4 483512007-06-11 Robert Millan <rmh@aybabtu.com>
48352
48353 * util/i386/pc/grub-mkrescue.in: New file.
48354 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
48355 * Makefile.in: Handle bin_SCRIPTS.
48356
29b0ed46 483572007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
48358
48359 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
48360 list of video modes.
48361
c0f90770 483622007-06-06 Robert Millan <rmh@aybabtu.com>
48363
48364 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
48365 file doesn't exist, or if it is in a filesystem grub can't read.
48366
48367 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
48368 not abort if GRUB_DRIVE could not be defined. Rearrange generated
48369 header comment to fit in 80 columns when the variables are resolved.
48370
48371 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
48372 could be identified by update-grub. Remove redundant check for
fe6b695a 48373 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 48374 handles that).
48375
fb36dc26 483762007-06-04 Robert Millan <rmh@aybabtu.com>
48377
48378 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
48379
48380 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
48381
48382 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
48383
0c68c93e 483842007-06-04 Robert Millan <rmh@aybabtu.com>
48385
48386 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
48387
48388 * include/grub/partition.h: Declare grub_apple_partition_map_init and
48389 grub_apple_partition_map_fini.
48390
48391 * util/biosdisk.c
48392 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
48393 to access >2 TiB disks).
48394
48395 Print disk->total_sectors with %llu instead of %lu, since this
48396 variable is always 64-bit (prevents wrong disk size from being displayed
48397 on either >2 TiB disk or big-endian CPU).
48398
48399 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
48400 into a generic case that supports all (sane) partition maps.
48401
48402 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
48403 breaks big-endian.
48404
48405 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
48406 and grub_apple_partition_map_fini() after that.
48407
0f23eb74 484082007-06-01 Robert Millan <rmh@aybabtu.com>
48409
48410 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
48411
48412 * util/grub.d/00_header.in: Only enable gfxterm when
48413 convert_system_path_to_grub_path() succeeds.
48414
42c71976 484152007-05-20 Robert Millan <rmh@aybabtu.com>
48416
48417 * util/update-grub_lib.in: New file.
48418 * DISTLIST: Add update-grub_lib.in.
48419 * conf/common.rmk: Generate update-grub_lib and install it in
48420 $(lib_DATA).
48421 * Makefile.in: Add install routine for $(lib_DATA).
48422
48423 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
48424 function provided by update-grub_lib to support arbitrary paths of
48425 unifont.pff.
48426 * util/update-grub.in: Use convert_system_path_to_grub_path() to
48427 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
48428
5beb2291 484292007-05-19 Robert Millan <rmh@aybabtu.com>
48430
48431 * commands/i386/cpuid.c: New module.
48432 * DISTLIST: Add it.
48433 * conf/i386-efi.rmk: Enable cpuid.mod.
48434 * conf/i386-pc.rmk: Likewise.
48435
7262eca1 484362007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48437
48438 * kern/disk.c (grub_disk_read): Check return value of
48439 grub_realloc().
48440
260ba823 484412007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48442
48443 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
48444 arrays.
48445 * disk/raid.c (grub_raid_open): Likewise.
48446
1ecb6cf2 484472007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48448
48449 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
48450 stack instead of on the heap.
48451
48452 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
48453 before doing a read on it.
48454
48455 * configure.ac: Only use -fno-stack-protector for the target
48456 environment.
f19dbdb7 48457
21c8cbb1 484582007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48459
48460 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
48461 __attribute_ ((unused)) to mode_type argument.
48462
48463 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 48464
21c8cbb1 48465 * kern/misc.c (memcmp): Fix prototype.
48466
48467 * include/grub/partition.h [GRUB_UTIL]
48468 (grub_gpt_partition_map_init): Add prototype.
48469 (grub_gpt_partition_map_fini): Likewise.
48470
48471 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
48472 at the right place.
48473
48474 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
48475 (grub_fat_read_data): Likewise.
48476 (grub_fat_find_dir): Likewise.
48477
48478 * font/manager.c (find_glyph): Make table a const.
48479 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 48480
849d55d3 484812007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
48482
48483 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
48484 code, first search for device in /dev/mapper, then in /dev.
48485 (grub_util_get_grub_dev): New function.
48486 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
48487 prototype.
48488 * util/grub-probe.c (probe): Remove check for RAID, call
48489 grub_util_get_grub_dev() instead of
48490 grub_util_biosdisk_get_grub_dev().
48491 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
48492 grub_util_biosdisk_get_grub_dev().
48493 * util/i386/pc/grub-setup.c (main): Likewise.
48494
8fff7c2f 484952007-05-16 Robert Millan <rmh@aybabtu.com>
48496
48497 * DISTLIST: Update for the latest changes.
48498 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
48499 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
48500 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
48501 grub/util/biosdisk.h.
48502 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
48503 grub/util/biosdisk.h.
48504
48e12b52 485052007-05-16 Robert Millan <rmh@aybabtu.com>
48506
48507 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
48508
46b9d128 485092007-05-16 Robert Millan <rmh@aybabtu.com>
48510
48511 * util/i386/efi/grub-install.in: New.
48512 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
48513 newly added grub-install.
48514 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
48515 include.
48516 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
48517 grub/util/biosdisk.h.
48518 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
48519 grub/util/biosdisk.h.
48520
2d1a40a9 485212007-05-16 Robert Millan <rmh@aybabtu.com>
48522
48523 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
48524 * include/grub/util/biosdisk.h: ... here.
48525 * util/i386/pc/biosdisk.c: Moved to ...
48526 * util/biosdisk.c: ... here.
48527 * util/i386/pc/getroot.c: Moved to ...
48528 * util/getroot.c: ... here.
48529 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
48530 * util/grub-mkdevicemap.c: ... here.
48531 * util/i386/pc/grub-probe.c: Moved to ...
48532 * util/grub-probe.c: ... here.
48533
9e26e3bc 485342007-05-15 Robert Millan <rmh@aybabtu.com>
48535
48536 * util/update-grub.in: Remove duplicated line in grub.cfg header
48537 message.
48538
57f96397 485392007-05-13 Robert Millan <rmh@aybabtu.com>
48540
48541 * util/update-grub.in: Fix a few assumptions about the devices holding
48542 /, /boot and /boot/grub being the same.
48543 * util/grub.d/00_header.in: Likewise.
48544 * util/grub.d/10_hurd.in: Likewise.
48545 * util/grub.d/10_linux.in: Likewise.
48546
48547 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
48548 patterns. Use that to define the `.old' suffix as older than `'.
48549
48550 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
48551
48552 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
48553 the grub.cfg header message.
48554
2e610d62 485552007-05-11 Robert Millan <rmh@aybabtu.com>
48556
48557 * util/update-grub.in: Create device.map if it doesn't already exist,
48558 before attempting to run grub-probe.
48559 Check for grub-probe and grub-mkdevicemap with the same code
48560 grub-install is using.
48561 Remove test mode.
48562
3f6a10ef 485632007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
48564
48565 * Makefile.in: Add the datarootdir autoconf variable.
48566
02e7b75e 485672007-05-09 Robert Millan <rmh@aybabtu.com>
48568
48569 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 48570 fail gracefully if dev->disk->partition == NULL.
02e7b75e 48571
75f396cc 485722007-05-07 Robert Millan <rmh@aybabtu.com>
48573
48574 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
48575 determine partition map module.
48576 * util/i386/pc/grub-install.in: Use this feature to decide which
48577 partition module to load, instead of hardcoding pc and gpt.
48578
da65cb36 485792007-05-07 Robert Millan <rmh@aybabtu.com>
48580
48581 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
48582 source directory differs from build directory.
48583
b57d6a91 485842007-05-05 Robert Millan <rmh@aybabtu.com>
48585
48586 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
48587 initialisation.
48588
509d00f1 485892007-05-05 Robert Millan <rmh@aybabtu.com>
48590
48591 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
48592
c48f23ef 485932007-05-05 Robert Millan <rmh@aybabtu.com>
48594
48595 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
48596 command-line arguments via ${GRUB_CMDLINE_LINUX}.
48597
20b97658 485982007-05-05 Robert Millan <rmh@aybabtu.com>
48599
48600 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
48601 (grub_probe_SOURCES): Likewise.
48602 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
48603 GPT and initialize dos_part and bsd_part accordingly.
48604 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
48605 install_bsd_part.
48606 (main): Activate gpt module for use during partition identification,
48607 and deactivate it afterwards.
48608 * util/i386/pc/grub-install.in: Add gpt module to core.img.
48609 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
48610 partition identification, and deactivate it afterwards.
48611
99123174 486122007-05-05 Robert Millan <rmh@aybabtu.com>
48613
48614 * term/i386/pc/console.c (grub_console_fini): Call
48615 grub_term_set_current() before grub_term_unregister().
48616
ebd97f6e 486172007-05-04 Robert Millan <rmh@aybabtu.com>
48618
48619 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
48620 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
48621 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
48622 and update-grub_DATA.
48623 * conf/common.rmk: Build and install update-grub components.
48624 * conf/common.mk: Regenerate.
48625 * util/update-grub.in: New. Core of update-grub.
48626 * util/grub.d/00_header.in: New. Generates grub.cfg header.
48627 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
48628 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
48629 * util/grub.d/README: New. Document grub.d directory layout.
48630
b06a264d 486312007-05-01 Robert Millan <rmh@aybabtu.com>
48632
48633 * util/grub-emu.c: Move initialization functions
48634 grub_util_biosdisk_init() and grub_init_all() before
48635 grub_util_biosdisk_get_grub_dev(), which relies on them.
48636
41f0050e 486372007-04-19 Robert Millan <rmh@aybabtu.com>
48638
48639 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
48640 it is used later.
48641
04582bb3 486422007-04-18 Jerone Young <jerone@gmail.com>
48643
f19dbdb7 48644 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 48645 stanza.
48646
08db4632 486472007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 48648
08db4632 48649 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
48650 continue on and look for device node with real device name.
48651
801b76be 486522007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 48653
fe6b695a 48654 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 48655 ability.
48656 * Makefile.in: Add autoconf package transformation code.
48657 * util/i386/pc/grub-install.in: Likewise.
48658 * util/powerpc/ieee1275/grub-install.in: Likewise.
48659
6795c4e1 486602007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48661
48662 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
48663 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
48664 (EXT2_REVISION): Likewise.
48665 (EXT2_INODE_SIZE): Likewise.
48666 (struct grub_ext2_block_group): Added a missing member
48667 "used_dirs".
48668 (grub_ext2_read_inode): Divide by the inode size in a superblock
48669 instead of 128 to obtain INODES_PER_BLOCK.
48670 Use the macro EXT2_INODE_SIZE instead of directly using
48671 SBLOCK->INODE_SIZE.
48672
d70af616 486732007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48674
48675 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
48676 superblock instead of the structure size to compute an
48677 offset. This fixes the problem that GRUB could not read a
48678 filesystem when inode size is different from 128-byte.
48679
3b801603 486802007-03-05 Marco Gerards <marco@gnu.org>
48681
48682 * normal/main.c (read_config_file): When "menu" is not set, create
48683 an initial context.
48684
4785bfe4 486852007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48686
48687 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
48688 (HEAP_LIMIT): New macro.
48689 (grub_claim_heap): Claim memory up to `heaplimit'.
48690
a0cbb023 486912007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48692
48693 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
48694 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
48695 (_start): Likewise.
48696 (grub_arch_modules_addr): Return address after `_end'.
48697 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
48698 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
48699 (add_segments): Calculate `_end' from phdr size and location.
48700 (ALIGN_UP): Moved to ...
48701 * include/grub/misc.h: here.
48702 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
48703 New macro.
48704 (GRUB_IEEE1275_MODULE_BASE): Removed.
48705
fd7d8eba 487062007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48707
48708 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
48709 loop boundary.
48710
9b09e6fc 487112007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48712
48713 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
48714 All users updated.
48715 (grub_elf64_load_hook_t): Likewise.
48716 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
48717 debug output.
48718
3ce27299 487192007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48720
48721 * kern/mm.c: Update copyright.
48722 (grub_mm_debug): Correct syntax error.
48723 (grub_mm_dump_free): New function.
48724 (grub_debug_free): Call `grub_free'.
48725 * include/grub/mm.h: Update copyright.
48726 (grub_mm_dump_free): Add declaration.
48727
077d5fee 487282007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48729
48730 * include/grub/ieee1275/ieee1275.h: Update copyright.
48731 * kern/powerpc/ieee1275/init.c: Likewise.
48732 * kern/powerpc/ieee1275/openfw.c: Likewise.
48733
48734 * loader/powerpc/ieee1275/linux.c: Likewise.
48735 * include/grub/elfload.h: Likewise.
48736 * kern/elf.c: Likewise.
48737 (grub_elf32_load): Pass `base' and `size' parameters. Update all
48738 callers.
48739 (grub_elf64_load): Likewise.
48740 (grub_elf32_load_segment): Move to a nested function.
48741 (grub_elf64_load_segment): Likewise.
48742
dc946850 487432007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48744
48745 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
48746 prototype.
48747 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
48748 (grub_heap_len): Likewise.
48749 (HEAP_SIZE): New macro.
48750 (grub_claim_heap): New function.
48751 (grub_machine_init): Don't claim heap directly. Call
48752 `grub_claim_heap'.
48753 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
48754 (grub_available_iterate): New function.
48755
baa2a121 487562007-02-03 Thomas Schwinge <tschwinge@gnu.org>
48757
48758 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
48759 * configure.ac: Use it for testing the HOST and TARGET compilers.
48760
4fe9862e 487612006-12-13 Thomas Schwinge <tschwinge@gnu.org>
48762
48763 * Makefile.in (enable_grub_emu): New variable.
48764 * configure.ac (--enable-grub-emu): New option.
48765 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
48766 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
48767 * conf/i386-pc.rmk: Likewise.
48768 * conf/powerpc-ieee1275.rmk: Likewise.
48769 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
48770
a8aa5762 487712006-12-12 Marco Gerards <marco@gnu.org>
48772
48773 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
48774
48775 * kern/env.c (grub_env_unset): Don't free the member `value' when
48776 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
48777 pointer.
48778
48779 * normal/main.c (current_menu): Removed.
48780 (free_menu): Unset the `menu' environment variable.
48781 (grub_normal_menu_addentry): Make use of the environment variable
48782 `menu', instead of using the global `current_menu'. Allocate
48783 memory for the sourcecode of this entry.
48784 (read_config_file): New argument `nested', changed all callers.
48785 Only in the case of a new context, initialize a new menu. Set the
48786 `menu' environment variable.
48787 (grub_normal_execute): Don't set and unset the environment
48788 variable `menu' here anymore. Only free the menu when leaving the
48789 context.
48790
48791 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
48792 leak.
48793
957b3a3e 487942006-12-11 Marco Gerards <marco@gnu.org>
48795
48796 * normal/menu_entry.c (run): Fix off by one bug so the last line
48797 is executed. Move the loader check to outside the loop.
48798
ef875714 487992006-12-08 Hollis Blanchard <hollis@penguinppc.org>
48800
48801 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
48802
4e739985 488032006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
48804
48805 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
48806 the number of sectors. Reported by Andrey Shuvikov
48807 <mr_hyro@yahoo.com>.
f19dbdb7 48808
790707f2 488092006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
48810
48811 * kern/disk.c (grub_disk_read): When there is a read error, always
48812 try to read only the necessary data.
f19dbdb7 48813
790707f2 48814 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
48815 disk/raid.c.
48816 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
48817 prototype.
48818 [GRUB_UTIL] (grub_raid_fini): Likewise.
48819 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 48820 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 48821 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
48822 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
48823 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
48824 and grub_raid_fini().
f19dbdb7 48825
03e58196 488262006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48827
48828 * include/grub/types.h (__unused): Rename to UNUSED.
48829 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
48830 (grub_elf64_size): Likewise.
f19dbdb7 48831
ae4f23bf 488322006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48833
48834 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
48835 grub_error_push and grub_error_pop in the error-handling path.
48836 (grub_elf32_load_segment): Only call grub_file_read with non-zero
48837 length.
48838
2166cc83 488392006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48840
48841 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
48842 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48843 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48844 (kernel_elf_SOURCES): Likewise.
48845 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
48846 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
48847 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48848 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48849 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
48850 (elf_mod_SOURCES): New variable.
48851 (elf_mod_CFLAGS): Likewise.
48852 (elf_mod_LDFLAGS): Likewise.
48853 * include/grub/types.h (__unused): New macro.
48854 * include/grub/elfload.h: New file.
48855 * kern/elf.c: Likewise.
48856 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
48857 (ELF32_LOADMASK): New macro.
48858 (ELF64_LOADMASK): Likewise.
48859 (vmlinux): Removed.
48860 (grub_linux_load32): New function.
48861 (grub_linux_load64): Likewise.
48862 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
48863 Use grub_elf_t instead of grub_file_t.
48864
a09d5aa5 488652006-11-02 Hollis Blanchard <hollis@penguinppc.org>
48866
48867 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
48868 `catch_result' to struct set_color_args.
48869
d976fc51 488702006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48871
48872 * normal/menu.c: Include grub/script.h.
48873 * normal/menu_entry.c: Likewise.
48874 * include/grub/normal.h: Do not include grub/script.h.
48875
67507549 488762006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48877
48878 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
48879
69203a99 488802006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48881
48882 * kern/disk.c (grub_disk_open): Print debug messages when opening a
48883 disk.
48884 (grub_disk_close): Print debug messages when closing a disk.
48885 (grub_disk_read): Print debug messages when disk read fails.
48886 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
48887 filesystem type.
48888 * kern/partition.c: Include misc.h.
48889 (grub_partition_iterate): Print debug messages when detecting
48890 partition type.
48891
e2b8278c 488922006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48893
48894 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
48895 is negative.
48896 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
48897
97b2f2ff 488982006-10-26 Hollis Blanchard <hollis@penguinppc.org>
48899
48900 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
48901 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
48902
6555d655 489032006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
48904
48905 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
48906 instead of sizeof(lv). Patch by Michael Guntsche.
48907
4d42b77f 489082006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
48909
48910 * disk/lvm.c: Rename VGS to VG_LIST.
48911 (grub_lvm_iterate): Change VGS->LV to VG-LV.
48912 (grub_lvm_open): Likewise.
48913 Thanks to Michael Guntsche for finding this bug.
48914
5d74d927 489152006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48916
48917 * configure.ac (AC_INIT): Bumped to 1.95.
48918
a1bb27e4 489192006-10-14 Robert Millan <rmh@aybabtu.com>
48920
48921 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
48922 with "/dev/.static/dev/md".
48923
e0994b8b 489242006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48925
48926 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
48927 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
48928 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
48929 DRIVE_NAME are always freed.
48930
48931 * util/i386/pc/biosdisk.c (make_device_name): Add one into
48932 DOS_PART, as a DOS partition is counted from one instead of zero
48933 now. Reported by Robert Millan.
48934
ddd5cee9 489352006-10-14 Robert Millan <rmh@aybabtu.com>
48936
48937 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
48938 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
48939 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
48940 string returned by grub_guess_root_device.
48941 * util/i386/pc/grub-setup.c: Likewise.
48942 * util/i386/pc/grub-probefs.c: Likewise.
48943
48944 * util/i386/pc/grub-probefs.c: Rename to ...
48945 * util/i386/pc/grub-probe.c: ... this.
48946 * DISTLIST: Remove grub-probefs, add grub-probe.
48947 * conf/i386-efi.rmk: Likewise.
48948 * conf/i386-pc.rmk: Likewise.
48949 * util/i386/pc/grub-install.in: Likewise.
48950
48951 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
48952 choose which information we want to print.
48953
2b002173 489542006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48955
48956 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
48957 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
48958 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
48959 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
48960 video/readers/tga.c and video/i386/pc/vbeutil.c.
48961
489622006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
48963
48964 Added support for RAID and LVM.
f19dbdb7 48965
2b002173 48966 * disk/lvm.c: New file.
48967 * disk/raid.c: Likewise.
48968 * include/grub/lvm.h: Likewise.
f19dbdb7 48969 * include/grub/raid.h: Likewise.
2b002173 48970 * include/grub/util/lvm.h: Likewise.
48971 * include/grub/util/raid.h: Likewise.
48972 * util/lvm.c: Likewise.
48973 * util/raid.c: Likewise.
48974
48975 * include/grub/disk.h (grub_disk_dev_id): Add
48976 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
48977 (grub_disk_get_size): New prototype.
48978 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
48979 returns a partition.
48980 (grub_disk_get_size): New function.
f19dbdb7 48981
2b002173 48982 * kern/i386/pc/init.c (make_install_device): Copy the prefix
48983 verbatim if grub_install_dos_part is -2.
48984
48985 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
48986 and LVM devices.
48987
48988 * util/i386/pc/grub-setup.c (setup): New argument
48989 MUST_EMBED. Force embedding of GRUB when the argument is
48990 true. Close FILE before returning.
48991 (main): Add support for RAID and LVM.
f19dbdb7 48992
2b002173 48993 * conf/common.rmk: Add RAID and LVM modules.
48994 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
48995 util/lvm.c.
48996 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
48997
48998 * kern/misc.c (grub_strstr): New function.
48999 * include/grub/misc.h (grub_strstr): New prototype.
49000
050548d0 490012006-10-10 Tristan Gingold <tristan.gingold@bull.net>
49002
49003 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
49004
da849d2d 490052006-10-05 Tristan Gingold <tristan.gingold@bull.net>
49006
49007 * kern/misc.c (grub_strtoull): Guess the base only if not
49008 specified.
49009
97b2f2ff 490102006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 49011
49012 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
49013 PowerMac support.
49014
97b2f2ff 490152006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 49016
49017 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
49018
49019 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
49020 Remove `flags' argument. All callers changed.
49021 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
49022 (IEEE1275_IHANDLE_INVALID): New variable.
49023 (IEEE1275_CELL_INVALID): New variable.
49024 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
49025 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
49026 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
49027 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
49028 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
49029 codes from Open Firmware. All callers updated.
49030 (grub_ieee1275_next_property): Directly return Open Firmware return
49031 code.
49032 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
49033 Standardize error checking from `grub_ieee1275_get_property'.
49034 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
49035 `devalias' to `aliases'. Correct comments. Consolidate error paths.
49036
97b2f2ff 490372006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 49038
49039 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
49040 `instance_to_package_args' to `instance_to_path_args'.
49041
49042 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
49043 `grub_ieee1275_chosen'.
49044
49045 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
49046 `grub_ieee1275_interpret'.
49047
97b2f2ff 490482006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 49049
49050 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
49051
97b2f2ff 490522006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 49053
49054 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
49055 (__cmpdi): Likewise.
49056
49057 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
49058 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
49059 `grub_ssize_t'.
49060
02bb8acc 49061 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 49062
49063 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
49064 to type `grub_ssize_t'.
49065 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
49066
7f9a8531 490672006-09-22 Marco Gerards <marco@gnu.org>
49068
49069 * normal/script.c (grub_script_create_cmdmenu): Skip leading
49070 newlines.
49071
b5ef1102 490722006-09-22 Marco Gerards <marco@gnu.org>
49073
49074 * commands/echo.c: New file.
49075
49076 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
49077
49078 * conf/common.rmk (echo_mod_SOURCES): New variable.
49079 (echo_mod_CFLAGS): Likewise.
49080 (echo_mod_LDFLAGS): Likewise.
49081
2cff3677 490822006-09-22 Marco Gerards <marco@gnu.org>
49083
49084 * normal/main.c (get_line): Malloc memory instead of using
49085 preallocated memory. Removed the arguments `cmdline' and
49086 `max_len'. Updated all callers.
49087
6ba4688b 490882006-09-22 Marco Gerards <marco@gnu.org>
49089
49090 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
49091 (normal_mod_DEPENDENCIES): Likewise.
49092
49093 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
49094 (normal_mod_DEPENDENCIES): Likewise.
49095
49096 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
49097
e02ac02c 490982006-09-22 Johan Rydberg <jrydberg@gnu.org>
49099
49100 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
49101 programs.
49102 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
49103 (normal_mod_DEPENDENCIES): Likewise.
49104 * conf/i386-pc.mk: Regenerate.
49105 * conf/i386-efi.mk: Likewise
49106 * conf/common.mk: Likewise.
49107 * conf/powerpc-ieee1275.mk: Likewise.
49108 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 49109
8d252e44 491102006-09-22 Robert Millan <rmh@aybabtu.com>
49111
49112 Sync with i386 version.
49113 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
49114 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
49115
209bf7ac 491162006-09-21 Robert Millan <rmh@aybabtu.com>
49117
49118 Import from GRUB Legacy (lib/device.c):
49119 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
49120 (init_device_map) [__linux__]: Add support for I2O devices.
49121
6b146090 491222006-09-14 Marco Gerards <marco@gnu.org>
49123
49124 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
49125 `-melf_i386'.
49126
e38600a8 491272006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 49128
49129 * util/i386/pc/grub-install.in: Skip menu.lst when removing
49130 /boot/grub/*.lst.
78fa1790 49131
2952da5d 49132 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 49133
2952da5d 49134 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
49135 before adding it to device.map.
49136
01b82a64 491372006-08-15 Johan Rydberg <jrydberg@gnu.org>
49138
fe6b695a 49139 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 49140 compiles a file; using the -MD option.
49141 * conf/common.mk: Regenerate.
49142 * conf/i386-pc.mk: Likewise.
49143 * conf/i386-efi.mk: Likewise.
49144 * conf/powerpc-ieee1275.mk: Likewise.
49145 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 49146
1064790d 491472006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
49148
49149 Move the prototypes of grub_setjmp and grub_longjmp to
49150 cpu/setjmp.h, so that each architecture may specify different
49151 attributes.
f19dbdb7 49152
1064790d 49153 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
49154 (grub_longjmp): Likewise.
49155 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
49156 (grub_longjmp): Likewise.
49157 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
49158 (grub_longjmp): Likewise.
49159
49160 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
49161 [!GRUB_UTIL] (grub_longjmp): Removed.
49162
29dda3ed 491632006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
49164
49165 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
49166 "color!" method does not return any value.
49167
ad2a06ed 491682006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49169
49170 * include/grub/bitmap.h: New file.
49171
49172 * include/grub/i386/pc/vbeutil.h: Likewise.
49173
49174 * video/bitmap.c: Likewise.
49175
49176 * video/readers/tga.c: Likewise.
49177
49178 * video/i386/pc/vbeutil.c: Likewise.
49179
49180 * commands/videotest.c: Code cleanup and updated to reflect to new
49181 video API.
49182
49183 * term/gfxterm.c: Likewise.
49184
49185 * video/video.c: Likewise.
49186
49187 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
49188 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
49189 (bitmap_mod_SOURCES): New entry.
49190 (bitmap_mod_CFLAGS): Likewise.
49191 (bitmap_mod_LDFLAGS): Likewise.
49192 (tga_mod_SOURCES): Likewise.
49193 (tga_mod_CFLAGS): Likewise.
49194 (tga_mod_LDFLAGS): Likewise.
49195
49196 * include/grub/video.h (grub_video_blit_operators): New enum type.
49197 (grub_video_render_target): Changed as forward declaration and moved
49198 actual definition to be video driver specific.
49199 (grub_video_adapter.blit_bitmap): Added blitting operator.
49200 (grub_video_adapter.blit_render_target): Likewise.
49201 (grub_video_blit_bitmap): Likewise.
49202 (grub_video_blit_render_target): Likewise.
49203
49204 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
49205 driver specific render target definition.
49206 (grub_video_vbe_map_rgba): Added driver internal helper.
49207 (grub_video_vbe_unmap_color): Updated to use
49208 grub_video_i386_vbeblit_info.
49209 (grub_video_vbe_get_video_ptr): Likewise.
49210
49211 * include/grub/i386/pc/vbeblit.h
49212 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
49213 grub_video_i386_vbeblit_info.
49214 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
49215 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
49216 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
49217 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
49218 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
49219 (grub_video_i386_vbeblit_index_index): Likewise.
49220 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
49221 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
49222 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
49223 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
49224 operator.
49225 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
49226 operator.
49227
49228 * video/i386/pc/vbeblit.c: Updated to reflect changes on
49229 include/grub/i386/pc/vbeblit.h.
49230
49231 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
49232 Updated to use grub_video_i386_vbeblit_info.
49233 (grub_video_i386_vbefill_R8G8B8): Likewise.
49234 (grub_video_i386_vbefill_index): Likewise.
49235 (grub_video_i386_vbefill): Added generic filler.
49236
49237 * video/i386/pc/vbefill.c: Updated to reflect changes on
49238 include/grub/i386/pc/vbefill.h.
49239
49240 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
49241 grub_video_i386_vbeblit_info.
49242 (grub_video_vbe_unmap_color): Likewise.
49243 (grub_video_vbe_blit_glyph): Likewise.
49244 (grub_video_vbe_scroll): Likewise.
49245 (grub_video_vbe_draw_pixel): Removed function.
49246 (grub_video_vbe_get_pixel): Likewise.
49247 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
49248 updated code to use it.
49249 (common_blitter): Added common blitter for render target and bitmap.
49250 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
49251 (grub_video_vbe_blit_render_target): Likewise.
49252
bc8c036d 492532006-07-30 Johan Rydberg <jrydberg@gnu.org>
49254
49255 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
49256 is in text mode if there is no console control protocol instance
49257 available.
49258
684a8eff 492592006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49260
49261 * include/grub/video.h: Code cleanup.
49262
49263 * include/grub/i386/pc/vbe.h: Likewise.
49264
49265 * video/i386/pc/vbe.c: Likewise.
49266
49267 * video/i386/pc/vbeblit.c: Likewise.
49268
49269 * video/i386/pc/vbefill.c: Likewise.
49270
49271 * video/video.c: Likewise. Also added more comments.
49272
5915059b 492732006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49274
49275 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
49276 (struct grub_biosdisk_dap): Likewise.
49277
49278 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
49279 linkage settings for all functions.
49280
90ce5d56 492812006-07-12 Marco Gerards <marco@gnu.org>
49282
49283 * configure.ac (--enable-mm-debug): Fix typo.
49284
49285 * genkernsyms.sh.in: Use proper quoting for `CC'.
49286
43e7f879 492872006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
49288
49289 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
49290 (normal_mod_ASFLAGS): Remove "-m32".
49291
4889bdec 492922006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
49293
49294 * util/misc.c: Include config.h.
49295 [!HAVE_MEMALIGN]: Do not include malloc.h.
49296 (grub_memalign): Use posix_memalign, if present. Then, use
49297 memalign, if present. Otherwise, emit an error.
49298
49299 * util/grub-emu.c: Do not include malloc.h.
49300
49301 * include/grub/util/misc.h: Include unistd.h. This is required for
49302 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
49303 D. Eades III <hde@foobar-qux.org>.
49304
49305 * configure.ac (AC_GNU_SOURCE): Added.
49306 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
49307 type.
49308
fd39d4da 493092006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
49310
49311 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
49312 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
49313
b786f3b5 493142006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
49315
49316 * include/grub/types.h (grub_host_addr_t): Rename to
49317 grub_target_addr_t.
49318 (grub_host_off_t): Rename to grub_target_off_t.
49319 (grub_host_size_t): Rename to grub_target_size_t.
49320 (grub_host_ssize_t): Rename to grub_target_ssize_t.
49321 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
49322
49323 * include/grub/kernel.h (struct grub_module_header): Change type
49324 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
49325 (grub_module_info): Likewise.
f19dbdb7 49326
051988bb 493272006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49328
49329 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
49330 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
49331 Velazquez <jesus.velazquez@gmail.com>.
49332
deae281b 493332006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49334
49335 Count partitions from 1 instead of 0 in the string representation
49336 of partitions. Still use 0-based internally.
f19dbdb7 49337
deae281b 49338 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
49339 (sun_partition_map_iterate): Use grub_partition_t instead of
49340 struct grub_partition *. Cast DESC->START_CYLINDER to
49341 grub_uint64_t after converting the endian.
49342 (sun_partition_map_probe): Subtract 1 for PARTNUM.
49343 (sun_partition_map_get_name): Add 1 to P->INDEX.
49344
49345 * partmap/pc.c (grub_partition_parse): Subtract 1 for
49346 PCDATA->DOS_PART.
49347 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
49348
49349 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
49350 zero instead of one.
49351 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
49352 (gpt_partition_map_get_name): Add 1 into P->INDEX.
49353
49354 * partmap/apple.c (apple_partition_map_iterate): Change the type
49355 of POS to unsigned.
49356 (apple_partition_map_probe): Subtract 1 for PARTNUM.
49357 (apple_partition_map_get_name): Add 1 into P->INDEX.
49358
49359 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
49360 of POS to unsigned.
49361 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
49362 calculate the offset of a partition.
49363 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
49364 (amiga_partition_map_get_name): Add 1 into P->INDEX.
49365
49366 * partmap/acorn.c (acorn_partition_map_find): Change the type of
49367 SECTOR to grub_disk_addr_t.
49368 (acorn_partition_map_iterate): Likewise.
49369 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
49370 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
49371 top.
49372 (acorn_partition_map_get_name): Add 1 into P->INDEX.
49373
49374 * kern/i386/pc/init.c (make_install_device): Add 1 into
49375 GRUB_INSTALL_DOS_PART.
49376
49377 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
49378 conditional.
49379
524a1e6a 493802006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49381
49382 Clean up the code to support 64-bit addressing in disks and
49383 files. This change is not enough for filesystems yet.
f19dbdb7 49384
524a1e6a 49385 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
49386 type of "start" to grub_uint64_t.
49387 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
49388 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
49389 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
49390 convert addresses.
49391
49392 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
49393 to grub_disk_addr_t.
49394
49395 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
49396 string.
49397
49398 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49399
49400 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
49401 to char *.
49402
49403 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
49404
49405 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
49406
49407 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
49408
49409 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
49410 to grub_off_t, to detect an error from grub_file_seek.
49411 (grub_multiboot_load_elf32): Likewise.
49412
49413 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
49414 maximum unsigned long value when an overflow is detected.
49415 (grub_strtoull): New function.
49416 (grub_divmod64): Likewise.
49417 (grub_lltoa): use grub_divmod64.
49418
49419 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
49420 grub_disk_addr_t.
49421 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
49422 the pointer to next character. Use grub_strtoull instead of
49423 grub_strtoul.
49424 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
49425 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
49426 respectively.
49427
fe6b695a 49428 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 49429 return value is signed.
49430 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
49431 test if OFFSET is less than zero, as OFFSET is unsigned now.
49432
49433 * kern/disk.c (struct grub_disk_cache): Change the type of
49434 "sector" to grub_disk_addr_t.
49435 (grub_disk_cache_get_index): Change the type of SECTOR to
49436 grub_disk_addr_t. Calculate the hash with SECTOR casted to
49437 unsigned after shifting.
49438 (grub_disk_cache_invalidate): Change the type of SECTOR to
49439 grub_disk_addr_t.
49440 (grub_disk_cache_unlock): Likewise.
49441 (grub_disk_cache_store): Likewise.
49442 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
49443 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
49444 grub_disk_addr_t and grub_uint64_t, respectively.
49445 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
49446 body, as the value of OFFSET is tweaked by
49447 grub_disk_check_range. Change the types of START_SECTOR, LEN and
49448 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
49449 respectively.
49450 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
49451 body, as the value of OFFSET is tweaked by
49452 grub_disk_check_range. Change the types of LEN and N to
49453 grub_size_t.
49454
49455 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
49456 and "saved_offset" to grub_off_t.
49457 (test_header): Cast BUF to char *.
49458 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
49459 to char *.
49460 (grub_gzio_read): Change the types of OFFSET and SIZE to
49461 grub_off_t and grub_size_t, respectively.
49462
49463 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
49464 Removed.
49465 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
49466 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
49467 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
49468 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
49469 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
49470
49471 * include/grub/types.h (grub_off_t): Unconditionally set to
49472 grub_uint64_t.
49473 (grub_disk_addr_t): Changed to grub_uint64_t.
49474
49475 * include/grub/partition.h (struct grub_partition): Change the
49476 types of "start", "len" and "offset" to grub_disk_addr_t,
49477 grub_uint64_t and grub_disk_addr_t, respectively.
49478 (grub_partition_get_start): Return grub_disk_addr_t.
49479 (grub_partition_get_len): Return grub_uint64_t.
49480
49481 * include/grub/misc.h (grub_strtoull): New prototype.
49482 (grub_divmod64): Likewise.
49483
49484 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
49485 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
49486 grub_off_t, respectively.
49487 All callers and references changed.
49488
49489 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
49490 grub_size_t in "read".
49491 All callers and references changed.
49492
49493 * include/grub/file.h (struct grub_file): Change the types of
49494 "offset" and "size" to grub_off_t and grub_off_t,
49495 respectively. Change the type of SECTOR to grub_disk_addr_t in
49496 "read_hook".
49497 (grub_file_read): Change the type of LEN to grub_size_t.
49498 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
49499 grub_off_t.
49500 (grub_file_size): Return grub_off_t.
49501 (grub_file_tell): Likewise.
49502 All callers and references changed.
49503
49504 * include/grub/disk.h (struct grub_disk_dev): Change the types of
49505 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
49506 "write".
49507 (struct grub_disk): Change the type of "total_sectors" to
49508 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 49509 "read_hook".
524a1e6a 49510 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
49511 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
49512 (grub_disk_write): Likewise.
49513 All callers and references changed.
49514
49515 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
49516 char * for grub_strncmp to silence gcc.
49517 (grub_iso9660_mount): Likewise.
49518 (grub_iso9660_mount): Likewise.
49519 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
49520 return statement.
49521 (grub_iso9660_iterate_dir): Likewise.
49522 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
49523
49524 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
49525 LEN to grub_disk_addr_t and grub_size_t, respectively.
49526
49527 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
49528
49529 * fs/jfs.c (grub_jfs_read_file): Likewise.
49530
49531 * fs/minix.c (grub_jfs_read_file): Likewise.
49532
49533 * fs/sfs.c (grub_jfs_read_file): Likewise.
49534
49535 * fs/ufs.c (grub_jfs_read_file): Likewise.
49536
49537 * fs/xfs.c (grub_jfs_read_file): Likewise.
49538
49539 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
49540 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
49541 respectively.
49542
49543 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
49544 BLKNR to -1 instead of returning GRUB_ERRNO.
49545 (grub_ext2_read_file): Change the types of SECTOR and
49546 LEN to grub_disk_addr_t and grub_size_t, respectively.
49547
49548 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
49549 LEN to grub_disk_addr_t and grub_size_t, respectively.
49550
49551 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
49552 grub_file_read.
49553
49554 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
49555 string. Do not cast SECTOR explicitly.
49556
49557 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
49558 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
49559 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
49560 grub_disk_addr_t and grub_size_t, respectively. If the sector is
49561 over 2TB and LBA mode is not supported, raise an error.
49562 (get_safe_sectors): New function.
49563 (grub_biosdisk_read): Use get_safe_sectors.
49564 (grub_biosdisk_write): Likewise.
49565
49566 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
49567 (grub_efidisk_write): Likewise.
49568
49569 * disk/loopback.c (delete_loopback): Cosmetic changes.
49570 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
49571 correctly.
49572 (grub_loopback_open): Likewise.
49573 (grub_loopback_read): Likewise. Also, change the type of POS to
49574 grub_off_t, and fix the usage of grub_memset.
49575
49576 * commands/i386/pc/play.c: Include grub/machine/time.h.
49577
49578 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
49579 print FILE->SIZE.
49580
49581 * commands/configfile.c: Include grub/env.h.
49582
49583 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
49584 GRUB_ERRNO directly instead. Change the type of POS to
49585 grub_off_t. Follow the coding standard.
49586
49587 * commands/blocklist.c: Include grub/partition.h.
49588 (grub_cmd_blocklist): Return an error if the underlying device is
49589 not a disk. Take the starting sector of a partition into account,
49590 if a partition is used.
49591
49592 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
49593 a length field.
49594 (lba_mode): Support 64-bit addresses.
49595 (chs_mode): Likewise.
49596 (copy_buffer): Adapted to the new offsets of a length field and a
49597 segment field.
49598 (blocklist_default_start): Allocate 64-bit space.
49599
49600 * boot/i386/pc/boot.S (force_lba): Removed.
49601 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 49602 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 49603 space.
49604 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
49605 is useless.
49606 (lba_mode): Refactored to support a 64-bit address. More size
49607 optimization.
49608 (setup_sectors): Likewise.
49609
53af98ad 496102006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49611
49612 * DISTLIST: Added include/grub/i386/linux.h. Removed
49613 include/grub/i386/pc/linux.h
49614
49615 * configure.ac (AC_INIT): Bumped to 1.94.
49616
49617 * config.guess: Updated from gnulib.
49618 * config.sub: Likewise.
49619 * install-sh: Likewise.
49620 * mkinstalldirs: Likewise.
49621
b4c1940a 496222006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49623
49624 * conf/common.rmk (grub_modules_init.lst): Depended on
49625 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
49626 MODSRCFILES.
49627
49628 * genmk.rb (PModule::rule): Reverted the previous change.
49629
cfca1cfd 496302006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49631
49632 * conf/common.rmk (grub_modules_init.lst): Depends on
49633 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
49634 that the target does not exist before producing.
49635 (grub_modules_init.h): Remove the target before generating.
49636 (grub_emu_init.c): Likewise.
49637
49638 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
49639
aa6d7826 496402006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
49641
49642 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
49643 for the target-specific tests. Make sure that we also have the
49644 up-to-date target variables for those tests.
49645
26c607b9 496462006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49647
49648 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
49649 (PModule::rule): Likewise.
49650
0162321a 496512006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49652
49653 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
49654 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
49655 target-specific flags should be prefixed.
49656 (PModule::rule): Likewise.
49657
6c826348 496582006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
49659
49660 * configure.ac (CMP): Check if cmp is available explicitly.
49661
b977bf01 496622006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
49663
49664 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
49665 (target_cpu): New variable.
49666 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 49667
b977bf01 49668 * util/i386/pc/grub-install.in (host_cpu): Removed.
49669 (target_cpu): New variable.
49670 (pkglibdir): Use target_cpu instead of host_cpu.
49671
49672 * util/genmoddep.c: Removed.
f19dbdb7 49673
b977bf01 49674 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
49675 instead of GRUB_HOST_SIZEOF_VOID_P.
49676 * kern/dl.c: Likewise.
49677
49678 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
49679 ...
49680 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49681 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49682 (GRUB_TARGET_SIZEOF_LONG): ... this.
49683 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49684 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49685 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49686 to ...
49687 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49688 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49689 (GRUB_TARGET_SIZEOF_LONG): ... this.
49690 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49691 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49692 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49693 to ...
49694 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49695 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49696 (GRUB_TARGET_SIZEOF_LONG): ... this.
49697 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49698 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49699
49700 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
49701 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
49702 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
49703 instead of GRUB_HOST_SIZEOF_LONG.
49704 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
49705 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
49706 GRUB_CPU_WORDS_BIGENDIAN.
49707 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
49708 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
49709 grub_host_ssize_t.
49710
49711 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
49712 (genmoddep_SOURCES): Likewise.
49713 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
49714 (genmoddep_SOURCES): Likewise.
49715 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
49716 (genmoddep_SOURCES): Likewise.
49717 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
49718 Likewise.
49719 (genmoddep_SOURCES): Likewise.
49720
49721 * genmoddep.awk: New file.
49722
49723 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
49724 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
49725 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
49726 (PModule::rule): Likewise.
49727 (Program::rule): Likewise.
49728 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
49729 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
49730 respectively.
49731
49732 * configure.ac: Rewritten intensively to use host and target
49733 instead of build and host, respectively.
49734
49735 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
49736 (host_cpu): Removed.
49737 (target_cpu): New variable.
49738 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
49739 (BUILD_CC): Removed.
49740 (BUILD_CFLAGS): Likewise.
49741 (BUILD_CPPFLAGS): Likewise.
49742 (TARGET_CC): New variable.
49743 (TARGET_CFLAGS): Likewise.
49744 (TARGET_CPPFLAGS): Likewise.
49745 (TARGET_LDFLAGS): Likewise.
49746 (AWK): Likewise.
49747 (include): Use target_cpu instead of host_cpu.
49748 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 49749
b977bf01 49750 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
49751
f09771a1 497522006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
49753
49754 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
49755 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
49756 field 'false' to 'exec_on_false'.
49757 (grub_script_create_cmdif): Renamed argument names to reflect above
49758 changes.
49759
49760 * normal/execute.c (grub_script_execute_cmdif): Likewise.
49761
49762 * normal/script.c (grub_script_create_cmdif): Likewise.
49763
118f4fb3 497642006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
49765
49766 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
49767 top.
49768 (grub_hfsplus_btree_recptr): Likewise.
49769 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
49770 FILEBLOCK both to pass a block number and store next block
49771 number.
49772 (grub_hfsplus_read_block): Rewritten heavily to support an extent
49773 overflow file correctly. Specify errors appropriately, because
49774 fshelp expects that GRUB_ERRNO is set when fails. Reuse
49775 grub_hfsplus_btree_recptr to get the pointer to a found key.
49776 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
49777 is found.
49778
49779 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
49780 linux.mod.
49781 (_linux_mod_SOURCES): New variable.
49782 (_linux_mod_CFLAGS): Likewise.
49783 (_linux_mod_LDFLAGS): Likewise.
49784 (linux_mod_SOURCES): Likewise.
49785 (linux_mod_CFLAGS): Likewise.
49786 (linux_mod_LDFLAGS): Likewise.
49787
49788 * DISTLIST: Added loader/i386/efi/linux.c,
49789 loader/i386/efi/linux_normal.c and
49790 include/grub/i386/efi/loader.h.
49791
49792 * loader/i386/efi/linux.c: New file.
49793 * loader/i386/efi/linux_normal.c: Likewise.
49794 * include/grub/i386/efi/loader.h: Likewise.
49795
89a7d726 497962006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
49797
49798 * commands/blocklist.c: New file.
49799
49800 * DISTLIST: Added commands/blocklist.c.
49801
49802 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 49803 color for the background, and a darker color for the foreground.
89a7d726 49804 (grub_console_checkkey): Return READ_KEY.
49805 (grub_console_cls): Set the background to
49806 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
49807
49808 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
49809
49810 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
49811 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
49812
49813 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
49814 prototype.
49815
49816 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
49817 BG. The spec is wrong again.
49818
49819 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
49820 prototype.
49821 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
49822
49823 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49824 commands/blocklist.c.
49825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 49826
89a7d726 49827 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
49828 (blocklist_mod_SOURCES): New variable.
49829 (blocklist_mod_CFLAGS): Likewise.
49830 (blocklist_mod_LDFLAGS): Likewise.
49831
75c8f258 498322006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
49833
49834 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
49835 duplication.
49836 (lba_mode): Use %eax more intensively to reduce the code size.
49837
da2eb181 498382006-05-20 Marco Gerards <marco@gnu.org>
49839
49840 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
49841
49842 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
49843 for `menuentry'.
49844 (script): Accept leading newlines.
49845 (newlines): New rule to describe 0 or more newlines.
49846 (commands): Accept `command' with trailing newline. Fixed the
49847 order in which arguments were passed to `grub_script_add_cmd'.
49848 Accept commands separated by newlines.
49849 (function): Changed to accept newlines.
49850 (menuentry) Rewritten.
49851
49852 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
49853 front of the list, instead of to the end.
49854
577b4050 498552006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
49856
49857 * util/i386/pc/grub-install.in (bindir): New variable.
49858 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
49859 Shaver <lbgwjl@gmail.com>.
49860
0d6e1189 498612006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
49862
49863 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
49864 grub/machine/linux.h
49865 * loader/i386/pc/linux.c: Likewise.
49866
49867 * include/grub/i386/pc/linux.h: Moved to ...
49868 * include/grub/i386/linux.h: ... here.
49869
49870 * include/grub/i386/linux.h (struct linux_kernel_params): New
49871 struct.
f19dbdb7 49872
31b86e9f 498732006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
49874
49875 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
49876 checking.
49877 (grub_video_vbe_blit_glyph): Likewise.
49878 (grub_video_vbe_blit_bitmap): Likewise.
49879 (grub_video_vbe_blit_render_target): Likewise.
49880
83b984de 498812006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
49882
49883 * configure.ac (--with-platform): Properly quote the square
49884 brackets.
49885
5f0413bd 498862006-05-08 Marco Gerards <marco@gnu.org>
49887
49888 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
49889 this...
49890 (kernel_elf_HEADERS): ...to this. Updated all users.
49891 (grubof_symlist.c): Renamed from this...
49892 (kernel_elf_symlist.c): ...to this. Updated all users.
49893 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49894 (grubof_SOURCES): Renamed from this...
49895 (kernel_elf_SOURCES): ...to this.
49896 (grubof_HEADERS): Renamed from this...
49897 (kernel_elf_HEADERS): ...to this.
49898 (grubof_CFLAGS): Renamed from this...
49899 (kernel_elf_CFLAGS): ...to this.
49900 (grubof_ASFLAGS): Renamed from this...
49901 (kernel_elf_ASFLAGS): ...to this.
49902 (grubof_LDFLAGS): Renamed from this...
49903 (kernel_elf_LDFLAGS): ...to this.
49904
49905 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
49906 this...
49907 (kernel_elf_HEADERS): ...to this. Updated all users.
49908 (grubof_symlist.c): Renamed from this...
49909 (kernel_elf_symlist.c): ...to this. Updated all users.
49910 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49911 (grubof_SOURCES): Renamed from this...
49912 (kernel_elf_SOURCES): ...to this.
49913 (grubof_HEADERS): Renamed from this...
49914 (kernel_elf_HEADERS): ...to this.
49915 (grubof_CFLAGS): Renamed from this...
49916 (kernel_elf_CFLAGS): ...to this.
49917 (grubof_ASFLAGS): Renamed from this...
49918 (kernel_elf_ASFLAGS): ...to this.
49919 (grubof_LDFLAGS): Renamed from this...
49920 (kernel_elf_LDFLAGS): ...to this.
49921
49922 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
49923 `kernel.elf' instead of `grubof'.
49924
05568c2e 499252006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
49926
49927 Add --with-platform to configure. Use pkglibdir instead of
49928 pkgdatadir. This is reported by Roger Leigh.
49929
49930 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
49931 (host_vendor): Likewise.
49932 (host_os): Likewise.
49933 (pkgdatadir): Likewise.
49934 (platform): New variable.
49935 (pkglibdir): Likewise.
49936 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 49937
05568c2e 49938 * util/i386/pc/grub-install.in (datadir): Removed.
49939 (host_vendor): Likewise.
49940 (host_os): Likewise.
49941 (pkgdatadir): Likewise.
49942 (platform): New variable.
49943 (pkglibdir): Likewise.
49944 Use PKGLIBDIR instead of PKGDATADIR.
49945
49946 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
49947 instead of GRUB_DATADIR.
49948 (main): Likewise.
49949 * util/i386/pc/grub-mkimage.c (usage): Likewise.
49950 (main): Likewise.
49951 * util/i386/efi/grub-mkimage.c (usage): Likewise.
49952 (main): Likewise.
49953
49954 * configure.ac (--with-platform): New option.
49955 Use PLATFORM instead of HOST_VENDOR to specify a platform.
49956
49957 * Makefile.in: Include a makefile based on PLATFORM instead of
49958 HOST_VENDOR.
49959 (pkgdatadir): Not appended by the machine type.
49960 (pkglibdir): Appended by the machine type.
49961 (host_vendor): Removed.
49962 (platform): New variable.
49963 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
49964 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
49965 (uninstall): Likewise.
49966
4e93851c 499672006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
49968
49969 Use the environment context in the menu. Remove the commands
49970 "default" and "timeout", and use variables instead.
f19dbdb7 49971
4e93851c 49972 * normal/menu.c: Include grub/env.h.
49973 (print_entry): Cast TITLE to silence gcc.
49974 (get_timeout): New function.
49975 (set_timeout): Likewise.
49976 (get_entry_number): Likewise.
49977 (run_menu): Use a default entry, a fallback entry and a timeout
49978 in the environment variables "default", "fallback" and
49979 "timeout". Also, tweak the default entry if it is not within the
49980 current menu entries.
49981 (grub_menu_run): Use a fallback entry in the environment variable
49982 "fallback".
49983
49984 * normal/main.c (read_config_file): Do not initialize
49985 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
49986 NEWMENU->TIMEOUT.
49987 (grub_normal_execute): Use a data slot to store the menu.
49988
49989 * include/grub/normal.h (struct grub_menu): Removed default_entry,
49990 fallback_entry and timeout.
49991 (struct grub_menu_list): Removed.
49992 (grub_menu_list_t): Likewise.
49993 (struct grub_context): Likewise.
49994 (grub_context_t): Likewise.
49995 (grub_context_get): Likewise.
49996 (grub_context_get_current_menu): Likewise.
49997 (grub_context_push_menu): Likewise.
49998 (grub_context_pop_menu): Likewise.
49999 (grub_default_init): Likewise.
50000 (grub_default_fini): Likewise.
50001 (grub_timeout_init): Likewise.
50002 (grub_timeout_fini): Likewise.
50003
50004 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
50005 and timeout.mod.
50006 (normal_mod_SOURCES): Removed normal/context.c.
50007
50008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
50009 commands/default.c, commands/timeout.c and normal/context.c.
50010 (normal_mod_SOURCES): Removed normal/context.c.
50011
50012 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
50013 commands/timeout.c and normal/context.c.
50014 (normal_mod_SOURCES): Removed normal/context.c.
50015
50016 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
50017 commands/default.c, commands/timeout.c and normal/context.c.
50018 (normal_mod_SOURCES): Removed normal/context.c.
50019
50020 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
50021 timeout.mod.
50022 (default_mod_SOURCES): Removed.
50023 (default_mod_CFLAGS): Likewise.
50024 (default_mod_LDFLAGS): Likewise.
50025 (timeout_mod_SOURCES): Removed.
50026 (timeout_mod_CFLAGS): Likewise.
50027 (timeout_mod_LDFLAGS): Likewise.
50028
50029 * DISTLIST: Removed commands/default.c, commands/timeout.c and
50030 normal/context.c.
50031
50032 * commands/default.c: Removed.
50033 * commands/timeout.c: Likewise.
50034 * normal/context.c: Likewise.
50035
1eb9cc1d 500362006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
50037
50038 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
50039
385bd9c1 500402006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
50041
50042 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
50043 "next" to "prev" for readability.
50044 (struct grub_env_sorted_var): New struct.
50045 (grub_env_context): Renamed to ...
50046 (initial_context): ... this.
50047 (grub_env_var_context): Renamed to ...
50048 (current_context): ... this.
50049 (grub_env_find): Look only at CURRENT_CONTEXT.
50050 (grub_env_context_open): Rewritten to copy exported variables from
50051 previous context.
50052 (grub_env_context_close): Rewritten according to the new
50053 scheme. Also, add an assertion to prevent the initial context from
50054 removed.
50055 (grub_env_insert): Removed the code for the sorted list.
50056 (grub_env_remove): Likewise.
50057 (grub_env_export): Simply mark the variable with
50058 GRUB_ENV_VAR_GLOBAL.
50059 (grub_env_set): A cosmetic change for naming consistency.
50060 (grub_env_get): Likewise.
50061 (grub_env_unset): Likewise.
50062 (grub_env_iterate): Rewritten to sort variables within this
50063 function.
50064 (grub_register_variable_hook): Fixed for naming consistency. Call
50065 grub_env_find again, only if NAME is not found at the first time.
50066 (mangle_data_slot_name): New function.
50067 (grub_env_set_data_slot): Likewise.
50068 (grub_env_get_data_slot): Likewise.
50069 (grub_env_unset_data_slot): Likewise.
50070
50071 * include/grub/env.h (grub_env_var_type): New enum.
50072 (GRUB_ENV_VAR_LOCAL): New constant.
50073 (GRUB_ENV_VAR_GLOBAL): Likewise.
50074 (GRUB_ENV_VAR_DATA): Likewise.
50075 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
50076 "type".
50077 (grub_env_set): Replace VAR with NAME for consistency.
50078 (grub_register_variable_hook): Likewise.
50079 (grub_env_export): Specify the name of the argument.
50080 (grub_env_set_data_slot): New prototype.
50081 (grub_env_get_data_slot): Likewise.
50082 (grub_env_unset_data_slot): Likewise.
50083
7f362539 500842006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
50085
50086 Extend the loader so that GRUB can accept a loader which comes
50087 back to GRUB when a loaded image exits. Also, this change adds
50088 support for a chainloader on EFI.
f19dbdb7 50089
7f362539 50090 * term/efi/console.c: Include grub/misc.h.
50091 (grub_console_checkkey): Display a scan code on the top for
50092 debugging. This will be removed once the EFI port gets stable.
50093 Correct the scan code mapping.
50094
50095 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
50096 allocate memory from larger regions, in order to reduce the number
50097 of allocated regions. Otherwise, the MacOSX loader panics.
50098 (filter_memory_map): Avoid less than 1MB for compatibility with
50099 other loaders.
50100 (add_memory_regions): Allocate from the tail of a region, if
50101 possible, to avoid allocating a region near to 1MB, for the MacOSX
50102 loader.
50103
50104 * kern/efi/init.c (grub_efi_set_prefix): Specify
50105 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
50106
50107 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
50108 argument IMAGE_HANDLE and specify it to get a loaded image.
50109 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
50110 grub_efi_get_loaded_image.
fe6b695a 50111 (grub_efi_get_filename): Divide the length by the size of
7f362539 50112 grub_efi_char16_t.
50113 (grub_efi_get_device_path): New function.
50114 (grub_efi_print_device_path): Print End Device Path nodes. Divide
50115 the length by the size of grub_efi_char16_t for a file path device
50116 path node.
50117
50118 * kern/loader.c (grub_loader_noreturn): New variable.
50119 (grub_loader_set): Accept a new argument NORETURN. Set
50120 GRUB_LOADER_NORETURN to NORETURN.
50121 All callers changed.
50122 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
50123 grub_machine_fini.
50124
50125 * include/grub/efi/efi.h (grub_efi_get_device_path): New
50126 prototype.
50127 (grub_efi_get_loaded_image): Take an argument to specify an image
50128 handle.
50129
50130 * include/grub/loader.h (grub_loader_set): Added one more argument
50131 NORETURN.
50132
50133 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
50134 instead of grub_efi_open_protocol.
50135 (grub_efidisk_get_device_name): Likewise.
50136 (grub_efidisk_close): Print a newline.
50137 (grub_efidisk_get_device_handle): Fixed to use
50138 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
50139 GRUB_EFI_DEVICE_PATH_TYPE.
50140
50141 * disk/efi/efidisk.c (device_path_guid): Moved to ...
50142 * kern/efi/efi.c (device_path_guid): ... here.
50143
50144 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
50145 chain.mod.
50146 (kernel_mod_HEADERS): Added efi/disk.h.
50147 (_chain_mod_SOURCES): New variable.
50148 (_chain_mod_CFLAGS): Likewise.
50149 (_chain_mod_LDFLAGS): Likewise.
50150 (chain_mod_SOURCES): Likewise.
50151 (chain_mod_CFLAGS): Likewise.
50152 (chain_mod_LDFLAGS): Likewise.
50153
50154 * DISTLIST: Added include/grub/efi/chainloader.h,
50155 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
50156
50157 * include/grub/efi/chainloader.h: New file.
50158 * loader/efi/chainloader.c: Likewise.
50159 * loader/efi/chainloader_normal.c: Likewise.
50160
c0111d6e 501612006-04-30 Marco Gerards <marco@gnu.org>
50162
50163 * commands/configfile.c (grub_cmd_source): New function.
50164 (GRUB_MOD_INIT): Register the commands `source' and `.'.
50165 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
50166
df5341da 501672006-04-30 Marco Gerards <marco@gnu.org>
50168
50169 * normal/execute.c (grub_script_execute_cmd): Change the return
50170 type to `grub_err_t'. Correctly return the error.
50171 (grub_script_execute_cmdline): In case a command line is not a
50172 command or a function, try to interpret it as an assignment.
50173
f85934bd 501742006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
50175
50176 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
50177 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
50178 skip a node whose name is obviously invalid as UTF-16,
50179 i.e. contains a NUL character. Stop the iteration when the last
50180 directory entry is found. Instead of using the return value of
50181 grub_hfsplus_btree_iterate_node, store the value in RET and use
50182 it, because the iterator can be stopped by the last directory
50183 entry.
50184
8f8a2cf8 501852006-04-30 Marco Gerards <marco@gnu.org>
50186
50187 * include/grub/env.h (grub_env_export): New prototype. Reported
50188 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
50189
a27e84ce 501902006-04-30 Marco Gerards <marco@gnu.org>
50191
50192 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
50193 size of the extents in a catalog file record.
50194
eaef0553 501952006-04-29 Marco Gerards <marco@gnu.org>
50196
50197 * commands/configfile.c (grub_cmd_configfile): Execute the
50198 configfile within its own context.
50199
50200 * include/grub/env.h (grub_env_context_open): New prototype.
50201 (grub_env_context_close): Likewise.
50202
50203 * kern/env.c (grub_env): Removed.
50204 (grub_env_sorted): Likewise.
50205 (grub_env_context): New variable.
50206 (grub_env_var_context): Likewise.
50207 (grub_env_find): Search both the active context and the global
50208 context.
50209 (grub_env_context_open): New function.
50210 (grub_env_context_close): Likewise.
50211 (grub_env_insert): Likewise.
50212 (grub_env_remove): Likewise.
50213 (grub_env_export): Likewise.
50214 (grub_env_set): Changed to use helper functions to avoid code
50215 duplication.
50216 (grub_env_iterate): Rewritten so both the current context and the
50217 global context are being used.
50218
50219 * normal/command.c (export_command): New function.
50220 (grub_command_init): Register the `export' function.
50221
7b455f4d 502222006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
50223
50224 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
50225 explicitly to suppress gcc's warnings.
50226 * fs/fat.c (grub_fat_find_dir): Likewise.
50227 (grub_fat_label): Likewise.
50228 * fs/xfs.c (grub_xfs_read_inode): Likewise.
50229 (grub_xfs_mount): Likewise.
50230 (grub_xfs_label): Likewise.
50231 * fs/affs.c (grub_affs_mount): Likewise.
50232 (grub_affs_label): Likewise.
50233 (grub_affs_iterate_dir): Likewise.
50234 * fs/sfs.c (grub_sfs_mount): Likewise.
50235 (grub_sfs_iterate_dir): Likewise.
50236 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
50237 * fs/hfs.c (grub_hfs_mount): Likewise.
50238 (grub_hfs_cmp_catkeys): Likewise.
50239 (grub_hfs_find_dir): Likewise.
50240 (grub_hfs_dir): Likewise.
50241 (grub_hfs_label): Likewise.
50242 * fs/jfs.c (grub_jfs_mount): Likewise.
50243 (grub_jfs_opendir): Likewise.
50244 (grub_jfs_getent): Likewise.
50245 (grub_jfs_lookup_symlink): Likewise.
50246 (grub_jfs_label): Likewise.
50247 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
50248 (grub_hfsplus_iterate_dir): Likewise.
50249 (grub_hfsplus_btree_iterate_node): Made static.
50250
50251 * util/grub-emu.c (prefix): New variable.
50252 (grub_machine_set_prefix): New function.
50253 (main): Do not set the environment variable "prefix" here. Only
50254 set PREFIX, which is used later by grub_machine_set_prefix.
50255
50256 * include/grub/video.h: Do not include grub/symbol.h.
50257 (grub_video_register): Not exported. This symbol is not defined in
50258 the kernel.
50259 (grub_video_unregister): Likewise.
50260 (grub_video_iterate): Likewise.
50261 (grub_video_setup): Likewise.
50262 (grub_video_restore): Likewise.
50263 (grub_video_get_info): Likewise.
50264 (grub_video_get_blit_format): Likewise.
50265 (grub_video_set_palette): Likewise.
50266 (grub_video_get_palette): Likewise.
50267 (grub_video_set_viewport): Likewise.
50268 (grub_video_get_viewport): Likewise.
50269 (grub_video_map_color): Likewise.
50270 (grub_video_map_rgb): Likewise.
50271 (grub_video_map_rgba): Likewise.
50272 (grub_video_fill_rect): Likewise.
50273 (grub_video_blit_glyph): Likewise.
50274 (grub_video_blit_bitmap): Likewise.
50275 (grub_video_blit_render_target): Likewise.
50276 (grub_video_scroll): Likewise.
50277 (grub_video_swap_buffers): Likewise.
50278 (grub_video_create_render_target): Likewise.
50279 (grub_video_delete_render_target): Likewise.
50280 (grub_video_set_active_render_target): Likewise.
50281
50282 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
50283 Undefined.
50284 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
50285
50286 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
50287 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50288 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50289 instead of $(srcdir)/genkernsyms.sh.
50290
50291 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
50292 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50293 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50294 instead of $(srcdir)/genkernsyms.sh.
50295
50296 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
50297 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50298 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50299 instead of $(srcdir)/genkernsyms.sh.
50300
50301 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
50302 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50303 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50304 instead of $(srcdir)/genkernsyms.sh.
50305
50306 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
50307 genkernsyms.sh.
50308
50309 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
50310 genkernsyms.sh.
50311 (gensymlist.sh): New target.
50312 (genkernsyms.sh): Likewise.
50313
50314 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
50315 genkernsyms.sh.in and gensymlist.sh.in.
50316
50317 * genkernsyms.sh: Removed.
50318 * gensymlist.sh: Likewise.
f19dbdb7 50319
7b455f4d 50320 * genkernsyms.sh.in: New file.
50321 * gensymlist.sh.in: Likewise.
50322
1885bb27 503232006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50324
50325 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
50326 clobber "prefix", since we may have already set it manually.
50327
71538dff 503282006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50329
50330 * kern/misc.c (abort): New alias for grub_abort.
50331
2965c7cc 503322006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
50333
50334 A new machine-specific function "grub_machine_set_prefix" is
50335 defined. This is called after loading modules, so that a prefix
50336 initialization can use modules. Also, this change adds an
50337 intensive debugging feature for the memory manager via the
50338 configure option "--enable-mm-debug".
f19dbdb7 50339
2965c7cc 50340 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
50341 PART.LEN.
50342
50343 * kern/sparc64/ieee1275/init.c (abort): Removed.
50344 (grub_stop): Likewise.
50345 (grub_exit): New function.
50346 (grub_set_prefix): Renamed to ...
50347 (grub_machine_set_prefix): ... this.
50348 (grub_machine_init): Do not call grub_set_prefix.
50349
50350 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
50351 (grub_machine_set_prefix): ... this.
50352 (grub_machine_init): Do not call grub_set_prefix.
50353
50354 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
50355 (grub_machine_init): Do not set the prefix here.
50356
50357 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
50358
50359 * kern/efi/init.c: Include grub/mm.h.
50360 (grub_efi_set_prefix): New function.
50361
50362 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
50363 (grub_efi_get_filename): New function.
50364 (grub_print_device_path): Renamed to ...
50365 (grub_efi_print_device_path): ... this.
50366
50367 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
50368 [MM_DEBUG] (grub_realloc): Likewise.
50369 [MM_DEBUG] (grub_free): Likewise.
50370 [MM_DEBUG] (grub_memalign): Likewise.
50371 [MM_DEBUG] (grub_mm_debug): New variable.
50372 [MM_DEBUG] (grub_debug_malloc): New function.
50373 [MM_DEBUG] (grub_debug_free): New function.
50374 [MM_DEBUG] (grub_debug_realloc): New function.
50375 [MM_DEBUG] (grub_debug_memalign): New function.
50376
50377 * kern/misc.c (grub_abort): Print a newline to distinguish
50378 the message.
50379
50380 * kern/main.c (grub_main): Call grub_machine_set_prefix and
50381 grub_set_root_dev after loading modules. This is necessary when
50382 setting a prefix depends on modules.
50383
50384 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
50385 (grub_efi_print_device_path): ... this.
50386 (grub_efi_get_filename): New prototype.
50387 (grub_efi_set_prefix): Likewise.
50388
50389 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
50390 and grub/disk.h.
50391 (grub_efidisk_get_device_handle): New prototype.
50392 (grub_efidisk_get_device_name): Likewise.
50393
50394 * include/grub/mm.h: Include config.h.
50395 (MM_DEBUG): Removed.
50396 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
50397 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
50398 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
50399 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
50400 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
50401 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
50402 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
50403 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
50404 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
50405
50406 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
50407
50408 * disk/efi/efidisk.c: Include grub/partition.h.
50409 (iterate_child_devices): New function.
50410 (add_device): First, compare only last device path nodes, so that
50411 devices are sorted by the types.
50412 (grub_efidisk_get_device_handle): New function.
50413 (grub_efidisk_get_device_name): Likewise.
50414
50415 * configure.ac (--enable-mm-debug): New option to enable the
50416 memory manager debugging feature. This makes the binary much
50417 bigger, so is disabled by default.
50418
9cacaa17 504192006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
50420
50421 Use grub_abort instead of grub_stop, and grub_exit must be
50422 define in each architecture now. Also, this change adds support
50423 for EFI disks.
f19dbdb7 50424
9cacaa17 50425 * util/i386/pc/grub-probefs.c: Include grub/term.h.
50426 (grub_getkey): New function.
50427 (grub_term_get_current): Likewise.
50428
50429 * util/i386/pc/grub-setup.c: Include grub/term.h.
50430 (grub_getkey): New function.
50431 (grub_term_get_current): Likewise.
50432
50433 * util/misc.c (grub_stop): Renamed to ...
50434 (grub_exit): ... this.
50435
50436 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
50437 (grub_exit): ... this.
50438 (grub_machine_init): Use grub_abort instead of abort.
50439 (grub_stop): Removed.
50440
50441 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
50442 abort.
50443
50444 * kern/i386/pc/startup.S (grub_exit): New function.
50445 (cold_reboot): New label.
50446
50447 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
50448 (grub_efi_init): Call grub_efidisk_init.
50449 (grub_efi_fini): Call grub_efidisk_fini.
50450
50451 * kern/efi/efi.c: Include grub/mm.h.
50452 (grub_efi_console_control_guid): Renamed to ...
50453 (console_control_guid): ... this.
50454 (grub_efi_loaded_image_guid): Renamed to ...
50455 (loaded_image_guid): ... this.
50456 (grub_efi_locate_handle): New function.
50457 (grub_efi_open_protocol): Likewise.
50458 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
50459 GRUB_EFI_CONSOLE_CONTROL_GUID.
50460 (grub_efi_exit): Removed.
50461 (grub_stop): Likewise.
50462 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
50463 (grub_exit): New function.
50464 (grub_print_device_path): Likewise.
50465
50466 * kern/rescue.c (grub_rescue_cmd_exit): New function.
50467 (grub_enter_rescue_mode): Register "exit".
50468
50469 * kern/misc.c (grub_real_dprintf): A cosmetic change.
50470 (grub_abort): New function.
50471
50472 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
50473
50474 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
50475
50476 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
50477
50478 * include/grub/efi/efi.h (grub_efi_exit): Removed.
50479 (grub_print_device_path): New prototype.
50480 (grub_efi_locate_handle): Likewise.
50481 (grub_efi_open_protocol): Likewise.
50482
50483 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
50484 * disk/efi/efidisk.c: Likewise.
50485
50486 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
50487
50488 * include/grub/efi/console_control.h
50489 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
50490
50491 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
50492 last 8 bytes as an array.
50493 (GRUB_EFI_DISK_IO_GUID): New macro.
50494 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
50495 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
50496 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
50497 grub_uint8_t.
50498 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
50499 (struct grub_efi_device_path): Rename the member "sub_type" to
50500 "subtype".
50501 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
50502 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
50503 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
50504 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
50505 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
50506 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
50507 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
50508 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
50509 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
50510 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
50511 (struct grub_efi_pci_device_path): New structure.
50512 (grub_efi_pci_device_path_t): New type.
50513 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
50514 (struct grub_efi_pccard_device_path): New structure.
50515 (grub_efi_pccard_device_path_t): New type.
50516 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
50517 (struct grub_efi_memory_mapped_device_path): New structure.
50518 (grub_efi_memory_mapped_device_path_t): New type.
50519 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
50520 (struct grub_efi_vendor_device_path): New structure.
50521 (grub_efi_vendor_device_path_t): New type.
50522 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
50523 (struct grub_efi_controller_device_path): New structure.
50524 (grub_efi_controller_device_path_t): New type.
50525 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
50526 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
50527 (struct grub_efi_acpi_device_path): New structure.
50528 (grub_efi_acpi_device_path_t): New type.
50529 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
50530 (struct grub_efi_expanded_acpi_device_path): New structure.
50531 (grub_efi_expanded_acpi_device_path_t): New type.
50532 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
50533 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
50534 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
50535 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
50536 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
50537 (struct grub_efi_atapi_device_path): New structure.
50538 (grub_efi_atapi_device_path_t): New type.
50539 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
50540 (struct grub_efi_fibre_channel_device_path): New structure.
50541 (grub_efi_fibre_channel_device_path_t): New type.
50542 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
50543 (struct grub_efi_1394_device_path): New structure.
50544 (grub_efi_1394_device_path_t): New type.
50545 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
50546 (struct grub_efi_usb_device_path): New structure.
50547 (grub_efi_usb_device_path_t): New type.
50548 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
50549 (struct grub_efi_usb_class_device_path): New structure.
50550 (grub_efi_usb_class_device_path_t): New type.
50551 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
50552 (struct grub_efi_i2o_device_path): New structure.
50553 (grub_efi_i2o_device_path_t): New type.
50554 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
50555 (struct grub_efi_mac_address_device_path): New structure.
50556 (grub_efi_mac_address_device_path_t): New type.
50557 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
50558 (struct grub_efi_ipv4_device_path): New structure.
50559 (grub_efi_ipv4_device_path_t): New type.
50560 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
50561 (struct grub_efi_ipv6_device_path): New structure.
50562 (grub_efi_ipv6_device_path_t): New type.
50563 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
50564 (struct grub_efi_infiniband_device_path): New structure.
50565 (grub_efi_infiniband_device_path_t): New type.
50566 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
50567 (struct grub_efi_uart_device_path): New structure.
50568 (grub_efi_uart_device_path_t): New type.
50569 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
50570 (struct grub_efi_vendor_messaging_device_path): New structure.
50571 (grub_efi_vendor_messaging_device_path_t): New type.
50572 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
50573 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
50574 (struct grub_efi_hard_drive_device_path): New structure.
50575 (grub_efi_hard_drive_device_path_t): New type.
50576 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
50577 (struct grub_efi_cdrom_device_path): New structure.
50578 (grub_efi_cdrom_device_path_t): New type.
50579 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
50580 (struct grub_efi_vendor_media_device_path): New structure.
50581 (grub_efi_vendor_media_device_path_t): New type.
50582 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
50583 (struct grub_efi_file_path_device_path): New structure.
50584 (grub_efi_file_path_device_path_t): New type.
50585 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
50586 (struct grub_efi_protocol_device_path): New structure.
50587 (grub_efi_protocol_device_path_t): New type.
50588 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
50589 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
50590 (struct grub_efi_bios_device_path): New structure.
50591 (grub_efi_bios_device_path_t): New type.
50592 (struct grub_efi_disk_io): New structure.
50593 (grub_efi_disk_io_t): New type.
50594 (struct grub_efi_block_io_media): New structure.
50595 (grub_efi_block_io_media_t): New type.
50596 (struct grub_efi_block_io): New structure.
50597 (grub_efi_block_io_t): New type.
50598
50599 * include/grub/misc.h (grub_stop): Removed.
50600 (grub_exit): New prototype.
50601 (grub_abort): Likewise.
50602
50603 * include/grub/disk.h (enum grub_disk_dev_id): Added
50604 GRUB_DISK_DEVICE_EFIDISK_ID.
50605
50606 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
50607 disk/efi/efidisk.c.
50608 (kernel_syms.lst): Remove the target if an error occurs.
50609
49986a9f 506102006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
50611
50612 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
50613 as it was simply too buggy.
50614
970d3b8a 506152006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
50616
50617 * kern/misc.c (grub_lltoa): New function.
50618 (grub_vsprintf): Added support for the long long suffix,
50619 i.e. "ll".
50620
ff04ec24 506212006-04-20 Hollis Blanchard <hollis@penguinppc.org>
50622
50623 * Makefile.in (LDFLAGS): Add variable.
50624 (LD): Remove variable.
50625 * configure.ac: Add -m32 to LDFLAGS.
50626 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
50627 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
50628 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
50629 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
50630 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
50631 variables.
50632 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
50633 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
50634 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
50635
37e5e1a4 506362006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
50637
50638 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
50639 length for unknown glyph.
50640
c352d8dd 506412006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50642
2eab1c0d 50643 Add support for pre-loaded modules into the EFI port.
f19dbdb7 50644
2eab1c0d 50645 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
50646 completely. Accept one more argument DIR. The caller has changed.
50647
50648 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
50649
50650 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
50651 (grub_efi_loaded_image_guid): New variable.
50652 (grub_efi_get_loaded_image): New function.
50653 (grub_arch_modules_addr): Likewise.
50654
50655 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
50656 prototype.
50657
50658 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
50659 (struct grub_efi_loaded_image): New structure.
50660 (grub_efi_loaded_image_t): New type.
50661
506622006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 50663
c352d8dd 50664 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
50665 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
50666 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
50667
6d01d6b4 506682006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
50669
50670 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
50671
976a4ea0 506722006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
50673
50674 * DISTLIST: Added include/grub/efi/console.h,
50675 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
50676 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50677
50678 * include/grub/efi/console.h: New file.
50679 * include/grub/efi/time.h: Likewise.
50680 * include/grub/i386/efi/kernel.h: Likewise.
50681 * kern/efi/init.c: Likewise.
50682 * kern/efi/mm.c: Likewise.
50683 * term/efi/console.c: Likewise.
f19dbdb7 50684
976a4ea0 50685 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
50686 (grub_stop): Removed.
50687 (grub_get_rtc): Likewise.
50688 (grub_machine_init): Simply call grub_efi_init.
50689 (grub_machine_fini): Call grub_efi_fini.
50690
50691 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
50692 (grub_efi_output_string): Removed.
50693 (grub_efi_stall): New function.
50694 (grub_stop): Likewise.
50695 (grub_get_rtc): Likewise.
50696
50697 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
50698 (grub_efi_stall): New prototype.
50699 (grub_efi_allocate_pages): Likewise.
50700 (grub_efi_free_pages): Likewise.
50701 (grub_efi_get_memory_map): Likewise.
50702 (grub_efi_mm_init): Likewise.
50703 (grub_efi_mm_fini): Likewise.
50704 (grub_efi_init): Likewise.
50705 (grub_efi_fini): Likewise.
50706
50707 * include/grub/i386/efi/time.h: Do not include
50708 grub/symbol.h. Include grub/efi/time.h.
50709 (GRUB_TICKS_PER_SECOND): Removed.
50710 (grub_get_rtc): Likewise.
50711
50712 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
50713 Added padding. The EFI spec is buggy.
50714 (GRUB_EFI_BLACK): New macro.
50715 (GRUB_EFI_BLUE): Likewise.
50716 (GRUB_EFI_GREEN): Likewise.
50717 (GRUB_EFI_CYAN): Likewise.
50718 (GRUB_EFI_RED): Likewise.
50719 (GRUB_EFI_MAGENTA): Likewise.
50720 (GRUB_EFI_BROWN): Likewise.
50721 (GRUB_EFI_LIGHTGRAY): Likewise.
50722 (GRUB_EFI_BRIGHT): Likewise.
50723 (GRUB_EFI_DARKGRAY): Likewise.
50724 (GRUB_EFI_LIGHTBLUE): Likewise.
50725 (GRUB_EFI_LIGHTGREEN): Likewise.
50726 (GRUB_EFI_LIGHTCYAN): Likewise.
50727 (GRUB_EFI_LIGHTRED): Likewise.
50728 (GRUB_EFI_LIGHTMAGENTA): Likewise.
50729 (GRUB_EFI_YELLOW): Likewise.
50730 (GRUB_EFI_WHITE): Likewise.
50731 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
50732 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
50733 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
50734 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
50735 (GRUB_EFI_BACKGROUND_RED): Likewise.
50736 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
50737 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
50738 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
50739 (GRUB_EFI_TEXT_ATTR): Likewise.
50740
50741 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
50742 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50743 (kernel_mod_HEADERS): Added efi/time.h.
50744
83709125 507452006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
50746
50747 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
50748 include/grub/efi/api.h, include/grub/efi/console_control.h,
50749 include/grub/efi/efi.h, include/grub/efi/pe32.h,
50750 include/grub/i386/efi/time.h, kern/efi/efi.c,
50751 kern/i386/efi/init.c, kern/i386/efi/startup.S,
50752 and util/i386/efi/grub-mkimage.c.
50753
50754 * Makefile.in (RMKFILES): Added i386-efi.rmk.
50755
50756 * genmk.rb (PModule#rule): Do not export symbols if
50757 #{prefix}_EXPORTS is set to "no".
50758
50759 * conf/i386-efi.mk: New file.
50760 * conf/i386-efi.rmk: Likewise.
50761 * include/grub/efi/api.h: Likewise.
50762 * include/grub/efi/console_control.h: Likewise.
50763 * include/grub/efi/efi.h: Likewise.
50764 * include/grub/efi/pe32.h: Likewise.
50765 * include/grub/i386/efi/time.h: Likewise.
50766 * kern/efi/efi.c: Likewise.
50767 * kern/i386/efi/init.c: Likewise.
50768 * kern/i386/efi/startup.S: Likewise.
50769 * util/i386/efi/grub-mkimage.c: Likewise.
50770
507712006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 50772
50773 * include/grub/script.h: Include <grub/parser.h> and
50774 "grub_script.tab.h".
50775 (struct grub_lexer_param): New struct.
50776 (struct grub_parser_param): Likewise.
50777 (grub_script_create_arglist): Pass the state in an argument.
50778 (grub_script_add_arglist): Likewise.
50779 (grub_script_create_cmdline): Likewise.
50780 (grub_script_create_cmdblock): Likewise.
50781 (grub_script_create_cmdif): Likewise.
50782 (grub_script_create_cmdmenu): Likewise.
50783 (grub_script_add_cmd): Likewise.
50784 (grub_script_arg_add): Likewise.
50785 (grub_script_lexer_ref): Likewise.
50786 (grub_script_lexer_deref): Likewise.
50787 (grub_script_lexer_record_start): Likewise.
50788 (grub_script_lexer_record_stop): Likewise.
50789 (grub_script_mem_record): Likewise.
50790 (grub_script_mem_record_stop): Likewise.
50791 (grub_script_malloc): Likewise.
50792 (grub_script_yylex): Likewise.
50793 (grub_script_yyparse): Likewise.
50794 (grub_script_yyerror): Likewise.
50795 (grub_script_yylex): Likewise.
50796 (grub_script_lexer_init): Return the state.
50797
50798 * normal/lexer.c (grub_script_lexer_state): Removed variable.
50799 (grub_script_lexer_done): Likewise.
50800 (grub_script_lexer_getline): Likewise.
50801 (grub_script_lexer_refs): Likewise.
50802 (script): Likewise.
50803 (newscript): Likewise.
50804 (record): Likewise.
50805 (recording): Likewise.
50806 (recordpos): Likewise.
50807 (recordlen): Likewise.
50808 (grub_script_lexer_init): Return the state instead of setting
50809 global variables.
50810 (grub_script_lexer_ref): Use the newly added argument for state
50811 instead of globals.
50812 (grub_script_lexer_deref): Likewise.
50813 (grub_script_lexer_record_start): Likewise.
50814 (grub_script_lexer_record_stop): Likewise.
50815 (recordchar): Likewise.
50816 (nextchar): Likewise.
50817 (grub_script_yylex2): Likewise.
50818 (grub_script_yylex): Likewise.
50819 (grub_script_yyerror): Likewise.
50820
50821 * normal/parser.y (func_mem): Removed variable.
50822 (menu_entry): Likewise.
50823 (err): Likewise.
50824 (%lex-param): New parser option.
50825 (%parse-param): Likewise.
50826 (script): Always return the AST.
50827 (argument): Pass the state around.
50828 (arguments): Likewise.
50829 (grubcmd): Likewise.
50830 (commands): Likewise.
50831 (function): Likewise.
50832 (menuentry): Likewise.
50833 (if_statement): Likewise.
50834 (if): Likewise.
50835
50836 * normal/script.c (grub_script_memused): Removed variable.
50837 (grub_script_parsed): Likewise.
50838 (grub_script_malloc): Added a state argument. Use that instead of
50839 global variables.
50840 (grub_script_mem_record): Likewise.
50841 (grub_script_mem_record_stop): Likewise.
50842 (grub_script_arg_add): Likewise.
50843 (grub_script_add_arglist): Likewise.
50844 (grub_script_create_cmdline): Likewise.
50845 (grub_script_create_cmdif): Likewise.
50846 (grub_script_create_cmdmenu): Likewise.
50847 (grub_script_add_cmd): Likewise.
50848 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 50849
e2a8c904 508502006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 50851
50852 * normal/command.c (grub_command_init): Remove the title command.
50853
50854 * normal/lexer.c (grub_script_yylex): Renamed from this...
50855 (grub_script_yylex2): ... to this.
50856 (grub_script_yylex): New function. Temporary
50857 introduced to filter some tokens.
50858 (grub_script_yyerror): Print a newline.
50859
50860 * normal/main.c (read_config_file): Output information about the
50861 lines that contain errors. Wait for a key after all lines have
50862 been processed. Don't return an empty menu.
50863
50864 * normal/parser.y (func_mem): Don't initialize.
50865 (menu_entry): Likewise.
50866 (err): New variable.
50867 (script): Don't return anything when an error was encountered.
50868 (ws, returns): Removed rules.
50869 (argument): Disabled concatenated variable support.
50870 (arguments): Remove explicit separators.
50871 (grubcmd): Likewise.
50872 (function): Likewise.
50873 (menuentry): Likewise.
50874 (if): Likewise.
50875 (commands): Likewise. Add error handling.
50876
50877 * normal/script.c (grub_script_create_cmdline): If
50878 `grub_script_parsed' is 0, assume the parser encountered an error.
50879
c9a86192 508802006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
50881
50882 * configure.ac: Add support for EFI. Fix the typo
50883 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
50884
70f3b243 508852006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50886
50887 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
50888 foreign multibyte characters should be shown correctly.
50889
65f201ad 508902006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50891
50892 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
50893 calculation.
50894 (read_config_file): Made it to close file before returning.
50895
b4b93674 508962006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
50897
50898 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
50899 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
50900 video/i386/pc/vbefill.c.
50901
50902 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
50903 video/i386/pc/vbefill.c.
50904
50905 * include/grub/video.h (grub_video_blit_format): New enum.
50906 (grub_video_mode_info): Added new member blit_format.
50907 (grub_video_get_blit_format): New function prototype.
50908
50909 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
50910 function prototype.
50911 (grub_video_vbe_map_rgb): Likewise.
50912 (grub_video_vbe_unmap_color): Likewise.
50913
50914 * include/grub/i386/pc/vbeblit.h: New file.
50915
50916 * include/grub/i386/pc/vbefill.h: New file.
50917
50918 * video/video.c (grub_video_get_blit_format): New function.
50919 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
50920 (grub_video_vbe_map_rgb): Likewise.
50921 (grub_video_vbe_unmap_color): Likewise.
50922
50923 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
50924 optimized fills.
50925 (grub_video_vbe_blit_render_target): Changed to use more optimized
50926 blits.
50927 (grub_video_vbe_setup): Added detection for optimized settings.
50928 (grub_video_vbe_create_render_target): Likewise.
50929
50930 * video/i386/pc/vbeblit.c: New file.
50931
50932 * video/i386/pc/vbefill.c: New file.
50933
c2379b9c 509342006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
50935
50936 * font/manager.c (grub_font_get_glyph): Removed font fixup from
50937 here...
50938
50939 * util/unifont2pff.rb: ... and moved it to here. Improved argument
50940 parsing to support both hex and dec ranges. If filename was missing
50941 show usage information.
50942
bd0d7896 509432006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
50944
50945 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
50946 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
50947
50948 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
50949 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
50950 (video_mod_SOURCES): Added.
50951 (video_mod_CFLAGS): Likewise.
50952 (video_mod_LDFLAGS): Likewise.
50953 (gfxterm_mod_SOURCES): Likewise.
50954 (gfxterm_mod_CFLAGS): Likewise.
50955 (gfxterm_mod_LDFLAGS): Likewise.
50956 (videotest_mod_SOURCES): Likewise.
50957 (videotest_mod_CFLAGS): Likewise.
50958 (videotest_mod_LDFLAGS): Likewise.
50959 (vesafb_mod_SOURCES): Removed.
50960 (vesafb_mod_CFLAGS): Likewise.
50961 (vesafb_mod_LDFLAGS): Likewise.
50962 (vga_mod_SOURCES): Likewise.
50963 (vga_mod_CFLAGS): Likewise.
50964 (vga_mod_LDFLAGS): Likewise.
50965
50966 * commands/videotest.c: New file.
50967
50968 * font/manager.c (fill_with_default_glyph): Modified to use
50969 grub_font_glyph.
50970 (grub_font_get_glyph): Likewise.
50971 (fontmanager): Renamed from this...
50972 (font_manager): ... to this.
50973
50974 * include/grub/font.h (grub_font_glyph): Added new structure.
50975 (grub_font_get_glyph): Modified to use grub_font_glyph.
50976
50977 * include/grub/misc.h (grub_abs): Added as inline function.
50978
50979 * include/grub/video.h: New file.
50980
50981 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
50982 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
50983 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
50984 (grub_vbe_get_controller_info): Renamed from this...
50985 (grub_vbe_bios_get_controller_info): ... to this.
50986 (grub_vbe_get_mode_info): Renamed from this...
50987 (grub_vbe_bios_get_mode_info): ... to this.
50988 (grub_vbe_set_mode): Renamed from this...
50989 (grub_vbe_bios_set_mode): ... to this.
50990 (grub_vbe_get_mode): Renamed from this...
50991 (grub_vbe_bios_get_mode): ... to this.
50992 (grub_vbe_set_memory_window): Renamed from this...
50993 (grub_vbe_bios_set_memory_window): ... to this.
50994 (grub_vbe_get_memory_window): Renamed from this...
50995 (grub_vbe_bios_get_memory_window): ... to this.
50996 (grub_vbe_set_scanline_length): Renamed from this...
50997 (grub_vbe_set_scanline_length): ... to this.
50998 (grub_vbe_get_scanline_length): Renamed from this...
50999 (grub_vbe_bios_get_scanline_length): ... to this.
51000 (grub_vbe_set_display_start): Renamed from this...
51001 (grub_vbe_bios_set_display_start): ... to this.
51002 (grub_vbe_get_display_start): Renamed from this...
51003 (grub_vbe_bios_get_display_start): ... to this.
51004 (grub_vbe_set_palette_data): Renamed from this...
51005 (grub_vbe_bios_set_palette_data): ... to this.
51006 (grub_vbe_set_pixel_rgb): Removed.
51007 (grub_vbe_set_pixel_index): Likewise.
51008
51009 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
51010 from this...
51011 (grub_vbe_bios_get_controller_info): ... to this.
51012 (grub_vbe_get_mode_info): Renamed from this...
51013 (grub_vbe_bios_get_mode_info): ... to this.
51014 (grub_vbe_set_mode): Renamed from this...
51015 (grub_vbe_bios_set_mode): ... to this.
51016 (grub_vbe_get_mode): Renamed from this...
51017 (grub_vbe_bios_get_mode): ... to this.
51018 (grub_vbe_set_memory_window): Renamed from this...
51019 (grub_vbe_bios_set_memory_window): ... to this.
51020 (grub_vbe_get_memory_window): Renamed from this...
51021 (grub_vbe_bios_get_memory_window): ... to this.
51022 (grub_vbe_set_scanline_length): Renamed from this...
51023 (grub_vbe_set_scanline_length): ... to this.
51024 (grub_vbe_get_scanline_length): Renamed from this...
51025 (grub_vbe_bios_get_scanline_length): ... to this.
51026 (grub_vbe_set_display_start): Renamed from this...
51027 (grub_vbe_bios_set_display_start): ... to this.
51028 (grub_vbe_get_display_start): Renamed from this...
51029 (grub_vbe_bios_get_display_start): ... to this.
51030 (grub_vbe_set_palette_data): Renamed from this...
51031 (grub_vbe_bios_set_palette_data): ... to this.
51032 (grub_vbe_bios_get_controller_info): Fixed problem with registers
51033 getting corrupted after calling it. Added more pushes and pops.
51034 (grub_vbe_bios_set_mode): Likewise.
51035 (grub_vbe_bios_get_mode): Likewise.
51036 (grub_vbe_bios_get_memory_window): Likewise.
51037 (grub_vbe_bios_set_scanline_length): Likewise.
51038 (grub_vbe_bios_get_scanline_length): Likewise.
51039 (grub_vbe_bios_get_display_start): Likewise.
51040 (grub_vbe_bios_set_palette_data): Likewise.
51041
51042 * normal/cmdline.c (cl_set_pos): Refresh the screen.
51043 (cl_insert): Likewise.
51044 (cl_delete): Likewise.
51045
51046 * term/gfxterm.c: New file.
51047
51048 * term/i386/pc/vesafb.c: Removed file.
51049
51050 * video/video.c: New file.
51051
51052 * video/i386/pc/vbe.c (real2pm): Added new function.
51053 (grub_video_vbe_draw_pixel): Likewise.
51054 (grub_video_vbe_get_video_ptr): Likewise.
51055 (grub_video_vbe_get_pixel): Likewise
51056 (grub_video_vbe_init): Likewise.
51057 (grub_video_vbe_fini): Likewise.
51058 (grub_video_vbe_setup): Likewise.
51059 (grub_video_vbe_get_info): Likewise.
51060 (grub_video_vbe_set_palette): Likewise.
51061 (grub_video_vbe_get_palette): Likewise.
51062 (grub_video_vbe_set_viewport): Likewise.
51063 (grub_video_vbe_get_viewport): Likewise.
51064 (grub_video_vbe_map_color): Likewise.
51065 (grub_video_vbe_map_rgb): Likewise.
51066 (grub_video_vbe_map_rgba): Likewise.
51067 (grub_video_vbe_unmap_color): Likewise.
51068 (grub_video_vbe_fill_rect): Likewise.
51069 (grub_video_vbe_blit_glyph): Likewise.
51070 (grub_video_vbe_blit_bitmap): Likewise.
51071 (grub_video_vbe_blit_render_target): Likewise.
51072 (grub_video_vbe_scroll): Likewise.
51073 (grub_video_vbe_swap_buffers): Likewise.
51074 (grub_video_vbe_create_render_target): Likewise.
51075 (grub_video_vbe_delete_render_target): Likewise.
51076 (grub_video_vbe_set_active_render_target): Likewise.
51077 (grub_vbe_set_pixel_rgb): Remove function.
51078 (grub_vbe_set_pixel_index): Likewise.
51079 (index_color_mode): Remove static variable.
51080 (active_mode): Likewise.
51081 (framebuffer): Likewise.
51082 (bytes_per_scan_line): Likewise.
51083 (grub_video_vbe_adapter): Added new static variable.
51084 (framebuffer): Likewise.
51085 (render_target): Likewise.
51086 (initial_mode): Likewise.
51087 (mode_in_use): Likewise.
51088 (mode_list): Likewise.
51089
5f97350b 510902006-03-10 Marco Gerards <marco@gnu.org>
51091
51092 * configure.ac (AC_INIT): Bumped to 1.93.
51093
51094 * DISTLIST: Added `include/grub/hfs.h'.
51095
a3c5c6f8 510962006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
51097
51098 * boot/i386/pc/boot.S (general_error): Before looping, try INT
51099 18H, which might help the BIOS falling back to next boot media.
51100
6de53d26 511012006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
51102
51103 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
51104 Poe Chen <poe.poechen@gmail.com>.
51105
77c4a393 511062006-01-17 Marco Gerards <marco@gnu.org>
51107
51108 * include/grub/normal.h: Include <grub/script.h>.
51109 (grub_command_list): Removed struct.
51110 (grub_command_list_t): Removed type.
51111 (grub_menu_entry): Remove members `num' and `command_list'. Add
51112 members `commands' and `sourcecode'.
51113 * include/grub/script.h: Add inclusion guards.
51114 (grub_script_cmd_menuentry): New struct.
51115 (grub_script_execute_menuentry): New prototype.
51116 (grub_script_lexer_record_start): Likewise.
51117 (grub_script_lexer_record_stop): Likewise.
51118 * normal/execute.c (grub_script_execute_menuentry): New function.
51119 * normal/lexer.c (record, recording, recordpos, recordlen): New
51120 variables.
51121 (grub_script_lexer_record_start): New function.
51122 (grub_script_lexer_record_stop): Likewise.
51123 (recordchar): Likewise.
51124 (nextchar): Likewise.
51125 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
51126 2048 as the buffer size. Add the tokens `menuentry' and `@'.
51127 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
51128 (current_menu): New variable.
51129 (free_menu): Mainly rewritten.
51130 (grub_normal_menu_addentry): New function.
51131 (read_config_file): Rewritten.
51132 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 51133 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 51134 the menu entry.
51135 (run): Mainly rewritten.
51136 * normal/parser.y (menu_entry): New variable.
51137 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
51138 (menuentry): New rule.
51139 (command): Add `menuentry'.
51140 (if_statement): Allow additional returns before `fi'.
51141 * normal/script.c (grub_script_create_cmdmenu): New function.
51142
144f1f98 511432006-01-03 Marco Gerards <marco@gnu.org>
51144
51145 * INSTALL: GNU Bison is required.
51146 * configure.ac: Rewritten the test to detect Bison.
51147 * Makefile.in (YACC): New variable. Reported by Xun Sun
51148 <xun.sun.cn@gmail.com>.
51149
af4b2d89 511502006-01-03 Marco Gerards <marco@gnu.org>
51151
51152 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
51153 the HFS+ filesystem to filesystem blocks.
51154 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
51155 GCC warning is silenced.
51156
15643b71 511572006-01-03 Marco Gerards <marco@gnu.org>
51158
51159 * partmap/apple.c (apple_partition_map_iterate): Convert the data
51160 read from disk from big endian to host byte order.
51161
00905879 511622006-01-03 Hollis Blanchard <hollis@penguinppc.org>
51163
51164 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
51165 documentation.
51166 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
51167 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
51168 embedded HFS+ filesystem.
51169 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
51170 (grub_hfs_sblock): Move from here...
51171 * include/grub/hfs.h: To here... New file.
51172 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
51173 documentation.
51174 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
51175 New macros.
51176 (grub_hfsplus_volheader): Change type of member `magic' to
51177 `grub_uint16_t'.
51178 (grub_hfsplus_data): Add new member `embedded_offset'.
51179 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
51180 returned block.
51181 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
51182 Calculate the offset.
51183
8899bc3e 511842005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51185
51186 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
51187 Removed.
51188 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
51189
ae8c0277 511902005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51191
51192 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
51193 ENV->NAME is NULL after allocating ENV->VALUE.
51194
07084456 511952005-12-25 Marco Gerards <marco@gnu.org>
51196
51197 * kern/env.c (grub_env_set): Rewritten the error handling code.
51198
4750f5f1 511992005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51200
51201 * geninit.sh: Made more robust, and more portable.
51202
50214199 512032005-12-25 Marco Gerards <marco@gnu.org>
51204
51205 Add support for Apple HFS+ filesystems.
f19dbdb7 51206
50214199 51207 * fs/hfsplus.c: New file.
51208
51209 * DISTLIST: Added `fs/hfsplus.c'.
51210
51211 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
51212 (hfsplus_mod_SOURCES): New variable.
51213 (hfsplus_mod_CFLAGS): Likewise.
51214 (hfsplus_mod_LDFLAGS): Likewise.
51215 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
51216 (grub_setup_SOURCES): Likewise.
51217 (grub_mkdevicemap_SOURCES): Likewise.
51218 (grub_emu_SOURCES): Likewise.
51219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51220
51221 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
51222
51223 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
51224
befaed6c 512252005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51226
51227 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
51228 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
51229 include/grub/parser.h, include/grub/script.h, kern/parser.c,
51230 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
51231 normal/lexer.c, normal/parser.y, normal/script.c, and
51232 partmap/gpt.c.
51233 Removed kern/sparc64/cache.c.
51234
51235 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
51236 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
51237 grub_emu_init.c.
51238
51239 * configure.ac (AC_INIT): Bumped to 1.92.
51240
6a124103 512412005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
51242
51243 * kern/err.c (grub_error_push): Added new function to support error
51244 stacks.
51245 (grub_error_pop): Likewise.
51246 (grub_error_stack_items): New local variable to support error stacks.
51247 (grub_error_stack_pos): Likewise.
51248 (grub_error_stack_assert): Likewise.
51249 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
51250 stack depth.
51251 (grub_print_error): Added support to print errors from error stack.
51252
51253 * include/grub/err.h (grub_error_push): Added function prototype.
51254 (grub_error_pop): Likewise.
51255
be973c1b 512562005-12-09 Hollis Blanchard <hollis@penguinppc.org>
51257
51258 * configure.ac: Accept `powerpc64' as host_cpu.
51259 (amd64): Rename to `biarch32'.
51260
51261 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
51262 non-cacheline-aligned addresses.
51263
51264 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
51265 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
51266 if `size' is non-zero.
51267
b04216ab 512682005-12-03 Marco Gerards <mgerards@xs4all.nl>
51269
51270 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
51271 and `cd' to make sure the filename is not prefixed with a
51272 directory name.
51273 (pkgdata_MODULES): Add `gpt.mod'.
51274 (gpt_mod_SOURCES): New variable.
51275 (gpt_mod_CFLAGS): Likewise.
51276 (gpt_mod_LDFLAGS): Likewise.
51277
51278 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
51279
51280 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
51281 New macro.
51282
51283 * partmap/gpt.c: New file.
51284
51285 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
51286 GPT partition map is detected.
51287
41730ed9 512882005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
51289
51290 * commands/i386/pc/play.c: New file.
51291 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
51292 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
51293 macros.
f19dbdb7 51294
95dc3643 512952005-11-27 Marco Gerards <mgerards@xs4all.nl>
51296
51297 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
51298 ((unused))' to silence gcc warning.
51299
1569ec51 513002005-11-26 Hollis Blanchard <hollis@penguinppc.org>
51301
51302 * configure.ac: Correct `AC_PROG_YACC' test.
51303
9abde152 513042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51305
51306 * util/powerpc/ieee1275/grub-install.in: Run the mount point
51307 check before installing files.
51308
44b83271 513092005-11-22 Mike Small <smallm@panix.com>
51310
51311 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
51312 number regex so multidigit numbers are recognized correctly.
51313
513142005-11-22 Mike Small <smallm@panix.com>
51315
51316 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
51317 debugging message before attempting to claim memory.
51318 (grub_rescue_cmd_initrd): Add a claim debugging message and try
51319 multiple addresses in case of failure.
51320
9c12956b 513212005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51322
51323 * term/tparm.c (get_space): Remove empty `if' statement.
51324
51325 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
51326
51327 * kern/parser.c (check_varstate): Rename `state' to 's'.
51328
aeaf81d9 513292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51330
51331 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
51332 variable definitions to the beginning of each function. Sort stack
51333 variables by size.
51334 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
51335 `buf' argument to `char *'.
51336
79bbb63f 513372005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51338
51339 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
51340 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 51341 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 51342 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51343 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51344 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51345 configfile.mod, search.mod, gzio.mod and test.mod.
51346 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51347 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51348 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51349 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51350 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51351 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51352 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51353 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51354 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51355 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51356 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51357 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51358 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51359 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51360 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51361 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51362 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51363 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51364 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51365 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51366 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51367 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51368 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
51369
51370 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
51371 `grep --include'.
51372 (pkgdata_MODULES): Add test.mod.
51373
233b1628 513742005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51375
51376 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
51377 appending to variables with "+=".
51378 (PModule): Use full pathname to generate *.lst filenames.
51379
51380 * Makefile.in: Fixed list rules moved from genmk.rb.
51381 (.DELETE_ON_ERROR): New special target.
51382 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
51383
51384 * conf/i386-pc.rmk: Include conf/common.mk.
51385 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 51386 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 51387 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51388 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51389 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51390 configfile.mod, search.mod, gzio.mod and test.mod.
51391 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51392 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51393 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51394 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51395 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51396 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51397 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51398 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51399 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51400 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51401 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51402 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51403 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51404 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51405 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51406 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51407 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51408 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51409 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51410 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51411 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51412 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51413 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
51414 here...
51415 * conf/common.rmk: ... to here. New file.
51416
51417 * conf/common.mk: New file.
51418
16f820c8 514192005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
51420
51421 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
51422 (grub_script.tab.c): ... here.
51423
51424 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
51425 (grub_script.tab.c): ... here.
51426
51427 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
51428 (grub_script.tab.c): ... here.
51429
51430 * normal/command.c (grub_command_find): Fixed a memory leak of
51431 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
51432
63ba1554 514332005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51434
51435 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
51436 "@" which marks the start of a comment on ARM.
51437 (VARIABLE): Likewise.
51438
7f67dc13 514392005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51440
79bbb63f 51441 Add support for Linux/ADFS partition tables.
7f67dc13 51442
51443 * partmap/acorn.c: New file.
51444
51445 * include/grub/acorn_filecore.h: Likewise.
51446
51447 * DISTLIST: Added `partmap/acorn.c' and
51448 `include/grub/acorn_filecore.h'.
f19dbdb7 51449
7f67dc13 51450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51451 `partmap/acorn.c'.
51452 (pkgdata_MODULES): Add `acorn.mod'.
51453 (acorn_mod_SOURCES): New variable.
51454 (acorn_mod_CFLAGS): Likewise.
51455
51456 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51457 `partmap/acorn.c'.
51458 (pkgdata_MODULES): Add `acorn.mod'.
51459 (acorn_mod_SOURCES): New variable.
51460 (acorn_mod_CFLAGS): Likewise.
51461
51462 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
51463 (pkgdata_MODULES): Add `acorn.mod'.
51464 (acorn_mod_SOURCES): New variable.
51465 (acorn_mod_CFLAGS): Likewise.
51466 (acorn_mod_LDFLAGS): Likewise.
51467
51468 * include/types.h (grub_disk_addr_t): New typedef.
51469
6d099807 514702005-11-13 Marco Gerards <mgerards@xs4all.nl>
51471
51472 * geninit.sh: New file.
51473
51474 * geninitheader.sh: Likewise.
51475
51476 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
51477 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
51478 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
51479 * commands/configfile.c (grub_configfile_init)
51480 (grub_configfile_fini): Likewise.
51481 * commands/default.c (grub_default_init, grub_default_fini):
51482 Likewise.
51483 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
51484 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
51485 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
51486 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
51487 Likewise.
51488 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
51489 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
51490 Likewise.
51491 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 51492 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 51493 Likewise.
51494 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
51495 Likewise.
fe6b695a 51496 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 51497 Likewise.
51498 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
51499 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
51500 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
51501 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
51502 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
51503 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
51504 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
51505 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
51506 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
51507 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
51508 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
51509 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
51510 * partmap/amiga.c (grub_amiga_partition_map_init)
51511 (grub_amiga_partition_map_fini): Likewise.
51512 * partmap/apple.c (grub_apple_partition_map_init)
51513 (grub_apple_partition_map_fini): Likewise.
51514 * partmap/pc.c (grub_pc_partition_map_init)
51515 (grub_pc_partition_map_fini): Likewise.
51516 * partmap/sun.c (grub_sun_partition_map_init,
51517 grub_sun_partition_map_fini): Likewise.
51518 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
51519 Likewise.
51520
51521 * util/grub-emu.c: Include <grub_modules_init.h>.
51522 (main): Don't initialize and de-initialize any modules directly,
51523 use `grub_init_all' and `grub_fini_all' instead.
51524
51525 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
51526 `grub_vesafb_mod_init'.
51527 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
51528 all users.
51529 * term/i386/pc/vga.c (grub_vga_init): Renamed to
51530 `grub_vga_mod_init'. Updated all users.
51531 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 51532
6d099807 51533 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
51534 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
51535 rules.
51536
51537 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
51538 Generate a function to initialize the module in utilities.
51539 Updated all callers.
51540 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
51541 initialize the module in utilities. Updated all callers.
51542
9046bcf0 515432005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51544
51545 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
51546 escape sequence and a literal ^L to clear the screen.
51547
51548 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
51549 when returning from Open Firmware.
51550
d13ea639 515512005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51552
51553 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
51554 (grub_ofconsole_height): Likewise.
51555 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
51556 manually insert a '\n'.
51557 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
51558 `grub_ofconsole_height'. Return early if these are already set.
51559
a8fcf206 515602005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
51561
51562 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51563 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
51564 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
51565 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
51566 and `normal/script.c'.
51567 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51568 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51569 (test_mod_SOURCES): New variable.
51570 (test_mod_CFLAGS): Likewise.
51571 (test_mod_LDFLAGS): Likewise.
51572 (pkgdata_MODULES): Add `test.mod'.
51573 (grub_script.tab.c): New rule.
51574 (grub_script.tab.h): Likewise.
51575
b6b32745 515762005-11-07 Marco Gerards <mgerards@xs4all.nl>
51577
51578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51579 `commands/test.c', `normal/execute.c', `normal/lexer.c',
51580 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51581 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51582 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51583 (test_mod_SOURCES): New variable.
51584 (test_mod_CFLAGS): Likewise.
51585 (pkgdata_MODULES): Add `test.mod'.
51586 (grub_script.tab.c): New rule.
51587 (grub_script.tab.h): Likewise.
51588
daac212a 515892005-11-06 Marco Gerards <mgerards@xs4all.nl>
51590
51591 Add initial scripting support.
51592
51593 * commands/test.c: New file.
51594 * include/grub/script.h: Likewise.
51595 * normal/execute.c: Likewise.
51596 * normal/function.c: Likewise.
51597 * normal/lexer.c: Likewise.
51598 * normal/parser.y: Likewise.
51599 * normal/script.c: Likewise.
51600
51601 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 51602
daac212a 51603 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
51604 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
51605 `normal/function.c' and `normal/script.c'.
51606 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51607 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 51608 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
51609 variables.
daac212a 51610 (pkgdata_MODULES): Add `test.mod'.
51611 (grub_script.tab.c): New rule.
51612 (grub_script.tab.h): Likewise.
51613
51614 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
51615
51616 * include/grub/normal.h (grub_test_init): New prototype.
51617 (grub_test_fini): Likewise.
f19dbdb7 51618
daac212a 51619 * normal/command.c: Include <grub/script.h>.
51620 (grub_command_execute): Rewritten.
f19dbdb7 51621
daac212a 51622 * util/grub-emu.c (main): Call `grub_test_init' and
51623 `grub_test_fini'.
51624
77500b2b 516252005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51626
51627 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
51628 to 0.
51629 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
51630 there are no pending characters.
51631
e45deb9e 516322005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51633
51634 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
51635 `grub_strndup' to drop device arguments. Replace unnecessary
51636 `grub_strndup' with `grub_strdup'.
51637
4ce32619 516382005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51639
51640 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
51641 `debug' environment variable has been set.
51642
516432005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51644
4ce32619 51645 * Makefile.in (install-local): Use $(DATA).
51646 (uninstall): Likewise.
51647 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
51648 (sbin_UTILITIES): ... to here.
51649 (sbin_SCRIPTS): New variable.
51650 (grub_install_SOURCES): New variable.
51651 * util/powerpc/ieee1275/grub-install.in: New file.
51652 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
51653 variable.
51654 (add_segments): Call `grub_util_get_path'.
51655
25fe6f03 516562005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
51657
51658 From Timothy Baldwin:
51659 * commands/ls.c (grub_ls_list_files): Close FILE with
51660 grub_file_close.
51661 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
51662
04ccf3ec 516632005-10-24 Marco Gerards <mgerards@xs4all.nl>
51664
51665 * include/grub/parser.h: New file.
51666
51667 * kern/parser.c: Likewise.
51668
51669 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
51670 (grub_setup_SOURCES): Likewise.
51671 (grub_probefs_SOURCES): Likewise.
51672 (grub_emu_SOURCES): Likewise.
51673 (kernel_img_HEADERS): Add `parser.h'.
51674
51675 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51676 (grub_emu_SOURCES): Add `kern/parser.c'.
51677 (grubof_SOURCES): Likewise.
51678
51679 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51680 (grubof_SOURCES): Add `kern/parser.c'.
51681
51682 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
51683
51684 * kern/misc.c (grub_split_cmdline): Removed function.
51685
51686 * kern/rescue.c: Include <grub/parser.h>.
51687 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
51688 of `grub_split_cmdline'.
51689
51690 * normal/command.c: Include <grub/parser.h>.
51691 (grub_command_execute): Use `grub_parser_split_cmdline' instead
51692 of `grub_split_cmdline'.
51693
51694 * normal/completion.c: Include <grub/parser.h>.
51695 (cmdline_state): New variable.
51696 (iterate_dir): End the filename with a quote depending on the
51697 command line state.
51698 (get_state): new function.
51699 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
51700 split the arguments and determine the current argument. When the
51701 argument string is not quoted, escape all spaces.
51702
6d8f4b0e 517032005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51704
51705 * normal/sparc64/setjmp.S: New file.
51706
15cf03ed 517072005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51708
51709 * include/grub/sparc64/libgcc.h: New file.
51710 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
51711 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
51712 normal/sparc64/setjmp.c.
51713
03e8661a 517142005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51715
51716 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
51717 * kern/sparc64/cache.S: New file.
51718 * kern/sparc64/cache.c: Removed.
51719 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
51720 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
51721 -mtune=ultrasparc.
51722 (COMMON_LDFLAGS): Add -melf64_sparc.
51723 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
51724 (grubof_SOURCES): Use cache.S instead of cache.c.
51725 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
51726 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
51727 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
51728 commented though.
51729 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
51730 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
51731 (linux_mod_CFLAGS): Commented out.
51732 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
51733 out because module isn't built.
51734 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
51735 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
51736 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
51737 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
51738 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
51739 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51740 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51741 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
51742 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
51743 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
51744 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51745 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51746 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
51747 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
51748
34eeec8a 517492005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
51750
51751 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
51752 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
51753 longer, because HFS should not be used on PC.
51754
708367a3 517552005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51756
51757 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
51758 consistently within the loop.
51759
6fa1251a 517602005-10-15 Marco Gerards <mgerards@xs4all.nl>
51761
51762 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
51763 directory can not be read.
51764
4801580b 517652005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51766
51767 * configure.ac (AC_INIT): Increase the version number to 1.91.
51768
51769 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
51770 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
51771 term/i386/pc/serial.c.
51772
219ad426 517732005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51774
51775 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
51776 file size must be permitted.
51777
51778 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
51779 between %ah and %al.
51780
688e5699 517812005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51782
51783 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
51784 grub_uint64_t.
51785 Call the hook with a NUL-terminated filename.
51786 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
51787 grub_cpu_to_be32.
51788
51789 * kern/term.c (cursor_state): New variable.
51790 (grub_term_set_current): Reset the cursor state on a new
51791 terminal.
51792 (grub_setcursor): Rewritten to use CURSOR_STATE.
51793 (grub_getcursor): New function.
51794
51795 * include/grub/term.h (grub_getcursor): New prototype.
51796
51797 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
51798 integers on ARM. Reported by Timothy Baldwin
51799 <T.E.Baldwin99@members.leeds.ac.uk>.
51800
bb34586c 518012005-10-11 Marco Gerards <mgerards@xs4all.nl>
51802
51803 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
51804 allocated.
51805 (grub_sfs_dir): Likewise.
51806
9a909877 518072005-10-09 Marco Gerards <mgerards@xs4all.nl>
51808
51809 Add support for the SFS filesystem.
51810
51811 * fs/sfs.c: New file.
51812
51813 * DISTLIST: Added `fs/sfs.c'.
51814
51815 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
51816 (grub_probefs_SOURCES): Likewise.
51817 (grub_emu_SOURCES): Likewise.
51818 (pkgdata_MODULES): Add `sfs.mod'.
51819 (sfs_mod_SOURCES): New variable.
51820 (sfs_mod_CFLAGS): Likewise.
51821 (sfs_mod_LDFLAGS): Likewise.
51822
51823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
51824 (pkgdata_MODULES): Add `sfs.mod'.
51825 (sfs_mod_SOURCES): New variable.
51826 (sfs_mod_CFLAGS): Likewise.
51827
51828 * util/grub-emu.c (main): Call `grub_sfs_init' and
51829 `grub_sfs_fini'.
51830
51831 * include/grub/fs.h (grub_sfs_init): New prototype.
51832 (grub_sfs_fini): Likewise.
51833
57bdbde3 518342005-10-07 Marco Gerards <mgerards@xs4all.nl>
51835
51836 Add support for the AFFS filesystem.
51837
51838 * fs/affs.c: New file.
51839
51840 * DISTLIST: Added `fs/affs.c'.
51841
51842 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
51843 (grub_probefs_SOURCES): Likewise.
51844 (grub_emu_SOURCES): Likewise.
51845 (pkgdata_MODULES): Add `affs.mod'.
51846 (affs_mod_SOURCES): New variable.
51847 (affs_mod_CFLAGS): Likewise.
51848 (affs_mod_LDFLAGS): Likewise.
51849
51850 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
51851 (pkgdata_MODULES): Add `affs.mod'.
51852 (affs_mod_SOURCES): New variable.
51853 (affs_mod_CFLAGS): Likewise.
51854
51855 * util/grub-emu.c (main): Call `grub_affs_init' and
51856 `grub_affs_fini'.
51857
51858 * include/grub/fs.h (grub_affs_init): New prototype.
51859 (grub_affs_fini): Likewise.
51860
047b67e0 518612005-10-01 Marco Gerards <mgerards@xs4all.nl>
51862
51863 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
51864
59b8208a 518652005-10-01 Marco Gerards <mgerards@xs4all.nl>
51866
51867 * configure.ac: Accept `x86_64' as host_cpu. In that case add
51868 `-m32' to CFLAGS.
51869
51870 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
51871 linking.
f19dbdb7 51872
59b8208a 51873 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
51874 (COMMON_LDFLAGS): New variable.
51875 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
51876 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
51877 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
51878 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
51879 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
51880 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
51881 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
51882 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
51883 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
51884 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
51885 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51886 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51887 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
51888 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
51889 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
51890 variables.
51891 (normal_mod_ASFLAGS): Add `-m32'.
51892
51893 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
51894 (grub_host_size_t, grub_host_ssize_t): New types.
51895 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 51896 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 51897 `GRUB_HOST_SIZEOF_VOID_P'.
51898
51899 * include/grub/kernel.h (struct grub_module_header): Type of
51900 member offset changed to `grub_host_off_t'. Type of member size
51901 changed to `grub_host_size_t'.
51902 (struct grub_module_info): Type of member offset changed to
51903 `grub_host_off_t'. Type of member size changed to
51904 `grub_host_size_t'.
51905
b4093103 519062005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
51907
51908 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 51909
b4093103 51910 * kern/i386/pc/startup.S (multiboot_header): New label.
51911 (multiboot_entry): Likewise.
51912 (multiboot_trampoline): Likewise.
51913
51914 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51915 Increased to 0x4A0.
51916
51917 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
51918 put parentheses after a question mark.
51919 [!GRUB_UTIL] (my_mod): New variable.
51920
51921 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
51922
b2499b29 519232005-09-28 Marco Gerards <mgerards@xs4all.nl>
51924
51925 Adds support for the XFS filesystem. Btrees are not supported
51926 yet.
51927
51928 * fs/xfs.c: New file.
51929
51930 * DISTLIST: Added `fs/xfs.c'.
51931
51932 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
51933 (grub_probefs_SOURCES): Likewise.
51934 (grub_emu_SOURCES): Likewise.
51935 (pkgdata_MODULES): Add `xfs.mod'.
51936 (xfs_mod_SOURCES): New variable.
51937 (xfs_mod_CFLAGS): Likewise.
51938
51939 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
51940 (pkgdata_MODULES): Add `xfs.mod'.
51941 (xfs_mod_SOURCES): New variable.
51942 (xfs_mod_CFLAGS): Likewise.
51943
51944 * util/grub-emu.c (main): Call `grub_xfs_init' and
51945 `grub_xfs_fini'.
51946
51947 * include/grub/fs.h (grub_xfs_init): New prototype.
51948 (grub_xfs_fini): Likewise.
51949
f19dbdb7 51950
83d37a62 519512005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
51952
51953 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
51954 color modes, allow greater than 16 colors to be configured as
51955 a default palette.
51956
47d2d65e 519572005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
51958
51959 * normal/completion.c (complete_arguments): Add the qualifier
51960 const into OPTIONS.
51961
51962 From Omniflux <omniflux+lists@omniflux.com>:
51963 * include/grub/terminfo.h: New file.
51964 * include/grub/tparm.h: Likewise.
51965 * include/grub/i386/pc/serial.h: Likewise.
51966 * term/terminfo.c: Likewise.
51967 * term/tparm.c: Likewise.
51968 * term/i386/pc/serial.c: Likewise.
51969 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
51970 serial.mod.
51971 (terminfo_mod_SOURCES): New variable.
51972 (terminfo_mod_CFLAGS): Likewise.
51973 (serial_mod_SOURCES): Likewise.
51974 (serial_mod_CFLAGS): Likewise.
51975
48b671ff 519762005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
51977
51978 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
51979 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
51980 and kern/powerpc/ieee1275/cmain.c, respectively.
51981
51982 * boot/powerpc/ieee1275/crt0.S: Moved to ...
51983 * kern/powerpc/ieee1275/crt0.S: ... here.
51984
51985 * boot/powerpc/ieee1275/cmain.c: Moved to ...
51986 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 51987
48b671ff 51988 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
51989 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
51990 instead of boot/powerpc/ieee1275/crt0.S and
51991 boot/powerpc/ieee1275/cmain.c, respectively.
51992
51993 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
51994 sectors. It was not used anyway.
51995
09fc77a7 519962005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51997
51998 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
51999 `unused parameter' warning.
52000
003789c7 520012005-08-30 Hollis Blanchard <hollis@penguinppc.org>
52002
52003 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
52004 function.
52005 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
52006 getcharwidth.
52007
67f44c86 520082005-08-28 Marco Gerards <metgerards@student.han.nl>
52009
52010 * include/grub/normal.h (enum grub_completion_type): Added
52011 `GRUB_COMPLETION_TYPE_ARGUMENT'.
52012
52013 * normal/cmdline.c (print_completion): Handle
52014 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
52015 * normal/menu_entry.c (store_completion): Likewise.
52016
52017 * normal/completion.c (complete_arguments): New function.
52018 (grub_normal_do_completion): Call `complete_arguments' when the
52019 current words start with a dash.
52020
0b5abe02 520212005-08-27 Marco Gerards <metgerards@student.han.nl>
52022
52023 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
52024 `gzio.mod' instead of `io.mod').
52025
d9864ee1 520262005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
52027
52028 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
52029 (DISTDIRS): Added io and video.
52030 Rewrite the search routine to make an output consistently.
52031
52032 * DISTLIST: Added conf/sparc64-ieee1275.mk,
52033 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
52034 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
52035 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
52036 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
52037 util/powerpc/ieee1275/misc.c.
f19dbdb7 52038
d9864ee1 52039 * include/grub/gzio.h: New file.
52040 * io/gzio.c: Likewise.
f19dbdb7 52041
d9864ee1 52042 * kern/file.c (grub_file_close): Call grub_device_close only if
52043 FILE->DEVICE is not NULL.
52044
52045 * include/grub/mm.h [!NULL] (NULL): New macro.
52046
52047 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
52048
52049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
52050 (pkgdata_MODULES): Added gzio.mod.
52051 (gzio_mod_SOURCES): New variable.
52052 (gzio_mod_CFLAGS): Likewise.
52053
52054 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
52055 (pkgdata_MODULES): Added gzio.mod.
52056 (gzio_mod_SOURCES): New variable.
52057 (gzio_mod_CFLAGS): Likewise.
52058
52059 * commands/cat.c: Include grub/gzio.h.
52060 (grub_cmd_cat): Use grub_gzfile_open instead of
52061 grub_file_open.
f19dbdb7 52062
d9864ee1 52063 * commands/cmp.c: Include grub/gzio.h.
52064 (grub_cmd_cmp): Use grub_gzfile_open instead of
52065 grub_file_open.
52066
52067 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
52068 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
52069 grub_file_open.
52070 (grub_rescue_cmd_module): Likewise.
52071
fa46f4b5 520722005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
52073
52074 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
52075 kern/sparc64/ieee1275/init.c because it contains _start.
52076 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
52077
e9211b5d 520782005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
52079
52080 * configure.ac: Add support for sparc64 host with ieee1275
52081 firmware.
52082 * configure: Generated from configure.ac.
52083 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
52084 instead of int.
52085 (grub_ofdisk_read): Likewise.
52086 (grub_ofdisk_open): Use %p to print pointer values, and cast the
52087 pointers as (void *) to remove a warning.
52088 (grub_ofdisk_close): Likewise.
52089 (grub_ofdisk_read): Likewise.
52090 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
52091 returns, so make it return void to remove a warning.
52092 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
52093 Corresponding prototype change.
52094 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
52095 values, and cast the pointers as (void *) to remove a warning.
52096 (grub_mm_dump): Likewise.
52097 * conf/sparc64-ieee1275.mk: New file.
52098 * conf/sparc64-ieee1275.rmk: Likewise.
52099 * include/grub/sparc64/setjmp.h: Likewise.
52100 * include/grub/sparc64/types.h: Likewise.
52101 * include/grub/sparc64/ieee1275/console.h: Likewise.
52102 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
52103 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
52104 * include/grub/sparc64/ieee1275/time.h: Likewise.
52105 * kern/sparc64/cache.c: Likewise.
52106 * kern/sparc64/dl.c: Likewise.
52107 * kern/sparc64/ieee1275/init.c: Likewise.
52108 * kern/sparc64/ieee1275/openfw.c: Likewise.
52109
385c6a92 521102005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52111
52112 * util/console.c (grub_ncurses_putchar): If C is greater than
52113 0x7f, set C to a question mark.
52114 (grub_ncurses_getcharwidth): New function.
52115 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
52116 getcharwidth.
52117
52118 * normal/menu.c (print_entry): Made aware of Unicode. First,
52119 convert TITLE to UCS-4, and predict the cursor position by
52120 grub_getcharwidth.
52121
52122 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
52123 const to SRC.
52124 * kern/misc.c (grub_utf16_to_utf8): Likewise.
52125
16ccb8b1 521262005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
52127
52128 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
52129 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
52130 grub_strcat.
52131
52132 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
52133 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
52134 grub_strcpy and grub_strlen. Take it into account that a space
52135 character is inserted as a delimiter.
52136
6a85ce79 521372005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
52138
52139 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 52140 invalid magic in the error.
6a85ce79 52141
52142 * commands/search.c: New file.
f19dbdb7 52143
6a85ce79 52144 * util/grub-emu.c (main): Call grub_search_init and
52145 grub_search_fini.
52146
52147 * kern/rescue.c (grub_rescue_print_disks): Removed.
52148 (grub_rescue_print_devices): New function.
52149 (grub_rescue_cmd_ls): Use grub_device_iterate with
52150 grub_rescue_print_devices instead of grub_disk_dev_iterate with
52151 grub_rescue_print_disks.
52152
52153 * kern/partition.c (grub_partition_iterate): Return the result of
52154 PARTMAP->ITERATE instead of GRUB_ERRNO.
52155
52156 * kern/device.c: Include grub/partition.h.
52157 (grub_device_iterate): New function.
52158
52159 * include/grub/partition.h (grub_partition_iterate): Return int
52160 instead of grub_err_t.
52161
52162 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
52163 prototype.
52164 [GRUB_UTIL] (grub_search_fini): Likewise.
52165
52166 * include/grub/device.h (grub_device_iterate): New prototype.
52167
52168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52169 commands/search.c.
52170 (pkgdata_MODULES): Added search.mod.
52171 (search_mod_SOURCES): New variable.
52172 (search_mod_CFLAGS): Likewise.
52173
52174 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
52175 (pkgdata_MODULES): Added search.mod.
52176 (search_mod_SOURCES): New variable.
52177 (search_mod_CFLAGS): Likewise.
52178
52179 * commands/ls.c (grub_ls_list_disks): Renamed to ...
52180 (grub_ls_list_devices): ... this, and use grub_device_iterate.
52181 All callers changed.
52182
52183 * DISTLIST: Added commands/search.c.
52184
ef095434 521852005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
52186
52187 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
52188 conversion.
52189 (grub_getcharwidth): New function.
52190
52191 * kern/misc.c (grub_utf8_to_ucs4): New function.
52192
52193 * include/grub/term.h (struct grub_term): Added a new member
52194 "getcharwidth".
52195 (grub_getcharwidth): New prototype.
52196
52197 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
52198
52199 * term/i386/pc/console.c (map_char): New function. Segregated from
52200 grub_console_putchar.
52201 (grub_console_putchar): Use map_char.
52202 (grub_console_getcharwidth): New function.
52203 (grub_console_term): Specified grub_console_getcharwidth as
52204 getcharwidth.
52205
52206 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
52207 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
52208
52209 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
52210 GRUB_ERRNO.
52211 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
52212 on grub_strtoul completely.
52213 (write_char): Declare local variables in the beginning of the
52214 function.
52215 (grub_vesafb_getcharwidth): New function.
52216 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
52217 getcharwidth.
52218
1f0a95e4 522192005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
52220
52221 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
52222 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
52223 commands/i386/pc/vbetest.c.
52224
52225 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
52226 call grub_vbe_get_controller_info again, because the returned
52227 information is volatile.
52228 (grub_vbe_set_video_mode): Mostly rewritten.
52229 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
52230 grub_vbe_status_t correctly.
52231 (grub_vbe_get_video_mode_info): Likewise.
52232 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
52233 several if statements.
52234
52235 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
52236 * commands/i386/pc/vbeinfo.c: ... this.
52237
52238 * commands/i386/pc/vbe_test.c: Renamed to ...
52239 * commands/i386/pc/vbetest.c: ... this.
52240
52241 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
52242 ...
52243 (grub_cmd_vbeinfo): ... this. Save video modes before
52244 iterating. Skip a video mode, if it is not available, not enough
52245 information is given or it is monochrome. Show the memory
52246 model. Leave the interpretation of MODEVAR to grub_strtoul
52247 completely.
52248 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
52249 (GRUB_MOD_FINI): Likewise.
52250
52251 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
52252 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
52253 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
52254 duplicated grub_env_get. Leave the interpretation of MODEVAR to
52255 grub_strtoul completely.
52256 (real2pm): Removed.
52257 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
52258 (GRUB_MOD_FINI): Likewise.
52259
52260 * normal/misc.c: Include grub/mm.h.
52261
52262 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
52263 vbe_list_modes with vbetest.mod and vbeinfo.mod.
52264 (vbe_list_modes_mod_SOURCES): Removed.
52265 (vbe_list_modes_mod_CFLAGS): Likewise.
52266 (vbe_test_mod_SOURCES): Likewise.
52267 (vbe_test_mod_CFLAGS): Likewise.
52268 (vbeinfo_mod_SOURCES): New variable.
52269 (vbeinfo_mod_CFLAGS): Likewise.
52270 (vbetest_mod_SOURCES): Likewise.
52271 (vbetest_mod_CFLAGS): Likewise.
52272
992ffbbe 522732005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
52274
52275 * normal/misc.c: New file.
52276
52277 * DISTLIST: Added normal/misc.c.
f19dbdb7 52278
992ffbbe 52279 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
52280 DISK to HOOK. Call HOOK with DISK.
52281 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52282 * partmap/pc.c (pc_partition_map_iterate): Likewise.
52283 * partmap/sun.c (sun_partition_map_iterate): Likewise.
52284
52285 * normal/menu_entry.c (struct screen): Added a new member
52286 "completion_shown".
52287 (completion_buffer): New global variable.
52288 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
52289 (store_completion): New function.
52290 (complete): Likewise.
52291 (clear_completions): Likewise.
52292 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
52293 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
52294 a tab, call complete.
52295
52296 * normal/completion.c (disk_dev): Removed.
52297 (print_simple_completion): Likewise.
52298 (print_partition_completion): Likewise.
52299 (print_func): New global variable.
52300 (add_completion): Do not take the arguments WHAT or PRINT any
52301 longer. Added a new argument TYPE. Instead of printing directly,
52302 call PRINT_FUNC if not NULL.
52303 All callers changed.
52304 (complete_device): Use a local variable DEV instead of
52305 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
52306 (grub_normal_do_completion): Take a new argument HOOK. Do not
52307 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
52308 empty string, return NULL instead.
52309 All callers changed.
52310
52311 * normal/cmdline.c (print_completion): New function.
52312
52313 * kern/partition.c (grub_partition_iterate): Add an argument DISK
52314 to HOOK.
52315 All callers changed.
52316
52317 * kern/disk.c (grub_print_partinfo): Removed.
52318
52319 * include/grub/partition.h (struct grub_partition_map): Add a new
52320 argument DISK into HOOK of ITERATE.
52321 (grub_partition_iterate): Add a new argument DISK to HOOK.
52322
52323 * include/grub/normal.h (enum grub_completion_type): New enum.
52324 (grub_completion_type_t): New type.
52325 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
52326 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
52327 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
52328 (GRUB_COMPLETION_TYPE_FILE): Likewise.
52329 (grub_normal_do_completion): Added a new argument HOOK.
52330 (grub_normal_print_device_info): New prototype.
52331
52332 * include/grub/disk.h (grub_print_partinfo): Removed.
52333
52334 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
52335 (normal_mod_SOURCES): Likewise.
52336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52337 (normal_mod_SOURCES): Likewise.
52338
52339 * commands/ls.c (grub_ls_list_disks): Use
52340 grub_normal_print_device_info instead of grub_print_partinfo. Free
52341 PNAME.
52342 (grub_ls_list_files): Use grub_normal_print_device_info instead of
52343 duplicating the code.
52344
0bd41162 523452005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52346
52347 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 52348 follow GCS more precisely.
52349 * commands/i386/pc/vbe_test.c: Likewise.
52350 * include/grub/i386/pc/vbe.h: Likewise.
52351 * term/i386/pc/vesafb.c: Likewise.
52352 * video/i386/pc/vbe.c: Likewise.
0bd41162 52353
6323696a 523542005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52355
52356 * DISTLIST: Added term/i386/pc/vesafb.c
52357 DISTLIST: Added video/i386/pc/vbe.c
52358 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
52359 DISTLIST: Added commands/i386/pc/vbe_test.c.
52360 * commands/i386/pc/vbe_list_modes.c: New file.
52361 * commands/i386/pc/vbe_test.c: Likewise.
52362 * term/i386/pc/vesafb.c: Likewise.
52363 * video/i386/pc/vbe.c: Likewise.
52364 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
52365 (grub_vbe_probe) Added prototype.
52366 (grub_vbe_set_video_mode) Likewise.
52367 (grub_vbe_get_video_mode) Likewise.
52368 (grub_vbe_get_video_mode_info) Likewise.
52369 (grub_vbe_set_pixel_rgb) Likewise.
52370 (grub_vbe_set_pixel_index) Likewise.
52371 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
52372 (pkgdata_MODULES): Added vesafb.mod.
52373 (pkgdata_MODULES): Added vbe_list_modes.mod.
52374 (pkgdata_MODULES): Added vbe_test.mod.
52375 (vbe_mod_SOURCES): Added.
52376 (vbe_mod_CFLAGS): Likewise.
52377 (vesafb_mod_SOURCES): Likewise.
52378 (vesafb_mod_CFLAGS): Likewise.
52379 (vbe_list_modes_mod_SOURCES): Likewise.
52380 (vbe_list_modes_mod_CFLAGS): Likewise.
52381 (vbe_test_mod_SOURCES): Likewise.
52382 (vbe_test_mod_CFLAGS): Likewise.
52383
0a74e62f 523842005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
52385
0a74e62f 52386 * normal/command.c (grub_command_execute): If INTERACTIVE is
52387 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
52388 CMDLINE. Disable the pager if INTERACTIVE is true.
52389 All callers are changed.
52390
52391 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
52392 before reading a config file.
52393 * normal/main.c (read_config_file): Even if a command is not
52394 found, register it if it is within an entry.
52395
52396 * util/grub-emu.c: Include sys/types.h and unistd.h.
52397 (options): Added --hold.
52398 (struct arguments): Added a new member "hold".
52399 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
52400 missing.
52401 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
52402 cleared by a debugger, if it is not zero.
52403
52404 * include/grub/normal.h (grub_command_execute): Add an argument
52405 INTERACTIVE.
52406
e51f85ae 524072005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
52408
52409 * DISTLIST: Added include/grub/i386/pc/vbe.h.
52410
e9c6f39b 524112005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
52412
52413 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
52414 program with another one, because the old one didn't detect a bug
52415 in gcc-3.4. Always use regparm 2, because the new test is still
52416 not enough for gcc-4.0. Someone must investigate a simple test
52417 case which detects a bug in gcc-4.0.
52418
8de3495c 524192005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
52420
52421 * DISTLIST: Added normal/completion.c.
52422
52423 * normal/completion.c: New file.
f19dbdb7 52424
8de3495c 52425 * term/i386/pc/console.c (grub_console_getwh): New function.
52426 (grub_console_term): Assign grub_console_getwh to getwh.
52427
52428 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
52429 function is defined in normal/completion.c as
52430 grub_normal_do_completion.
52431 (grub_cmdline_get): Use grub_normal_do_completion instead of
52432 grub_tab_complete.
52433
52434 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
52435 returns non-zero, otherwise return 0.
52436 (grub_partition_iterate): First, probe the partition map. Then,
52437 call ITERATE only for this partition map.
52438
52439 * kern/misc.c (grub_strncmp): Rewritten.
52440
52441 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
52442 returns non-zero. Otherwise return 0.
52443
52444 * include/grub/partition.h (grub_partition_map_iterate): Return
52445 int instead of void.
52446
52447 * include/grub/normal.h (grub_normal_do_completion): New prototype.
52448
52449 * include/grub/misc.h (grub_strncmp): Change the type of N to
52450 grub_size_t.
52451
52452 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
52453 of void.
52454
52455 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 52456 unsigned explicitly before comparing it with I.
8de3495c 52457
52458 * kern/main.c (grub_env_write_root): Add the attribute unused into
52459 VAR.
52460
52461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52462 normal/completion.c.
52463 (normal_mod_SOURCES): Likewise.
52464 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
52465 (normal_mod_SOURCES): Likewise.
52466
52467 * normal/command.c (grub_iterate_commands): If ITERATE returns
52468 non-zero, return one immediately.
52469
e85e144b 524702005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
52471
52472 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
52473 * kern/i386/pc/startup.S: Updated Global Descriptor table's
52474 descriptions.
52475 (grub_vbe_get_controller_info): New function.
52476 (grub_vbe_get_mode_info): Likewise.
52477 (grub_vbe_set_mode): Likewise.
52478 (grub_vbe_get_mode): Likewise.
52479 (grub_vbe_set_memory_window): Likewise.
52480 (grub_vbe_get_memory_window): Likewise.
52481 (grub_vbe_set_scanline_length): Likewise.
52482 (grub_vbe_get_scanline_length): Likewise.
52483 (grub_vbe_set_display_start): Likewise.
52484 (grub_vbe_get_display_start): Likewise.
52485 (grub_vbe_set_palette_data): Likewise.
52486 * include/grub/i386/pc/vbe.h: New file.
52487
c46153d2 524882005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52489
52490 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52491 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
52492 * DISTLIST: Likewise.
52493 * kern/ieee1275/of.c: Moved to ...
52494 * kern/ieee1275/ieee1275.c: ... here.
52495
0cb90c45 524962005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52497
52498 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
52499 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
52500 Pass 0 as `end' parameter to grub_strtoul().
52501
a19fb360 525022005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52503
52504 * include/grub/powerpc/ieee1275/console.h: Do not include
52505 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
52506 ifdef.
52507 (grub_console_cur_color): Remove i386-specific prototype.
52508 (grub_console_real_putchar): Likewise.
52509 (grub_console_checkkey): Likewise.
52510 (grub_console_getkey): Likewise.
52511 (grub_console_getxy): Likewise.
52512 (grub_console_gotoxy): Likewise.
52513 (grub_console_cls): Likewise.
52514 (grub_console_setcursor): Likewise.
52515 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
52516 Include <grub/machine/console.h>.
52517 * term/ieee1275/ofconsole.c: Likewise.
52518
4ac9bd04 525192005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
52520
52521 * Makefile.in (LIBLZO): New variable.
52522
52523 * configure.ac: Check for LZO version 2.
52524
52525 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
52526 lzo/lzo1x.h instead of lzo1x.h.
52527
52528 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
52529 of -llzo.
52530
52531 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
52532 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
52533
52534 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
52535 copying the data from PARTITION to P.
52536
f4917dfd 525372005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52538
52539 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
52540 negative, unload the module.
52541
52542 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
52543 map is "pc_partition_map" but not "pc".
52544 (usage): Fix the description. The options are --boot-image and
52545 --core-image but not --boot-file or --core-file.
52546 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
52547 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
52548 DEFAULT_DIRECTORY.
52549
52550 * util/i386/pc/grub-install.in: Do not specify --boot-file or
52551 --core-file. Specify INSTALL_DEVICE as an argument.
52552
52553 * util/console.c: Include config.h.
52554 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
52555 [HAVE_NCURSES_H]: Include ncurses.h.
52556 [HAVE_CURSES_H]: Include curses.h.
52557 [!A_NORMAL] (A_NORMAL): Defined as zero.
52558 [!A_STANDOUT] (A_STANDOUT): Likewise.
52559
52560 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
52561 -lncurses.
52562 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
52563
52564 * configure.ac: Check for curses libraries and headers.
52565
52566 * Makefile.in (LIBCURSES): New variable.
52567
52568 * genmk.rb (Script::rule): Set the executable bits.
52569
52570 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
52571 name of the PC partition map is "pc_partition_map" but not "pc".
52572
0e143073 525732005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52574
52575 * util/i386/pc/grub-install.in (grub_probefs): New variable.
52576 (modules): Likewise.
52577 (usage): Added descriptions for --modules and --grub-probefs.
52578 Handle --modules and --grub-probefs. Save the arguments in MODULES
52579 and GRUB_PROBEFS, respectively.
52580 Auto-detect a filesystem module against GRUBDIR. If the result is
52581 empty and modules are not specified explicitly, abort the
52582 installation. Add the result to MODULES.
52583
52584 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
52585 disk/powerpc/ieee1275/ofdisk.c,
52586 include/grub/powerpc/ieee1275/init.h and
52587 term/powerpc/ieee1275/ofconsole.c.
52588 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
52589 term/ieee1275/ofconsole.c.
52590
52591 * include/grub/powerpc/ieee1275/console.h: Resurrected.
52592
52593 * COPYING: Upgraded to the latest version. Only the address of the
52594 FSF office has changed.
f19dbdb7 52595
efd6e6d5 525962005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52597
52598 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52599 kern/ieee1275.c with kern/ieee1275/of.c.
52600
52601 * kern/ieee1275.c: Moved to ...
52602 * kern/ieee1275/of.c: ... here.
52603
8ceafda2 526042005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
52605
52606 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 52607 readability.
8ceafda2 52608
52609 * config.guess: Updated to the latest version from gnulib.
52610 * config.sub: Likewise.
52611 * install.sh: Likewise.
52612 * mkinstalldirs: Likewise.
52613
52614 * include/grub/console.h: Removed. This file is arch-specific. Do
52615 not put this in include/grub.
52616
52617 * include/grub/i386/pc/console.h: Resurrected.
52618
52619 * util/console.c: Include grub/machine/console.h instead of
52620 grub/console.h.
52621 * util/grub-emu.c: Likewise.
52622
267f6cd9 526232005-08-04 Marco Gerards <metgerards@student.han.nl>
52624
52625 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
52626 hardcoded value.
f19dbdb7 52627
267f6cd9 52628 From Vincent Pelletier <subdino2004@yahoo.fr>
52629 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
52630 Redefined to use grub_getwh.
52631 (grub_term): New member named getwh.
52632 (grub_getwh): New prototype.
52633 * kern/term.c (grub_getwh): New function.
52634 * term/i386/pc/console.c (grub_console_getwh): New function.
52635 (grub_console_term): New member `getwh'.
52636 * term/i386/pc/vga.c (grub_vga_getwh): New function.
52637 (grub_vga_term): New member `getwh'.
0b5abe02 52638 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 52639 grub_ssize_t.
52640 (grub_ofconsole_getw): New function.
52641 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
52642 (grub_ofconsole_term): New field named getwh and new initial
52643 value.
52644
3be7266d 526452005-08-03 Hollis Blanchard <hollis@penguinppc.org>
52646
52647 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
52648 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
52649 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
52650 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
52651 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
52652 of <grub/machine/ieee1275.h>.
52653 * commands/ieee1275/reboot.c: Likewise.
52654 * boot/powerpc/ieee1275/ieee1275.c: Move ...
52655 * kern/ieee1275.c: ... to here. All users updated. Change all
52656 parameter structs to use new type `grub_ieee1275_cell_t'.
52657 * term/powerpc/ieee1275/ofconsole.c: Move ...
52658 * term/ieee1275/ofconsole.c: ... to here. All users updated.
52659 * disk/powerpc/ieee1275/ofdisk.c: Move ...
52660 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
52661 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
52662 to return int.
52663 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
52664 Remove unused prototypes. All users updated.
52665 * include/grub/powerpc/ieee1275/console.h: Removed.
52666 * include/grub/powerpc/ieee1275/ieee1275.h: Define
52667 `grub_ieee1275_cell_t'.
52668 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
52669 Cast comparisons with -1 to the correct type.
52670 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
52671 type to match `grub_ieee1275_entry_fn'.
52672
8b5f3938 526732005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
52674
52675 * DISTLIST: Added util/i386/pc/grub-probefs.c.
52676
52677 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
52678 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
52679 partmap/sun.c.
52680 (grub_probefs_SOURCES): New variable.
52681
52682 * util/i386/pc/grub-probefs.c: New file.
52683
52684 * util/i386/pc/grub-setup.c (main): Call
52685 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
52686 grub_hfs_init and grub_jfs_init to initialize the system. Call
52687 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
52688 grub_pc_partition_map_fini to finish the system.
52689
ea409713 526902005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
52691
52692 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
52693 function.
52694 (grub_multiboot_load_elf32): Likewise.
52695 (grub_multiboot_is_elf64): Likewise.
52696 (grub_multiboot_load_elf64): Likewise.
52697 (grub_multiboot_load_elf): Likewise.
52698 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
52699 an ELF32 or ELF64 file.
52700 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
52701
52702 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
52703 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
52704 NULL before calling FS->LABEL.
52705 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
52706 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
52707 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
52708 before calling FS->LABEL.
52709
141a288b 527102005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
52711
52712 * util/i386/pc/grub-install.in (datadir): New variable.
52713 (libdir): Removed.
52714 (pkgdatadir): New variable.
52715 (pkglibdir): Removed.
52716
0d5f8a54 527172005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
52718
52719 * DISTLIST: Added util/i386/pc/grub-install.in.
52720
52721 * util/i386/pc/grub-install.in: New file.
52722
52723 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
52724 (grub_install_SOURCES): Likewise.
52725
52726 * genmk.rb: Added support for scripts.
52727 (Script): New class.
52728 (scripts): New variable.
52729
52730 * Makefile.in (install-local): Install sbin_SCRIPTS by
52731 INSTALL_SCRIPT.
52732 (uninstall): Remove sbin_SCRIPTS.
52733
52734 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
52735 device, try to get a GRUB device by
52736 grub_util_biosdisk_get_grub_dev.
52737 Free DEST_DEV.
52738
52739 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
52740 description for --device-map.
52741
5f968e1e 527422005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52743
52744 Change the semantics of variable hooks. They now return strings
52745 instead of error values.
f19dbdb7 52746
5f968e1e 52747 * util/i386/pc/grub-setup.c: Include grub/env.h.
52748 (setup): Use grub_device_set_root instead of grub_env_set.
52749
52750 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
52751 grub_env_get instead of grub_device_set_root and
52752 grub_device_get_root, respectively.
52753
52754 * kern/main.c (grub_env_write_root): New function.
52755 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
52756 grub_env_set instead of grub_device_set_root.
52757
52758 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
52759 many variables.
52760 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
52761 rather than calling ENV->WRITE_HOOK afterwards.
52762 (grub_env_get): Return the result of ENV->READ_HOOK rather than
52763 passing a pointer of a pointer.
52764 (grub_register_variable_hook): Change the types of "read_hook" and
52765 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
52766 respectively.
52767 Allocate the default empty string on the heap, because this string
52768 may be freed later.
52769
52770 * kern/device.c: Include grub/env.h.
52771 (grub_device_set_root): Removed.
52772 (grub_device_get_root): Likewise.
52773 (grub_device_open): Use grub_env_get instead of
52774 grub_device_get_root.
52775
52776 * include/grub/env.h (grub_env_read_hook_t): New type.
52777 (grub_env_write_hook_t): Likewise.
52778 (grub_env_var): Change the types of "read_hook" and "write_hook"
52779 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
52780 (grub_register_variable_hook): Likewise.
52781
52782 * include/grub/device.h (grub_device_set_root): Removed.
52783 (grub_device_set_root): Likewise.
52784
52785 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
52786 make sure that DIRNAME terminates with '/', so that
52787 grub_fat_find_dir will fail if PATH is not a directory.
52788
52789 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
52790 from DIRNAME.
52791 Use the qualifier auto for print_files and print_files_long.
52792 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
52793 as a regular file.
52794 Put a newline only if there is no error.
52795 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
52796 used.
52797
896f0afd 527982005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52799
52800 * kern/partition.c (grub_partition_probe): Initialize PART to
52801 NULL. Otherwise, when no partition map is registered, this returns
52802 a garbage.
52803
b28b81b2 528042005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
52805
52806 * partmap/apple.c (apple_partition_map_iterate): Check if POS
52807 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
52808 valid.
52809
5f3607e0 528102005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
52811
52812 * commands/ls.c (grub_ls_list_disks): Print the filesystem
52813 information on each device, if it does not have partitions. Print
52814 "Device" instead of "Disk", because this function is not specific
52815 to disk devices.
52816
52817 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
52818 static to ensure that it is put on the memory rather than a
52819 register.
52820
502c87e8 528212005-07-17 Yoshinori Okuji <okuji@enbug.org>
52822
52823 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
52824 (grub_cat_init): Likewise.
52825 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
52826 (options): Likewise.
52827 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
52828 (grub_configfile_init): Likewise.
52829 * font/manager.c (GRUB_MOD_INIT): Likewise.
52830 * commands/help.c (GRUB_MOD_INIT): Likewise.
52831 (grub_help_init): Likewise.
52832 * normal/command.c (grub_command_init): Likewise.
52833 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
52834 * disk/loopback.c (grub_loop_init): Likewise.
52835 (GRUB_MOD_INIT): Likewise.
52836 * commands/ls.c (grub_ls_init): Likewise.
52837 (GRUB_MOD_INIT): Likewise.
52838 (options): Likewise.
52839 * commands/boot.c (grub_boot_init): Likewise.
52840 (GRUB_MOD_INIT): Likewise.
52841 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
52842 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
52843 (GRUB_MOD_INIT): Likewise.
52844 * commands/cmp.c (grub_cmp_init): Likewise.
52845 (GRUB_MOD_INIT): Likewise.
52846
52847 * normal/arg.c: Use <> instead of "" to include header files.
52848 (SHORT_ARG_HELP): New macro.
52849 (SHORT_ARG_USAGE): Likewise.
52850 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
52851 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
52852 descriptions.
52853 (find_short): Check if C is 'h' or 'u' explicitly.
52854 (grub_arg_show_help): Use space characters instead of tabs. Treat
52855 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
52856 are shown with --help and --usage only if they are not used for
52857 the command itself.
52858 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
52859 'h' and 'u'.
52860
52861 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
52862 const into "longarg". Change the type of "shortarg" to int.
52863
f806d18e 528642005-07-17 Yoshinori Okuji <okuji@enbug.org>
52865
52866 * boot/i386/pc/boot.S (boot_drive_check): New label.
52867
52868 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
52869 macro.
52870
52871 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
52872 which do not pass a boot drive correctly. Copied from GRUB Legacy.
52873
e293232b 528742005-07-17 Yoshinori Okuji <okuji@enbug.org>
52875
52876 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
52877 When turning off Gate A20, skip the check and return immediately,
52878 because this is not fatal usually.
52879
ebedfd00 528802005-07-17 Yoshinori Okuji <okuji@enbug.org>
52881
52882 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
52883 be 0x7C00 instead of 0x8000.
52884
52885 * boot/i386/pc/pxeboot.S: Rewritten.
52886
52887 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
52888 EXT_C.
52889 (gate_a20_check_state): Read a byte from 0x108000. Invert the
52890 result.
52891
654fc59f 528922005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
52893
52894 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
52895 robustness. This routine now supports a BIOS call and System
52896 Control Port A to modify the gate A20.
52897
52898 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
52899 Increased to 0x440.
52900
09f9923f 529012005-07-12 Hollis Blanchard <hollis@penguinppc.org>
52902
52903 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
52904 device path and resulting ihandle.
52905 (grub_ofdisk_close): dprintf the ihandle being closed.
52906 (grub_ofdisk_read): dprintf function parameters.
52907 * kern/mm.c (grub_mm_init_region): Likewise.
52908 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
52909 (grub_linux_boot): dprintf the Linux entry point, initrd address and
52910 size, and boot arguments.
52911 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
52912 before loading into memory.
52913 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
52914 before loading into memory.
52915
7ef504d8 529162005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
52917
52918 * kern/mm.c: Added much documentation.
52919 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
52920 8, set to 5 instead of 8.
52921
e0f050c2 529222005-07-10 Yoshinori Okuji <okuji@enbug.org>
52923
52924 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
52925
52926 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
52927 (grub_mkdevicemap_SOURCES): New variable.
52928
52929 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
52930 lib/device.c of GRUB Legacy.
52931
7224189a 529322005-07-10 Yoshinori Okuji <okuji@enbug.org>
52933
52934 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
52935 instead of PATH is NULL.
52936
68c864eb 529372005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
52938
52939 * commands/cmp.c (BUFFER_SIZE): New macro.
52940 (grub_cmd_cmp): Close the right file at the right time. Compare
52941 only data just read. Don't report files of different size as
52942 identical. Dynamically allocate buffers. Move variable
52943 declarations at the beginning of function.
52944
e6f3e614 529452005-07-09 Yoshinori Okuji <okuji@enbug.org>
52946
52947 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
52948 reverse.
52949
f8f1559a 529502004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
52951
52952 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
52953 when backspace is pressed at beginning of line.
52954
39c9d41d 529552005-07-03 Yoshinori Okuji <okuji@enbug.org>
52956
52957 * DISTLIST: Added genfslist.sh.
52958
52959 * normal/main.c (fs_module_list): New variable.
52960 (autoload_fs_module): New function.
52961 (read_fs_list): Likewise.
52962 (grub_normal_execute): Call read_fs_list.
52963
52964 * kern/fs.c (grub_fs_autoload_hook): New variable.
52965 (grub_fs_probe): Added support for auto-loading.
52966
52967 * include/grub/normal.h (struct grub_fs_module_list): New struct.
52968 (grub_fs_module_list_t): New type.
52969
52970 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
52971 (grub_fs_autoload_hook): New prototype.
52972
52973 * genfslist.sh: New file.
f19dbdb7 52974
39c9d41d 52975 * genmk.rb: Added a rule to generate a filesystem list.
52976
121c1d83 529772005-06-30 Marco Gerards <metgerards@student.han.nl>
52978
52979 * configure.ac: Fix the test for cross-compiling.
52980
52981 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
52982 define GRUB_UTIL anymore.
52983
52984 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
52985 so this function works on other systems than just big endian.
52986 (load_modules): Likewise.
52987 (add_segments): Likewise.
52988
e75d76e1 529892005-06-23 Hollis Blanchard <hollis@penguinppc.org>
52990
52991 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
52992 contains `l' modifier, get a long from va_arg().
52993
50b5a0a7 529942005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
52995
52996 * kern/mm.c (grub_free): If the next free block which is being
52997 merged is the first free block, set the first block to the block
52998 being freed.
52999 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
53000
89371b20 530012005-05-08 Hollis Blanchard <hollis@penguinppc.org>
53002
53003 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
53004 `grub_ieee1275_chosen'.
53005
168d6e58 530062005-05-08 Hollis Blanchard <hollis@penguinppc.org>
53007
53008 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
53009 (grub_ieee1275_chosen): New variable.
53010 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
53011 `chosen'.
53012 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
53013 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53014 Rename first argument to `phandle' for consistency.
53015 (grub_ieee1275_get_property_length): Likewise.
53016 (grub_ieee1275_next_property): Likewise. Change type of first argument
53017 to grub_ieee1275_phandle_t.
53018 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
53019 Move export next to declaration.
53020 (grub_ieee1275_chosen): New variable.
53021 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
53022 Correct cosmetic typo.
53023 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
53024 `grub_ieee1275_chosen'.
53025 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
53026 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
53027 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
53028 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
53029 `grub_ieee1275_chosen'.
53030
ca5baa3f 530312005-05-10 Hollis Blanchard <hollis@penguinppc.org>
53032
53033 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
53034 /chosen/bootargs.
53035 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
53036 /chosen/bootargs as "variable=value" pairs.
53037
708b345f 530382005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
53039
53040 * include/grub/misc.h (grub_dprintf): New macro.
53041 (grub_real_dprintf): New prototype.
53042 (grub_strword): Likewise.
53043 (grub_iswordseparator): Likewise.
53044 * kern/misc.c (grub_real_dprintf): New function.
53045 (grub_strword): Likewise.
53046 (grub_iswordseparator): Likewise.
53047
f4c5e67c 530482005-04-30 Hollis Blanchard <hollis@penguinppc.org>
53049
53050 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
53051 (roundup): Remove macro.
53052 (grub_ieee1275_flags): Make static.
53053 (grub_ieee1275_realmode): Remove.
53054 (grub_ieee1275_test_flag): New function.
53055 (grub_ieee1275_set_flag): Likewise.
53056 (find_options): Rename to `grub_ieee1275_find_options'; update
53057 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
53058 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
53059 (cmain): New prototype.
53060 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
53061 `grub_ieee1275_flags' directly.
53062 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
53063 machine/biosdisk.h.
53064 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
53065 Don't include grub/machine/init.h.
53066 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
53067 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53068 Remove prototype.
53069 (grub_ieee1275_realmode): Likewise.
53070 (grub_ieee1275_flag): New enum.
53071 (grub_ieee1275_test_flag): New prototype.
53072 (grub_ieee1275_set_flag): New prototype.
53073 * include/grub/powerpc/ieee1275/init.h: Remove file.
53074 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
53075 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
53076 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
53077 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
53078 comment.
53079 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
53080 `grub_ieee1275_test_flag'.
53081 (grub_ieee1275_encode_devname): Likewise.
53082
ed16607e 530832005-04-21 Hollis Blanchard <hollis@penguinppc.org>
53084
53085 * include/grub/powerpc/ieee1275/ieee1275.h
53086 (grub_ieee1275_encode_devname): New prototype.
53087 (grub_ieee1275_get_filename): Likewise.
53088 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
53089 function.
53090 (grub_set_prefix): Likewise.
53091 (grub_machine_init): Call grub_set_prefix.
53092 * kern/powerpc/ieee1275/openfw.c: Fix typos.
53093 (grub_parse_type): New enum.
53094 (grub_ieee1275_get_devargs): New function.
53095 (grub_ieee1275_get_devname): Likewise.
53096 (grub_ieee1275_parse_args): Likewise.
53097 (grub_ieee1275_get_filename): Likewise.
53098 (grub_ieee1275_encode_devname): Likewise.
53099
be369920 531002005-03-30 Marco Gerards <metgerards@student.han.nl>
53101
53102 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
53103 `grub_loader_unset'.
53104
a5ce3a4a 531052005-03-26 Hollis Blanchard <hollis@penguinppc.org>
53106
53107 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
53108 instead of grub_ieee1275_interpret.
53109 (grub_halt_init): New function.
53110 (grub_halt_fini): Likewise.
53111 (GRUB_MOD_INIT): Correct message grammar.
53112 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
53113 instead of grub_ieee1275_interpret.
53114 (grub_reboot_init): New function.
53115 (grub_reboot_fini): Likewise.
53116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
53117 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
53118 util/i386/pc/misc.c with commands/ieee1275/halt.c,
53119 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
53120 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
53121 function.
53122 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
53123 Add prototype.
53124 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
53125 prototype.
53126 (grub_halt): Likewise.
53127 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
53128 (cmain): Remove __attribute__((unused)).
53129 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
53130 (grub_heap_len): Likewise.
53131 (grub_machine_fini): New function.
53132 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
53133 (grub_halt): Likewise.
53134 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
53135 function.
53136 * util/powerpc/ieee1275/misc.c: New file.
53137
0058f771 531382005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
53139
53140 * DISTLIST: New file.
53141 * gendistlist.sh: Likewise.
f19dbdb7 53142
0058f771 53143 * Makefile.in (COMMON_DISTFILES): Removed.
53144 (BOOT_DISTFILES): Likewise.
53145 (CONF_DISTFILES): Likewise.
53146 (DISK_DISTFILES): Likewise.
53147 (FS_DISTFILES): Likewise.
53148 (INCLUDE_DISTFILES): Likewise.
53149 (KERN_DISTFILES): Likewise.
53150 (LOADER_DISTFILES): Likewise.
53151 (TERM_DISTFILES): Likewise.
53152 (UTIL_DISTFILES): Likewise.
53153 (DISTFILES): Likewise.
53154 (uninstall): Uninstall files in $(pkgdata_DATA).
53155 (DISTLIST): New target.
53156 (distdir): Use the contents of the file DISTLIST to get a list of
53157 distributed files.
53158
46b3b8a5 531592005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
53160
53161 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
53162 descriptor. This is ported from GRUB Legacy.
53163
53164 * gencmdlist.sh: Added an extra semicolon to make it work with
53165 old sed versions. Reported by Robert Bihlmeyer
53166 <robbe@orcus.priv.at>.
53167
5822ff87 531682005-03-08 Yoshinori Okuji <okuji@enbug.org>
53169
53170 Automatic loading of commands is supported.
f19dbdb7 53171
5822ff87 53172 * normal/main.c (read_command_list): New function.
53173 (grub_normal_execute): Call read_command_list.
53174
53175 * normal/command.c (grub_register_command): Return zero or CMD.
53176 Allocate CMD->NAME from the heap.
53177 Initialize CMD->MODULE_NAME to zero.
53178 Find the same name as well. If the same command is found and it is
53179 a dummy command, overwrite members. If it is not a dummy command,
53180 return zero.
53181 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
53182 (grub_command_find): If a dummy command is found, load a module
53183 and retry to find a command only once.
53184
53185 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
53186 make sure that each command is loaded.
53187
53188 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
53189 macro.
53190 (struct grub_command): Remove const from the member `name'.
53191 Add a new member `module_name'.
53192 (grub_register_command): Return grub_command_t.
53193
53194 * commands/help.c (grub_cmd_help): Call grub_command_find to make
53195 sure that each command is loaded.
53196
53197 * genmk.rb (PModule::rule): Specify a module name without the
53198 suffix ".mod" to gencmdlist.sh.
53199
7b1f4b57 532002005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
53201
53202 * gencmdlist.sh: New file.
f19dbdb7 53203
7b1f4b57 53204 * genmk.rb (PModule::rule): Generate a rule for a command list.
53205 Clean command.lst.
53206 Generate command.lst from $(COMMANDFILES).
53207
53208 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
53209 (DATA): Added $(pkgdata_DATA).
53210 (install-local): Install files in $(pkgdata_DATA).
53211
062aaf39 532122005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
53213
53214 * term/i386/pc/vga.c (debug_command): Removed.
53215 (GRUB_MOD_INIT): Do not register the command "debug".
53216
53217 From Hollis Blanchard:
53218 * commands/configfile.c: New file.
53219 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53220 commands/configfile.c.
53221 (pkgdata_MODULES): Added configfile.mod.
53222 (configfile_mod_SOURCES): New variable.
53223 (configfile_mod_CFLAGS): Likewise.
53224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
53225 commands/configfile.c.
53226 (pkgdata_MODULES): Added configfile.mod.
53227 (configfile_mod_SOURCES): New variable.
53228 (configfile_mod_CFLAGS): Likewise.
53229 * util/grub-emu.c (main): Call grub_configfile_init and
53230 grub_configfile_fini.
53231 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
53232 prototype.
53233 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 53234
cee01aa6 532352005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
53236
53237 * normal/arg.c (grub_arg_show_help): Do not show the bug report
53238 address.
53239
53240 * commands/help.c (grub_cmd_help): Do not print newlines after
53241 the last command in print_command_help.
53242
93f3a1d8 532432005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
53244
53245 * commands/default.h: New file.
53246 * commands/timeout.h: Likewise.
53247 * normal/context.c: Likewise.
f19dbdb7 53248
93f3a1d8 53249 * util/misc.c: Do not include sys/times.h.
53250 Include sys/time.h and grub/machine/time.h.
53251 (grub_get_rtc): Rewritten with gettimeofday.
53252
53253 * util/grub-emu.c (main): Call grub_default_init and
53254 grub_timeout_init before grub_normal_init, and call
53255 grub_timeout_fini and grub_default_fini after grub_main.
53256
53257 * util/console.c (grub_ncurses_checkkey): Return the read
53258 character or -1.
53259
53260 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
53261 timeouts.
53262
53263 * normal/main.c (read_config_file): Push MENU. If this fails,
53264 print an error and wait for a user input.
53265 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
53266 If a menu is empty or an error occurs, pop MENU.
53267 (grub_normal_execute): Pop and free MENU after grub_menu_run
53268 returns.
53269
53270 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
53271
53272 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
53273 include time.h.
53274 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53275 without GRUB_UTIL.
53276 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
53277 time.h.
53278 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53279 without GRUB_UTIL.
53280
53281 * include/grub/normal.h (struct grub_menu_list): New struct.
53282 (grub_menu_list_t): New type.
53283 (struct grub_context): New struct.
53284 (grub_context_t): New type.
53285 (grub_register_command): Got rid of EXPORT_FUNC.
53286 (grub_unregister_command): Likewise.
53287 (grub_context_get): New prototype.
53288 (grub_context_get_current_menu): Likewise.
53289 (grub_context_push_menu): Likewise.
53290 (grub_context_pop_menu): Likewise.
53291 [GRUB_UTIL] (grub_default_init): Likewise.
53292 [GRUB_UTIL] (grub_default_fini): Likewise.
53293 [GRUB_UTIL] (grub_timeout_init): Likewise.
53294 [GRUB_UTIL] (grub_timeout_fini): Likewise.
53295
53296 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
53297 commands/timeout.c and normal/context.c.
53298 (pkgdata_MODULES): Added default.mod and timeout.mod.
53299 (normal_mod_SOURCES): Added normal/context.c.
53300 (default_mod_SOURCES): New variable.
53301 (default_mod_CFLAGS): Likewise.
53302 (timeout_mod_SOURCES): Likewise.
53303 (timeout_mod_CFLAGS): Likewise.
53304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
53305 conf/i386-pc.rmk.
53306 (pkgdata_MODULES): Added default.mod and timeout.mod.
53307 (normal_mod_SOURCES): Added normal/context.c.
53308 (default_mod_SOURCES): New variable.
53309 (default_mod_CFLAGS): Likewise.
53310 (timeout_mod_SOURCES): Likewise.
53311 (timeout_mod_CFLAGS): Likewise.
53312
53313 * Makefile.in (all-local): Added $(MKFILES).
53314
4ed2e1dd 533152005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
53316
53317 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
53318 (grub_emu_SOURCES): Likewise.
53319 (pkgdata_MODULES): Add `sun.mod'.
53320 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53321 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53322 `partmap/sun.c'.
53323 (pkgdata_MODULES): Add `sun.mod'.
53324 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53325 * include/grub/partition.h (grub_sun_partition_map_init): New
53326 prototype.
53327 (grub_sun_partition_map_fini): Likewise.
53328 * partmap/sun.c: New file.
53329 * util/grub-emu.c (main): Initialize and de-initialize the sun
53330 partitionmap support.
53331
4d4e372e 533322005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
53333
53334 This implements an Emacs-like menu entry editor.
f19dbdb7 53335
4d4e372e 53336 * normal/menu_entry.c: New file.
f19dbdb7 53337
4d4e372e 53338 * util/console.c (grub_ncurses_putchar): Translate some Unicode
53339 characters to ASCII.
53340 (saved_char): New variable.
53341 (grub_ncurses_checkkey): Rewritten completely.
53342 (grub_ncurses_getkey): Likewise.
53343 (grub_ncurses_init): Call raw instead of cbreak.
53344
53345 * normal/menu.c (print_entry): Do not put a space.
53346 (init_page): Renamed to ...
53347 (grub_menu_init_page): ... this. All callers changed.
53348 (edit_menu_entry): Removed.
53349 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
53350
53351 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
53352
53353 * kern/misc.c (grub_vprintf): Call grub_refresh.
53354
53355 * normal/menu.c (DISP_LEFT): Renamed to ...
53356 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
53357 * normal/menu.c (DISP_UP): Renamed to ...
53358 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
53359 * normal/menu.c (DISP_RIGHT): Renamed to ...
53360 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
53361 * normal/menu.c (DISP_DOWN): Renamed to ...
53362 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
53363 * normal/menu.c (DISP_HLINE): Renamed to ...
53364 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
53365 * normal/menu.c (DISP_VLINE): Renamed to ...
53366 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
53367 * normal/menu.c (DISP_UL): Renamed to ...
53368 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
53369 * normal/menu.c (DISP_UR): Renamed to ...
53370 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
53371 * normal/menu.c (DISP_LL): Renamed to ...
53372 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
53373 * normal/menu.c (DISP_LR): Renamed to ...
53374 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
53375 * normal/menu.c (TERM_WIDTH): Renamed to ...
53376 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
53377 * normal/menu.c (TERM_HEIGHT): Renamed to ...
53378 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
53379 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
53380 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
53381 * normal/menu.c (TERM_MARGIN): Renamed to ...
53382 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
53383 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
53384 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
53385 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
53386 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
53387 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
53388 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
53389 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
53390 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
53391 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
53392 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
53393 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
53394 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
53395 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
53396 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
53397 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
53398 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
53399 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
53400 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
53401 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
53402 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
53403 All callers changed.
53404
53405 * include/grub/normal.h: New prototype.
53406
53407 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53408 normal/menu_entry.c.
53409 (normal_mod_SOURCES): Likewise.
53410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
53411 (normal_mod_SOURCES): Likewise.
53412
e6b92c8a 534132005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
53414
53415 * include/grub/normal.h (grub_halt_init): New prototype.
53416 (grub_halt_fini): Likewise.
53417 (grub_reboot_init): Likewise.
53418 (grub_reboot_fini): Likewise.
53419
53420 * util/grub-emu.c: Include signal.h.
53421 (main_env): New global variable.
53422 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
53423 catch C-c.
53424 (grub_machine_fini): New function.
53425 (main): Call grub_halt_init and grub_reboot_init before
53426 grub_main, and grub_reboot_fini and grub_halt_fini after it.
53427 Call setjmp with MAIN_ENV to go back afterwards.
53428 Call grub_machine_fini right before return.
53429
53430 * include/grub/util/misc.h: Include setjmp.h.
53431 (main_env): New prototype.
53432
53433 * include/grub/kernel.h (grub_machine_fini): New prototype.
53434 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
53435 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
53436
53437 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
53438 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
53439 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 53440
e6b92c8a 53441 * util/i386/pc/misc.c: New file.
f19dbdb7 53442
e6b92c8a 53443 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53444 util/i386/pc/misc.c, commands/i386/pc/halt.c and
53445 commands/i386/pc/reboot.c.
53446
c642636f 534472005-02-14 Guillem Jover <guillem@hadrons.org>
53448
53449 * include/grub/dl.h (grub_dl_check_header): New prototype.
53450 (grub_arch_dl_check_header): Change return type to grub_err_t,
53451 remove size parameter and export function. Update all callers.
53452 * kern/dl.c (grub_dl_check_header): New function.
53453 (grub_dl_load_core): Use `grub_dl_check_header' instead of
53454 `grub_arch_dl_check_header'. Check ELF type. Check if sections
53455 are inside the core.
53456 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
53457 independent ELF header checks.
53458 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53459 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
53460 `grub_dl_check_header' instead of explicit checks. Check for the
53461 ELF type.
53462 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
53463 `grub_dl_check_header' instead of explicit checks. Remove arch
53464 specific ELF header checks.
53465
e6b92c8a 53466 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
53467 argument SIZE.
53468
5eabe94b 534692005-02-13 Hollis Blanchard <hollis@penguinppc.org>
53470
53471 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
53472 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
53473
1b14a681 534742005-02-12 Hollis Blanchard <hollis@penguinppc.org>
53475
53476 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 53477 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 53478 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 53479 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 53480 * partmap/amiga.c (amiga_partition_map_iterate): Return
53481 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
53482 * partmap/apple.c (apple_partition_map_iterate): Likewise.
53483
aca108aa 534842005-02-01 Guillem Jover <guillem@hadrons.org>
53485
53486 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
53487 help info.
53488
c9f9c556 534892005-01-31 Marco Gerards <metgerards@student.han.nl>
53490
53491 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
53492 Removed prototype.
53493 (grub_rescue_cmd_linux): New prototype.
53494 (grub_rescue_cmd_initrd): Likewise.
53495 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
53496 `bi_rec'.
53497 (grub_linux_release_mem): Release the memory for the initrd.
53498 (grub_load_linux): Renamed from this...
53499 (grub_rescue_cmd_linux): ...To this. Changed all callers.
53500 Changed `entry' not to be static. Loop over memory regions to
53501 find another one when the default fails.
53502 (grub_rescue_cmd_initrd): New function.
53503 (grub_linux_init): Remove function.
53504 (grub_linux_fini): Likewise.
53505 (GRUB_MOD_INIT): Register `initrd'.
53506 (GRUB_MOD_FINI): Unregister `initrd'.
53507 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
53508 Function removed.
53509 (grub_linux_normal_fini): Likewise.
53510 (GRUB_MOD_INIT): Register `initrd'.
53511 (GRUB_MOD_FINI): Unregister `initrd'.
53512
990cf3aa 535132005-01-31 Marco Gerards <metgerards@student.han.nl>
53514
53515 * commands/help.c: New file.
53516 * normal/arg.c (show_help): Renamed to...
53517 (grub_arg_show_help): ... this.
53518 * commands/i386/pc/halt.c: New file.
53519 * commands/i386/pc/reboot.c: Likewise.
53520 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
53521 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
53522 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
53523 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
53524 variables.
53525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53526 `commands/help.c'.
53527 (pkgdata_MODULES): Add `help.mod'.
53528 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
53529 * grub/i386/pc/init.h (grub_reboot): New prototype.
53530 (grub_halt): Likewise.
53531 * include/grub/normal.h (grub_arg_show_help): New prototype.
53532 (grub_help_init): Likewise.
53533 (grub_help_fini): Likewise.
53534 * util/grub-emu.c (main): Initialize and deinitialize the help
53535 command.
53536
53537 * normal/cmdline.c (grub_cmdline_get): Doc fix.
53538
53539 * normal/command.c (grub_command_init): Fixed the description of
53540 the `set' and `unset' commands.
53541
535422005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 53543
53544 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
53545 function.
53546 * commands/ieee1275/halt.c: New file.
53547 * commands/ieee1275/reboot.c: Likewise.
53548 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
53549 `__attribute__ ((unused))'. Some GCS related fixed.
53550 (grub_suspend_init) [GRUB_UTIL]: Function removed.
53551 (grub_suspend_fini): Likewise.
53552 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
53553 and `halt.mod'.
53554 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
53555 (halt_mod_CFLAGS): New variables.
53556 * include/grub/powerpc/ieee1275/ieee1275.h
53557 (grub_ieee1275_interpret): New prototype.
53558
1ab09cc7 535592005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
53560
53561 * include/grub/misc.h (memmove): New prototype.
53562 (memcpy): Likewise.
53563
8b8cbdb2 535642005-01-22 Hollis Blanchard <hollis@penguinppc.org>
53565
53566 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
53567 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
53568
e3741a27 535692005-01-22 Marco Gerards <metgerards@student.han.nl>
53570
53571 * kern/misc.c (grub_strndup): Function rewritten.
53572
776bd780 535732005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
53574
53575 * normal/menu.c (TERM_WIDTH): Macro redefined.
53576 (TERM_TOP_BORDER_Y): Likewise.
53577 (draw_border): Replaced while-loop by a for-loop. Make the number
53578 of lines consistent with the number of lines displayed in
53579 print_entries. Added a margin below the rectangle.
53580 (print_entry): Make the entry fit in the rectangle.
53581 (print_entries): Display the scroll arrows next to the right
53582 border.
53583
78026bce 535842005-01-21 Marco Gerards <metgerards@student.han.nl>
53585
53586 * fs/minix.c (grub_minix_find_file): Reserve more space for
53587 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
53588 `grub_strncpy' to copy `path' into it.
53589
67bbaf0f 535902005-01-21 Marco Gerards <metgerards@student.han.nl>
53591
53592 Add the loopback device, a device via which files can be accessed
53593 as devices.
f19dbdb7 53594
67bbaf0f 53595 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
53596 (pkgdata_MODULES): Add loopback.mod.
53597 (loopback_mod_SOURCES): New variable.
53598 (loopback_mod_CFLAGS): Likewise.
53599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53600 `disk/loopback.c'.
53601 (pkgdata_MODULES): Add loopback.mod.
53602 (loopback_mod_SOURCES): New variable.
53603 (loopback_mod_CFLAGS): Likewise.
53604 * disk/loopback.c: new file.
53605 * include/grub/normal.h (grub_loop_init): New prototype.
53606 (grub_loop_fini): New prototype.
53607 * util/grub-emu.c (main): Initialize and de-initialize loopback
53608 support.
53609 * include/grub/disk.h (grub_disk_dev_id): Add
53610 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
53611
6f1c18bd 536122005-01-20 Hollis Blanchard <hollis@penguinppc.org>
53613
53614 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
53615 function.
53616 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
53617 (suspend_mod_SOURCES): New variable.
53618 (suspend_mod_CFLAGS): Likewise.
53619 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
53620 New prototype.
53621 * commands/ieee1275/suspend.c: New file.
53622
b38551da 536232005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
53624
53625 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 53626 ((unused))' to `__attribute__ ((used))'.
b38551da 53627 (GRUB_MOD_FINI): Likewise.
53628 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
53629 * genmk.rb (PModule): Assign space to common symbols when linking
53630 modules.
53631
777aff39 536322005-01-20 Marco Gerards <metgerards@student.han.nl>
53633
53634 * include/grub/mm.h (grub_mm_init_region): Change the type of the
53635 `unsigned' arguments to `grub_size_t'.
53636 (grub_malloc): Likewise.
53637 (grub_realloc): Likewise.
53638 (grub_memalign): Likewise.
53639 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
53640 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53641 * util/misc.c (grub_malloc): Likewise.
53642 (grub_realloc): Likewise.
53643 * kern/mm.c (get_header_from_pointer): Change the casts to
53644 `unsigned' into a cast to `grub_size_t'.
53645
53646 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
53647 point to `currnode' when `currnode' is changed.
53648
53649 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
53650 Schottelius <nico-linux@schottelius.org>.
53651
d0ff18e1 536522005-01-09 Hollis Blanchard <hollis@penguinppc.org>
53653
53654 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
53655 (note_path): Remove variable.
53656 (GRUB_IEEE1275_NOTE_NAME): New macro.
53657 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
53658 (grub_ieee1275_note_hdr): New structure.
53659 (grub_ieee1275_note_desc): Likewise.
53660 (grub_ieee1275_note): Likewise.
53661 (load_note): Remove `dir' argument. All callers updated. Remove
53662 `note_img' and `path'. Do not load a file from `note_path'.
53663 Initialize a struct grub_ieee1275_note and write that to `out'.
53664 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
53665
4ca7004c 536662005-01-05 Marco Gerards <metgerards@student.han.nl>
53667
53668 * util/misc.c (grub_util_read_image): Revert last change. It
53669 called `grub_util_read_at', which seeks from the beginning of the
53670 file.
53671
0b412211 536722005-01-04 Hollis Blanchard <hollis@penguinppc.org>
53673
53674 * TODO: Add note about endianness in grub-mkimage.
53675 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
53676 section.
53677 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
53678 (grub_mkimage_SOURCES): New target.
53679 * include/grub/kernel.h (grub_start_addr): Remove variable.
53680 (grub_end_addr): Likewise.
53681 (grub_total_module_size): Likewise.
53682 (grub_kernel_image_size): Likewise.
53683 (GRUB_MODULE_MAGIC): New constant.
53684 (grub_module_info): New structure.
53685 (grub_arch_modules_addr): New prototype.
53686 (grub_get_end_addr): Remove prototype.
53687 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
53688 * include/grub/powerpc/ieee1275/kernel.h: New file.
53689 * include/grub/util/misc.h (grub_util_get_fp_size): New
53690 prototype.
53691 (grub_util_read_at): Likewise.
53692 (grub_util_write_image_at): Likewise.
53693 * kern/main.c (grub_get_end_addr): Remove function.
53694 (grub_load_modules): Call grub_arch_modules_addr instead of using
53695 grub_end_addr. Look for a grub_module_info struct in memory. Use
53696 the grub_module_info fields instead of calling grub_get_end_addr
53697 as loop conditions. Move grub_add_unused_region code here.
53698 (grub_add_unused_region): Remove function.
53699 * kern/i386/pc/init.c: Include grub/cache.h.
53700 (grub_machine_init): Remove call to grub_get_end_addr. Remove
53701 one call to add_mem_region.
53702 (grub_arch_modules_addr): New function.
53703 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
53704 (grub_total_module_size): Likewise.
53705 Include grub/machine/kernel.h.
53706 (grub_arch_modules_addr): New function.
53707 * util/grub-emu.c (grub_end_addr): Remove variable.
53708 (grub_total_module_size): Likewise.
53709 (grub_arch_modules_addr): New function.
53710 * util/misc.c: Include unistd.h.
53711 (grub_util_get_fp_size): New function.
53712 (grub_util_read_at): Likewise.
53713 (grub_util_write_image_at): Likewise.
53714 (grub_util_read_image): Call grub_util_read_at.
53715 (grub_util_write_image): Call grub_util_write_image_at.
53716 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
53717 additional memory in kernel_img for a struct grub_module_info.
53718 Fill in that grub_module_info.
53719 * util/powerpc/ieee1275/grub-mkimage.c: New file.
53720
458786f8 537212005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53722
53723 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
53724 New function.
53725 * include/grub/powerpc/ieee1275/ieee1275.h
53726 (grub_ieee1275_milliseconds): New prototype.
53727 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
53728 Change to 1000.
53729 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
53730 grub_ieee1275_milliseconds.
53731
ac507d1b 537322005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53733
53734 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
53735 variable.
53736 (find_options): New function.
53737 (cmain): Call find_options.
53738 * include/grub/powerpc/ieee1275/ieee1275.h
53739 (grub_ieee1275_realmode): New extern variable.
53740 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
53741 grub_map if grub_ieee1275_realmode is false.
53742
6b8fd1c4 537432004-12-29 Marco Gerards <metgerards@student.han.nl>
53744
53745 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
53746 lines are inserted and make it work like readline. Reported by
53747 Vincent Pelletier <subdino2004@yahoo.fr>.
53748
8514a1e0 537492004-12-28 Marco Gerards <metgerards@student.han.nl>
53750
53751 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
53752
53753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
53754 `kern/powerpc/cache.S'.
53755
924b6140 537562004-12-27 Marco Gerards <metgerards@student.han.nl>
53757
53758 * genmk.rb: Handle the `Program' class in the main loop. Written
53759 by Johan Rydberg <jrydberg@gnu.org>.
53760 (Program): New class.
53761 (programs): New variable.
53762 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
53763 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
53764 instead of "grub/kernel.h". Include <grub/machine/init.h>.
53765 (help_arch): Function removed.
53766 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
53767 `powerpc/libgcc.h' and `loader.h'.
53768 (pkgdata_PROGRAMS): New variable.
53769 (sbin_UTILITIES): Variable removed.
53770 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
53771 (grubof_SOURCES): Variable re-defined so it only includes the
53772 core functionality.
53773 (grubof_CFLAGS): Remove `-DGRUBOF'.
53774 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
53775 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
53776 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
53777 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
53778 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
53779 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
53780 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
53781 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
53782 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
53783 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
53784 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
53785 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
53786 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
53787 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
53788 (pc_mod_CFLAGS): New variables.
53789 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
53790 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
53791 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
53792 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
53793 Moved from here...
53794 * include/grub/i386/pc/init.h (grub_os_area_addr)
53795 (rub_os_area_size): ... to here.
53796 * include/grub/powerpc/ieee1275/ieee1275.h
53797 (grub_ieee1275_entry_fn): Export symbol.
53798 * include/grub/powerpc/ieee1275/init.h: New file.
53799 * include/grub/powerpc/libgcc.h: Likewise.
53800 * include/grub/cache.h: Likewise.
53801 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
53802 <hollis@penguinppc.org>.
53803 * kern/dl.c: Include <grub/cache.h>.
53804 (grub_dl_flush_cache): New function.
53805 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
53806 for this module.
53807 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
53808 (grub_console_init): Removed prototypes.
53809 (grub_machine_init): Don't initialize the modules anymore.
53810 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
53811 static.
53812 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
53813 Macro undef removed.
53814 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
53815 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
53816 relocation `R_PPC_REL32'. Return an error when the relocation is
53817 unknown.
53818 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
53819 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
53820 * util/misc.c (grub_arch_sync_caches): Likewise.
53821
e4b47e0c 538222004-12-19 Marco Gerards <metgerards@student.han.nl>
53823
53824 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
53825 `symlist.c', add `grubof_symlist.c'.
53826 (symlist.c): Variable removed.
53827 (grubof_HEADERS): Variable added.
53828 (grubof_symlist.c): New target.
53829 (kernel_syms.lst): Use `grubof_HEADERS' instead of
53830 `kernel_img_HEADERS'.
53831 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
53832 * kern/powerpc/dl.c: New file.
53833 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
53834 Function removed.
53835 (grub_arch_dl_relocate_symbols): Likewise.
53836 (grub_register_exported_symbols): Likewise.
53837
4ceb3636 538382004-12-13 Marco Gerards <metgerards@student.han.nl>
53839
53840 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
53841 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
53842 to fail instead. Reported by Vincent Pelletier
53843 <subdino2004@yahoo.fr>.
53844
53845 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
53846 it is not allocated. Reported by Vincent Pelletier
53847 <subdino2004@yahoo.fr>.
53848
53849 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
53850 output so the output looks better.
f19dbdb7 53851
3f1578fe 538522004-12-04 Marco Gerards <metgerards@student.han.nl>
53853
53854 Modulize the partition map support and add support for the amiga
53855 partition map.
f19dbdb7 53856
3f1578fe 53857 * commands/ls.c: Include <grub/partition.h> instead of
53858 <grub/machine/partition.h>.
53859 * kern/disk.c: Likewise.
53860 * kern/rescue.c: Likewise.
53861 * loader/i386/pc/chainloader.c: Likewise.
53862 * normal/cmdline.c: Likewise.
53863 * kern/powerpc/ieee1275/init.c: Likewise.
53864 (grub_machine_init): Call `grub_pc_partition_map_init',
53865 `grub_amiga_partition_map_init' and
53866 `grub_apple_partition_map_init'.
53867 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
53868 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
53869 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
53870 `partition.h' and `pc_partition.h'.
53871 (grub_setup_SOURCES): Remove
53872 `disk/i386/pc/partition.c'. Add `kern/partition.c',
53873 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53874 (grub_emu_SOURCES): Likewise.
53875 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
53876 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
53877 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
53878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53879 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
53880 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53881 (grubof_SOURCES): Likewise.
53882 * disk/i386/pc/partition.c: File removed.
53883 * disk/powerpc/ieee1275/partition.c: Likewise.
53884 * include/grub/powerpc/ieee1275/partition.h: Likewise.
53885 * include/grub/i386/pc/partition.h: Likewise.
53886 * kern/partition.c: New file.
53887 * partmap/amiga.c: Likewise.
53888 * partmap/apple.c: Likewise.
53889 * partmap/pc.c: Likewise.
53890 * include/grub/partition.h: Likewise..
53891 * include/grub/pc_partition.h: Likewise.
53892 * util/grub-emu.c: Include <grub/partition.h> instead of
53893 <grub/machine/partition.h>.
53894 (main): Call `grub_pc_partition_map_init',
53895 `grub_amiga_partition_map_init' and
53896 `grub_apple_partition_map_init' and deinitialize afterwards.
53897 * util/i386/pc/biosdisk.c: Include `#include
53898 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53899 `<grub/machine/partition.h>'.
53900 * util/i386/pc/grub-setup.c: Likewise.
53901 * util/i386/pc/biosdisk.c: Likewise.
53902 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
53903 partition information in case of a PC partition.
53904 * util/i386/pc/grub-setup.c: Include `#include
53905 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53906 `<grub/machine/partition.h>'.
53907 (setup): Only access the PC specific partition information in case
53908 of a PC partition.
53909
0ef4ced9 539102004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 53911
0ef4ced9 53912 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
53913 (grub_longjmp): Likewise.
53914 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
53915 20.
53916 * normal/powerpc/setjmp.S: New file.
53917 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53918 `normal/powerpc/setjmp.S'.
53919 (grubof_CFLAGS): Add `-DGRUBOF'.
53920 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
53921 [GRUB_UTIL && !GRUBOF].
f19dbdb7 53922
19950e29 539232004-11-16 Marco Gerards <metgerards@student.han.nl>
53924
53925 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
53926 property named `name'. Correctly handle the error returned by
53927 `grub_ieee1275_finddevice' if a device can not be opened.
53928
a2fea427 539292004-11-02 Hollis Blanchard <hollis@penguinppc.org>
53930
53931 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
53932 `actual' for negativity.
53933 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53934 kern/fshelp.c.
53935
41ea0ea3 539362004-11-01 Marco Gerards <metgerards@student.han.nl>
53937
53938 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
53939 (PAGE_OFFSET): New macro.
53940 (CRTC_ADDR_PORT): Likewise.
53941 (CRTC_DATA_PORT): Likewise.
53942 (START_ADDR_HIGH_REGISTER): Likewise.
53943 (START_ADDR_LOW_REGISTER): Likewise.
53944 (GRAPHICS_ADDR_PORT): Likewise.
53945 (GRAPHICS_DATA_PORT): Likewise.
53946 (READ_MAP_REGISTER): Likewise.
53947 (INPUT_STATUS1_REGISTER): Likewise.
53948 (INPUT_STATUS1_VERTR_BIT): Likewise.
53949 (page): New variable.
53950 (wait_vretrace): New function.
53951 (set_read_map): Likewise.
53952 (set_start_address): Likewise.
53953 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
53954 the right page.
53955 (check_vga_mem): Take the page into account.
53956 (write_char): Likewise.
53957 (write_cursor): Likewise.
53958 (scroll_up): Likewise. Copy the page to the page that is not
53959 shown and switch between both pages.
53960 (grub_vga_putchar): Fix off by one error.
53961 (grub_vga_cls): Wait for the vertical retrace. Take the page into
53962 account.
53963
ad0bd20b 539642004-11-01 Marco Gerards <metgerards@student.han.nl>
53965
53966 Add support for iso9660 (including rockridge).
f19dbdb7 53967
ad0bd20b 53968 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53969 (iso9660_mod_SOURCES): New variable.
53970 (iso9660_mod_CFLAGS): Likewise.
53971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53972 * include/grub/fs.h (grub_iso9660_init): New prototype.
53973 * util/grub-emu.c (main): Call `grub_iso9660_init'.
53974 * fs/iso9660.c: New file.
53975
53976 * include/grub/misc.h (grub_strncat): New prototype.
53977 * kern/misc.c (grub_strncat): New function.
f19dbdb7 53978
ad0bd20b 53979 * fs/hfs.c (grub_hfs_mount): Translate the error
53980 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
53981 * fs/jfs.c (grub_jfs_mount): Likewise.
53982 * fs/ufs.c (grub_ufs_mount): Likewise.
53983
a5477a59 539842004-10-28 Hollis Blanchard <hollis@penguinppc.org>
53985
53986 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
53987 which initialized BAT registers.
53988 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
53989 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53990 Move from here...
53991 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
53992 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53993 ... to here.
53994 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
53995 (grub_mapclaim): Likewise.
53996 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
53997 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
53998 hand.
53999
9304c1f8 540002004-10-19 Hollis Blanchard <hollis@penguinppc.org>
54001
54002 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
54003 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
54004 -ffreestanding and -msoft-float.
54005
86f4ae25 540062004-10-15 Hollis Blanchard <hollis@penguinppc.org>
54007
54008 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
54009 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
54010 set in grub_ieee1275_flags.
54011
38912228 540122004-10-14 Hollis Blanchard <hollis@penguinppc.org>
54013
54014 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
54015 prototype.
54016 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
54017 grub_console_init first.
54018 Change the memory range used for grub_ieee1275_claim and
54019 grub_mm_init_region.
54020 Print an error message if the claim fails.
54021 Include <grub/misc.h>.
54022
d1923dc8 540232004-10-13 Hollis Blanchard <hollis@penguinppc.org>
54024
54025 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
54026 Call grub_children_iterate for device nodes of type `scsi',
54027 `ide', or `ata'.
54028 (grub_ofdisk_open): Remove manual device alias resolution.
54029 Fix memory leak when device cannot be opened.
f19dbdb7 54030 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 54031 (grub_children_iterate): New prototype.
54032 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
54033 New function.
54034 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
54035 Return -1 if args.size was -1.
54036
4512e4f3 540372004-10-11 Hollis Blanchard <hollis@penguinppc.org>
54038
54039 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
54040 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
54041 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
54042 Open Firmware's memory for it; claim memory from _start to _end.
54043 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
54044 (_end): New extern.
54045 (_start): Zero BSS from __bss_start to _end.
54046 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
54047 New extern.
54048 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
54049
4d61feb0 540502004-10-11 Hollis Blanchard <hollis@penguinppc.org>
54051
ad0bd20b 54052 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
54053 -1 if args.base was -1.
4d61feb0 54054
026fa2f9 540552004-10-08 Hollis Blanchard <hollis@penguinppc.org>
54056
54057 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
54058 escape sequence instead of a literal ^L. Also call
54059 grub_ofconsole_gotoxy.
54060
9f2220ef 540612004-10-03 Hollis Blanchard <hollis@penguinppc.org>
54062
54063 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
54064 void * arguments to grub_addr_t. All callers updated. Also make
54065 the `result' argument optional.
54066 (grub_ieee1275_release): change void * arguments to grub_addr_t.
54067 All callers updated.
54068
8a572cd7 540692004-09-22 Hollis Blanchard <hollis@penguinppc.org>
54070
54071 * commands/ls.c (grub_ls_list_files): Use the string following the
54072 initial ')', if present, as the filesystem path.
54073 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
54074
54075 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
54076
18aa81f2 540772004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
54078
54079 Make the source code of the menu interface more readable.
f19dbdb7 54080
18aa81f2 54081 * normal/menu.c: Include grub/mm.h.
54082 (TERM_WIDTH): New macro.
54083 (TERM_HEIGHT): Likewise.
54084 (TERM_INFO_HEIGHT): Likewise.
54085 (TERM_MARGIN): Likewise.
54086 (TERM_SCROLL_WIDTH): Likewise.
54087 (TERM_TOP_BORDER_Y): Likewise.
54088 (TERM_LEFT_BORDER_X): Likewise.
54089 (TERM_BORDER_WIDTH): Likewise.
54090 (TERM_MESSAGE_HEIGHT): Likewise.
54091 (TERM_BORDER_HEIGHT): Likewise.
54092 (TERM_NUM_ENTRIES): Likewise.
54093 (TERM_FIRST_ENTRY_Y): Likewise.
54094 (TERM_ENTRY_WIDTH): Likewise.
54095 (TERM_CURSOR_X): Likewise.
54096 (draw_border): Use macros instead of magic numbers.
54097 (print_entry): Likewise.
54098 (print_entries): Likewise.
54099 (run_menu): Likewise. Also, handle the key 'e'.
54100 (run_menu_entry): Ignore empty command lines.
54101 (print_message): Added a new argument EDIT. If EDIT is true,
54102 print a different message.
54103 (init_page): Likewise.
54104 (edit_menu_entry): New function. Not implemented yet.
54105
b47efe30 541062004-09-17 Marco Gerards <metgerards@student.han.nl>
54107
54108 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
54109 can be loaded from normal mode.
f19dbdb7 54110
b47efe30 54111 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
54112 `multiboot.mod'.
54113 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
54114 (multiboot_mod_CFLAGS): New variables.
54115 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 54116 * loader/i386/pc/multiboot_normal.c: Likewise.
54117
b47efe30 54118 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
54119 attribute `unused'.
f19dbdb7 54120
b47efe30 54121 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
54122 `fdiro' to read the mode information from instead of `diro'.
54123
54124 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
54125 looking up a symlink.
54126
54127 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
54128 macro.
54129 * normal/command.c (grub_command_execute): Don't parse the
54130 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
54131 flags of the command.
54132
54133 * normal/menu.c (grub_menu_run): Fix typo.
54134
da75ac71 541352004-09-14 Hollis Blanchard <hollis@penguinppc.org>
54136
54137 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
54138
54139 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
54140 `y + 1' instead of `y - 1'.
54141
54142 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 54143
062b24c2 541442004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
54145
54146 From Hollis Blanchard <hollis@penguinppc.org>:
54147 * kern/misc.c (memmove): New alias for grub_memmove.
54148 (memcmp): New alias for grub_memcmp.
54149 (memset): New alias for grub_memset.
f19dbdb7 54150 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 54151 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 54152 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 54153 (grub_ieee1275_get_property): Likewise.
f19dbdb7 54154
8ddad845 541552004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
54156
54157 Added normal mode command `chainloader' as module chain.mod, which
54158 depends on normal.mod and _chain.mod.
f19dbdb7 54159
8ddad845 54160 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
54161 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
54162 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
54163 Deleted prototype.
54164 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
54165 but arguments parsing moved to ...
54166 (grub_chainloader_cmd): ... here. New function.
54167 * include/grub/i386/pc/chainloader.h: New file.
54168 * loader/i386/pc/chainloader_normal.c: Likewise.
54169
2c1f4ce3 541702004-09-11 Marco Gerards <metgerards@student.han.nl>
54171
54172 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
54173 (grub_mkimage_LDFLAGS): Likewise.
54174 (grub_emu_SOURCES): Likewise.
54175 (kernel_img_HEADERS): Added fshelp.h.
54176 * fs/ext2.c: Include <grub/fshelp.h>.
54177 (FILETYPE_REG): New macro.
54178 (FILETYPE_INO_REG): Likewise.
54179 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
54180 Changed all users.
54181 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
54182 all users.
54183 (grub_fshelp_node): New struct.
54184 (grub_ext2_data): Added member `diropen'. Changed member `inode'
54185 to a pointer.
54186 (grub_ext2_get_file_block): Removed function.
54187 (grub_ext2_read_block): New function.
54188 (grub_ext2_read_file): Replaced parameter `data' by `node'.
54189 This function was written.
54190 (grub_ext2_mount): Read the root inode. Create a diropen struct.
54191 (grub_ext2_find_file): Removed function.
54192 (grub_ext2_read_symlink): New function.
54193 (grub_ext2_iterate_dir): Likewise.
54194 (grub_ext2_open): Rewritten.
54195 (grub_ext2_dir): Rewritten.
54196 * include/grub/fshelp.h: New file.
54197 * fs/fshelp.c: Likewise.
54198
3c52136a 541992004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
54200
54201 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
54202 (print_message): Add a missing newline.
54203 (run_menu): Added timeout support.
54204 (run_menu_entry): New local function.
54205 (grub_menu_run): Added support for booting.
54206
54207 * kern/loader.c (grub_loader_is_loaded): New function.
54208
54209 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
54210 (grub_get_rtc): Exported.
54211
54212 * include/grub/i386/pc/time.h: Include grub/symbol.h.
54213 (grub_get_rtc): Exported.
54214
54215 * include/grub/normal.h (struct grub_command_list): Remove
54216 constant from the member `command'.
54217
54218 * include/grub/loader.h (grub_loader_is_loaded): Declared.
54219
54220 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
54221
54222 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
54223
aa033560 542242004-08-28 Marco Gerards <metgerards@student.han.nl>
54225
54226 Add support for the JFS filesystem.
54227
54228 * fs/jfs.c: New file.
54229 * include/grub/fs.h (grub_jfs_init): New prototype.
54230 (grub_jfs_fini): New prototype.
54231 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
54232 (grub_emu_SOURCES): Likewise.
54233 (pkgdata_MODULES): Add jfs.mod.
54234 (jfs_mod_SOURCES): New variable.
54235 (jfs_mod_CFLAGS): Likewise.
54236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
54237 (grubof_SOURCES): Likewise.
54238 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
54239
54240 * fs/fat.c (grub_fat_find_dir): Convert the filename little
54241 endian to the host endian.
54242 (grub_fat_utf16_to_utf8): Move function from there...
54243 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 54244 the endianness of the source string anymore.
aa033560 54245 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
54246
94bc45af 542472004-08-24 Marco Gerards <metgerards@student.han.nl>
54248
54249 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
54250 (grub_boot_fini) [GRUB_UTIL]: Likewise.
54251 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
54252 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 54253
94bc45af 54254 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
54255 (grub_hfs_iterate_dir): Make the function static. Add prototypes
54256 for `node_found' and `it_dir'.
54257 (grub_hfs_dir): Add prototype for `dir_hook'.
54258
54259 * fs/minix.c (grub_minix_get_file_block): Add prototype for
54260 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
54261 and `indir32' to silence a gcc warning.
54262
54263 * include/grub/fs.h (grub_hfs_init): New prototype.
54264 (grub_hfs_fini): Likewise.
f19dbdb7 54265
54266
97543f08 542672004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
54268
54269 Each disk device has its own id now. This is useful to make use
54270 of multiple disk devices.
f19dbdb7 54271
97543f08 54272 * include/grub/disk.h (grub_disk_dev_id): New enum.
54273 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
54274 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
54275
54276 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
54277 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54278
54279 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
54280 GRUB_DISK_DEVICE_OFDISK_ID as an id.
54281
54282 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
54283 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54284
54285 * include/grub/disk.h (struct grub_disk_dev): Added a new member
54286 "id" which is used by the cache manager.
54287
54288 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
54289 of just "GRUB".
54290
64372eb4 542912004-08-18 Marco Gerards <metgerards@student.han.nl>
54292
54293 * fs/hfs.c: New file.
54294 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
54295 (grub_emu_SOURCES): Likewise.
54296 (pkgdata_MODULES): Add hfs.mod.
54297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
54298 (grubof_SOURCES): Likewise.
54299 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
54300
54301 * include/grub/misc.h (grub_strncasecmp): Add prototype.
54302 * kern/misc.c (grub_strncasecmp): Add function.
54303
cc61b58f 543042004-08-14 Marco Gerards <metgerards@student.han.nl>
54305
54306 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
54307 with parentheses.
54308
54309 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
54310 (grub_ext2_dir): In case the directory entry type is unknown, read
54311 it from the inode.
54312
0ef123f6 543132004-08-02 Peter Bruin <pjbruin@dds.nl>
54314
54315 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
54316 grub_load_linux instead of grub_rescue_cmd_linux as second
54317 argument of grub_rescue_register_command.
54318
54319 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
54320
a447c5df 543212004-07-27 Marco Gerards <metgerards@student.han.nl>
54322
54323 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
54324 function.
54325 * commands/boot.c: Remove the check for `GRUB_UTIL'.
54326 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
54327 `loader/powerpc/ieee1275/linux.c',
54328 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
54329 * include/grub/powerpc/ieee1275/ieee1275.h
54330 (grub_ieee1275_release): New prototype.
54331 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
54332 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
54333 normal, boot, linux and linux_normal.
54334 * loader/powerpc/ieee1275/linux.c: New file.
54335 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
54336
5a9e3546 543372004-07-12 Marco Gerards <metgerards@student.han.nl>
54338
54339 * normal/arg.c (grub_arg_parse): Correct error handling after
54340 reallocating the argumentlist (check if `argl' is not null instead
54341 of checking if `args' is not null).
54342 * kern/mm.c (grub_realloc): Return the same pointer when using the
54343 same region, instead of returning the header address.
54344
e15199cb 543452004-07-11 Marco Gerards <metgerards@student.han.nl>
54346
54347 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
54348 one block instead of two when looking for the initial partition.
54349 (grub_partition_probe): Initialize the local variable `p' with 0.
54350 Use base 10 for the grub_strtoul call.
54351 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
54352 need for one local variable.
54353 (grub_strtoul): Don't add the new value to `num', instead of that
54354 just assign it.
54355
020616c2 543562004-07-11 Marco Gerards <metgerards@student.han.nl>
54357
54358 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
54359 (pxeboot_img_SOURCES): New variable.
54360 (pxeboot_img_ASFLAGS): Likewise.
54361 (pxeboot_img_LDFLAGS): Likewise.
54362 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
54363 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
54364 <lode_leroy@hotmail.com>.
54365
6c51eb64 543662004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54367
54368 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
54369 there was no input.
54370
cfb12aff 543712004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54372
54373 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
54374 the history buffer logic.
54375
6eabba74 543762004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54377
54378 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
54379 (FILETYPE_INO_SYMLINK): New macros.
54380 (grub_ext2_find_file): Check if the node is a directory using the
54381 inode stat information instead of using the filetype in the
54382 dirent. Exclude the first character of an absolute symlink.
54383 (grub_ext2_dir): Mask out the filetype part of the mode member of
54384 the inode.
54385
66e19ef8 543862004-05-24 Marco Gerards <metgerards@student.han.nl>
54387
54388 Add support for UFS version 1 and 2. Add support for the minix
54389 filesystem version 1 and 2, both the variants with 14 and 30 long
54390 filenames.
f19dbdb7 54391
66e19ef8 54392 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
54393 fs/minix.c.
54394 (grub_emu_SOURCES): Likewise.
54395 (pkgdata_MODULES): Add ufs.mod and minix.mod.
54396 (ufs_mod_SOURCES): New variable.
54397 (ufs_mod_CFLAGS): Likewise.
54398 (minix_mod_SOURCES): Likewise.
54399 (minix_mod_CFLAGS): Likewise.
54400 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
54401 fs/minix.c.
54402 (grubof_SOURCES): Likewise.
54403 * fs/ufs.c: New file.
54404 * fs/minix.c: New file.
54405 * include/grub/fs.h (grub_ufs_init): New prototype.
54406 (grub_ufs_fini): Likewise.
54407 (grub_minix_init): Likewise.
54408 (grub_minix_fini): Likewise.
54409 * util/grub-emu.c (main): Initialize and deinitialize UFS and
54410 minix fs.
54411
cc2e748a 544122004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
54413
54414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
54415 commands/ls.c, commands/terminal.c, commands/boot.c,
54416 commands/cmp.c and commands/cat.c.
54417 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
54418
54419 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
54420 "env.h"
54421
4b13b216 544222004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54423
54424 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
54425 and grub_, respectively. Because the conversion is trivial and
54426 mechanical, I omit the details here. Please refer to the CVS
54427 if you need more information.
54428
6a142551 544292004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54430
54431 * include/pupa: Renamed to ...
54432 * include/grub: ... this.
54433 * util/i386/pc/pupa-mkimage.c: Renamed to ...
54434 * util/i386/pc/grub-mkimage.c: ... this.
54435 * util/i386/pc/pupa-setup.c: Renamed to ...
54436 * util/i386/pc/grub-setup.c: ... this.
54437 * util/pupa-emu.c: Renamed to ...
54438 * util/grub-emu.c: ... this.
54439
e56cdf21 544402004-03-29 Marco Gerards <metgerards@student.han.nl>
54441
54442 Add support for the newworld apple macintosh (PPC). This has been
54443 tested on the powerbook 2000 only. It only adds support for
54444 generic ieee1275 functions, console and disk support. This should
54445 be easy to port to other architectures with support for Open
54446 Firmware.
f19dbdb7 54447
e56cdf21 54448 * configure.ac: Accept the powerpc as host_cpu. In the case of
54449 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
54450 specific tests are only executed while building for the i386.
54451 Inverse test for crosscompile.
54452 * genmk.rb (Utility): Allow assembler files.
54453 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
54454 * conf/powerpc-ieee1275.rmk: New file.
54455 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
54456 * disk/powerpc/ieee1275/partition.c: Likewise.
54457 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
54458 * include/pupa/powerpc/ieee1275/console.h: Likewise.
54459 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
54460 * include/pupa/powerpc/ieee1275/time.h: Likewise.
54461 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
54462 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
54463 * include/pupa/powerpc/ieee1275/loader.h
54464 * include/pupa/powerpc/setjmp.h: Likewise.
54465 * include/pupa/powerpc/types.h: Likewise.
54466 * kern/powerpc/ieee1275/init.c: Likewise.
54467 * kern/powerpc/ieee1275/openfw.c: Likewise.
54468 * term/powerpc/ieee1275/ofconsole.c: Likewise.
54469
54470 These files were written by Johan Rydberg
54471 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 54472
e56cdf21 54473 * boot/powerpc/ieee1275/cmain.c: New file.
54474 * boot/powerpc/ieee1275/crt0.S: Likewise.
54475 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
54476 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
54477
8c8cc205 544782004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
54479
54480 * Makefile.in: Update copyright.
54481 * genmodsrc.sh: Likewise.
54482 * gensymlist.sh: Likewise.
54483 * term/i386/pc/vga.c: Indent correctly.
54484
54485 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
54486 bugreporting address.
54487 * util/i386/pc/pupa-setup.c (usage): Likewise,
54488 (main): Call pupa_ext2_init and pupa_ext2_fini.
54489
f19dbdb7 54490 * fs/fat.c (log2): Renamed to ...
8c8cc205 54491 (fat_log2): ... this.
54492 All callers changed.
54493 * kern/misc.c (memcpy): Alias to pupa_memmove.
54494 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
54495 lvalue cast.
54496 * util/console.c (pupa_ncurses_fini): Return 0.
54497
54498 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
54499 Move fail label here.
54500 [__GNU__]: Don't warn when using stat.
54501 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
54502 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
54503 long int. Use strtol instead of strtoul.
f19dbdb7 54504
db1771cf 545052004-03-14 Marco Gerards <metgerards@student.han.nl>
54506
54507 * commands/boot.c: New file.
54508 * commands/cat.c: Likewise.
54509 * commands/cmp.c: Likewise.
54510 * commands/ls.c: Likewise.
54511 * commands/terminal.c: Likewise.
54512 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
54513 (pupa_register_command): Changed interface to match the new
54514 argument parser.
54515 (pupa_command_execute): Changed (almost rewritten) so it uses
54516 pupa_split_command. Added support for setting variables using the
54517 syntax `foo=bar'.
54518 (rescue_command): Changed to work with the new argument parser.
54519 (terminal_command): Moved from here to commands/terminal.c.
54520 (set_command): New function.
54521 (unset_command): New function.
54522 (insmod_command): New function.
54523 (rmmod_command): New function.
54524 (lsmod_command): New function.
54525 (pupa_command_init): Don't initialize the command terminal
54526 anymore. Initialize the commands set, unset, insmod, rmmod and
54527 lsmod.
54528 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
54529 (kernel_img_HEADERS): Add arg.h and env.h.
54530 (pupa_mkimage_LDFLAGS): Add kern/env.c.
54531 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
54532 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
54533 normal/arg.c.
54534 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
54535 terminal.mod.
54536 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
54537 (boot_mod_SOURCES): New variable.
54538 (terminal_mod_SOURCES): Likewise.
54539 (ls_mod_SOURCES): Likewise.
54540 (cmp_mod_SOURCES): Likewise.
54541 (cat_mod_SOURCES): Likewise.
54542
54543 * normal/arg.c: New file.
54544 * kern/env.c: Likewise.
54545 * include/pupa/arg.h: Likewise.
54546 * include/pupa/env.h: Likewise.
54547 * font/manager.c (font_command): Changed to match argument parsing
54548 interface changes.
54549 (PUPA_MOD_INIT): Likewise.
54550 * hello/hello.c (pupa_cmd_hello): Likewise.
54551 (PUPA_MOD_INIT): Likewise.
54552 * include/pupa/disk.h: Include <pupa/device.h>.
54553 (pupa_print_partinfo): New prototype.
54554 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
54555 (pupa_dl_get_prefix): Likewise.
54556 * include/pupa/misc.h: Include <pupa/err.h>.
54557 (pupa_isgraph): New prototype.
54558 (pupa_isdigit): Likewise.
54559 (pupa_split_cmdline): Likewise.
54560 * include/pupa/normal.h: Include <pupa/arg.h>.
54561 (pupa_command): Changed the prototype of the member `func' to
54562 match the argument parsing interface. Added member `options'.
54563 (pupa_register_command): Updated to match function.
54564 (pupa_arg_parse): New prototype.
54565 (pupa_hello_init) [PUPA_UTIL]: New prototype.
54566 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
54567 (pupa_ls_init) [PUPA_UTIL]: Likewise.
54568 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
54569 (pupa_cat_init) [PUPA_UTIL]: Likewise.
54570 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
54571 (pupa_boot_init) [PUPA_UTIL]: Likewise.
54572 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
54573 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
54574 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
54575 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
54576 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
54577 * kern/disk.c: Include <pupa/file.h>.
54578 (pupa_print_partinfo): New function.
54579 * kern/dl.c: Include <pupa/env.h>.
54580 (pupa_dl_dir): Variable removed.
54581 (pupa_dl_load): Use the environment variable `prefix' instead of
54582 the variable pupa_dl_dir.
54583 (pupa_dl_set_prefix): Function removed.
54584 (pupa_dl_get_prefix): Likewise.
54585 * kern/i386/pc/init.c: Include <pupa/env.h>.
54586 (pupa_machine_init): Use the environment variable `prefix' instead of
54587 using pupa_dl_set_prefix to set the prefix.
54588 * kern/main.c: Include <pupa/env.h>.
54589 (pupa_set_root_dev): Use the environment variable `prefix' instead of
54590 using pupa_dl_get_prefix to get the prefix.
54591 * kern/misc.c: Include <pupa/env.h>.
54592 (pupa_isdigit): New function.
54593 (pupa_isgraph): Likewise.
54594 (pupa_ftoa): Likewise.
54595 (pupa_vsprintf): Added support for printing values of the type
54596 `double'. Make it possible to format variable output when using
54597 formatting like `%1.2%f'.
54598 (pupa_split_cmdline): New function.
54599 * kern/rescue.c: Include <pupa/env.h>.
54600 (next_word): Removed function.
54601 (pupa_rescue_cmd_prefix): Likewise.
54602 (pupa_rescue_cmd_set): New function.
54603 (pupa_rescue_cmd_unset): New function.
54604 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
54605 split the command line instead of splitting it here. Added
54606 support for setting variables using the syntax `foo=bar'. Don't
54607 initialize the prefix command anymore. Initialized the set and
54608 unset commands.
54609 * normal/cmdline.c: Include <pupa/env.h>.
54610 (pupa_tab_complete): Added prototypes for print_simple_completion,
54611 print_partition_completion, add_completion, iterate_commands,
54612 iterate_dev, iterate_part and iterate_dir. Moved code to print
54613 partition information from here to kern/disk.c.
fe6b695a 54614 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 54615 * normal/main.c: Include <pupa/env.h>.
54616 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
54617 instead of using pupa_dl_get_prefix to get the prefix.
54618 * term/i386/pc/vga.c: Include <pupa/arg.h>.
54619 (check_vga_mem): Cast pointers to `void *' to silence a gcc
54620 warning.
54621 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
54622 (pupa_vga_setcolor): Declare unused variables with `__attribute__
54623 ((unused))' to silence a gcc warning.
54624 (pupa_vga_setcolor): Likewise.
54625 (debug_command): Changed to match argument parsing
54626 interface changes.
54627 * util/pupa-emu.c: Include <pupa/env.h>.
54628 (options): Added 0's for unused fields to silence a gcc warning.
54629 (argp): Likewise.
54630 (main): Use the environment variable `prefix' instead of using
54631 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
54632 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
54633 and terminal.
54634
54635 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
54636 * util/misc.c: Include <malloc.h>.
54637 (pupa_malloc): Rewritten so errors are correctly reported.
54638 (pupa_realloc): Likewise.
54639 (pupa_memalign): Likewise.
54640 (pupa_mm_init_region): Declare unused variables with
54641 `__attribute__ ((unused))' to silence a gcc warning.
54642 * normal/i386/setjmp.S: Remove tab at the end of the file to
54643 silence a gcc warning.
54644 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
54645 variables with `__attribute__ ((unused))' to silence a gcc
54646 warning.
54647 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
54648 local variable i unsigned to silence a gcc warning.
54649
54650 * kern/term.c: Include <pupa/misc.h>.
54651 (pupa_more_lines): New variable.
54652 (pupa_more): Likewise.
54653 (pupa_putcode): When the pager is active pause at the end of every
54654 screen.
54655 (pupa_set_more): New function.
54656 * include/pupa/term.h (pupa_set_more): New prototype.
54657
54658
3b1139cb 546592004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
54660
54661 Now this project is GRUB 2 rather than PUPA. The location of
54662 the CVS repository was moved to GRUB's.
f19dbdb7 54663
3b1139cb 54664 * configure.ac: Use bug-grub as the reporting address.
54665 Use GRUB instead of PUPA.
54666 Change the version number to 1.90.
54667
8367695c 546682004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
54669
54670 * genkernsyms.sh: Updated copyright information.
54671 * genmk.rb: Likewise.
54672 * genmodsrc.sh: Likewise.
54673 * gensymlist.sh: Likewise.
54674 * boot/i386/pc/boot.S: Likewise.
54675 * boot/i386/pc/diskboot.S: Likewise.
54676 * disk/i386/pc/biosdisk.c: Likewise.
54677 * disk/i386/pc/partition.c: Likewise.
54678 * font/manager.c: Likewise.
54679 * fs/ext2.c: Likewise.
54680 * fs/fat.c: Likewise.
54681 * include/pupa/boot.h: Likewise.
54682 * include/pupa/device.h: Likewise.
54683 * include/pupa/disk.h: Likewise.
54684 * include/pupa/dl.h: Likewise.
54685 * include/pupa/elf.h: Likewise.
54686 * include/pupa/err.h: Likewise.
54687 * include/pupa/file.h: Likewise.
54688 * include/pupa/font.h: Likewise.
54689 * include/pupa/fs.h: Likewise.
54690 * include/pupa/kernel.h: Likewise.
54691 * include/pupa/loader.h: Likewise.
54692 * include/pupa/misc.h: Likewise.
54693 * include/pupa/mm.h: Likewise.
54694 * include/pupa/net.h: Likewise.
54695 * include/pupa/normal.h: Likewise.
54696 * include/pupa/rescue.h: Likewise.
54697 * include/pupa/setjmp.h: Likewise.
54698 * include/pupa/symbol.h: Likewise.
54699 * include/pupa/term.h: Likewise.
54700 * include/pupa/types.h: Likewise.
54701 * include/pupa/i386/setjmp.h: Likewise.
54702 * include/pupa/i386/types.h: Likewise.
54703 * include/pupa/i386/pc/biosdisk.h: Likewise.
54704 * include/pupa/i386/pc/boot.h: Likewise.
54705 * include/pupa/i386/pc/console.h: Likewise.
54706 * include/pupa/i386/pc/init.h: Likewise.
54707 * include/pupa/i386/pc/kernel.h: Likewise.
54708 * include/pupa/i386/pc/linux.h: Likewise.
54709 * include/pupa/i386/pc/loader.h: Likewise.
54710 * include/pupa/i386/pc/memory.h: Likewise.
54711 * include/pupa/i386/pc/multiboot.h: Likewise.
54712 * include/pupa/i386/pc/partition.h: Likewise.
54713 * include/pupa/i386/pc/time.h: Likewise.
54714 * include/pupa/i386/pc/vga.h: Likewise.
54715 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
54716 * include/pupa/util/getroot.h: Likewise.
54717 * include/pupa/util/misc.h: Likewise.
54718 * include/pupa/util/resolve.h: Likewise.
54719 * kern/device.c: Likewise.
54720 * kern/disk.c: Likewise.
54721 * kern/dl.c: Likewise.
54722 * kern/err.c: Likewise.
54723 * kern/file.c: Likewise.
54724 * kern/fs.c: Likewise.
54725 * kern/loader.c: Likewise.
54726 * kern/main.c: Likewise.
54727 * kern/misc.c: Likewise.
54728 * kern/mm.c: Likewise.
54729 * kern/rescue.c: Likewise.
54730 * kern/term.c: Likewise.
54731 * kern/i386/dl.c: Likewise.
54732 * kern/i386/pc/init.c: Likewise.
54733 * kern/i386/pc/lzo1x.S: Likewise.
54734 * kern/i386/pc/startup.S: Likewise.
54735 * loader/i386/pc/chainloader.c: Likewise.
54736 * loader/i386/pc/linux.c: Likewise.
54737 * loader/i386/pc/multiboot.c: Likewise.
54738 * normal/cmdline.c: Likewise.
54739 * normal/command.c: Likewise.
54740 * normal/main.c: Likewise.
54741 * normal/menu.c: Likewise.
54742 * normal/i386/setjmp.S: Likewise.
54743 * term/i386/pc/console.c: Likewise.
54744 * term/i386/pc/vga.c: Likewise.
54745 * util/console.c: Likewise.
54746 * util/genmoddep.c: Likewise.
54747 * util/misc.c: Likewise.
54748 * util/pupa-emu.c: Likewise.
54749 * util/resolve.c: Likewise.
54750 * util/unifont2pff.rb: Likewise.
54751 * util/i386/pc/biosdisk.c: Likewise.
54752 * util/i386/pc/getroot.c: Likewise.
54753 * util/i386/pc/pupa-mkimage.c: Likewise.
54754 * util/i386/pc/pupa-setup.c: Likewise.
54755
e6eced71 547562004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
54757
54758 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
54759 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
54760 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
54761 reading and reset it after reading.
54762 (pupa_ext2_close): Return PUPA_ERR_NONE.
54763
54764 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
54765 Correct value.
54766 (struct linux_kernel_header): Add kernel_version and
54767 initrd_addr_max.
54768 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
54769 pupa_file_read succeeds.
54770 (pupa_rescue_cmd_initrd): Implement.
54771
5aded270 547722003-12-03 Marco Gerards <metgerards@student.han.nl>
54773
54774 * fs/ext2.c (pupa_ext2_label): New function.
54775 (pupa_ext2_fs): Added label.
54776 * fs/fat.c (pupa_fat_label): New function.
54777 (pupa_fat_fs): Added label.
54778 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
54779
54780 * kern/misc.c (pupa_strndup): New function.
54781 * include/pupa/misc.h (pupa_strndup): New prototype.
54782
54783 * include/pupa/normal.h: Include <pupa/err.h>.
54784 (pupa_set_history): New prototype.
54785 (pupa_iterate_commands): New prototype.
54786 * normal/cmdline.c: Include <pupa/machine/partition.h>,
54787 <pupa/disk.h>, <pupa/file.h>.
54788 (hist_size): New variable.
54789 (hist_lines): Likewise.
54790 (hist_end): Likewise.
54791 (hist_used): Likewise.
54792 (pupa_set_history): New function.
54793 (pupa_history_get): Likewise.
54794 (pupa_history_add): Likewise.
54795 (pupa_history_replace): Likewise.
54796 (pupa_tab_complete): Likewise.
54797 (pupa_cmdline_run): Added tab completion and history buffer. Tab
54798 completion shows partitionnames while completing partitions, this
54799 feature was suggested by Jeff Bailey.
54800 * normal/command.c (pupa_iterate_commands): New function.
54801 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
54802 (pupa_normal_init): Initialize history buffer.
54803 (PUPA_MOD_INIT): Likewise.
54804 (pupa_normal_fini): Free the history buffer.
54805 (PUPA_MOD_FINI): Likewise.
54806
54807 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
54808 key.
54809
54810 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
54811 * configure.ac [i386]: Check for regparam bug.
54812 (NESTED_FUNC_ATTR) [! i386]: Defined.
54813
1f7315a3 548142003-11-17 Marco Gerards <metgerards@student.han.nl>
54815
54816 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
54817 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
54818 (pupa_emu_SOURCES): New variable.
54819 (pupa_emu_LDFLAGS): Likewise.
54820 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
54821 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
54822 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
54823 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54824 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
54825 (pupa_jmp_buf): New typedef.
54826 (pupa_setjmp) [PUPA_UTIL]: New macro.
54827 (pupa_longjmp) [PUPA_UTIL]: Likewise.
54828 * include/pupa/term.h (struct pupa_term): New member `refresh'.
54829 (pupa_refresh): New prototype.
54830 * include/pupa/util/getroot.h: New file.
54831 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
54832 it.
54833 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
54834 (pupa_rescue_cmd_cat): Likewise.
54835 (pupa_rescue_cmd_ls): Likewise.
54836 (pupa_rescue_cmd_testload): Likewise.
54837 (pupa_rescue_cmd_lsmod): Likewise.
54838 * normal/cmdline.c (pupa_cmdline_get): Likewise.
54839 * normal/menu.c (run_menu): Likewise.
54840 * kern/term.c (pupa_cls): Likewise.
54841 (pupa_refresh): New function.
54842 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
54843 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54844 * util/console.c: New file.
f19dbdb7 54845
1f7315a3 54846 * util/i386/pc/getroot.c: New file.
54847 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
54848 (pupa_putchar): New function.
54849 (pupa_refresh): Likewise.
54850 (xgetcwd): Function moved to ...
54851 (strip_extra_slashes): Likewise.
54852 (get_prefix): Likewise.
f19dbdb7 54853 * util/i386/pc/getroot.c: ... here.
1f7315a3 54854 (find_root_device): Function moved and renamed to...
54855 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
54856 Changed all callers.
54857 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
54858 and renamed to...
54859 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
54860 Changed all callers.
54861 * util/misc.c (pupa_memalign): New function.
54862 (pupa_mm_init_region): Likewise.
54863 (pupa_register_exported_symbols): Likewise.
54864 (pupa_putchar): Function removed.
54865 * util/pupa-emu.c: New file.
54866
9a5c1ade 548672003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
54868
54869 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
54870 (_multiboot_mod_SOURCES): New variable.
54871 (_multiboot_mod_CFLAGS): Likewise.
54872 * loader/i386/pc/multiboot.c: New file.
54873 * include/pupa/i386/pc/multiboot.h: Likewise.
54874 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
54875 (pupa_multiboot_real_boot): New function.
54876 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
54877 (pupa_multiboot_real_boot): New prototype.
54878 (pupa_rescue_cmd_multiboot): Likewise
54879 (pupa_rescue_cmd_module): Likewise.
54880
54881 * kern/loader.c (pupa_loader_set): Continue when
54882 pupa_loader_unload_func() fails.
54883 (pupa_loader_unset): New function.
54884 * include/pupa/loader.h (pupa_loader_unset): New prototype.
54885
54886 * kern/misc.c (pupa_stpcpy): New function.
54887 * include/pupa/misc.h (pupa_stpcpy): New prototype.
54888
8e72a9c0 548892003-11-12 Marco Gerards <metgerards@student.han.nl>
54890
54891 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
54892 for available extensions.
54893
54894 * include/pupa/i386/pc/time.h: New file.
54895 * kern/disk.c: Include <pupa/machine/time.h>.
54896 (PUPA_CACHE_TIMEOUT): New macro.
54897 (pupa_last_time): New variable.
54898 (pupa_disk_open): Flush the cache when there was a timeout.
54899 (pupa_disk_close): Reset the timer.
54900 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
54901 pupa_currticks.
54902 * util/misc.c: Include <sys/times.h>
54903 (pupa_get_rtc): New function.
54904
c4adbd32 549052003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
54906
54907 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
54908 as blocks.
54909 (pupa_ext2_get_file_block): Use blocks member.
54910
54911 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
54912 first block. Return -1 instead of pupa_errno on error.
54913
bfd30f06 549142003-10-27 Marco Gerards <metgerards@student.han.nl>
54915
54916 * README: In the pupa-mkimage example use _chain instead of chain
54917 and ext2 instead of fat.
54918 * TODO: Replace ext2fs with jfs as an example. Add an item for
54919 adding journal playback for ext2fs.
54920 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
54921 (pkgdata_MODULES): Added ext2.mod.
54922 (ext2_mod_SOURCES): New variable.
54923 (ext2_mod_CFLAGS): Likewise.
54924 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
54925 * include/pupa/misc.h (pupa_strncpy): New prototype.
54926 (pupa_strcat): Likewise.
54927 (pupa_strncmp): Likewise.
54928 * kern/misc.c (pupa_strcat): Enable function.
54929 (pupa_strncpy): New function.
54930 (pupa_strncmp): Likewise.
54931 * fs/ext2.c: New file.
f19dbdb7 54932
bfd30f06 54933 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
54934 when the read failed before retrying.
54935 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
54936 (_FILE_OFFSET_BITS): Likewise.
54937 * configure.ac: Added AC_SYS_LARGEFILE.
54938
98d15063 549392003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54940
54941 * genmk.rb (PModule#rule): Make sure to get only symbol names
54942 from the output of nm.
59cad637 54943 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 54944
18d9c7cd 549452003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54946
54947 I forgot to check in these changes for a long time. This adds
54948 incomplete support for VGA console, and this is still very
54949 buggy. Also, a lot of consideration is required for I18N,
54950 UNICODE, and VGA font issues. Therefore, assume that this is
54951 such that "better than nothing".
f19dbdb7 54952
18d9c7cd 54953 * font/manager.c: New file.
54954 * include/pupa/font.h: Likewise.
54955 * include/pupa/i386/pc/vga.h: Likewise.
54956 * term/i386/pc/vga.c: Likewise.
54957 * util/unifont2pff.rb: Likewise.
54958
54959 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
54960 (pkgdata_MODULES): Added vga.mod and font.mod.
54961 (vga_mod_SOURCES): New variables.
54962 (vga_mod_CFLAGS): Likewise.
54963 (font_mod_SOURCES): Likewise.
54964 (font_mod_CFLAGS): Likewise.
54965
54966 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
54967
54968 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 54969 (struct pupa_term): Added init and fini.
18d9c7cd 54970 Changed the argument of putchar to pupa_uint32_t.
54971
54972 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
54973 (pupa_console_real_putchar): New prototype.
54974 (pupa_console_putchar): Removed.
54975 (pupa_console_checkkey): Exported.
54976 (pupa_console_getkey): Likewise.
54977
54978 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
54979 characters.
54980
54981 * kern/term.c (pupa_term_set_current): Rewritten.
54982 (pupa_putchar): Likewise.
54983 (pupa_putcode): New function.
54984
54985 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
54986 (pupa_console_real_putchar): ... this.
54987 (pupa_vga_set_mode): New function.
54988 (pupa_vga_get_font): Likewise.
54989
54990 * normal/command.c: Include pupa/term.h.
54991 (terminal_command): New function.
54992 (pupa_command_init): Register the command "terminal".
54993
54994 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
54995 (DISP_UP): Likewise.
54996 (DISP_RIGHT): Likewise.
54997 (DISP_DOWN): Likewise.
54998 (DISP_HLINE): Likewise.
54999 (DISP_VLINE): Likewise.
55000 (DISP_UL): Likewise.
55001 (DISP_UR): Likewise.
55002 (DISP_LL): Likewise.
55003 (DISP_LR): Likewise.
55004
55005 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 55006
977329f5 550072003-02-08 NIIBE Yutaka <gniibe@m17n.org>
55008
55009 * util/resolve.c (pupa_util_resolve_dependencies): BUG
55010 FIX. Reverse the path_list.
55011
55012 * include/pupa/normal.h: Export pupa_register_command and
55013 pupa_unregister_command.
55014
55015 * hello/hello.c (pupa_cmd_hello): New module.
55016 * conf/i386-pc.rmk: Added hello.mod.
55017
1f5ab428 550182003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
55019
55020 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 55021
1f5ab428 55022 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
55023 (compress_kernel): New variable.
55024 (generate_image): Heavily modified to support compressing a
55025 large part of the core image.
55026
55027 * util/misc.c (pupa_util_read_image): Fix a file descriptor
55028 leak.
55029 (pupa_util_load_image): New function.
55030
55031 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
55032 (pupa_compressed_size): New variable.
55033 (codestart): Enable Gate A20 here.
55034 Decompress the compressed part of the core image.
55035 Rearrange the code to put functions and variables which are
55036 required for initialization in the non-compressed part.
55037 Include lzo1x.S.
55038
55039 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
55040 here.
55041
55042 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
55043
f19dbdb7 55044 * include/pupa/i386/pc/kernel.h
1f5ab428 55045 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
55046 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
55047 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
55048 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
55049 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
55050
55051 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
55052
55053 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
55054 (Utility#rule): Likewise.
55055
55056 * configure.ac: Check if LZO is available.
55057
ce5bf700 550582003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
55059
55060 * include/pupa/normal.h: New file.
55061 * include/pupa/setjmp.h: Likewise.
55062 * include/pupa/i386/setjmp.h: Likewise.
55063 * normal/cmdline.c: Likewise.
55064 * normal/command.c: Likewise.
55065 * normal/main.c: Likewise.
55066 * normal/menu.c: Likewise.
55067 * normal/i386/setjmp.S: Likewise.
f19dbdb7 55068
ce5bf700 55069 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
55070 (pupa_rescue_cmd_initrd): Likewise.
55071
55072 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
55073 Likewise.
55074
55075 * kern/i386/pc/startup.S (translation_table): New variable.
55076 (translate_keycode): New function.
55077 (pupa_console_getkey): Call translate_keycode.
55078
55079 * kern/rescue.c (attempt_normal_mode): New function.
55080 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
55081 it failed, print a message.
55082
55083 * kern/mm.c (pupa_real_malloc): Print more information when a
55084 free magic is broken.
55085 (pupa_free): If the first free header is not free actually, set
55086 it to P.
55087
55088 * kern/main.c (pupa_load_normal_mode): Just load the module
55089 "normal".
55090 (pupa_main): Don't print the message
55091 "Entering into rescue mode..." here.
55092
55093 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
55094 Declared.
55095 (pupa_rescue_cmd_initrd): Likewise.
55096 (pupa_rescue_cmd_initrd): Likewise.
55097
55098 * include/pupa/symbol.h (FUNCTION): Specify the type.
55099 (VARIABLE): Likewise.
55100
55101 * include/pupa/err.h (pupa_err_t): Added
55102 PUPA_ERR_UNKNOWN_COMMAND.
55103
55104 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
55105 (pupa_dl_get_prefix): Likewise.
55106
55107 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
55108 Added _chain.mod and _linux.mod instead of chain.mod and
55109 linux.mod.
55110 (chain_mod_SOURCES): Renamed to ...
55111 (_chain_mod_SOURCES): ... this.
55112 (chain_mod_CFLAGS): Renamed to ...
55113 (_chain_mod_CFLAGS): ... this.
55114 (linux_mod_SOURCES): Renamed to ...
55115 (_linux_mod_SOURCES): ... this.
55116 (linux_mod_CFLAGS): Renamed to ...
55117 (_linux_mod_CFLAGS): ... this.
55118 (normal_mod_SOURCES): New variable.
55119 (normal_mod_CFLAGS): Likewise.
55120 (normal_mod_ASFLAGS): Likewise.
55121
551222003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
55123
55124 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
55125 possible.
55126
fe6b695a 55127 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 55128 recursively.
55129 (pupa_dl_unref): Unrefer depending modules recursively.
55130 Don't call pupa_dl_unload implicitly, because PUPA can crash if
55131 a module is unloaded before one depending on that module is
55132 unloaded.
55133 (pupa_dl_unload): Unload depending modules explicitly,
55134 if possible.
55135
c04da074 551362003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
55137
55138 * include/pupa/i386/pc/linux.h: New file.
55139 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 55140
c04da074 55141 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
55142 Removed.
55143 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
55144 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
55145 of PUPA_CHAINLOADER_BOOT_SECTOR.
55146
55147 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
55148 (pupa_linux_prot_size): New variable.
55149 (pupa_linux_tmp_addr): Likewise.
55150 (pupa_linux_real_addr): Likewise.
55151 (pupa_linux_boot_zimage): New function.
55152 (pupa_linux_boot_bzimage): Likewise.
55153
55154 * kern/i386/pc/init.c (struct mem_region): New structure.
55155 (MAX_REGIONS): New macro.
55156 (mem_regions): New variable.
55157 (num_regions): Likewise.
55158 (pupa_os_area_addr): Likewise.
55159 (pupa_os_area_size): Likewise.
55160 (pupa_lower_mem): Likewise.
55161 (pupa_upper_mem): Likewise.
55162 (add_mem_region): New function.
55163 (compact_mem_regions): Likewise.
55164 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
55165 the size of the conventional memory and that of so-called upper
55166 memory (before the first memory hole).
55167 Instead of adding each found region to free memory, use
55168 add_mem_region and add them after removing overlaps.
55169 Also, add only 1/4 of the upper memory to free memory. The rest
55170 is used for loading OS images. Maybe this is ad hoc, but this
55171 makes it much easier to relocate OS images when booting.
55172
55173 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
55174 (pupa_enter_rescue_mode): Don't register initrd and module.
55175
55176 * kern/mm.c: Include pupa/dl.h.
55177
55178 * kern/main.c: Include pupa/file.h and pupa/device.h.
55179
55180 * kern/loader.c (pupa_loader_load_module_func): Removed.
55181 (pupa_loader_load_module): Likewise.
55182
55183 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
55184 ``.o''.
55185
55186 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
55187 (pupa_linux_tmp_addr): Likewise.
55188 (pupa_linux_real_addr): Likewise.
55189 (pupa_linux_boot_zimage): Likewise.
55190 (pupa_linux_boot_bzimage): Likewise.
55191
55192 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
55193 (pupa_upper_mem): Likewise.
55194 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
55195 module is too dangerous.
55196
55197 * include/pupa/loader.h (pupa_os_area_addr): Declared.
55198 (pupa_os_area_size): Likewise.
55199 (pupa_loader_set): Remove the first argument. Loader doesn't
55200 manage modules or initrd any longer.
55201 (pupa_loader_load_module): Removed.
55202
55203 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
55204 (linux_mod_SOURCES): New variable.
55205 (linux_mod_CFLAGS): Likewise.
55206
a13f9237 552072003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
55208
55209 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
55210 the length of a blocklist correctly.
55211
55212 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
55213 Use ioctl only if the OS file is a block device.
55214 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
55215 not very useful for normal files.
55216
55217 * kern/main.c (pupa_set_root_dev): New function.
55218 (pupa_load_normal_mode): Likewise.
55219 (pupa_main): Call those above.
55220
55221 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
55222 pupa_uint16_t.
55223
55224 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
55225
a5ffe966 552262003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
55227
55228 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
55229 (setup): Configure the installed partition information and the
55230 dl prefix.
55231
55232 * loader/i386/pc/chainloader.c (my_mod): New variable.
55233 (pupa_chainloader_unload): New function.
55234 (pupa_rescue_cmd_chainloader): Refer itself.
55235 (PUPA_MOD_INIT): Save its own module in MY_MOD.
55236
55237 * kern/i386/pc/startup.S (install_partition): Removed.
55238 (version_string): Likewise.
55239 (config_file): Likewise.
55240 (pupa_install_dos_part): New variable.
55241 (pupa_install_bsd_part): Likewise.
55242 (pupa_prefix): Likewise.
55243 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
55244
55245 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
55246 and pupa/misc.h.
55247 (make_install_device): New function.
55248 (pupa_machine_init): Set the dl prefix.
55249
55250 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
55251 (buf): Renamed to ...
55252 (linebuf): ... this.
55253 (pupa_rescue_cmd_prefix): New function.
55254 (pupa_rescue_cmd_insmod): Likewise.
55255 (pupa_rescue_cmd_rmmod): Likewise.
55256 (pupa_rescue_cmd_lsmod): Likewise.
55257 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
55258 rmmod and lsmod.
55259
55260 * kern/mm.c (pupa_memalign): If failed even after invalidating
55261 disk caches, unload unneeded modules and retry.
55262
55263 * kern/misc.c (pupa_memmove): New function.
55264 (pupa_memcpy): Removed.
55265 (pupa_strcpy): New function.
55266 (pupa_itoa): Made static.
55267
55268 * kern/dl.c (pupa_dl_iterate): New function.
55269 (pupa_dl_ref): Likewise.
55270 (pupa_dl_unref): Likewise.
55271 (pupa_dl_unload): Return if succeeded or not.
55272 (pupa_dl_unload_unneeded): New function.
55273 (pupa_dl_unload_all): Likewise.
55274 (pupa_dl_init): Renamed to ...
55275 (pupa_dl_set_prefix): ... this.
55276 (pupa_dl_get_prefix): New function.
55277
55278 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
55279 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
55280 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
55281 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
55282 (pupa_install_dos_part): Declared.
55283 (pupa_install_bsd_part): Likewise.
55284 (pupa_prefix): Likewise.
55285 (pupa_boot_drive): Likewise.
55286
55287 * include/pupa/types.h: Fix a typo.
55288
55289 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
55290 pupa_memmove.
55291 (pupa_memmove): Declared.
55292 (pupa_strcpy): Likewise.
55293
55294 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
55295 pupa_mod_init takes one argument, its own module.
55296 (pupa_dl_unload_unneeded): Declared.
55297 (pupa_dl_unload_all): Likewise.
55298 (pupa_dl_ref): Likewise.
55299 (pupa_dl_unref): Likewise.
55300 (pupa_dl_iterate): Likewise.
55301 (pupa_dl_init): Renamed to ...
55302 (pupa_dl_set_prefix): ... this.
55303 (pupa_dl_get_prefix): Declared.
55304
55305 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 55306 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 55307 unloaded.
55308 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
55309 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
55310
55311 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
55312 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
55313
012d7999 553142003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55315
55316 * util/i386/pc/pupa-setup.c (setup): Define the internal
55317 function find_first_partition_start at the top level, because GCC
55318 3.0.x cannot compile internal functions in deeper scopes
55319 correctly.
55320 (find_root_device): Use lstat instead of stat.
55321 Don't follow symbolic links.
55322 Fix the path-constructing code.
55323
55324 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
55325 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
55326 by a BLKGETSIZE ioctl first, because block devices don't fill
55327 the member st_mode of the structure stat on Linux.
55328 [__linux__] (linux_find_partition): Use a temporary buffer
55329 REAL_DEV for the working space. Copy it to DEV before returning.
55330 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
55331 buffer cache consistent.
55332 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
55333 strncmp. The previous value was merely wrong.
55334 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
55335
55336 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
55337 FAT size is 12. The previous value was merely wrong.
55338
55339 * kern/main.c (pupa_main): Don't split the starting message from
55340 newlines.
55341
55342 * kern/term.c (pupa_putchar): Put CR after LF instead of before
55343 LF, because BIOS goes crazy about character attributes in this
55344 case.
55345
1cc73a62 553462003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55347
55348 * include/i386/pc/util/biosdisk.h: New file.
55349 * util/i386/pc/biosdisk.c: Likewise.
55350 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 55351
1cc73a62 55352 * Makefile.in (INCLUDE_DISTFILES): Added
55353 include/pupa/i386/pc/util/biosdisk.h.
55354 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
55355 directory util/i386/pc.
55356 (install-local): Added a rule for sbin_UTILITIES.
55357 (uninstall): Likewise.
55358
55359 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
55360
55361 * util/misc.c (xrealloc): New function.
55362 (pupa_malloc): Likewise.
55363 (pupa_free): Likewise.
55364 (pupa_realloc): Likewise.
55365 (pupa_stop): Likewise.
55366 (pupa_putchar): Likewise.
55367
55368 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
55369
55370 * include/pupa/util/misc.h (xrealloc): Declared.
55371
55372 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
55373 macro.
55374 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
55375 (PUPA_BOOT_MACHINE_BPB_END): ... this.
55376
55377 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
55378 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55379
55380 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
55381 way should be implemented.
55382 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55383
55384 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
55385 the size of NAME for safety.
55386 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
55387 0x88.
55388
55389 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
55390 (pupa_setup_SOURCES): Likewise.
55391
55392 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
55393
08b70fe8 553942002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55395
55396 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
55397 bunch of pushl's from pusha, because this destroys the return
55398 value.
55399
62ddcc8f 554002002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55401
55402 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
55403 This means that any missing prototypes could be fatal. Also, you
55404 must take care when writing assembly code. See the comments at
55405 the beginning of startup.S, for more details.
f19dbdb7 55406
62ddcc8f 55407 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
55408 compilation mechanism.
55409 (pupa_chainloader_real_boot): Likewise.
55410 (pupa_biosdisk_rw_int13_extensions): Likewise.
55411 (pupa_biosdisk_rw_standard): Likewise.
55412 (pupa_biosdisk_check_int13_extensions): Likewise.
55413 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
55414 (pupa_biosdisk_get_diskinfo_standard): Likewise.
55415 (pupa_get_memsize): Likewise.
55416 (pupa_get_mmap_entry): Likewise.
55417 (pupa_console_putchar): Likewise.
55418 (pupa_console_setcursor): Likewise.
55419 (pupa_getrtsecs): Use pushl instead of push.
55420
55421 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
55422 memory instead of the stack for a mmap entry, because some
55423 BIOSes may ignore the maximum size and overflow.
55424
55425 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
55426
55427 * genmk.rb (PModule#rule): Compile automatically generated
55428 sources with module-specific CFLAGS as well as other sources.
55429
9962ed99 554302002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55431
55432 * configure.ac: Check ld.
55433 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
55434 respectively, before checking endianness and sizes.
55435
55436 * Makefile.in (LD): New variable.
f19dbdb7 55437
abdfc3c5 554382002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55439
55440 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
55441
6a161fa9 554422002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55443
55444 * Changelog: New file.
55445