]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Reject NILFS2 superblocks with over 1GiB blocks.
[grub2.git] / ChangeLog
CommitLineData
9201cd79
VS
12015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Reject NILFS2 superblocks with over 1GiB blocks.
4
5 * grub-core/fs/nilfs2.c (grub_nilfs2_valid_sb): Check that
6 block size is <= 1GiB.
7
f27ccb58
VS
82015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9
10 * grub-core/disk/ata.c (grub_ata_setaddress): Check that geometry
11 is sane when using CHS addressing.
12
1dfe3f97
VS
132015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * grub-core/disk/AFSplitter.c (AF_merge): Check that mdlen is not 0.
16
44461d5a
VS
172015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Avoid
20 division by zero.
21
30e177a0
VS
222015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_maxpacket): Avoid
25 potentially returning 0.
26
272015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * grub-core/fs/minix.c (grub_minix_read_file): Avoid reading past
30 the end of file.
31
af435524
VS
322015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/fs/fshelp.c (grub_fshelp_read_file): Don't attempt to read
35 past the end of file.
36
66ce4d1a
VS
372015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Update len
40 synchronously with line.
41
59d40365
VS
422015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
43
44 Replace explicit sizeof divisions by ARRAY_SIZE.
45
ba3031f9
KM
462015-01-19 Kris Moore <kris@pcbsd.org>
47
48 * grub-core/disk/geli.c: Support GELI v6 and v7.
49
bac5d1a6
AB
502014-12-09 Andrei Borzenkov <arvidjaar@gmail.com>
51
52 * grub-core/term/serial.c (grub_cmd_serial): Fix --rtscts
53 option processing.
54
17328db3
DK
552014-12-07 David Kozub <zub.272@gmail.com>
56
57 * grub-core/kern/arm/misc.S: fix unaligned 64bit local variable
58 in __aeabi_uidivmod
59 Fixes Savannah bug #43632.
60
58f66137
PN
612014-12-07 Peter Nelson <peterdn>
62
63 * grub-core/fs/ext2.c (grub_ext2_read_block): Support large sparse
64 chunks.
65
cdae5bf2
AB
662014-12-07 Andrei Borzenkov <arvidjaar@gmail.com>
67
68 * util/grub-mkconfig_lib.in (version_test_gt): Remove redundant
69 non-portable '-n' echo option.
70 * util/grub.d/10_kfreebsd.in: Change how list is built to avoid
71 non-portable 'echo -n.
72 * util/grub.d/10_linux.in: Likewise (closes 43668).
73 * util/grub.d/20_linux_xen.in: Likewise.
74 * util/grub.d/30_os-prober.in: Print spaces directly to avoid
75 non-portable 'echo -n'.
76
06eadf5e
CL
772014-12-07 Curtis Larsen <larsen@dixie.edu>
78
79 * grub-core/net/tcp.c (grub_net_recv_tcp_packet): Fix double
80 free when multiple empty segments were received (closes 42765).
81
4b94e322
AB
822014-12-05 Andrei Borzenkov <arvidjaar@gmail.com>
83
84 * tests/util/grub-shell.in: Support --files also for netboot.
272e0466
AB
85 * tests/file_filter_test.in: New file with file filters tests.
86 * Makefile.util.def: Add file_filter_test.
87 * conf/Makefile.extra-dist: ... and here.
88 * tests/file_filter/file.gz: Test file for file_filter_test.
89 * tests/file_filter/file.gz.sig: Likewise.
90 * tests/file_filter/file.lzop: Likewise.
91 * tests/file_filter/file.lzop.sig: Likewise.
92 * tests/file_filter/file.xz: Likewise.
93 * tests/file_filter/file.xz.sig: Likewise.
94 * tests/file_filter/keys: Likewise.
95 * tests/file_filter/keys.pub: Likewise.
96 * tests/file_filter/test.cfg: Likewise.
ebb3d958
AB
97 * grub-core/commands/verify.c: Fix memory corruption doing
98 signature check for network files (closes 43601).
4b94e322 99
03d79a87
AB
1002014-12-01 Andrei Borzenkov <arvidjaar@gmail.com>
101
3173c750
AB
102 * grub-core/loader/i386/xen_fileXX.c (grub_xen_get_infoXX): Fix
103 memory leak (CID 73645, 73782).
03d79a87
AB
104 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix memory leak
105 (CID 73635).
106
dbbac5a0
AB
1072014-11-30 Andrei Borzenkov <arvidjaar@gmail.com>
108
109 * grub-core/lib/syslinux_parse.c (free_menu): Do not free
110 inline array (CID 73610).
111
478b5675
AB
1122014-11-28 Andrei Borzenkov <arvidjaar@gmail.com>
113
343dad41 114 * grub-core/io/lzopio.c (test_header): Fix double free (CID 73665)
f07784e8
AB
115 * grub-core/disk/geli.c (configure_ciphers): Fix memory leaks
116 (Coverity CID 73813, 73710)
ea44693f
AB
117 * grub-core/disk/luks.c (configure_ciphers): Fix memory leaks
118 and use after free (Coverity CID 73813, 73710, 73730)
119 * grub-core/disk/luks.c (luks_recover_key): Fix memory leak (Coverity
120 CID 73854)
0415dbe2
AB
121 * util/grub-install-common.c (grub_install_get_target): Check return
122 value of grub_util_fd_read (Coverity CID 73819).
478b5675
AB
123 * util/grub-mkstandalone.c (add_tar_file): Fix out of bound access
124 to hd.magic (Coverity CID 73587, 73888, bug 43690).
125
e2dd6daa
AB
1262014-11-20 Andrei Borzenkov <arvidjaar@gmail.com>
127
128 * tests/util/grub-fs-tester.in: Consistently print output
129 of grub ls if test fails.
130
2ccaa3b9 1312014-11-07 Leif Lindholm <leif.lindholm@linaro.org>
004a2b1e
LL
132
133 * grub-core/kern/efi/init.c: check value of *path before
134 dereferencing.
135
72ec399a
MC
1362014-11-03 Michael Chang <mchang@suse.com>
137
138 * grub-core/net/icmp6.c (grub_net_recv_icmp6_packet): Fix size
139 of neighbor solicitation packet in grub_netbuff_pull.
140
9a67e1ac
AB
1412014-10-14 Andrei Borzenkov <arvidjaar@gmail.com>
142
143 * grub-core/loader/arm/linux.c: Use full initializer for initrd_ctx to
144 avoid fatal warnings with older gcc (probably before 4.7).
145 * grub-core/loader/arm64/linux.c: Likewise.
146 * grub-core/loader/i386/linux.c: Likewise.
147 * grub-core/loader/i386/pc/linux.c: Likewise.
148 * grub-core/loader/ia64/efi/linux.c: Likewise.
149 * grub-core/loader/mips/linux.c: Likewise.
150 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
151 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
152
77063f4c
CW
1532014-09-25 Colin Watson <cjwatson@ubuntu.com>
154
155 Fix in-tree --platform=none
156
157 * configure.ac: Only remove include/grub/cpu and
158 include/grub/machine in the --platform=none case, not all of
159 include/grub.
160
5d90f6e5
CW
1612014-09-23 Colin Watson <cjwatson@ubuntu.com>
162
163 Add a new "none" platform that only builds utilities
164
165 * configure.ac: Add "none" platform. Default to it for unsupported
166 CPUs rather than stopping with a fatal error. Don't downgrade
167 x86_64-none to i386. Define COND_real_platform Automake conditional
168 if the platform is anything other than "none". Don't do any include
169 directory linking for "none".
170 * Makefile.am: Skip building grub-core and all bootcheck targets if
171 !COND_real_platform.
172 * include/grub/time.h: Don't include <grub/cpu/time.h> if GRUB_UTIL
173 is defined.
174
954fe771
AB
1752014-09-22 Andrei Borzenkov <arvidjaar@gmail.com>
176
177 Use grub_cpu_to_XXX_compile_time for constants.
178
0f1f95c7
VD
1792014-09-21 Valentin Dornauer <valentin@unimplemented.org>
180
181 The AML parser implements only a small subset of possible AML
182 opcodes. On the Fujitsu Lifebook E744 this and another bug in
183 the parser (incorrect handling of TermArg data types) would lead
184 to the laptop not turning off (_S5 not found).
185
186 * grub-core/commands/acpihalt.c: Support OpAlias in the AML parser;
187 in skip_ext_op(), handle some Type2Opcodes more correctly (TermArgs
188 aren't always simply strings!); Add function to skip TermArgs
189 * include/grub/acpi.h: Add new opcodes
190
41c6f91f
VS
1912014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/normal/main.c: Don't drop to rescue console in
194 case of password-protected prompt and no menu entries.
195
7c378c39
VS
1962014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/commands/keylayouts.c: Ignore unknown keys.
199
2988a849
VS
2002014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * grub-core/gmodule.pl.in: Accept newer binutils which output
203 empty column rather than 0x0.
204
0aece00c
MC
2052014-09-21 Michael Chang <mchang@suse.com>
206
207 * grub-core/osdep/unix/config.c: Remove extraneous comma.
208
2092014-09-21 Peter Jones <pjones@redhat.com>
631a8200
PJ
210
211 * grub-core/loader/arm/linux.c: Initialized initrd_ctx so
212 we don't free a random pointer from the stack.
213 * grub-core/loader/arm64/linux.c: Likewise.
214 * grub-core/loader/i386/linux.c: Likewise.
215 * grub-core/loader/i386/pc/linux.c: Likewise.
216 * grub-core/loader/ia64/efi/linux.c: Likewise.
217 * grub-core/loader/mips/linux.c: Likewise.
218 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
219 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
220
60049a0e
CW
2212014-09-15 Khem Raj <raj.khem@gmail.com>
222
a276b840
KR
223 * grub-core/kern/emu/hostfs.c: use _DEFAULT_SOURCE in addition to
224 _BSD_SOURCE to avoid warnings under glibc 2.20+.
225
54bd9a06
MC
2262014-09-08 Michael Chang <mchang@suse.com>
227
228 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Fix extent size
229 check; comparing &data->extent against addresses in the region it
230 points to is unpredictable.
231
2a5a532c
CW
2322014-09-07 Colin Watson <cjwatson@ubuntu.com>
233
234 Support grub-emu on x32 (ILP32 but with x86-64 instruction set)
235
236 * configure.ac: Remove -m64 from checks for -mcmodel=large and
237 -mno-red-zone. These are always either unnecessary (x86_64-emu) or
238 already in TARGET_CFLAGS at this point, and they produce incorrect
239 results when building for x32.
240 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Cast
241 pointers to Elf64_Xword via grub_addr_t, in order to work on x32.
242 * include/grub/x86_64/types.h (GRUB_TARGET_SIZEOF_VOID_P,
243 GRUB_TARGET_SIZEOF_LONG): Define to 4 on x32.
244
4d94b2db
CW
2452014-09-07 Colin Watson <cjwatson@ubuntu.com>
246
247 * configure.ac: Remove several unnecessary semicolons.
248
1de3a480
CW
2492014-08-25 Colin Watson <cjwatson@ubuntu.com>
250
251 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
252 Initialise pend to pacify GCC.
253
c291f47b
AB
2542014-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
255
256 * util/grub-mkconfig.in: Fix typo (gettext_print instead of
257 gettext_printf).
258
3c058332
VS
2592014-08-13 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * grub-core/term/at_keyboard.c: Retry probing keyboard if
262 scancode setup failed.
263
d1224d20
VS
2642014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * grub-core/kern/disk_common.c: Clump disk size to 1EiB.
267
0af3ae2d
VS
2682014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Add
271 safety to avoid triggerring VirtualBox bug.
272
33f6ce67
VS
2732014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * grub-core/fs/cbfs.c: Don't probe disks of unknow size.
276
79c80b06
VS
277 Fixes hang on virtualbox.
278
0901e785
CW
2792014-07-08 Colin Watson <cjwatson@ubuntu.com>
280
281 * util/grub.d/10_hurd.in: Make kernel list progression not fail on
282 kernels whose paths contain regex metacharacters.
283 * util/grub.d/10_kfreebsd.in: Likewise.
284 * util/grub.d/10_linux.in: Likewise.
285 * util/grub.d/20_linux_xen.in: Likewise.
286
287 Reported by: Heimo Stranner.
288
4250f552
CW
2892014-06-26 Colin Watson <cjwatson@ubuntu.com>
290
291 * docs/grub-dev.texi (Finding your way around): The build system no
292 longer uses AutoGen directly.
293
1f6af2a9
РП
2942014-06-21 Роман Пехов <roman_pekhov>
295
296 * grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
297
fa335308
GW
2982014-06-21 Glenn Washburn <development@efficientek.com>
299
300 * util/grub-install.c: Fix handling of --disk-module.
301
15bd333e
SR
3022014-06-21 Stephane Rochoy <sheda>
303
304 * grub-core/loader/i386/bsd.c (grub_netbsd_boot): Pass pointer to
305 EFI system table.
306
3f3ec8ef
SR
3072014-06-21 Stephane Rochoy <sheda>
308
309 * grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
310 EFI system table physical address.
311
87de66d9
TW
3122014-06-21 Trevor Woerner <trevor.woerner@linaro.org>
313
314 * util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable.
315
2c2c5c72
VS
3162014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
319
480c8985
VS
3202014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
323 check.
324
4b8b9135
VS
3252014-04-20 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * grub-core/kern/misc.c (__bzero): Don't compile in GRUB_UTIL.
328
329 Reported by: Yves Blusseau <blusseau@zetam.org>.
330
5a6db38d
PK
3312014-04-20 Piotr Krysiuk <piotras@gmail.com>
332
333 * grub-core/lib/i386/relocator.c: Allow loading old kernels by placing
334 GDT in conventional memory.
335
3a310e84
CW
3362014-04-10 Colin Watson <cjwatson@ubuntu.com>
337
338 * util/grub.d/30_os-prober.in: Tolerate devices with no filesystem
339 UUID. Other parts of grub-mkconfig tolerate these, they were
340 previously allowed here up to commit
341 55e706c918922def17f5012c23cfe88c4c645208, and they can arise in
342 practice when the system has active LVM snapshots.
343 Fixes Ubuntu bug #1287436.
344
c4badfe8
CW
3452014-04-10 Colin Watson <cjwatson@ubuntu.com>
346
347 * grub-core/disk/lvm.c (grub_lvm_detect): Search for
348 "logical_volumes" block a little more accurately.
349
a72fc329
VS
3502014-04-06 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * grub-core/lib/syslinux_parse.c: Fix timeout quoting.
353
6f6d4aa0
VS
3542014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * include/grub/libgcc.h: Remove ctzsi2 and ctzdi2. They're no longer
357 pulled from libgcc.
358
8063ce19
VS
3592014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
360
361 Replace few instances of memcmp/memcpy in the code that should be
362 grub_memcmp/grub_memcpy.
363
97060667
VS
3642014-04-03 Vladimir Serbinenko <phcoder@gmail.com>
365
366 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Support NVMe
367 device names.
368
4afd0107
TF
3692014-03-31 Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
370
371 btrfs: fix get_root key comparison failures due to endianness
372
373 * grub-core/fs/btrfs.c (get_root): Convert
374 GRUB_BTRFS_ROOT_VOL_OBJECTID to little-endian.
375
24024dac
CW
3762014-03-31 Colin Watson <cjwatson@ubuntu.com>
377
378 Fix partmap, cryptodisk, and abstraction handling in grub-mkconfig.
379
380 Commit 588744d0dc655177d5883bdcb8f72ff5160109ed caused grub-mkconfig
381 no longer to be forgiving of trailing spaces on grub-probe output
382 lines, which among other things means that util/grub.d/10_linux.in
383 no longer detects LVM. To fix this, make grub-probe's output
384 delimiting more consistent. As a bonus, this improves the coverage
385 of the -0 option.
386
387 Fixes Debian bug #735935.
388
389 * grub-core/disk/cryptodisk.c
390 (grub_util_cryptodisk_get_abstraction): Add a user-data argument.
391 * grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
392 Likewise.
393 * include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
394 Update prototype.
395 * include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
396 * util/grub-install.c (push_partmap_module, push_cryptodisk_module,
397 probe_mods): Adjust for extra user-data arguments.
398 * util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
399 probe_abstraction): Use configured delimiter. Update callers.
400
9b35fe81
CW
4012014-03-31 Colin Watson <cjwatson@ubuntu.com>
402
403 * util/grub-probe,c (options): Make -0 work again (broken by
404 conversion to argp).
405 (main): Simplify logic.
406
46b74dd3
VS
4072014-03-26 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * grub-core/lib/relocator.c: Fix the case when end of leftover is used.
410
68f17b2b
FW
4112014-03-26 Fu Wei <fu.wei@linaro.org>
412
413 * grub-core/loader/arm64/linux.c: Remove redundant "0x".
414
86402b4e
VS
4152014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * include/grub/i386/openbsd_bootarg.h: Add addr and frequency fields.
418 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Fill addr field.
419
420 Suggested by: Markus Müller.
421
bec35dad
VS
4222014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * grub-core/kern/i386/pc/mmap.c: Fallback to EISA memory map
425 if E820 failed to return any regions.
426
dfc5ccfa
VS
4272014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * grub-core/mmap/i386/uppermem.c (lower_hook) [COREBOOT]: Ignore low
430 tables for low memory calculations.
431
4a70fed8
VS
4322014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Limit
435 location to 640K.
436
f94b2b4e
VS
4372014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * grub-core/kern/i386/coreboot/mmap.c: Filter out 0xa0000-0x100000
440 region.
441
d0949e37
VS
4422014-02-20 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * grub-core/disk/ahci.c: Ignore NPORTS field and rely on PI
445 exclusively.
446
9585647a
PFS
4472014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
448
449 Add bootpath parser for open firmware.
450
451 It enables net boot even when there is no bootp/dhcp server.
452
453 * grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath
454 and call it at grub_ieee1275_net_config_real.
455 * grub-core/kern/ieee1275/init.c: Add bootpath to
456 grub_ieee1275_net_config.
457 * include/grub/ieee1275/ieee1275.h: Likewise.
458
459
e4dbf247
PFS
4602014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
461
462 Add grub_env_set_net_property function.
463
464 * grub-core/net/bootp.c: Remove set_env_limn_ro.
465 * grub-core/net/net.c: Add grub_env_set_net_property.
466 * include/grub/net.h: Likewise.
467
006c78f3
VS
4682014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * util/grub-mkrescue.c: Build fix for argp.h with older gcc.
471
511ece7c
VS
4722014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * util/grub-mkfont.c: Build fix for argp.h with older gcc.
475
9abbaae7
VS
4762014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
479 7 seconds to recover if last poweroff was bad.
480
d6b94c5e
VS
4812014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * grub-core/disk/ahci.c: Properly handle transactions with no
484 transferred data.
485
07ea8daa
VS
4862014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * grub-core/disk/ahci.c: Add safety cleanups.
489
3142b2fe
VS
4902014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/disk/ahci.c: Allocate and clean space for all possible 32
493 slots to avoid pointing to uninited area.
494
4686e163
VS
4952014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * grub-core/disk/ahci.c: Do not enable I/O decoding and keep
498 enabling busmaster for the end.
499
ba424f37
VS
5002014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * util/grub-mkfont.c: Downgrade warnings about unhandled features
503 to debug.
504
3beabdc8 5052014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7f64fb59
VS
506
507 * grub-core/term/at_keyboard.c: Tolerate missing keyboard.
508
ba584da1
PFS
5092014-01-29 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
510
511 * .gitignore: add missing files and .exe variants.
512
35f2d96c
MG
5132014-01-26 Mike Gilbert <floppym@gentoo.org>
514
515 grub-install: support for partitioned partx loop devices.
516
517 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
518 /dev/loopX as being the parent of /dev/loopXpY.
519
9afe2053
VS
5202014-01-26 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/term/serial.c (grub_serial_register): Fix invalid free.
523 Ensure that pointers are inited to NULL and that pointers are not
524 accessed after free.
5ae584c0
AB
525
5262014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
527
528 * include/grub/crypto.h: Replace __attribute__ ((format (printf)) with
529 __attribute__ ((format (__printf__)) to fix compilation under MinGW-w64.
530 * include/grub/emu/misc.h: ... and here.
531 * include/grub/err.h: ... and here.
532 * util/import_gcry.py: ... and here (in files g10lib.h).
533
1440b7eb
AB
5342014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
535
536 * util/grub-mkimage.c: Make prefix argument mandatory.
537
61c8482b
VS
5382014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
539
540 Fix several translatable strings.
541
542 Suggested by: D. Prévot.
543
95cd131e
VS
5442014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * util/grub-install.c: List available targets.
547
d0805930
CW
5482014-01-23 Colin Watson <cjwatson@ubuntu.com>
549
550 * util/grub-install.c (write_to_disk): Add an info message.
551
eec4237a
AB
5522014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
553
554 * Makefile.am: Allow adding extra files to generated Windows ZIP
555 archive by setting GRUB_WINDOWS_EXTRA_DIST.
556
36387ece
AB
5572014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
558
559 * configure.ac: Look for DejaVuSans also in /usr/share/fonts/truetype.
443b3222 560 Show detected font path in summary.
36387ece 561
6f65e36c
PFS
5622014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
563
564 * grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
565 interval gradually.
566 * grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
567 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
568 * grub-core/net/tftp.c (tftp_open): Likewise.
569 * include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
570
d99d2f84
PFS
5712014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
572
573 * grub-core/net/net.c (receive_packets): Change stop condition to avoid
574 infinite loops.
575
576 In net/net.c there is a while (1) that only exits if there is a stop
577 condition and more then 10 packages or if there is no package received.
578
579 If GRUB is idle and enter in this loop, the only condition to leave is
580 if it doesn't have incoming packages. In a network with heavy traffic
581 this never happens.
582
049f6382
CW
5832014-01-19 Colin Watson <cjwatson@ubuntu.com>
584
585 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Ignore
586 EPERM when modifying kern.geom.debugflags. It is only a problem for
587 such things as installing GRUB to the MBR, in which case there'll be
588 an error later anyway, not for opening files during tests.
589
01504547
AB
5902014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
591
592 * grub-core/Makefile.am: Build grub_emu_init.[ch] from MODULE_FILES
593 instead of MOD_FILES.
594 * grub-core/genemuinit.sh: Simplify stripping of suffix so it works
595 both with and without .exe.
596 * grub-core/genemuinitheader.sh: Same.
597
b204b718
VS
5982014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * util/grub-install.c: Fix a typo.
601
41155a57
VS
6022014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * grub-core/normal/main.c (read_config_file): Buffer config file.
605 Reduces boot time.
606
e0a85094
AB
6072014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
608
609 * acinclude.m4 (grub_CHECK_LINK_DIR): Check that we can also remove
610 symbolic link to directory. It fails in Msys shell on Windows 2003.
611
0b47c57a
VS
6122014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * Makefile.am (default_payload.elf): Add modules
615 multiboot cbmemc linux16 gzio echo help.
616
6172014-01-18 Mike Gilbert <floppym@gentoo.org>
6ba98355
MG
618
619 * Makefile.util.def: Link grub-ofpathname with zfs libs.
620
6c519b5c
VS
6212014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * grub-core/commands/macbless.c: Rename FILE and DIR to avoid
624 conflicts.
625
626 Reported by: Andrey Borzenkov.
627
f371dd5d
AB
6282014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
629
630 * include/grub/misc.h: Move macros for compiler features to ...
631 * include/grub/compiler.h: ... new file.
632 * include/grub/list.h: Include <grub/compiler.h> instead of <grub/misc.h>.
633 * grub-core/commands/fileXX.c: Include <grub/misc.h>.
634 * grub-core/efiemu/prepare.c: Include <grub/misc.h>.
635 * grub-core/loader/i386/xen_file.c: Include <grub/misc.h>.
636 * grub-core/loader/i386/xen_fileXX.c: Include <grub/misc.h>.
637 * grub-core/video/capture.c: Include <grub/misc.h>.
638 * include/grub/command.h: Include <grub/misc.h>.
639 * include/grub/dl.h: Include <grub/misc.h>.
640 * include/grub/procfs.h: Include <grub/misc.h>.
641
1ecf96fc
AB
6422014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
643
644 * configure.ac: Add support for BUILD_EXEEXT and use it ...
645 * Makefile.am: ... here.
646 * Makefile.util.def: ... and here.
647 * grub-core/Makefile.am: ... and here.
648
5ef569df
AB
6492014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
650
651 * include/grub/osdep/hostfile_windows.h: Use _W64 instead of
652 FILE_OFFSET_BITS to differentiate between native MinGW and Mingw W64.
653
3abb9563
VS
6542014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * grub-core/term/terminfo.c: Recognize keys F1-F12.
657
9b9c4686 6582014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
dcecae1a
AB
659
660 * configure.ac: Add support for BUILD_LDFLAGS.
661 * Makefile.am: Use BUILD_LDFLAGS for build time programs here ...
662 * grub-core/Makefile.am: ... and here.
663 * INSTALL: Mention BUILD_LDFLAGS.
664
ae80f312
VS
6652014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * util/grub-mount.c: Extend GCC warning workaround to grub-mount.
668
7e7293d7
VS
6692014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
670
671 * grub-core/kern/efi/efi.c: Ensure that the result starts with /
672 and has no //.
673
5acc8020
VS
6742014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * NEWS: Add few missing entries.
677
ff66b8e7
CW
6782014-01-17 Colin Watson <cjwatson@ubuntu.com>
679
680 * util/grub.d/00_header.in (make_timeout): Use && rather than test
681 -a.
682 * util/grub.d/10_windows.in: Likewise.
683 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): Use || rather
684 than test -o.
685 * util/grub.d/30_os-prober.in: Use && rather than test -a, and ||
686 rather than test -o.
687
6882014-01-17 Colin Watson <cjwatson@ubuntu.com>
09a836e5
CW
689
690 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Remove
691 redundant preprocessor conditional.
692
ccd21a65
CW
6932014-01-08 Colin Watson <cjwatson@ubuntu.com>
694
695 * Makefile.util.def (grub-macbless): Change mansection to 8.
696
4d21c101
LL
6972014-01-07 Leif Lindholm <leif.lindholm@linaro.org>
698
699 * grub-core/loader/arm64/linux.c: correctly set device path end length.
700
e7cfa8d5
AB
7012014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
702
703 * util/grub-install.c: Use bootaa64.efi instead of bootaarch64.efi on
704 arm64 to comply with EFI specification. Also use grubaa64.efi for
705 consistency.
706 * util/grub-mkrescue.c: Change to use bootaa64.efi too.
707
94cee4a4
AB
7082014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
709
710 * include/grub/osdep/hostfile_windows.h: Do not redefine fseeko/ftello
711 on MinGW-64 when compiling for 32 bits.
712
668add25
AB
7132013-12-30 Andrey Borzenkov <arvidjaar@gmail.com>
714
715 * grub-core/Makefile.core.def: strip .eh_frame section for arm64-efi.
716
0e309454
VS
7172013-12-30 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * NEWS: Add few missing entries. Correct existing ones.
720
093dec73
VS
7212013-12-28 Vladimir Serbinenko <phcoder@gmail.com>
722
723 Don't abort() on unavailable coreboot tables if not running on coreboot.
724
989af025
AB
7252013-12-28 Andrey Borzenkov <arvidjaar@gmail.com>
726
727 * grub-core/kern/emu/misc.c: Remove unused error.h; fixes compilation
728 on mingw.
729
8442d3e9
CW
7302013-12-28 Colin Watson <cjwatson@ubuntu.com>
731
732 * NEWS: The cmosclean command in fact dates back to 1.99. Remove
733 mention of it from 2.02.
734
645ff636 7352013-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5bda44d7
VS
736
737 * grub-core/kern/arm/cache_armv6.S: Remove .arch directive.
738
739 As these functions are used on pre-ARMv6 CPUs as well we don't want
740 to make assembler assume that architecture is higher than default one.
741
30a33846
CW
7422013-12-27 Colin Watson <cjwatson@ubuntu.com>
743
744 * NEWS: First draft of 2.02 entry.
745
51f941a0
CW
7462013-12-27 Colin Watson <cjwatson@ubuntu.com>
747
748 * INSTALL (Cross-compiling the GRUB): Fix some spelling mistakes.
749 * docs/grub.texi (Getting the source code): Likewise.
750
a6e7719b
AB
7512013-12-25 Andrey Borzenkov <arvidjaar@gmail.com>
752
753 * grub-core/osdep/windows/platform.c (get_platform): Fix EFI
754 detection.
755
e8f07821
VS
7562013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * configure.ac: Set version to 2.02~beta2.
759
dc3286ad
VS
7602013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
763
46f8d358
AB
7642013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
765
766 * util/grub-probe.c: Improve help message and simplify list handling.
767
09c47900
VS
7682013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
769
770 Fix buffer overflow in grub_efi_print_device_path.
771
4d6c6953
VS
7722013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
773
774 Show SATA device path.
775
faf4a65e
VS
7762013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
777
778 Revert grub-file usage in grub-mkconfig.
779
e5fa26e5
VS
7802013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
781
782 Make newly-created files other than grub.cfg world-readable.
783
569766e4
AB
7842013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
785
786 * util/grub.d/00_header.in: Improve compatibility with old config.
787
41272068
VS
7882013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
789
790 Make rijndael.c respect aliasing rules.
791
792 Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
793
f7c7c4d4
VS
7942013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
795
796 Make grub_util_device_is_mapped_stat available in grub-emu core.
797
57bc5d43
VS
7982013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
799
800 Add -Qn to TARGET_CFLAGS if it's supported.
801 Fixes compilation on cygwin.
802
803 Reported by: Andrey Borzenkov.
804 Suggested by: Andrey Borzenkov.
805
6a7957f9
VS
8062013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
807
808 Save TARGET_CC version in modinfo.sh.
809
810 Suggested by: Andrey Borzenkov.
811
e88f0420
VS
8122013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
813
814 Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
815 follow the same algorithm to avoid method mismatch. Don't assume
816 DMRAID- UUID to mean full disk but instead check that mapping is linear.
817
da986226
VS
8182013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
819
820 Declare GRUB_EFI_VENDOR_APPLE_GUID.
821
fba31b5f
VS
8222013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
823
824 Dump type and vendor specific data when printing device path.
825
3d369a01
CW
8262013-12-23 Colin Watson <cjwatson@debian.org>
827
828 Update some documentation to refer to Git rather than Bazaar.
829
830 * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
831 than Bazaar.
832 * po/README: Likewise. Fix spelling mistake.
833
5b83ef97
CW
8342013-12-23 Colin Watson <cjwatson@ubuntu.com>
835
836 Don't distribute config.h.
837
838 * Makefile.am (platform_HEADERS): Move to ...
839 (nodist_platform_HEADERS): ... here. Fixes gettext_strings_test
840 failure when building from a distributed tarball.
841
16f7455b
CW
8422013-12-23 Colin Watson <cjwatson@ubuntu.com>
843
844 * configure.ac: Fix spelling.
845 * grub-core/commands/parttool.c: Fix grammar.
846 * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
847 Embedding Partition".
848
808e97c4
VS
8492013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
850
851 ARM64 support for grub-mkrescue.
852
e388db90
VS
8532013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
854
855 Install modinfo.sh to keep build information around.
856
cef39403
VS
8572013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/modinfo.sh.in: Add build config information.
860
a4d61002
VS
8612013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
862
863 ARM64 grub-file and grub-mkconfig support.
864
0c930a84
VS
8652013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
866
867 Remove leftover options defines.
868
74fa9ac1
VS
8692013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
872
62956fe7
VS
8732013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * grub-core/loader/arm64/linux.c: Add missing bracket.
876
26063216
VS
8772013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
878
879 Add arm64-efi recognition to grub-file.
880
4cd0b55f
VS
8812013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
882
883 Fix ia64-efi recognition in grub-file.
884
95b56e3a
VS
8852013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
886
887 Recognize raspberry pi kernel in grub-file.
888
bbc52c22
VS
8892013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
890
891 Enable cache on ARM U-Boot port.
892
893 Without it the port is reidiculously slow.
894
943981ff
VS
8952013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
896
897 Fix ARM cache maintainance.
898
899 More code was converted from ASM to C for easier handling.
900
adabfb54
VS
9012013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
904 algorithm on v5.
905
906 Suggested by: Leif Lindholm.
907
77ec462a
AB
9082013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
909
910 * util/grub-mkconfig.in: Fix Xen platform conditions.
911
3bf2db89
AB
9122013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
913
914 * util/grub-mkrescue.c: Split single help message string in several
915 strings used in previous shell version.
916
30a9ab95
LL
9172013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
918
919 Add arm64 Linux loader.
920
c415eaa9
LL
9212013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
922
923 Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
924
313fb3ce
VS
9252013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
926
927 Add module loading and parsing boot time checkpoints.
928
37f617c0
VS
9292013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
932 platforms.
933
3deedfc0
LW
9342013-12-22 Lars Wendler <polynomial-c@gentoo.org>
935
936 * util/grub-mkconfig.in: Skip non-executable files.
937
5ad9f728
VS
9382013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
939
940 Workaround buggy timer in raspberry pie by using our own timer
941 implementation.
942
eeb84997
VS
9432013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
946 Increase to 16 MiB to allow loading the whole memdisk.
947
0d8b81f8
VS
9482013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
949
950 Fix ARM Linux Loader on non-FDT platforms.
951
bf082198
VS
9522013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * configure.ac: Choose link format based on host_os on emu.
955
0b602bf9
VS
9562013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
959
96650a82
VS
9602013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * grub-core/kern/emu/main.c: Build fix for emu.
963
ca3e2088
VS
9642013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
965
966 Build fixes for argp.h with older gcc.
967
27db1a9b
VS
9682013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
971 in strings.
972
973 Suggested by: David Prévot.
974
8a913e66
VS
9752013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
978
ae558c2c
VS
9792013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
980
981 Enable -Wformat=2 if it's supported.
982
bbac6789
VS
9832013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
986 -Wmissing-declarations if supported.
987
ab216512
VS
9882013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
991 u32 as both HFS and HFS+ have 32-bit inodes.
992
0d4aa91d
VS
9932013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * include/grub/misc.h (grub_strtol): Fix overflow.
996
a997af68
VS
9972013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
1000 as return type in both conditionals.
1001
36bcaf29
VS
10022013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
1005 to use uint8_t for color.
1006
74763e96
VS
10072013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * util/misc.c (grub_util_get_image_size): Check for overflow.
1010
80b29fc9
VS
10112013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
1014 for size.
1015
6e327fcd
VS
10162013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
1019 for pointer difference.
1020
62ce03cf
VS
10212013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * util/import_gcry.py: Skip sample keys.
1024
f4d70fd0
VS
10252013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
1028
93bf55e6
VS
10292013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * configure.ac: Remove duplicate warning arguments.
1032
579ee114
VS
10332013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 Add missing static qualifiers.
1036
ee5283d6
VS
10372013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 Add missing includes.
1040
5dbde526
VS
10412013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 Inline printf templates when possible to enable format checking.
1044
d88ae4f0
VS
10452013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * include/grub/crypto.h: Don't discard const attribute.
1048
17b43559
VS
10492013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
1052 was intended.
1053
76a2a430
VS
10542013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * grub-core/lib/crypto.c: Don't discard const attribute.
1057
0d26164e
VS
10582013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * grub-core/lib/disk.c: Fix potential overflow.
1061
2622b1e8
VS
10622013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * grub-core/lib/arg.c: Don't discard const attribute.
1065
05126706
VS
10662013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/kern/dl.c: Don't discard const attribute.
1069
2f9c4804
VS
10702013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * grub-core/kern/disk.c: Fix potential overflow.
1073
0438ebf1
VS
10742013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * conf/Makefile.common: Don't include non-existing directory
1077 grub-core/lib/libgcrypt-grub/include.
1078
065adc34
VS
10792013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 Clarify several translatable messages.
1082
496a6b30
DP
10832013-12-21 David Prévot <david@tilapin.org>
1084
1085 Correct some translatable strings.
1086
971038be
CW
10872013-12-21 Colin Watson <cjwatson@ubuntu.com>
1088
1089 * util/grub-mkrescue.c: Rephrase mkrescue description.
1090
bfdfeb25
VS
10912013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
10922013-12-21 Colin Watson <cjwatson@ubuntu.com>
1093
1094 Clarify several translatable messages.
1095
d642d761
CW
10962013-12-20 Colin Watson <cjwatson@ubuntu.com>
1097
1098 Be more verbose about some configure failures.
1099
3bc1b2da
CW
11002013-12-20 Colin Watson <cjwatson@ubuntu.com>
1101
1102 Fix various build problems on GNU/Hurd.
1103
1104 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
1105 !defined (__GNU__).
1106 (xgetcwd): Likewise.
1107 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
1108 [__GNU__]: Add prototype.
1109 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
1110 long int using %ld rather than %d.
1111
871aa709
VS
11122013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * util/grub-install.c: Inform user about install platform.
1115
2fa5a58c
VS
11162013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * configure.ac: Set version to 2.02~beta1.
1119
ee281fd0
AP
11202013-12-18 Allen Pais <allen.pais@oracle.com>
11212013-12-18 Bob Picco <bob.picco@oracle.com>
1122
1123 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
1124
2e238b37
VS
11252013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 Make grub_zlib_decompress handle incomplete chunks.
1128
1129 Fixes squash4.
1130
2984035e
VS
11312013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
1134 on i386-multiboot.
1135
b9f03772
AN
11362013-12-18 Aleš Nesrsta <starous@volny.cz>
1137
1138 * grub-core/disk/usbms.c: Retry on unknown errors.
1139 Reuse the same tag on retries.
1140
e3ef0d30
AN
11412013-12-18 Aleš Nesrsta <starous@volny.cz>
1142
1143 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
1144
1145 Avoid confusing them with already completed transfers.
1146
72c9a507
VS
11472013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 Remove xen VFB.
1150
1151 Due to XEN bug it prevents Linux boot. Remove it at least, until
1152 workaround is found.
1153
84455670
VS
11542013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 * po/exclude.pot: Add 2 missing excludes.
1157
64dd5fdc
VS
11582013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 Add missing license section in macbless.mod and macho.mod.
1161
a29f317a
VS
11622013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 Allow compilation without thumb-interwork as long as no thumb is
1165 involved or only thumb2 is used.
1166
113f7869
VS
11672013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * INSTALL: Update comment as to why sparc64 clang isn't usable.
1170
eba2afed
VS
11712013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 Add __attribute__ ((sysv_abi)) only if it's really needed.
1174
1175 Some compilers don't support it.
1176
1962ed95
VS
11772013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
1180
c2be6f7e
VS
11812013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 Remove -Wold-style-definition.
1184
1185 Not very useful and interaction of it with regexp depends on GCC
1186 version.
1187
7a7f5238
VS
11882013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 Make grub_util_get_windows_path_real static.
1191
9246d5c8
VS
11922013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * grub-core/commands/fileXX.c: Silence cast-align.
1195 * grub-core/loader/i386/xen_fileXX.c: Likewise.
1196
b3aea1bc
VS
11972013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
1200 rather than LL suffix.
1201
bc8dd119
VS
12022013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1203
e8c360ca
VS
1204 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
1205
12062013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * grub-core/loader/arm/linux.c: Use common initrd functions.
bc8dd119 1209
57a691b7
VS
12102013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 Decrease number of strings to translate.
1213
74fa9417
VS
12142013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
1217
636977b0
VS
12182013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 Mark strings for translation and add remaining ones to exclude list.
1221
ee4450eb
VS
12222013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * util/grub-file.c (main): Fix sizeof usage.
1225
12262013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
a43b3e5d
VS
1227
1228 Silence spurious warning.
1229
ee4450eb 12302013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
81294aff
VS
1231
1232 Remove check_nt_hiberfil as it's been superseeded by file command.
1233
a99c0a32
VS
12342013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * docs/osdetect.cfg: Add isolinux config to detected OSes.
1237
8f5add13
VS
12382013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 Implement syslinux parser.
1241
8ff35d0a
VS
12422013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
1245
ba144760
VS
12462013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 Support cpuid --pae.
1249
daaa89db
VS
12502013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 Use AT keyboard on Yeeloong 3A.
1253
25a7863d
VS
12542013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 Add Yeeloong 3A reboot and halt.
1257
184c61dd
VS
12582013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 Add Radeon Yeeloong 3A support.
1261
fd4650a5
VS
12622013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 Add bonito 3A support.
1265
3e88fbfa
VS
12662013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
1269
1123bed9
VS
12702013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
1273
ebda165f
VS
12742013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 * grub-core/loader/macho.c: Fix compilation on non-i386.
1277
fe7c20bf
VS
12782013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 Add missing format_arg attribute to check that printf with translated
1281 messages has proper arguments.
1282
f4dab3d1
VS
12832013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 Use grub_xasprintf to format translated error messages containing
1286 64-bit quantity.
1287
24d5934d
JM
12882013-12-17 Jon McCune <jonmccune@google.com>
1289
1290 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
1291
d6c2782a
VS
12922013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 Unify message for unsupported relocation.
1295
50d2e959
VS
12962013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 Mark miscompile error for translation.
1299
18e76955
VS
13002013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 Use %I64 and not %ll when using OS printf if compiling for windows.
1303
d218ec97
VS
13042013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 Update Mac code to match new register_efi prototype.
1307
b8765fa0
VS
13082013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 Implement better integration with Mac firmware.
1311
1f032575
VS
13122013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * grub-core/loader/multiboot_mbi2.c: Implement special value for
1315 load_addr.
1316
14829755
VS
13172013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 Include serial module in default_payload.elf.
1320
d45067a2
VS
13212013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 Add explicit thumb interwork bx in asm files.
1324
1325 Shouldn't matter for armv >= 5 but let's be safe.
1326
30861754
VS
13272013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 Implement Truecrypt ISO loader.
1330
e14d409b
VS
13312013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/lib/arg.c: Ensure at least a single space between commands.
1334
ec824e0f
VS
13352013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 Implement grub_file tool and use it to implement generating of config
1338 in separate root.
1339
296f7606
VS
13402013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 Change to v1 xen grants.
1343
2c384f1e
VS
13442013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
1347
1348 GRUB relied on %ebx being preserved across hypercall which isn't true.
1349
d16ff589
VS
13502013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
1353
1354 GRUB relied on %rdi being preserved across hypercall which isn't true.
1355
71669c3b
VS
13562013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 Implement XEN VFB support.
1359
60d1dd3d
VS
13602013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 Remove grub_bios_interrupt on coreboot.
1363
1364 It's not used currently and cannot be used safely currently.
1365
a8201050
VS
13662013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 Update exclude.pot and mark few strings for translation.
1369
6cc89597
VS
13702013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
1373
1374 Reported by: Jon McCune
1375
840a2c05
AB
13762013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1377
1378 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1379 Add verbose information which firmware directories were tried.
1380
35248820
AB
13812013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1382
1383 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
1384 function to optionally redirect all three standard descriptors.
1385 Redefine grub_util_exec, grub_util_exec_redirect and
1386 grub_util_exec_redirect_null to use it.
1387 * include/grub/emu/exec.h: Define it.
1388 * include/grub/osdep/exec_unix.h: Delete, it is unused.
1389 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1390 Use grub_util_exec_redirect_all to redirect error to NULL.
1391
2a123f4c
VS
13922013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * grub-core/tests/sleep_test.c: Silence spurious warning.
1395
316c8d9a
VS
13962013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
1399 linker trying to "fixup" the code.
1400
8fcce8d5
VS
14012013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * grub-core/kern/x86_64/xen/startup.S: Align stack.
1404
6f1f6a0c
VS
14052013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 Add support for converting PE+ to Elf64.
1408
66a07ce2
VS
14092013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
1412
cc6fb517
VS
14132013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 Remove practice of assigning random const pointers to device id.
1416
1417 This is not required as cache code already checks driver id as well.
1418
f009f07c
VS
14192013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
1422 with mingw.
1423
9fdec226
VS
14242013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * include/grub/efi/api.h: Don't use call wrappers when compiled with
1427 mingw or cygwin as API already matches.
1428
d87cb3ae
VS
14292013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
1432
3e38c31a
VS
14332013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
1436 not on long.
1437
f4171ebd
VS
14382013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 Handle X86_64_PC64 relocation.
1441
1442 Those are generated by some cygwin compilers.
1443
252a289c
VS
14442013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 Determine the need for mingw-related stubs at compile time rather than
1447 using not very significant $target_os.
1448
23d2abc3
VS
14492013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
1452 may not work with ELF.
1453
4f979ccb
VS
14542013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 Use unix functions for temporary files and special files on cygwin.
1457
37378f74
VS
14582013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 Define functions explicitly rather than using --defsym in tests
1461 whenever possible. Respect locality in remaining cases.
1462
6a09d83e
VS
14632013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
1466
e477187b
AB
14672013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
1468
1469 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
1470 unlikely errors when getting EFI variables and make exhaustive search
1471 for all BootNNNN variables to find matching one.
1472
80b865bd
IC
14732013-12-15 Ian Campbell <ijc@hellion.org.uk>
1474
1475 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
1476
04b02857
VS
14772013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 New functional test for sleep function.
1480
1481 This test allows to check sleep without qemu. Keep qemu version as
1482 well as functional test won't notice if all clocks are going too fast
1483 or too slow.
1484
39711101
VS
14852013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 Add explicit sysv_abi on amd64 asm routines.
1488
d99af4f0
VS
14892013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
1492 num_table_entries.
1493
71043684
VS
14942013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
1497 functions.
1498
111bf5db
VS
14992013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
1502 appropriate.
1503
24ca71c9
VS
15042013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
1507
48ba5c0c
VS
15082013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
1511 appropriate.
1512
8ae67045
VS
15132013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
1516
1517 In case of quick removal of loopback and adding another one it may
1518 get same ID, confusing the cache system.
1519
ed559310
VS
15202013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
1523 appropriate.
1524
8fa26279
VS
15252013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
1528 than converting to long.
1529
6f5f3337
VS
15302013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
1533
e7c418c5
VS
15342013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
1537 than almost useless pointer.
1538
7e47e27b
VS
15392013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 Add gcc_struct to all packed structures when compiling with mingw.
1542
1543 Just "packed" doesn't always pack the way we expect.
1544
ae8159b9
VS
15452013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
1548
74e7ad66
VS
15492013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * util/grub-pe2elf.c: Fix handling of .bss.
1552
814442ba
VS
15532013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 Implement windows flavour of EFI install routines.
1556
5f5bb107
VS
15572013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
1560
a24725cc
VS
15612013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 Change grub_install_register_efi interface to pass GRUB device.
1564
1565 This allows grub_install_register_efi to request partition info
1566 directly.
1567
38933cee
VS
15682013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
1571
6d3cfe50
VS
15722013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 Do not use TCHAR string functions as they are not available on cygwin.
1575
4bad23a1
VS
15762013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 Workaround windows bug when querying EFI system partition parameters.
1579
6a5fe132
VS
15802013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
1583 by using bitfields.
1584
bc8fcf4b
VS
15852013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
1588
60b967be
VS
15892013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 Make i386-* other than i386-pc compileable under cygwin.
1592
6dc33377
VS
15932013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 Fix definition of grub_efi_hard_drive_device_path. Take care that
1596 existing code would work even if by some reason bogus definition is
1597 used by EFI implementations.
1598
f2c6ff15
VS
15992013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
1602
6b8a1625
VS
16032013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
1606 invocation.
1607
954c723a
VS
16082013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * util/config.c: Remove trailing newline from distributor in simple
1611 parsing.
1612
607a39f9
VS
16132013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * include/grub/efi/api.h: Rename protocol and interface to avoid
1616 conflict.
1617
df6fedca
VS
16182013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1619
ba584da1 1620 * .gitignore: add .exe variants. add missing files. remove few outdated
df6fedca
VS
1621 entries.
1622
f684d7e1
VS
16232013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * grub-core/osdep/exec.c: Use unix version on cygwin.
1626
0df77d79
VS
16272013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Implement multiboot2 EFI BS specification.
1630
dafff9ce
VS
16312013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/normal/charset.c: Fix premature line wrap and crash.
1634 Crash happened only in some cases like a string starting at the
1635 half of the screen of same length.
1636
6644d973
VS
16372013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
1640 with EFI counterpart.
1641
44bbfa33
VS
16422013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 Propagate the EFI commits to x86-efi specific parts.
1645
3e3dff24
VS
16462013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * grub-core/commands/efi/lssal.c: Fix terminating condition.
1649
316dda71
VS
16502013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 Introduce grub_efi_packed_guid and use it where alignment is not
1653 guaranteed.
1654
219401b8
VS
16552013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * include/grub/efi/api.h (grub_efi_device_path): Define length as
1658 unaligned u16 rather than u8[2].
1659
30d00537
VS
16602013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
1663 for relocation range.
1664
979742bc
VS
16652013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
1668 non-function pcrel21b relocation. It happens with .text.unlikely
1669 section.
1670
16c8f785
LL
16712013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1672
1673 * make MAX_USABLE_ADDRESS platform-specific
1674 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
1675
3f1423e7
LL
16762013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1677
1678 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
1679
dd73313c
JM
16802013-12-09 Jon McCune <jonmccune@google.com>
1681
1682 * Add --no-rs-codes flag to optionally disable reed-solomon codes
1683 in grub-install and grub-bios-setup for x86 BIOS targets.
1684
eaf01c25
VS
16852013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 Add missing compile and link options for sparc64-emu.
1688
7a148da6
VS
16892013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 Implement sparc64 trampolines (needed for sparc64-emu).
1692
21eee750
VS
16932013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
1696 range of R_SPARC_HI22.
1697 Implement R_SPARC_LM22.
1698
7b54b626
VS
16992013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
1702 Do not explicitly check for symbol table as it's already checked in
1703 platform-independent layer.
1704
9a945e2a
VS
17052013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
1708 on ia64 as __clear_cache is a dummy on ia64.
1709
4f4ea1b4
VS
17102013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1713 Do not explicitly check for symbol table as it's already checked in
1714 platform-independent layer.
1715
fe4ae213
CW
17162013-12-09 Colin Watson <cjwatson@ubuntu.com>
1717
1718 * util/grub-mkconfig.in: Add missing newline to output.
1719
78b2b0a1
VS
17202013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
1723 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
1724
d14772c4
VS
17252013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
1728 compilation with GCC <= 4.2.
1729 * grub-core/kern/emu/argp_common.c: Likewise.
1730
388f3cd0
VS
17312013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
1734 right platform rather than leaking to sparc64-emu.
1735
11e4167a
VS
17362013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
1739 But ensure that the variables in question are indeed unsigned.
1740
fa7eb63d
VS
17412013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
1744
50b3a68d
VS
17452013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 Remove grub_memalign on emu.
1748
fbbfb6ab
VS
17492013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
1752 truncate incomplete lines but instead flushes them.
1753
a19293cb
VS
17542013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
1757 and implement windows variant.
1758
d5c14e1e
VS
17592013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 Fix mips-emu compilation.
1762
b75db69a
VS
17632013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * configure.ac: Check for freetype library usability.
1766
c311ced5
VS
17672013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 Make arm-emu work.
1770
c8fd2ddf
VS
17712013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
1774
c50e5f45
AB
17752013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1776
1777 * docs/grub.texi (Environment): Update color_normal and color_highlight
1778 defaults (light-gray instead of white).
1779
bb05e313
AB
17802013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1781
1782 * grub-core/normal/main.c (INIT): Set default color to light-gray
1783 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
1784 and apparently BIOS defaults.
1785
f23bc651
VS
17862013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 Transform -C option to grub-mkstandalone to --core-compress available
1789 in all grub-install flavours.
1790
4c4ea9c7
VS
17912013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 Merge GRUBFS and GRUB_FS variables.
1794
92e9352d
AB
17952013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1796
1797 Revert commit 69ca97c820, it caused failures when using OS device name
1798 in grub-install. Instead just strip off parenthesis in grub-install
1799 if (hdX) was passed.
1800
f585c905
AB
18012013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1802
1803 * util/grub-install.c (push_partmap_module): Add helper to convert
1804 partmap names to module names and use it in probe_mods(). Fixes
1805 failure to find partmap modules in diskfilter case.
1806
5ff24907
VS
18072013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * configure.ac: Make unifont mandatory on coreboot.
1810
0277eab7
VS
18112013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * configure.ac: Skip unifont 6.3 pcf and bdf.
1814
4861b6c8
VS
18152013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * Makefile.am: Remove partial font files if generation failed.
1818
3100cdc7
AB
18192013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1820
1821 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
1822 strings.
1823 * include/grub/util/misc.h: Define it ...
1824 * util/grub-install.c (device_map_check_duplicates): ... and use it.
1825
ad73cc33
AB
18262013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1827
1828 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
1829 ${grub_probe}.
1830
41822625
VS
18312013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 Don't add -mlong-calls when compiling with clang.
1834
896f483d
VS
18352013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * configure.ac: Fix a typo.
1838
8c534b85
VS
18392013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 Revamp relocation handling.
1842
1843 Move more code to common dl.c. Add missing veneers for arm and arm64.
1844 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
1845
a846dd4b
VS
18462013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
1849
aa437b58
MG
18502013-12-05 Mike Gilbert <floppym@gentoo.org>
1851
1852 * INSTALL: Raise minimum python version to 2.6.
1853 * gentpl.py: Use python3-style print function.
1854
b0f311f4
VS
18552013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 * util/grub-install.c: Mention Boot* variable.
1858
59b38922
CW
18592013-12-05 Colin Watson <cjwatson@ubuntu.com>
1860
1861 * grub-core/osdep/linux/hostdisk.c
1862 (grub_util_find_partition_start_os): Initialise start to avoid
1863 spurious compiler warning.
1864
0480665b
CW
18652013-12-05 Colin Watson <cjwatson@ubuntu.com>
1866
1867 On Linux, read partition start offsets from sysfs if possible, to
1868 cope with block device drivers that don't implement HDIO_GETGEO.
1869 Fixes Ubuntu bug #1237519.
1870
1871 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
1872 function.
1873 (sysfs_partition_start): Likewise.
1874 (grub_util_find_partition_start_os): Try sysfs_partition_start
1875 before HDIO_GETGEO.
1876
bbeee1c4
LL
18772013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
1878
1879 * grub-core/kern/fdt.c: Update struct size when adding node.
1880
e5ed2f69
VS
18812013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 Handle unaligned .bss on sparc64.
1884
1885 Current code improperly assumes that both __bss_start and _end are
1886 aligned to 8-bytes. Eliminating this assumption and explicitly align
1887 modules.
1888
4a73746a
VS
18892013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
1892 so it doesn't land in the middle of loaded image.
1893
382b500e
VS
18942013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * configure.ac: Move all warning options that may be absent in
1897 gcc >= 3.1 to optional.
1898
1899 Note: while this allows to compile with older GCC, official requirements
1900 remain the same and no support for older GCC.
1901
3a82f8bb
CW
19022013-12-04 Colin Watson <cjwatson@ubuntu.com>
1903
1904 Copying the themes directory in grub-shell isn't
1905 parallel-test-friendly and breaks on the second test when the source
1906 directory is read-only (as in "make distcheck"). Instead, add a
1907 hidden --themes-directory option to grub-mkrescue et al, and use it
1908 in grub-shell.
1909
e3046431
VS
19102013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
1913 as it's no longer necessarry.
1914
bdb6090d
VS
19152013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * configure.ac: Allow compilation with older GCC for ARM.
1918
b73b70eb
VS
19192013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
1922 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
1923 ppc.
1924
8a3f0a24
VS
19252013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
1928
6f07c4e4
VS
19292013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 Pass font config to config.h and not by TARGET_CFLAGS as adding
1932 arguments doesn't work if TARGET_CFLAGS is specified on command
1933 line.
1934
60d5e9cb
VS
19352013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * configure.ac: Add -Wvla if compiler supports it.
1938
cd15c394
VS
19392013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
1942 Remove variable length arrays.
1943 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
1944
bb6e299c
VS
19452013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
1948
85eb579a
VS
19492013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * include/grub/types.h: Declare all byteswaps as inline functions
1952 except compile-time ones.
1953
1954 Solves variable shadowing in constructions like
1955 cpu_to_le (le_to_cpu(x) + 1).
1956
47f88cc9
VS
19572013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * grub-core/kern/efi/efi.c: Remove variable length arrays.
1960
40b5739f
VS
19612013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
1964 minutes.
1965
234d9346
VS
19662013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
1969 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1970
0c0eab52
CW
19712013-12-03 Colin Watson <cjwatson@ubuntu.com>
1972
1973 * grub-core/Makefile.core.def (setjmp): Distribute
1974 lib/arm64/setjmp.S.
1975
44d48847 19762013-12-03 Colin Watson <cjwatson@ubuntu.com>
8f236c14
CW
1977
1978 Add a new timeout_style environment variable and a corresponding
1979 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
1980 controls hidden-timeout handling more simply than the previous
1981 arrangements, and pressing any hotkeys associated with menu entries
1982 during the hidden timeout will now boot the corresponding menu entry
1983 immediately.
1984
1985 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
1986 generates a warning, and if it shows the menu it will do so as if
1987 the second timeout were not present. Other combinations are
1988 translated into reasonable equivalents.
1989
10955cda
CW
1990 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
1991
9e4e6ddf
VS
19922013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * util/config.c: Add missing pointer adjustment.
1995 Reported by: qwertial
1996
5037aa9a
AB
19972013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1998
1999 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
2000 directly, not via `cpu' link, to fix libgrub.pp generation.
2001
8a952d20
VS
20022013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
2003
2004 New port arm64-efi.
2005
be0d4555
AB
20062013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
2007
2008 * docs/grub.texi (sleep): Document exit codes.
2009
d74b9a1d
VS
20102013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 Ensure that -mno-unaligned-access or some equivalent option is used.
2013
35de6d4b
VS
20142013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
2017 -march=armv3.
2018
ce55ed03
VS
20192013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
2022
8ddf84bf
CW
20232013-11-29 Colin Watson <cjwatson@ubuntu.com>
2024
2025 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
2026 builds, since we don't have an EPS version of font_char_metrics.png.
2027 Add leading dot to image extension per the Texinfo documentation.
2028
fd0df6d0
CW
20292013-11-29 Colin Watson <cjwatson@ubuntu.com>
2030
2031 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
2032 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
2033 * util/grub-gen-widthspec.c: Likewise.
2034 * util/grub-mkfont.c: Likewise.
2035
69ca97c8
AB
20362013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
2037
2038 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
2039 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
2040 failed to install on (hdX).
2041 * util/grub-setup.c (get_device_name): Remove, not needed after
2042 above change.
2043
eec893ae
VS
20442013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
2047
621e167f
VS
20482013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * util/grub-fstest.c: Remove variable length arrays.
2051
d54f647a
VS
20522013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * grub-core/osdep/linux/ofpath.c: Check return value of read.
2055
c8a0f1b2
VS
20562013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
2059 computing crc32 rather than handling with md fundtions directly.
2060
726409a5
VS
20612013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
2064 checking fwstart.img rather than md fundtions directly.
2065
422e6e88
VS
20662013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * util/grub-mkrescue.c (main): Check that fread succeeded.
2069
af1faca3
VS
20702013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * conf/Makefile.common: Remove -mexplicit-relocs and
2073 -DUSE_ASCII_FALLBACK on yeeloong.
2074
2075 -DUSE_ASCII_FALLBACK is already added by font snippets.
2076 -mexplicit-relocs isn't needed is compiler/assemblera are
2077 configured properly.
2078 If they're not we shouldn't attempt to fix it by ourselves.
2079 Binary compare between before and after shows no difference.
2080
469021b4
VS
20812013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
2084 sources in dependencies directly.
2085
2086 This was the only instance of "library" in core config. A bug was
2087 reported that -fno-stack-protector wasn't passed to it. Instead of
2088 figuring out why it failed just remove this construction used
2089 needlessly.
2090
83c256ba
VS
20912013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/osdep/unix/password.c (grub_password_get): Check that
2094 fgets succeeded.
2095
b67422d3
FL
20962013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
2097
2098 * docs/grub.texi (ls): Fix command description in case of a device name
2099 passed as argument.
2100
2d76b4d8
VS
21012013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 Eliminate variable length arrays in grub_vsnprintf_real.
2104
2105 A bit tricky because this function has to continue to work without
2106 heap for short strings. Fixing prealloc to 32 arguments is reasonable
2107 but make all stack references use 32-bit offset rather than 8-bit one.
2108 So split va_args preparsing to separate function and put the prealloc
2109 into the caller.
2110
4f954122
VS
21112013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
2114 Fixes build for windows.
2115
b1f742c1
VS
21162013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * gentpl.py: Don't generate platform-dependent conditionals for
2119 platform-independent targets.
2120
16ef26fd
CW
21212013-11-27 Colin Watson <cjwatson@ubuntu.com>
2122
2123 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
2124 references to mdadm from otherwise generic code.
2125 (grub_util_exec_pipe): Likewise.
2126 (grub_util_exec_pipe_stderr): Likewise.
2127 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
2128 This function calls vgs, not mdadm; adjust variable names
2129 accordingly.
2130
cf8c80ff 21312013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
2132
2133 Generate Makefile.*.am directly from gentpl.py, eliminating the use
2134 of Autogen. The Autogen definitions files remain intact as they
2135 offer a useful abstraction.
2136
5c7206e4
CW
21372013-11-27 Colin Watson <cjwatson@ubuntu.com>
2138
2139 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
2140 into no-ops, and use it in programs that copy files but do not need
2141 to take special care to sync writes (grub-mknetdir, grub-rescue,
2142 grub-mkstandalone).
2143
fc3f2b72
CW
21442013-11-26 Colin Watson <cjwatson@ubuntu.com>
2145
2146 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
2147 than hardcoding /usr/local/bin/xorriso.
2148
1e4b3587
VS
21492013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 Add PCI command activation to all PCI drivers as required for coreboot
2152 and maybe some other firmwares.
2153
9208367d
VS
21542013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
2157 and non-Apple variants of efiemu compile.
2158
67b9b7af
AB
21592013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
2160
2161 * configure.ac: Add explicit check for linking format of
2162 efiemu64; save it as EFIEMU64_LINK_FORMAT.
2163 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
2164 hardcoding linking format.
2165
bee1b5ce
VS
21662013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
2169 and not pkgdatadir.
2170
07e3b047
CW
21712013-11-25 Colin Watson <cjwatson@ubuntu.com>
21722013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 Add a --locale-directory option to grub-install and related tools.
2175
2176 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
2177 --locale-directory option.
2178 (enum grub_install_options): Add
2179 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2180 * util/grub-install-common.c (grub_install_help_filter): Handle
2181 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2182 (grub_install_parse): Likewise.
2183 (get_localedir): New function to check for a user-provided option
2184 before trying grub_util_get_localedir.
2185 (copy_locales): Use get_localedir rather than
2186 grub_util_get_localedir. Handle differing locale directory layouts.
2187 (grub_install_copy_files): Likewise.
2188
61e1b9a4
VS
21892013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
2192 Don't rely on PATH_MAX.
2193
c98dd165
VS
21942013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/genmoddep.awk: Use more portable && rather than and.
2197
ff1c277e
VS
21982013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
2201 an object after data. While it doesn't seem right solution, it
2202 works well enough and OSX isn't main compilation platform.
2203
c8f7614b
VS
22042013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
2207 While it doesn't seem right solution, it works well enough and
2208 OSX isn't main compilation platform.
2209
246a434f
VS
22102013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * configure.ac: Add -static to LDFLAGS when using apple linker to
2213 prevent it from pulling in dynamic linker.
2214
5c066a81
VS
22152013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 Apple assembly doesn't handle symbol arithmetic well. So define an
2218 offset symbol in boot.S and use it.
2219
78f961ef
VS
22202013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 Apple assembly doesn't handle symbol arithmetic well. So instead
2223 of getting addres of kernel_sector + 4 define kernel_sector_high.
2224 It also makes code more readable.
2225
09bc0a57
VS
22262013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 With Apple assembly in .macro environvemnt you have to use $$ instead
2229 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
2230 to $$x on Apple and to $x on everything else.
2231
b700a427
VS
22322013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
2235 OBJCONV.
2236
4480b95d
VS
22372013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
2240 and non-Apple. This instruction is shorter and faster,
2241 so no reason not to use it on both.
2242
e77c81f6
VS
22432013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
2246 .text when compiling for Apple.
2247
971dbee5
VS
22482013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/term/arc/console.c: Add missing cast to silence warning.
2251
6f2e82be
VS
22522013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
2255 %dx restore the probe worked on non-existant drive. Reorganize the
2256 code a little bit to free 2 bytes necessary for push/pop.
2257
9eec9699
VS
22582013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2261 Add missing cast to silence warning.
2262
5ae5c54c
KPA
22632013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
2264
2265 * util/grub-install.c (update_nvram): Support --no-nvram flag
2266 for EFI targets.
2267
7b04fe6c
VS
22682013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
2271
e67566ce
VS
22722013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 * util/garbage-gen.c: Add missing include of sys/time.h.
2275
f93ddcfd
VS
22762013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 Don't add -mflush-func if it's not supported by compiler.
2279
1bba40f5
VS
22802013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 Move common BIOS/coreboot memory map declarations to
2283 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
2284
f65e14dc
AB
22852013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
2286
2287 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
2288
14a94bba
VS
22892013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 * INSTALL: Document why older clang versions aren't appropriate.
2292
8109c5d4
VS
22932013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * INSTALL: Document about clang for mips.
2296
a92b5cb8
VS
22972013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
2300 clang.
2301
4a23e2fe
VS
23022013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 Add *-xen to the list of grub-install-common platforms.
2305
a3ba7410
VS
23062013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
2309 3 last commits.
2310
e1c22419
VS
23112013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
2314
189090ce
VS
23152013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
2318 with -mcmodel=large.
2319
1a5b7b40
VS
23202013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
2323 range-checking for 32-bit quantities.
2324
9cf12b20
VS
23252013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * configure.ac: Compile with -fPIC when compiling with clang on
2328 mips.
2329
63a45330
VS
23302013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
2333 when compiling with clang.
2334
4a0aaad0
VS
23352013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 clang emits calls to abort () under some unknown conditions.
2338 Export abort () when compiling with clang.
2339
095bb1bf
VS
23402013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * docs/grub-dev.texi: Document stack and heap sizes.
2343
3937bd96
VS
23442013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * include/grub/i386/pc/memory.h: Decrease
2347 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
2348 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
2349 The binary doesn't change (checked). It's more to better reflect actual
2350 usage.
2351
ddb3efc9
VS
23522013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
2355 at compile time that enough of scratch size is available.
2356
4e42521d
VS
23572013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
2360 Previously we misaligned stack by 8 in startup.S and compensated
2361 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
2362 right behaviour is to align stack in startup.S and keep it aligned
2363 in callwrap.S. startup.S part was committed few commits before. This
2364 takes care of callwrap.S.
2365 Reported by: Gary Lin.
2366
054efe54
VS
23672013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
2370 .data and .bss. May happen if compiler and assembly use different
2371 alignment.
2372
a0e1befb
VS
23732013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 On MIPS handle got16 relocations to local symbols in an ABI-compliant
2376 way.
2377
c36c73f6
VS
23782013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 Add support for a new magic symbol _gp_disp on mips to handle PIC
2381 binaries.
2382
6f4a19f5
VS
23832013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 Use $t9 for indirect calls from asm to C as PIC ABI requires.
2386
0d8f04cd
VS
23872013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
2390 when rest of GRUB is compiled for hisher stepping. Instead use
2391 .set mips3/.set mips1 around cache and sync opcodes.
2392
49060520
VS
23932013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
2396 do essentially the same thing, do it in similar way.
2397
c6a823e2
CW
23982013-11-21 Colin Watson <cjwatson@ubuntu.com>
2399
2400 * util/grub-mkrescue.c (main): If a source directory is not
2401 specified, read platform-specific files from subdirectories of
2402 pkglibdir, not pkgdatadir.
2403
b7f9aedf
CW
24042013-11-21 Colin Watson <cjwatson@ubuntu.com>
2405
2406 * grub-core/normal/progress.c: Remove unused file.
2407
7dd0a303
VS
24082013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
2411 array.
2412
ca120e31
VS
24132013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
2416 than grub.cfg.
2417
48eb35cd
VS
24182013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * coreboot.cfg: Add missing file.
2421
7f20dbbc
VS
24222013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * Makefile.am: Allow STRIP to be empty when creating windowszip.
2425
55e706c9
AK
24262013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
2427
2428 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
2429 selectively skipping systems.
2430
4e7d433d
CW
24312013-11-19 Colin Watson <cjwatson@ubuntu.com>
2432
2433 * Makefile.util.def (grub-mkimage): Add
2434 grub-core/osdep/aros/config.c to extra_dist.
2435 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
2436 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
2437 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
2438 grub-core/gnulib-no-gets.diff.
2439
7d44ff7d
VS
24402013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 Add automated filesystem checking based on scripts I've used now for
2443 quite some time locally. Most of the test require root so they are
2444 skipped when run without necessarry privelegies.
2445
a8c3e5e3
CW
24462013-11-19 Colin Watson <cjwatson@ubuntu.com>
2447
2448 * util/grub-install.c (main): Adjust info messages to match
2449 installed paths of grub-bios-setup and grub-sparc64-setup.
2450
4402db3e
CW
24512013-11-19 Colin Watson <cjwatson@ubuntu.com>
2452
2453 * util/grub-install-common.c (copy_locales): Consistently use
2454 grub_util_get_localedir () rather than LOCALEDIR.
2455 (grub_install_copy_files): Likewise.
2456
7960d3e1
JT
24572013-11-19 Josh Triplett <josh@joshtriplett.org>
2458
2459 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
2460 16-byte boundary, as required by the x86-64 ABI, before calling
2461 grub_main. In some cases, GCC emits code that assumes this
2462 alignment, which crashes if not aligned. The EFI firmware is also
2463 entitled to assume that stack alignment without checking.
2464
d53f4900
JT
24652013-11-18 Josh Triplett <josh@joshtriplett.org>
2466
2467 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
2468 4k page boundaries as expected by firmware rather than 1k
2469 boundaries.
2470 (grub_mmap_malign_and_register): Likewise.
2471
bb2b275b
VS
24722013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
2475 fragmentation 512M is enough.
2476
45bf8b3a
VS
24772013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
2480 pointer to 32K. This is the size of cache element which is the most
2481 common allocation >1K. This way the pointer is always around blocks
2482 of 32K and so we keep performance while decreasing fragmentation.
2483
39ff43c5
VS
24842013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
2487 current memory when allocating large chunks. This significantly
2488 decreases memory fragmentation.
2489
60870be8
CW
24902013-11-18 Colin Watson <cjwatson@ubuntu.com>
2491
2492 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
2493 but for symmetry).
2494 * tests/lzocompress_test.in: Skip if lzop is not installed.
2495 * tests/xzcompress_test.in: Skip if xz is not installed.
2496
a1f00cc5
CW
24972013-11-18 Colin Watson <cjwatson@ubuntu.com>
2498
2499 * util/grub-mkrescue.c (main): Fix typo.
2500
74e632fe
VS
25012013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
2504 clock frequency to 200 MHz,
2505
efb8de49
VS
25062013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * tests/util/grub-shell.in: Increase console size to 1024x1024.
2509
b7526e78
VS
25102013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * Makefile.am (default_payload.elf): Add pata to loaded modules.
2513 Load config file from (cbfsdisk)/etc/grub.cfg.
2514
b40ce651
VS
25152013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * util/grub-install-common.c (grub_install_copy_files): Fix module
2518 destination directory.
2519
1e8e2e78
CW
25202013-11-18 Colin Watson <cjwatson@ubuntu.com>
2521
2522 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
2523 files have not been built.
2524
3bf4088b
CW
25252013-11-18 Colin Watson <cjwatson@ubuntu.com>
2526
2527 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
2528 Handle errors from mkstemp.
2529 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
2530
35c2851c
VS
25312013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
2534 on primary master on pseries.
2535
ea7c1a7d
VS
25362013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
2539 already loaded. This saves memory needed for tests,
2540
96adefdb
VS
25412013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
2544 work again.
2545
5e3cb8a7
VS
25462013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
2549 work again.
2550
256ee7ac
VS
25512013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
2554 master since with some combinations of qemu and firmware only primary
2555 IDE channel is available.
2556
f8b4c3b6
VS
25572013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
2560 low-memory platforms where we don't have enough memory for them.
2561 * grub-core/tests/videotest_checksum.c: Likewise.
2562
4bf70320
VS
25632013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
2566 already loaded. This saves memory needed for tests,
2567
a284320e
VS
25682013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 Fix handling of install lists.
2571
2df8f43d
VS
25722013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
2575
6f1bc8bc
VS
25762013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 On i386-ieee1275 we run in paged mode. So we need to explicitly map
2579 the devices before accessing them.
2580
04f39f6d
VS
25812013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
2584 as file argument.
2585
35d4761c
VS
25862013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
2589
33d02a42
VS
25902013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
2593 (grub_file_close): Free file->name.
2594
7bbb60cf
VS
25952013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/commands/verify.c (free_pk): Plug memory leak.
2598 (grub_load_public_key): Likewise.
2599 (grub_verify_signature_real): Likewise.
2600 (grub_cmd_verify_signature): Likewise.
2601
da93d675
VS
26022013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
2605 memory leak.
2606
59c943ec
VS
26072013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
2610 (grub_longjmp): Restore r31.
2611 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
2612
4336b5d8
VS
26132013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
2616 modules to be in line with make_image_abs.
2617
44ce3a93
VS
26182013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
2621
2622 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
2623
7d400406
IC
26242013-11-17 Ian Campbell <ijc@hellion.org.uk>
2625
2626 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
2627
77dae919
VS
26282013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
2631 to leave some memory to firmware.
2632
0ab8e025
VS
26332013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
2636 of loading gfxterm as gfxterm is embed in kernel on some platforms.
2637 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
2638 Load gfxmenu.
2639
b80c2d6d
VS
26402013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
2643 now needs full arguments.
2644
6aa6077b
VS
26452013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 * util/grub-mkrescue.c (main): Add trailing \n in
2648 .disk_label.contentDetails to be in line with previous shell script.
2649
66c00cb1
VS
26502013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
2653
3a129dba
VS
26542013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * util/grub-install-common.c (grub_install_parse): Recognize
2657 --compress=none like shell script did.
2658
8df6eff6
VS
26592013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * include/grub/misc.h: Replace check for __sparc64__ with one for
2662 __sparc__ as __sparc64__ isn't actually defined.
2663
889ebe92
VS
26642013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
2667 counterpart of fixing the naming of escc ports.
2668
d4d55b29
VS
26692013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 * util/grub-install-common.c (platforms): Fix the order of entries and
2672 remove useless field val.
2673
55e2c84f
VS
26742013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * util/grub-install.c: Add new option --no-bootsector to skip
2677 installing of bootsector. Accept --grub-setup=/bin/true as
2678 backwards-compatible synonym.
2679
cd46aa6c
VS
26802013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2681
2682 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
2683 order of qsort arguments (number of elements vs. element size).
2684
26852013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
2688 the function of these files exceeds what can be sanely handled in shell
2689 in posix-comaptible way. Also writing it in C extends the functionality
2690 to non-UNIX-like OS and minimal environments.
2691
9ef81064
VS
26922013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
2695 compiling to thumb2.
2696 * grub-core/kern/arm/cache_armv7.S: Likewise.
2697 * grub-core/lib/arm/setjmp.S: Likewise.
2698
11a77932
LL
26992013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2700
2701 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
2702 in grub_uboot_syscall
2703
080603f0
VS
27042013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 Decrease stack usage in lexer.
2707
2708 We have only 92K of stack and using over 4K per frame is wasteful
2709
2710 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
2711 as macros so that compiler would remove useless structure on stack.
2712 Better solution would be to fix flex not to put this structure on
2713 the stack but flex is external program.
2714
4f84ae0e
VS
27152013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 Decrease stack usage in signature verification.
2718
2719 We have only 92K of stack and using over 4K per frame is wasteful
2720
2721 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
2722 rather than stack.
2723 (grub_verify_signature_real): Likewise.
2724
e6a6182d
VS
27252013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 Decrease stack usage in mdraid 0.9x.
2728
2729 We have only 92K of stack and using over 4K per frame is wasteful
2730
2731 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
2732 rather than stack.
2733
1a454efe
VS
27342013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 Decrease stack usage in BtrFS.
2737
2738 We have only 92K of stack and using over 4K per frame is wasteful
2739
2740 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
2741 rather than stack.
2742
7b5d51d8
VS
27432013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 Decrease stack usage in JFS.
2746
2747 We have only 92K of stack and using over 4K per frame is wasteful
2748
2749 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
2750 stack. Note: this function is recursive.
2751 (grub_jfs_read_inode): Read only part we care about.
2752
593865b9
LL
27532013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2754
2755 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
2756 handling
7b5d51d8 2757
31c0cd43
AB
27582013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2759
2760 * configure.ac: Restore -nostdlib for libgcc symbols tests.
2761
c2fdb331
AB
27622013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2763
2764 * docs/grub.texi (Environment): Document cmdpath.
2765
9e18dfe2
AB
27662013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2767
2768 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2769 Remove "unused" attribute from arguments, they are used.
2770
59ba9d14
CW
27712013-11-15 Colin Watson <cjwatson@debian.org>
2772
2773 * .gitignore: Only ignore grub-mk* at the top level.
2774
23012db9
CW
27752013-11-15 Colin Watson <cjwatson@ubuntu.com>
2776
2777 * util/grub-reboot.in (usage): Fix a typo.
2778
6fcec439
VS
27792013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 Replace libgcc version of ctz with our own.
2782
2783 On upcoming arm64 port libgcc ctz* are not usable in standalone
2784 environment. Since we need ctz* for this case and implementation is
2785 in C we may as well use it on all concerned platforms.
2786
a9f25a08
VS
27872013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * configure.ac: Probe for linking format rather than guessing it based
2790 on target_os.
2791
c7995256
VS
27922013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
2795 "1" prior to handoff.
2796
2797 Reported by: M A Young.
2798
e1aa5b66
VS
27992013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
2802 \0 to all files.
2803
2804 Reported by: M A Young.
2805
da5ed5cf
VS
28062013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
2809 compilation on NetBSD.
2810
5757a93e
VS
28112013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * acinclude.m4: Don't add -P on initial nm test.
2814
2815 Note: even though this patch postdates Andrey's it bears 14 Nov as
2816 date due to timezone difference.
2817
a5986276
AB
28182013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
2819
2820 * grub-core/Makefile.core.def (signature_test): Add missing
2821 tests/signatures.h.
2822
0de172a0
CW
28232013-11-14 Colin Watson <cjwatson@ubuntu.com>
2824
2825 * util/grub-install_header: Set localedir here, since this file is
2826 where it's used.
2827 * util/grub-install.in: Remove setting of localedir.
2828 * util/grub-mkrescue.in: Likewise.
2829
da45f43c
VS
28302013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
2833
20aea949
VS
28342013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * configure.ac: Move nm checks to the end.
2837 Call grub_PROG_NM_WORKS.
2838 * acinclude.m4: New check grub_PROG_NM_WORKS.
2839 Use $TARGET_CFLAGS -c when compiling test binary.
2840
1326b9ae
CW
28412013-11-14 Colin Watson <cjwatson@ubuntu.com>
2842
2843 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
2844 unused variables.
2845
1fe26ab4
MG
28462013-11-14 Matthew Garrett <mjg@redhat.com>
2847
2848 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
2849 cmdpath to firmware directory.
2850
83e9c273
VS
28512013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
2854 at the start of second iteration.
2855
ec525c18
VS
28562013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
2859
93fcc7ad
VS
28602013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * Makefile.am (default_payload.elf): New target for easier coreboot
2863 build.
2864
57ffe934
VS
28652013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
2868 clang (not necessarry with -no-integrated-as).
2869 * include/grub/symbol.h [__arm__]: Likewise.
2870
2312f06c
VS
28712013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * configure.ac: Use -no-integrated-as on arm with clang.
2874 * INSTALL: Mention ARM compilation with clang.
2875
2416415c
VS
28762013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
2879 -mthumb-interwork.
2880
5da55172
CW
28812013-11-14 Colin Watson <cjwatson@ubuntu.com>
2882
2883 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
2884 code for indirect block handling.
2885
2886 Saves 185 bytes on compressed image.
2887
da770328
PFS
28882013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2889
2890 Fix make clean.
2891
2892 * Makefile.am: Remove build-grub-* in make clean.
2893
f02e6b56
PFS
28942013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2895
2896 New files to gitignore.
2897
2898 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
2899 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
2900
035a26c1
LL
29012013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2902
2903 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
2904
bc8a6137
LL
29052013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2906
2907 * .gitignore: fix rules for .dep* and add *.a post git migration
2908
6fe506b0
CW
29092013-11-13 Colin Watson <cjwatson@ubuntu.com>
2910
2911 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
2912 to match INSTALL.
2913
81a2e438
CW
29142013-11-13 Colin Watson <cjwatson@ubuntu.com>
2915
2916 * grub-core/kern/misc.c: Don't redirect divisions in the
2917 GRUB_UTIL case.
2918 * include/grub/misc.h: Likewise.
2919
9b45c073
CW
29202013-11-13 Colin Watson <cjwatson@ubuntu.com>
2921
2922 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
2923 systems that require checking the return value of write.
2924
11b2a9b7
CW
29252013-11-13 Colin Watson <cjwatson@ubuntu.com>
2926
2927 * util/grub-install.in (efi_quiet): Fix inverted logic: make
2928 efibootmgr quiet when --debug is not used, rather than when it is.
2929
d743d22d
CW
29302013-11-13 Colin Watson <cjwatson@ubuntu.com>
2931
2932 * gentpl.py (define_macro_for_platform_dependencies): Remove
2933 first (and thus unused) of two definitions for this function.
2934 (platform_dependencies): Likewise.
2935
11da14b5
CW
29362013-11-13 Colin Watson <cjwatson@ubuntu.com>
2937
2938 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
2939 functions, we only need to check this for the target, not the host.
2940 * configure.ac (grub_apple_cc): Likewise.
2941
2bdd0719
VS
29422013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
2945 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
2946 asm to stay in arm even if surrounding is thumb.
2947
5e77d9cf
VS
29482013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
2951 helper functions are needed for thumb.
2952
7d511625
VS
29532013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
2956 level / 3 division explicitly unsigned. Saves few bytes.
2957
81023dbd
VS
29582013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
2961
b2e9294f
VS
29622013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
2965 division.
2966
16a22c38
VS
29672013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
2970 grub_uboot_boot_data to asm part.
2971
c9cd02c9
VS
29722013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
2975 literal load.
2976 (grub_uboot_syscall): Save/restore r9 and align stack.
2977
81498615
VS
29782013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
2981
ea57de18
VS
29822013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
2985 occurencies with END.
2986
d0d1e3da
CW
29872013-11-13 Colin Watson <cjwatson@ubuntu.com>
2988
2989 * util/grub-editenv.c (help_filter, argp): Document how to delete
2990 the whole environment block.
2991 Reported by Dan Jacobson. Fixes Debian bug #726265.
2992
3809f016
CW
29932013-11-13 Colin Watson <cjwatson@ubuntu.com>
2994
2995 * docs/grub.texi (Internationalisation, Supported kernels): Fix
2996 sectioning.
2997
46d8a203
JT
29982013-11-13 Josh Triplett <josh@joshtriplett.org>
2999
3000 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
3001 increment/decrement.
3002
513eeb61
VS
30032013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
3006 compiling with clang.
3007
bc379c1a
VS
30082013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
3011 ".".
3012
30132013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 3014
16057d6b
VS
3015 Redirect all divisions to grub_divmod64.
3016
f649a6a8
VS
30172013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
3020
ef28ee8b
VS
30212013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 Add missing includes of loader.h.
3024
300f48c5
VS
30252013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * configure.ac: Allow disabling themes.
3028
2d357558
LS
30292013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
3030
3031 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
3032
0c62a5b2
VS
30332013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
3036 until it becomes operational.
3037
b0720b49
VS
30382013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * grub-core/Makefile.core.def (legacy_password_test): Disable
3041 on platforms where no legacycfg is compiled.
3042 * grub-core/tests/lib/functional_test.c: Tolerate failure to
3043 load legacy_password_test.
3044
d5bab2c0
VS
30452013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
3048
3ea0ccb3
VS
30492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/efiemu/prepare.c: Remove variable length arrays.
3052
08772054
VS
30532013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
3056 strict-aliasing warning.
3057 (fsync): Silence cast warning.
3058
1dcb2715
VS
30592013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 * grub-core/commands/verify.c: Remove variable length arrays.
3062 Load gcry_dsa/gcry_rsa automatically.
3063
61c22fdf
VS
30642013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/tests/signature_test.c: New test.
3067
431e57a7
VS
30682013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
3071 API.
3072
b521bb81
VS
30732013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/tests/legacy_password_test.c (vectors): Make static.
3076 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
3077
7d06b24e
VS
30782013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
3081
3bbeade4
VS
30822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * grub-core/fs/proc.c: Allow \0 in proc files.
3085
ba82db7a
VS
30862013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
3089
801564c8
VS
30902013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
3093
ac8cac1d
VS
30942013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * grub-core/fs/ext2.c: Remove variable length arrays.
3097
4b85f122
VS
30982013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
3101 length arrays.
3102
c35fcdc0
VS
31032013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
3106 * grub-core/disk/cryptodisk.c: Likewise.
3107 * grub-core/disk/geli.c: Likewise.
3108 * grub-core/disk/luks.c: Likewise.
3109
15decd26
VS
31102013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * grub-core/tests/legacy_password_test.c: New test.
3113 * grub-core/commands/legacycfg.c: Remove variable length arrays.
3114
9c6482b8
VS
31152013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
3118
41f26e0e
VS
31192013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * grub-core/tests/pbkdf2_test.c: New test.
3122
2def6616
VS
31232013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
3126
9e34a34e
VS
31272013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/io/lzopio.c: Remove variable length arrays.
3130
5ccaf904
VS
31312013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * include/grub/crypto.h: Add maximums on hash size and cipher block
3134 size.
3135
44a387e0
VS
31362013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
3139
a388e255
VS
31402013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * grub-core/tests/xnu_uuid_test.c: New test.
3143
a1ef7718
VS
31442013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
3147 covers it).
3148
65ddb300
VS
31492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/commands/hashsum.c: Remove variable length arrays.
3152
31747dd5
VS
31532013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
3156 condition.
3157 * tests/grub_func_test.in: Increase memory allocation.
3158
6a74c4df
VS
31592013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
3162 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
3163 sys/mount.h.
3164
394c3e0a
VS
31652013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
3168 (grub_util_get_fd_size_os): ...this.
3169 (grub_hostdisk_flush_initial_buffer): New empty function.
3170
60d31116
VS
31712013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/gensyminfo.sh.in: Handle the case of portable output
3174 without --defined-only.
3175
8445b011
VS
31762013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
3179 rip-relative addressing in prologue.
3180
8506a641
VS
31812013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
3184 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
3185
66acd9d6
VS
31862013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
3189 Add missing semicolon.
3190
348d0535
VS
31912013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
3194
0d2d30bb
VS
31952013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * configure.ac: Check for lzma.h for enabling liblzma and allow
3198 manual disabling.
3199
631187be
VS
32002013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 Add missing includes of loader.h.
3203
e756ec82
FZ
32042013-11-11 Fam Zheng <famcool@gmail.com>
3205
3206 * util/grub.d/30_os-prober.in: Add minix entry.
3207
87d62d7d
VS
32082013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
3211 right buffer for temporary load.
3212
5460cfeb
VS
32132013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
3216
89977306
VS
32172013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
3220 payload.
3221
3617c59b
VS
32222013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
3225 not Types.h.
3226 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
3227 environment.
3228 (LzmaDec_InitDicAndState): Make static.
3229
881c6a10
VS
32302013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
3233
2024ade2
VS
32342013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
3237
3238 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
3239
674ad4f6
VS
32402013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * docs/grub-dev.texi: Replace bzr references with git ones.
3243
5b99970e
AB
32442013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3245
3246 * docs/grub.texi (Simple configuration): Remove reference to
3247 grub-reboot from saved default entry description - grub-default
3248 does not use it anymore.
3249
3c2304d5
VS
32502013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * configure.ac: Make efiemu test cflags match the cflags efiemu is
3253 compiled with.
3254
80cfd940
AB
32552013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3256
3257 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
3258
33690255
VS
32592013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 Fix grub_machine_fini bitrot.
3262
3263 Reported by: Glenn Washburn.
3264
c61471fc
VS
32652013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
3268
54da019f
VS
32692013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
3272 -DELF.
3273 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
3274 instead of ELF*.
3275
32762013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
3277
3278 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
3279 Add -march=core2 when testing compile of efiemu64.
3280
3281 Thanks Andrey Borzenkov for spotting this.
3282
9612ebc0
VS
32832013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
3286 XEN PV environment and load kernels.
3287
1a46a3a4
VS
32882013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
3291 * grub-core/loader/multiboot_mbi2.c: Likewise.
3292
2df12551
VS
32932013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
3296 handling.
3297
3c980381
VS
32982013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
3301
3302 Tested by: Denis 'GNUtoo' Carikli.
3303
800f63d3
VS
33042013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
3307
9f8acdaa
VS
33082013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3309
5620eb53
VS
3310 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
3311 Use to get rounded angle rather than truncated.
3312
33132013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
3316 RTS/CTS flow control.
3317
2dc1eb6c
VS
33182013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
3321 divisions.
3322
b9563c94
VS
33232013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
3326 Use grub_fatal rather than divide by zero.
3327 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
3328
d6d8e9a9
VS
33292013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
3332 truncate.
3333 (grub_fixed_fsf_divide): Likewise.
3334
d06de6c8
VS
33352013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
3338 division by-zero and senseless negative divisions.
3339
6af7d49b
VS
33402013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
3343 division by-zero and senseless negative divisions.
3344 (circprog_set_property): Don't accept negative num_ticks.
3345
bcfa6d72
VS
33462013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
3349 division by-zero and senseless negative divisions.
3350
dd7f792c
VS
33512013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * configure.ac: Use elf_*_fbsd on kfreebsd.
3354
d061fda7
VS
33552013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 * grub-core/tests/div_test.c: New test.
3358
4db22500
VT
33592013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3360
3361 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
3362 * grub-core/gfxmenu/gui_canvas.c: Likewise.
3363 * grub-core/gfxmenu/view.c: Likewise.
3364 * grub-core/video/fb/video_fb.c: Introduce new functions:
3365 grub_video_set_area_status, grub_video_get_area_status,
3366 grub_video_set_region, grub_video_get_region.
3367 * grub-core/video/bochs.c: Likewise.
3368 * grub-core/video/capture.c: Likewise.
3369 * grub-core/video/video.c: Likewise.
3370 * grub-core/video/cirrus.c: Likewise.
3371 * grub-core/video/efi_gop.c: Likewise.
3372 * grub-core/video/efi_uga.c: Likewise.
3373 * grub-core/video/emu/sdl.c: Likewise.
3374 * grub-core/video/radeon_fuloong2e.c: Likewise.
3375 * grub-core/video/sis315pro.c: Likewise.
3376 * grub-core/video/sm712.c: Likewise.
3377 * grub-core/video/i386/pc/vbe.c: Likewise.
3378 * grub-core/video/i386/pc/vga.c: Likewise.
3379 * grub-core/video/ieee1275.c: Likewise.
3380 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
3381 * include/grub/video.h: Likewise.
3382 * include/grub/video_fb.h: Likewise.
3383 * include/grub/fbfill.h: Updated render_target structure.
3384 grub_video_rect_t viewport, region, area
3385 int area_offset_x, area_offset_y, area_enabled
3386 * include/grub/gui.h: New helper function
3387 grub_video_bounds_inside_region.
3388 * docs/grub-dev.texi: Added information about new functions.
3389
c6b755df
VS
33902013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
3393 for alignment.
3394
e2a68100
VS
33952013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
3398 missing attribute.
3399 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
3400
c4f11a2a
VS
34012013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
3404 simple division on arm and ia64.
3405
e0a7bffa
VS
34062013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
3409 link with libgcc.
3410
38b864ea
VS
34112013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
3414
12359faf
VS
34152013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
3418 prefix symbol, not @.
3419
9fdc64a9
VS
34202013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * INSTALL: Add note about older gcc and clang.
3423
665c575b
VS
34242013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
3427
47dcf7b1
VS
34282013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
3431 NULL pointer dereference.
3432
d59849b2
VS
34332013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
3436 clang.
3437
7a3f4a18
VS
34382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
3441 warnings.
3442
7f084087
VS
34432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
3446 function.
3447 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
3448 * grub-core/disk/geli.c (ascii2hex): Likewise.
3449
d5524ca8
VS
34502013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * configure.ac: Run linker tests without -Werror.
3453 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
3454 Change all occurences of -static-libgcc resp -lgcc to
3455 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
3456
390cd7ca
VS
34572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
3460
60375a88
VS
34612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 Allow compiling with clang (not really supported though).
3464
3465 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
3466 unconditionally.
3467 * configure.ac: Add -no-integrated-as when using clangfor asm files.
3468 Add -mrtd -mregparm=3 on i386 when not using clang.
3469 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
3470
dd07e0c4
VS
34712013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
3474 bindings.
3475 * grub-core/lib/reed_solomon.c: Likewise.
3476 * include/grub/i386/gdb.h: Likewise.
3477 * include/grub/i386/pc/int.h: Likewise.
3478 * include/grub/i386/pc/pxe.h: Likewise.
3479 * include/grub/ieee1275/ieee1275.h: Likewise.
3480
9d3ae8ec
VS
34812013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 Import libgcrypt 1.5.3.
3484
c12936c5
VS
34852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * configure.ac: Don't add -Wcast-align on x86.
3488
cdc17f60
VS
34892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 * configure.ac: Add -freg-struct-return on all platforms that
3492 support it.
3493
b35ec299
VS
34942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * acinclude.m4: Use -Werror on parameter tests.
3497 * configure.ac: Likewise.
3498
05f3a0d7
VS
34992013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
3502
c966a489
VS
35032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3504
3505 * configure.ac: Check that -malign-loops works rather than assuming that
3506 either -falign-loops or -malign-loops work.
3507
bb0c57ec
VS
35082013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 * configure.ac: Remove -fnested-functions. We don't need it anymore.
3511
24f4e57c
VS
35122013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 * configure.ac: Prevent cflags leaking to subsequent tests by always
3515 resetting cflags to target_cflags in target tests.
3516
ac319fbc
VS
35172013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
3520 function.
3521
4bfe934c
VS
35222013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
3525
40a5bfde
VS
35262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
3529
a67c755e
VS
35302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 * grub-core/normal/cmdline.c (grub_cmdline_get):
3533 Remove nested functions.
3534
87a04a2d
VS
35352013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 * tests/test_sha512sum.in: Make it work on emu.
3538
c03995d2
VS
35392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
3542 functions.
3543 (grub_bidi_line_logical_to_visual): Likewise.
3544
ec0ebb3f
VS
35452013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 Remove vestiges of -Wunsafe-loop-optimisations.
3548
3549 * conf/Makefile.common (CFLAGS_GNULIB): Remove
3550 -Wno-unsafe-loop-optimisations.
3551 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
3552 pragma.
3553 * grub-core/io/gzio.c: Likewise.
3554 * grub-core/script/parser.y: Likewise.
3555 * grub-core/script/yylex.l: Likewise.
3556 * util/grub-mkfont.c: Likewise.
3557
6ab537e3
VS
35582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * util/grub-mkfont.c (process_cursive): Remove nested function.
3561
e6c368d4
VS
35622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
3565 (grub_boot_time): Likewise.
3566
4f1cfd22
VS
35672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 * include/grub/symbol.h (FUNCTION): Use @function rather than
3570 "function".
3571 (VARIABLE): Likewise.
3572
6d5a4cee
VS
35732013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
3576
f06c2172
VS
35772013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
3580 (parse_dhcp_vendor): Likewise.
3581
7cb24eb5
VS
35822013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
3585
f30c692c
VS
35862013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * grub-core/gettext/gettext.c (main_context), (secondary_context):
3589 Define after defining type and not before.
3590
8b66bb5d
VS
35912013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
3594 type.
3595 (grub_gcm_decrypt): Likewise.
3596 (algo_decrypt): Likewise.
3597 (grub_zfs_decrypt_real): Transform error type.
3598
5d17fd0f
VS
35992013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
3602
ac35a0f7
VS
36032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
3606 (grub_usbms_cbi_reset): Likewise.
3607 (grub_usbms_bo_reset): Likewise.
3608 (grub_usbms_reset): Likewise.
3609 (grub_usbms_attach): Likewise.
3610 (grub_usbms_transfer_cbi): Likewise.
3611
3ee08697
VS
36122013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
3615 "checksum = checksum;".
3616
70bb6c85
VS
36172013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
3620 entry_type.
3621
c7f34744
VS
36222013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
3625 BIOS disk check.
3626
3f63b4d8
VS
36272013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
3630 type.
3631 (grub_ehci_fini_hw): Likewise.
3632 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3633
dac6ce73
VS
36342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
3637 return grub_usb_err_t for cosistency. All users updated.
3638
5701750c
VS
36392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
3642 assigning to itself.
3643
9e236169
GLD
36442013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
36452013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3646
3647 Issue separate DNS queries for ipv4 and ipv6
3648
3649 Adding multiple questions on a single DNS query is not supportted by
3650 most DNS servers. This patch issues two separate DNS queries
3651 sequentially for ipv4 and then for ipv6.
3652
3653 Fixes: https://savannah.gnu.org/bugs/?39710
3654
3655 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
3656 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
3657 * (grub_net_dns_lookup): Now using separated dns packages.
3658 * (grub_cmd_nslookup): Add error condition.
3659 * (grub_cmd_list_dns): Print DNS option.
3660 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
3661 --prefer-ipv4, and --prefer-ipv6.
3662 * include/grub/net.h (grub_dns_option_t): New enum.
3663 * (grub_net_network_level_address): option added.
3664
339eacce
VT
36652013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
3666
3667 * grub-core/video/fb/video_fb.c: Merge two blit functions
3668 into one.
3669
810f991b
VS
36702013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * grub-core/term/terminfo.c: Add sequences for home and end.
3673
386571a2
VS
36742013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
3677 graphics console.
3678
3fe63754
VS
36792013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
3682 add mode 0x12.
3683
76681e71
VS
36842013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3685
3686 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
3687 e-mail by Per Öberg.
3688
46522fb7
VS
36892013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
3692 name.
3693
e7d09ac4
AB
36942013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
3695
3696 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
3697 emu platforms.
3698 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
3699
67508925
VS
37002013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * docs/grub.texi: Document usage of menuentry id.
3703
0c62124e
VS
37042013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
3707
9b5d4eed
PL
37082013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
3709
3710 * grub-core/commands/i386/nthibr.c: New command.
3711
79054c1d
VS
37122013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
3715
44d47bbe
VS
37162013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
3719 coordinate.
3720
323de05b
VS
37212013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 Support GRUB_DISABLE_SUBMENU config.
3724
3725 Inspired by patch from Prarit Bhargava.
3726
5a01722e
VS
37272013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * docs/grub.texi: Mention RSA support.
3730
1106c3f0
VS
37312013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * grub-core/commands/verify.c: Add RSA support.
3734
a1dcc2cb
VS
37352013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
3738 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
3739 device is known to be ATAPI.
3740
ee7fb780
MF
37412013-11-03 Mike Frysinger <vapier>
3742
3743 * configure.ac: Don't add target-prefix.
3744
5ade4a42
VS
37452013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
3748 variables.
3749
6cd66043
VS
37502013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
3753 if language is English.
3754
090d7c81
VS
37552013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
3758
dd614590
VS
37592013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * configure.ac: Don't add -m32/-m64 on emu.
3762
a8686589 37632013-11-02 neil
3764
3765 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
3766 broken linux headers.
3767
fb9f12a0
VS
37682013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
3771
e25f8e1f
VS
37722013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
3775 Reed-Solomon recovery if more than half of redundancy info is 0.
3776
4685200f
VS
37772013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * util/grub-mount.c: Handle symlinks to directories.
3780
1397f0b5
VS
37812013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
3784 find_file recursively for symlink.
3785
8b3e6eb6
VS
37862013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * tests/util/grub-shell.in: Copy themes.
3789
a0c9d5c6
VS
37902013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
3793
5cf9459c
VS
37942013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 * configure.ac: Use 0x8000 for address instead of 8000.
3797
e7b66a28
VS
37982013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
3801 signature.
3802
203f53fb
VS
38032013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
3806 variable.
3807
02663ee9
VS
38082013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
3811
f169f65e
VS
38122013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
3815 file_progress_read_hook.
3816 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
3817
2855a0fc
VS
38182013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
3821 and double.
3822
bf0f3a8c
VS
38232013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
3826
cb72aa18
VS
38272013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 Rewrite blocklist functions in order to get progress when
3830 reading large extents and decrease amount of blocklist hook calls.
3831
896f9135
VS
38322013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
3835 of SI suffixes.
3836
89295a06
VS
38372013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 Support --base-clock for serial command to handle weird cards with
3840 non-standard base clock.
3841
eb03ede0
VS
38422013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
3845 strncpy.
3846 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
3847 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
3848 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
3849 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
3850 + strcpy rather than strncpy.
3851
8fbe5c7d
VS
38522013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
3855 (check_pool_label): Likewise. Fixes overflow.
3856 (nvlist_find_value): Fix comparison.
3857
e54b8f53
VS
38582013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * include/grub/misc.h (grub_strcat): Removed. All users changed to
3861 more appropriate functions.
3862
fa9b3dca
VS
38632013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
3866 realloc.
3867
9a021c55
VS
38682013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * util/grub-mkrescue.in: Do not use UUID search on EFI.
3871
80e8b13a
VS
38722013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
3875 on core size.
3876
b61599ac
VS
38772013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
3880
a602dc54
VS
38812013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
3884 (initialize_tables): reset tl and td to NULL after freeing.
3885
93c12075
VS
38862013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
3889
1ca4b75e
VS
38902013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
3893 of supported tags.
3894
329550c4
VS
38952013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
3898
00bfa988
VS
38992013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * grub-core/loader/multiboot.c: Add support for multiboot kernels
3902 quirks.
3903
81afc5cc
VS
39042013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
3907 a page in protected space.
3908
cb3c4a47
VS
39092013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
3912 allocate space for zero-sized modules.
3913
954f7bf5
VS
39142013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
3917
526d3d25
FL
39182013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
3919
3920 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
3921
74124c34
VS
39222013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
3925 safeguards. Fixes a crash with i386/pc/console.c.
3926
5177391e
VS
39272013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
3930 and grub_hostfs_init.
3931
64db14b0
VS
39322013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
3935 windows method on other platforms without good stat as well.
3936
effe2036
VS
39372013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
3940
82591fa6 39412013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 3942
82591fa6
VS
3943 Make / in btrfs refer to real root, not the default volume.
3944 Modify mkrelpath to work even if device is mounted with subvolid option.
3945
39462013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
3947
3948 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
3949 extra_dist.
3950 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
3951 extra_dist.
3952
30fd7198
VS
39532013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
3956 fails.
3957
8d179dae
BC
39582013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
3959
3960 * docs/autoiso.cfg: New file.
3961
3bc9c8cf
VS
39622013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
3965 COND_GRUB_PE2ELF conditions.
3966
8b46b0ea
VS
39672013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
3970 "vnd", "rd" and "fd" disks.
3971
442b86de
VS
39722013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 Move grub_disk_write out of kernel into disk.mod.
3975
04dea7e6
VS
39762013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
3979 handling.
3980
39812013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
3982
3983 * grub-core/kern/misc.c (grub_abort): Make static
3984
04dea7e6 39852013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
3986
3987 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
3988 transform invalid unicode codepoints.
3989
04dea7e6 39902013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
3991
3992 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3993 \0 checking.
3994
03dcac7f
VS
39952013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
3998
c81acb7f
VS
39992013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 Consolidate cpuid code.
4002
c1bee646
VS
40032013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 Move cpuid code to cpuid.h and TSC code to tsc.c.
4006
f37bf9c7
GS
40072013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
4008
4009 * util/grub.d/00_header.in: Don't use LANG if it's not set.
4010
4021132b
GS
40112013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
4012
4013 * util/grub-mkconfig.in: Replace $0 with $self.
4014 * util/grub-reboot.in: Likewise.
4015 * util/grub-set-default.in: Likewise.
4016
3ace8d75
BC
40172013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4018
4019 * docs/osdetect.cfg: New file.
4020
1e6ad6a6
BC
40212013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4022
4023 * tests/util/grub-shell.in: Add new --debug option.
4024
188929eb
BC
40252013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4026
4027 * tests/test_unset.in: New test.
4028
7994a09a
BC
40292013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
4030
4031 * tests/test_sha512sum.in: New test.
4032
2a8a7585
VS
40332013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
4036 * include/grub/misc.h: Remove strncat.
4037 * grub-core/lib/posix_wrap/string.h: Likewise.
4038
cf8d6bbd
VS
40392013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
4042 Try to handle more than 0xFFFF packets.
4043 Reported by: Bernhard Übelacker <bernhardu>.
4044 He also spotted few overflows in first version of this patch.
4045
6d1fc99a
VS
40462013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 * tests/date_unit_test.c: New test.
4049
10bafa1c
VS
40502013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4051
4052 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
4053 of first three years after start of validity of unixtime.
4054
b1c6d037
VS
40552013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
4058 division as the one making more sense.
4059 (update_screen): Likewise.
4060 (complete): Likewise.
4061
5f4028d4
VS
40622013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
4065
a2856736
VS
40662013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 Make char and string width grub_size_t rather than grub_ssize_t.
4069
0a7e52b2
VS
40702013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
4073 unsigned.
4074 (grub_history_replace): Likewise.
4075
42829573
VS
40762013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
4079 appropriate.
4080
3523b8d8
VS
40812013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
4084 appropriate.
4085
d43c6489
VS
40862013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
4089 Use unsigned divisions rather than signed variants.
4090
f690f8b0
VS
40912013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * grub-core/video/readers/png.c (grub_png_convert_image): Use
4094 unsigned arithmetics.
4095 Add missing break.
4096
74ff2c05
VS
40972013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
4100
fb56391e
VS
41012013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
4104 rather than signed one.
4105 (recovery): Likewise.
4106
40f29060
VS
41072013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
4110
c64577a5
VS
41112013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
4114 than signed.
4115
c16535a8
JM
41162013-10-25 Jon McCune <jonmccune@google.com>
4117
4118 * docs/grub.texi: Cleanup security documentation around signatures.
4119
6673d8e7
VS
41202013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
4123
a105d375
VS
41242013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
4127 than int.
4128
af81ed88
VS
41292013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
4132 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
4133 functions when compiling for kernel.
4134
ea899a57
VS
41352013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
4138 unsigned long long when using %llu.
4139
c6dc6fa1
VS
41402013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
4143 terminal after updating progress.
4144
ad2dc003
VS
41452013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
4148 argument. We don't disable Gate A20 in this code.
4149
b46684ae
VS
41502013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
4153 Conceptually based on change in branch "vbe-on-coreboot".
4154
f70d5c07
RM
41552013-10-24 Robert Millan <rmh@gnu.org>
4156
4157 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
4158 numeric constants with their symbolic equivalent.
4159 Taken from branch "vbe-on-coreboot".
4160
bca274b4
VS
41612013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * docs/grub.texi: Fix ordering and use pxref rather than xref.
4164
238f0489
VS
41652013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
4168 divmod64 for offset division.
4169
863c590b
PFS
41702013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4171
4172 Rename .bzrignore to .gitignore. Add "*.o" rule.
4173
4174 * .bzrignore: Renamed to...
4175 * .gitignore: ...this.
4176
84a0e969
PFS
41772013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4178
4179 Add new progress module that displays the load progress of files.
4180
4181 * grub-core/lib/progress.c: New file.
4182 * grub-core/Makefile.core.def (progress): New module.
4183 * grub-core/kern/file.c (grub_file_open): File name added.
4184 * (grub_file_read): Progress hook added.
4185 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
4186 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
4187 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
4188 * include/grub/file.h (struct grub_file): Add progress module members.
4189 * include/grub/term.h (struct grub_term_output): Likewise.
4190 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
4191 Terminal velocity added.
4192 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
4193 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
4194 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
4195 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
4196 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
4197 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
4198 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
4199 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
4200 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
4201 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
4202 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
4203 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
4204
0d711431
VS
42052013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 Verify signatures of signatures unless --skip-sig is specified.
4208
f8401f76
VS
42092013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
4212 \0 checking.
4213
4214 Saves 70 bytes on compressed image.
4215
ac1feb61
VS
42162013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
4219 check.
4220
4221 Saves 10 bytes on compressed image.
4222
00f72e89
VS
42232013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * grub-core/kern/misc.c (grub_isprint): Move to ...
4226 * include/grub/misc.h (grub_isprint): ... here. Make inline.
4227
4228 Saves 20 bytes on compressed image due to remving exporting.
4229
067e6ae7
VS
42302013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
4233
4234 Saves 5 bytes on compressed image.
4235
64a6c791
VS
42362013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
4239 function get_utf8.
4240
4241 Saves 379 bytes on compressed image.
4242
979d9f52
VS
42432013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
4246
1437da54
VS
42472013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
4250
4251 Saves 40 bytes on compressed image.
4252
d9ee2269
VS
42532013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
4256 mask rather than 64-bit type.
4257
4258 Saves 20 bytes on compressed image.
4259
63efa602
VS
42602013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
4263 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
4264
47601ffe
VS
4265 Saves 273 bytes on compressed image.
4266
2cc679ad
VS
42672013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
4270 variable length arrays.
4271
4272 Saves 50 bytes on compressed image.
4273
2e4659b8
VS
42742013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4275
4276 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
4277
2a40badf
VS
42782013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 * grub-core/fs/ufs.c: Remove variable length arrays.
4281
1ba6b9b9
VS
42822013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
4285
f3e39341
VS
42862013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * grub-core/fs/zfs.c: Remove variable length arrays.
4289 Reduces zfs.mod by 160 bytes (208 compressed).
4290
71523935
VS
42912013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
4294
28153eb8
VS
42952013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * grub-core/net/arp.c: Remove variable length arrays.
4298 * grub-core/net/bootp.c: Likewise.
4299 * grub-core/net/dns.c: Likewise.
4300 * grub-core/net/icmp6.c: Likewise.
4301 * grub-core/net/net.c: Likewise.
4302
88ce4cd7
VS
43032013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * grub-core/fs/ntfs.c: Remove variable length arrays.
4306 Increases ntfs.mod by 64 bytes (but decreases by 3 when
4307 compressed).
4308
66123940
VS
43092013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * grub-core/fs/hfs.c: Remove variable length arrays.
4312 Reduces hfs.mod by 8 bytes (52 compressed).
4313
0927e5bd
VS
43142013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 4317 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
4318 compressed).
4319
9c12ac97
VS
43202013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 4323 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
4324 compressed).
4325
97ec2d71
VS
43262013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 4329 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
4330 compressed).
4331
156e4ea0
VS
43322013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * grub-core/fs/xfs.c: Remove variable length arrays.
4335 Reduces xfs.mod by 40 bytes (43 compressed).
4336
3b502c29
VS
43372013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/fs/fshelp.c: Remove variable length arrays.
4340 Reduces fshelp.mod by 116 bytes (23 compressed).
4341
c7037f1d
VS
43422013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * grub-core/normal/completion.c: Remove variable length arrays.
4345 * grub-core/normal/menu_entry.c: Likewise.
4346
4347 Reduces normal.mod by 496 bytes.
4348
a07e6ad0
VS
43492013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
4352 by 356 bytes (158 compressed).
4353
2359bf88
VS
43542013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
4357 by 364 bytes (169 compressed).
4358
d28e1163
VS
43592013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
4362 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
4363 * include/grub/types.h (grub_unaligned_uint64_t): New type.
4364
e89c2d48
VS
43652013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
4368 bitmasks to small structures of size chosen to fit in registers.
4369
7abdac8e
VS
43702013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * conf/Makefile.common: Use -freg-struct-return on i386. This
4373 decreases code size and improves performance.
4374
518864c0
VS
43752013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
4378
bbd2b539
VS
43792013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
4382 "(null)" string.
4383 Simplify expressions to save around 256 bytes in kernel.img.
4384 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
4385
99519c15
VS
43862013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
4389 Use GRUB_UTIL_FD_O_* rather than O_*.
4390
20285765
VS
43912013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 Add haiku-specific functions.
4394
887c0bb6
VS
43952013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
4398
cd78a56f
VS
43992013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 Move stat () and device mode checking into OS-dependent files as
4402 long as performance doesn't suffer.
4403
a4012f07
VS
44042013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 Split make_system_path_relative_to_its_root into separate file
4407 relpath.c from getroot.c as it's common between unix and haiku
4408 but otherwise haiku doesn't use any functions from unix getroot.c.
4409
31de274d
VS
44102013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
4413 New function.
4414 (grub_util_is_special_file): Likewise.
4415
40346de6
VS
44162013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
4419 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
4420
d3923ab9
VS
44212013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
4424 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
4425
663f6eb1
VS
44262013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
4429 (load_image): Likewise.
4430
44d1c20a
VS
44312013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * util/grub-render-label.c: Move backend part to ...
4434 * util/render-label.c: ... here.
4435
d0a116ee
VS
44362013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
4439 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
4440
b47fcae6
VS
44412013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
4444
0f7c00c1
VS
44452013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
4448 CD-ROM in case when it's declared as having subpartitions.
4449
29013cba
VS
44502013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 Don't add -lm on haiku.
4453
4454 * configure.ac: Define BUILD_LIBM to -lm on most platforms
4455 and empty on haiku.
4456 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
4457 -lm.
4458
e8559d24
VS
44592013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * configure.ac: Use -melf_*_haiku as target on haiku.
4462
8104063c
VS
44632013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * Makefile.util.def: Add util/setup.c to extra_dist.
4466
fc3182c7
VS
44672013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
4470 unknown types through.
4471
f90a3cc0
VS
44722013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
4475 (grub_util_check_char_device): Likewise.
4476 * include/grub/emu/getroot.h: Likewise.
4477
1e3e7419
VS
44782013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
4481 memset rather than inline static function.
4482
92c88fc8
VS
44832013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
4486 not doing embedded decompressor.
4487
3cd910a2
VS
44882013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
4491 shadowing.
4492 * grub-core/kern/disk.c: Likewise.
4493 * grub-core/kern/misc.c: Likewise.
4494 * include/grub/parser.h: Likewise.
4495 * include/grub/script_sh.h: Likewise.
4496 * include/grub/zfs/zfs.h: Likewise.
4497
7b3aca00
VS
44982013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
4501
97dfe7e4
VS
45022013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
4505 defined before trying to use it.
4506
bf919aa9
VS
45072013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
4510 warning.
4511
f4ccf29d
VS
45122013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
4515 Use __unused__ rather than __used__ on gcc < 3.2.
4516
0d3a6f85
VS
45172013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
4520 gcc < 4.0.
4521 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
4522
757e3eb7
VS
45232013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
4526
fb320faf
VS
45272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
4530 * include/grub/emu/misc.h: Likewise.
4531
ea73acd2
VS
45322013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
4535 cur_color.
4536
71237a6f
VT
45372013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
4538
4539 * grub-core/tests/checksums.h: Regenerated due to progress bar
4540 get_minimal_size changes.
4541
3d46c22f
BC
45422013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
4543
4544 Added `tr' command support.
4545
4546 * grub-core/commands/tr.c: New file.
4547 * grub-core/Makefile.core.def: Build rules for new module.
4548
4549 * tests/grub_cmd_tr.in: New test.
4550 * Makefile.util.def: Build rules for new test.
4551
47e0a61f
VT
45522013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4553
4554 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
4555
946fd073
VT
45562013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4557
4558 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
4559 * docs/gurb.texi: Likewise.
4560
9c13c576
VT
45612013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4562
4563 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
4564 Pixmap highlighted section with east and west slices was displayed
4565 incorrectly due to negative width of the central slice.
4566
ad543f12
VT
45672013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4568
4569 * docs/grub.texi: Graphical options information update.
4570 Removed outdated. Updated current. Inserted missed.
4571
6176a0cd
VS
45722013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 * docs/grub.texi: Mention few new platform-specific commands.
4575
9688cae2
VS
45762013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
4579 currently used so this doesn't really have any effect.
4580 Reported by: Douglas Ray <dougray>
4581
f7b69a3f
VS
45822013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
4585 compilation but prevents gcc from displaying messages in non-Latin
4586 alphabets.
4587 * conf/Makefile.common: Likewise.
4588
ceca6ddf
HY
45892013-10-16 Hiroyuki YAMAMORI
4590
4591 Handle Japanese special keys.
4592 Reported by: Hiroyuki YAMAMORI.
4593 Codes supplied by: Hiroyuki YAMAMORI.
4594
ac48d334
VT
45952013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4596
4597 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
4598
b2b71bff
VT
45992013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4600
4601 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
4602 * docs/grub.texi: Likewise.
4603
669fc449
VS
46042013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
4607 value in case of incomplete read.
4608 (grub_util_fd_write): Likewise.
4609
59381678
VS
46102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
4613
bacfefbb
VS
46142013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * util/grub-editenv.c (create_envblk_file): More from here ...
4617 * util/editenv.c (grub_util_create_envblk_file): ... to here.
4618
f7c49570
VS
46192013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
4622 canonicalize file name before doing the rest.
4623
7b83ca44
VS
46242013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
4627 mingw32.
4628
df1e64c9
VS
46292013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 Define grub_util_is_directory/regular/special_file and
4632 use OS-dependent versions rather than to rely on stat().
4633
ec16e026
VS
46342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * util/grub-mkimage.c: Move backend part to ...
4637 * util/mkimage.c: ... here.
4638
4b4eeb3c
VS
46392013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 Allow compilation with mingw64 albeit with warnings due to lack of
4642 %llx/%llu.
4643
4644 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
4645 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
4646 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
4647 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
4648 on mingw64.
4649 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
4650
f4e0adc0
VS
46512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 Remove leftover references to some of the system headers.
4654
e0127364
VS
46552013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
4658 read.
4659
20d53541
VS
46602013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
4663 of strerror.
4664
5a869940
VS
46652013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 Split out blocklist retrieving from setup.c to
4668 grub-core/osdep/blocklist.c and add windows implementation since
4669 generic version doesn't work on NTFS on Windows due to aggressive
4670 unflushable cache.
4671
c06c7520
VS
46722013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
4675 files.
4676
8f53bb3f
VS
46772013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
4680 Cut tailing newline. Remove arbitrary limitation. Always use
4681 grub_util_tchar_to_utf8.
4682
148f1007
VS
46832013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
4686 * tests/printf_unit_test.c (printf_test): Add %% tests.
4687 Reported by: Paulo Flabiano Smorigo.
4688
af3b06be
VS
46892013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
4692 implement fsync.
4693
27f9d02e
VS
46942013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4695
4696 * configure.ac: Check for nvlist_lookup_string in nvpair since we
4697 use nvlist_lookup_string and don't use nvlist_print.
4698
f6a81f0a
VS
46992013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 Add wrappers around rename, unlink, mkdir, opendir, readdir and
4702 closedir to handle filename charset translation.
4703
d7750b32
VS
47042013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * include/grub/emu/hostdisk.h: Move file operations to
4707 * include/grub/emu/hostfile.h: ... here.
4708
2859196e
VS
47092013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
4712 unicode path.
4713
c018c968
VS
47142013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
4717
7e45abce
VS
47182013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
4721 and remove export.h.
4722
23934da2
VS
47232013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * grub-core/kern/emu/error.c: Removed.
4726 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
4727 explicitly as it's already in libgnu.a.
4728
c11ebcc8
VS
47292013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
4732 config-util.h include.
4733
70671037
VS
47342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 Split emunet into platform-dependent and GRUB-binding parts. Keep
4737 platform-dependent part in kernel for easy access to OS functions.
4738
25ac643a
VS
47392013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
4742 open/read/write.
4743
69ca5876
VS
47442013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * grub-core/osdep/windows/emuconsole.c: New file.
4747
d9d68ef0
AB
47482013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4749
4750 * conf/Makefile.extra-dist: Add osdep/*/init.c
4751
58e211cc
VS
47522013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4753
4754 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
4755
588744d0
VS
47562013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4757
4758 * util/grub-probe.c (probe): Separate different drives in hint-str
4759 by spaces and not newlines.
4760 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
4761
44016e52
AB
47622013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4763
4764 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4765 Handle CD-ROMs.
4766
6de9ee86
VS
47672013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 Pass-through unknown E820 types. It required reorganisation of mmap
4770 module.
4771
f8f3f155
AB
47722013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4773
4774 * Makefile.util.def: Add osdep/init.c to grub-mount files.
4775
b73249d2
VS
47762013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
4779 fseeko.
4780
dac86b18 47812013-10-14 qwertial <qwertial>
4782
4783 * grub-core/gdb_grub.in: Fix overflow and wrong field.
4784
17614b84
JM
47852013-10-14 Jon McCune <jonmccune@google.com>
4786
4787 * docs/grub.texi: Document new signatures possibility.
4788
6de292cb
VS
47892013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
4792
84379b61
VS
47932013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
4796 missing prototype.
4797 (grub_util_tchar_to_utf8): Likewise.
4798
21d85db1
VS
47992013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
4802 * grub-core/kern/emu/main.c: Add missing include.
4803 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
4804 Don't call grub_util_init_nls.
4805 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
4806 Likewise.
4807
66a1b3ee
VS
48082013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
4811 stat.
4812
e19bec17
VS
48132013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
4816
ee8c1b29
VS
48172013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
4820
bb338aaf
VS
48212013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 Add a wrapper for fopen. On unix-like systems just pass-through. On
4824 windows use unicode version.
4825
ae5540d3
VS
48262013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4827
4828 Move set_program_name and init_nls to host_init. On windows
4829 fix in this fuction console and argument charset as well.
4830
4cd3c4fe
AB
48312013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
4832
4833 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
4834 GRUB_ENABLE_CRYPTODISK.
4835
4836 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
4837 GRUB_ENABLE_CRYPTODISK.
4838 * util/grub-mkconfig_lib.in: Likewise.
4839
78170f3e
CCZ
48402013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
4841
4842 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
4843
3414b6c0
MC
48442013-10-12 Melki Christian <Christian.melki@saabgroup.com>
4845
4846 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
4847 error when enabling debug.
4848
6d0740e8
IB
48492013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
4850
4851 * configure.ac: Use -melf_*_obsd on openbsd.
4852
ff2d4dc4
VS
48532013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
4856
eac6ae82
VS
48572013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * include/grub/misc.h: Use gnu_printf rather than printf as format
4860 template since our functions are independent of libc.
4861
ba9baabe
VS
48622013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * util/grub-setup.c (setup): Move copying of partition table as
4865 futher up as possible to avoid possible overwrite by floppy routines.
4866
48672013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
4868
4869 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
4870
145e2369
VT
48712013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4872
4873 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
4874 * docs/grub.texi: Likewise.
4875
3530bc9d
VS
48762013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
4879 it's mostly unused. Move vestiges to the callers.
4880
fb9f59c3
VS
48812013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
4884 version of salt and hash. Use grub_snprintf rather than snprintf.
4885
9be1c255
VS
48862013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * docs/grub.texi: Fix problem with braces.
4889
ed8c0887
VS
48902013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 * conf/Makefile.extra-dist: Fix extra-dist list.
4893 * grub-core/Makefile.core.def: Likewise.
4894
f72ab14e
VS
48952013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * docs/grub.texi: Document disk names used on Windows and AROS.
4898
2fe53a22
VS
48992013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
4902 with AROS devs.
4903 * grub-core/osdep/aros/hostdisk.c: Likewise.
4904
71c1d67a
VS
49052013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 Avoid including hostfile.h when not necessarry as it pulls
4908 in OS-specific headers which may redefine generic names
4909 like "far".
4910
ad297ec7
VT
49112013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4912
4913 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
4914 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
4915 scrollbar_bottom_pad
4916 * docs/grub.texi: Likewise.
4917
6e9e5dc9
VT
49182013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4919
4920 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
4921
761c718b
VS
49222013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
4925
37149a2f
VS
49262013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
4929 Removed.
4930 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
4931 Made static.
4932
3837a151
VS
49332013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
4936 leftover.
4937
caca1c70
VS
49382013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 Move OS-specific driver configuration to grub_util_fd_open. This
4941 moves OS-dependent parts from kern/emu/hostdisk.c to
4942 grub-core/osdep/*/hostdisk.c.
4943
f7676b70
VS
49442013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * util/grub-mkimage.c (generate_image): Use size_t instead of
4947 grub_size_t.
4948 * util/grub-mkimagexx.c (locate_sections): Likewise.
4949 (load_image): Likewise.
4950
22f98db2
VS
49512013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
4954 size_t.
4955 (grub_util_write_image): Likewise.
4956
b102ce69
VS
49572013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
4960 get random when no RNG is available.
4961 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
4962
acbbe5cb
VS
49632013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * include/grub/util/lvm.h: Removed.
4966
2112fb3f
VS
49672013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
4970 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
4971
79f78fbf
VS
49722013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 * grub-core/osdep/windows/sleep.c: Add missing config.h.
4975
c2e6f705
VS
49762013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
4979
aabe433a
VS
49802013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * grub-core/net/drivers/emu/emunet.c: Move to ..
4983 * grub-core/osdep/linux/emunet.c: ..here.
4984
9a2c903f
VS
49852013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 * util/ieee1275/ofpath.c: Move to ...
4988 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
4989 * grub-core/osdep/basic/ofpath.c: ..here.
4990
4a445f58
VS
49912013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 Move password-querying (util-version) routines to grub-core/osdep.
4994
c1ca4244
VS
49952013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 Move sleep routines to grub-core/osdep.
4998
672fa55e
VS
49992013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 Move OS-dependent files to grub-core/osdep and document it.
5002
a5b0365a
VS
50032013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
5006 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
5007
29072e99
VS
50082013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
5011
f8772ea7
VS
50122013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * util/misc.c: Remove leftover inclusion of malloc.h.
5015
a1a315e7
VS
50162013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 * include/grub/setjmp.h: Remove leftover GRUBOF.
5019
cef86fef
VS
50202013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * util/raid.c: Fold into ...
5023 * util/getroot_linux.c: ... here. Make all functions static.
5024
c4cf25ee
VS
50252013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
5028 macros to GRUB ones.
5029
53a5f5c2
VT
50302013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5031
5032 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
5033 occasional bug. If there are too many boot entries or too low
5034 scrollbar height then we need to use another formula to calculate
5035 the position and size of the scrollbar thumb.
5036
de300af2
VS
50372013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5038
c4cf25ee 5039 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 5040
c5827364
VT
50412013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5042
5043 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
5044 * docs/grub.texi: Likewise.
5045
dd2ed8b0
VT
50462013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5047
5048 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
5049 viewport.
5050
7286c384
VT
50512013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5052
ffdfc1f3
VT
5053 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
5054 minimal width calculations.
7286c384 5055
ea547e14
VS
50562013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * docs/grub.texi: Update note on colors on emu console.
5059
b726be76
VS
50602013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
5063 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
5064 it's FS and not GRUB limitation.
5065
a5f6ade6
VS
50662013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
5069
3b0f3aa2
VS
50702013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
5071
5072 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
5073
1db38304
ST
50742013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
5075
5076 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
5077 kernels by version order.
5078
fb295fc0
VS
50792013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
5082
47345010
VS
50832013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 Add AROS hostdisk and getroot routines.
5086
bf25f879
VS
50872013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 Make cryptodisk and diskfilter probe data retrievable programmatically
5090 and not just printable.
5091
24ca4512
VS
50922013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 Split random retrieving code into separate files.
5095
c7c177f0
VS
50962013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
5099 R_ARM_V4BX.
5100
d71b45ae
VS
51012013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
5104 condition.
5105 * grub-core/tests/fake_input.c: Likewise.
5106 * grub-core/tests/cmdline_cat_test.c: Likewise.
5107
e44b9a83
VS
51082013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * grub-core/video/capture.c: Do not do finalization when .fini
5111 is called as there is explicit capture_end.
5112
4fa60739
VS
51132013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
5116 changing windows to avoid crash.
5117
17c8bc37
VS
51182013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
5121
9d4d7977
VS
51222013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 * po/exclude.pot: Add several strings to exclude.
5125
0caa407c
VS
51262013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
5129
9ae393da
VS
51302013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 * autogen.sh: Add ./util/grub-gen-widthspec.c and
5133 ./util/grub-gen-asciih.c to exclude list.
5134
498d5033
VS
51352013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
5138 and don't mark error strings for translation.
5139
7d93298f
VS
51402013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
5143 properly in case of missing block size.
5144
b2cae20c
VS
51452013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 * grub-core/lib/arm/setjmp.S: Add missing license section.
5148
3896d6b4
VS
51492013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * po/swiss.sed: Add replacement for key names and for term computer.
5152
ebc1da55
VT
51532013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
5154
5155 * grub-core/gfxmenu/theme_loader.c: New global options for the
5156 theme background image handling. desktop-image-scale-method,
5157 desktop-image-h-align, desktop-image-v-align.
5158 * grub-core/gfxmenu/view.c: Likewise.
5159 * include/gfxmenu_view.h: Likewise.
5160 * include/bitmap_scale.h: Proportional scale functions introduced.
5161 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
5162 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
5163 cases of unexpected input variables for scale functions.
5164 * docs/grub.texi: Updated documentation for new options.
5165
c5739143
VS
51662013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
5169
be74aeb3
VT
51702013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
5171
5172 * grub-core/tests/checksums.h: Corrected due to changes in
5173 bilinear interpolation function.
5174
d999ac72
VT
51752013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
5176
5177 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
5178 to eliminate artefacts in bilinear interpolation.
5179
2b131610
VS
51802013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 * grub-core/video/readers/tga.c: Support paletted tga.
5183
de6e5ff8
VS
51842013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5185
5186 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
5187 incorrect cbcr setting when in color mode.
5188
fa31ee9c
VS
51892013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * grub-core/video/readers/png.c: Support paletted images and clean up
5192 greyscale support.
5193
e84f8188
VS
51942013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
5197 usage of wrong table which resulted in mishandling of 4-byte
5198 sequences.
5199
52002013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
5201
5202 * grub-core/term/terminfo.c: Add Home and End key sequences.
5203
d72bff09
VS
52042013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 * grub-core/video/readers/png.c (grub_png_decode_image_header):
5207 Fix formula for computing total number of bytes.
5208
29648c5d
VS
52092013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
5212 image processing, fix big-endian and support grayscale.
5213
4a876492
VS
52142013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
5217 Correctly will with maximum transparency when using index color.
5218
3ccf16df
VS
52192013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * grub-core/video/readers/png.c: Support grayscale
5222
52232013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
5224
5225 * grub-core/video/readers/jpeg.c: Support grayscale.
5226
3ccf16df 52272013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
5228
5229 * grub-core/commands/loadenv.c: Support skipping signature check
5230 and variable names filtering.
5231
30b7f58f
VS
52322013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
5235 * grub-core/kern/emu/hostfs.c: Likewise.
5236 * util/getroot_unix.c: Likewise.
5237
bab7b1eb
VS
52382013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
5241 Migrate all explicit defines to this new one.
5242
43b1c99d
VS
52432013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
5246 grub_util_fd_strerror when using grub_util_fd_*.
5247 (grub_util_fd_open_device): Likewise.
5248 (grub_util_biosdisk_read): Likewise.
5249 (grub_util_biosdisk_write): Likewise.
5250 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
5251 (grub_util_fd_strerror): Likewise.
5252 (grub_util_fd_sync): Likewise.
5253 (grub_util_fd_close): Likewise.
5254 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
5255 (grub_util_fd_close): Likewise.
5256 (grub_util_fd_strerror): Likewise.
5257 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
5258 function proto rather than macro.
5259 (grub_util_fd_sync): Likewise.
5260 (grub_util_fd_open): Likewise.
5261 (grub_util_fd_strerror): New proto.
5262
e8fd80bc
VS
52632013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
5266 platforms on which it doesn't work.
5267
bf645fda
VS
52682013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
5271 stat immediately to where it's used.
5272
5177ba14
VS
52732013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * util/getroot.c (grub_util_check_block_device): Move to ...
5276 * util/getroot_unix.c (grub_util_check_block_device): ... here.
5277 * util/getroot.c (grub_util_check_char_device): Move to ...
5278 * util/getroot_unix.c (grub_util_check_char_device): ... here.
5279
9db826e1
VS
52802013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
5283 disk closing logic.
5284
49120085
AB
52852013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5286
5287 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
5288
b3328b68
AB
52892013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5290
5291 * docs/grub.texi (File name syntax): Document ZFS filenames
5292 (/volume@snapshot/...).
5293
3fff48ab
VS
52942013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
5297 Always return full path. Fixes a problem with mkrelpath.
5298
39cfdaa9
PFS
52992013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5300
5301 * util/grub-install.in: Add GPT PReP support.
5302 * util/grub-probe.c (probe): Support GPT partition type.
5303 (main): Support -t gpt_parttype.
5304
7c680e1f 53052013-09-23 Aleš Nesrsta <starous@volny.cz>
5306
5307 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
5308
890bdabe
MM
53092013-09-23 Massimo Maggi <me@massimo-maggi.eu>
5310
5311 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
5312
9c262ff9
TH
53132013-09-23 Tim Hardeck <thardeck>
5314
5315 * util/grub.d/10_hurd.in: Filter out character for the class.
5316 * util/grub.d/10_kfreebsd.in: Likewise.
5317 * util/grub.d/10_linux.in: Likewise.
5318 * util/grub.d/20_linux_xen.in: Likewise.
5319
d755342a
MC
53202013-09-23 Melki Christian <Christian.melki@saabgroup.com>
5321
5322 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
5323 "changed".
5324
68b77707
JT
53252013-09-23 Josh Triplett <josh@joshtriplett.org>
5326
5327 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
5328 boot partition.
5329
efa68bfa
VS
53302013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
5333 doesn't use posix_wrap. Keep literal -fno-builtin however.
5334
d9104204
VS
53352013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
5338
c248781a 53392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
53402013-09-23 neil
5341
5830df88 5342 * configure.ac: Do not enable -Wmissing-noreturn as its
5343 usefulness is limited and creates problems on some OS notably with
5344 code generated by bison.
5345
53462013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
53472013-09-23 neil
5348
5349 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 5350 supported by all gcc and when it is, it's already enabled by -Wall.
5351
621bed69
VS
53522013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
5355 desactivated use of EDID at all.
5356
71764dc8 53572013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
53582013-09-23 neil
5359
5360 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
5361 video if no text is available.
5362
affce7d4 53632013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
53642013-09-23 neil
5365
5366 * configure.ac: Substitute TARGET_RANLIB.
5367
53682013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
53692013-09-23 neil
affce7d4
VS
5370
5371 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
5372
5373 Based on patches from AROS.
5374
0e8daad0 53752013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 53762013-09-23 neil
0e8daad0
VS
5377
5378 * grub-core/Makefile.am: Override STRIP and RANLIB.
5379 * configure.ac: compute TARGET_RANLIB.
5380 * INSTALL: Document TARGET_RANLIB
5381
5382 Based on patches from AROS.
5383
3f7d9c82
VS
53842013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
5387 that floppies are unpartitioned.
5388
bca8873a
VS
53892013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
5392 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
5393
53942013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
5397 less nice but more portable.
5398 * grub-core/lib/posix_wrap/wchar.h: Likewise.
5399
a47a78be
VS
54002013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
5403 for cheat_fd.
5404 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
5405 functions.
5406 (grub_cryptodisk_cheat_insert): Likewise.
5407 (grub_cryptodisk_close): Likewise.
5408
e85a5d5c
VS
54092013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
5412 Use windows path for DEFAULT_DIRECTORY.
5413
dad9fa6b
VS
54142013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
5417 difference was likely just gcc version, not anything mingw-related.
5418
7e518ca8
VS
54192013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 Use Winapi on both cygwin and mingw32 to share more code between both.
5422
d68d0157
AB
54232013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5424
5425 * util/grub-install.in: Add --grub-editenv option.
5426 * util/grub-install_header (grub_compress_file): Explicitly check for
5427 plain file to avoid cp error.
5428
775b284d
AB
54292013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5430
5431 * docs/grub.texi (Device syntax): Document new LVM UUID based device
5432 names; fix LVM driver name (lvm, not lv).
5433 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
5434 names.
5435
3ff4063d
VS
54362013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
5439 files rather than one file with loads of #if's.
5440 * util/getroot.c: Likewise.
5441
287faafe
VS
54422013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
5445
d1983764
VS
54462013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
5449 GNU/Hurd to the list of checked PRNG.
5450
15ce95c4
VS
54512013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 * configure.ac: On FreeBSD use -melf_*_fbsd format.
5454
207862dd 54552013-09-21 Ales Nesrsta <starous@volny.cz>
5456
7c680e1f 5457 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 5458
63653cfd
VS
54592013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
5462 * grub-core/disk/lvm.c: Add LVM UUIDs.
5463 * util/getroot.c: Use LVM UUIDs whenever possible.
5464
f5d3e7ef
AB
54652013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
5466
5467 * docs/grub.texi (Networking commands): Add documentation for
5468 network related commands.
5469
53c6b7d6
VS
54702013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5471
5472 * util/getroot.c (grub_util_open_dm): Check major rather than the name
5473 to determine if device is handled by devmapper.
5474 (convert_system_partition_to_system_disk): Likewise.
5475 (get_dm_uuid): Don't check explicitly if device is mapped, it's
5476 already done in grub_util_open_dm.
5477
e70d6736
LL
54782013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
5479
5480 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
5481 Clean up stack manipulation (sync_caches_armv*)
5482
90379808
VS
54832013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * util/lvm.c: Remove since unused. Remove remaining references.
5486
386701a8
VS
54872013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 Handle the case of partitioned LVM properly.
5490
5491 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5492 Stop on meeting LVM, mpath or DMRAID.
5493 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
5494 (read_device_map): Likewise.
5495 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
5496 device is full disk rather than erroring out on LVM and similar cases.
5497
53070787
VS
54982013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
5501
1bc783bd
VS
55022013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
5505 4K before the end.
5506 Reported by: Leif Lindholm
5507
436ad5c3
PW
55082013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
55092013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
5512 codes.
5513
607319c9
CW
55142013-09-18 Colin Watson <cjwatson@ubuntu.com>
5515
5516 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
5517 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
5518
d404d154
DR
55192013-09-18 Douglas Ray <dougray@cpan.org>
5520
5521 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
5522 as secure.
5523
28851ef6
AN
55242013-09-18 Aleš Nesrsta <starous@volny.cz>
5525
5526 * docs/grub.texi: Fix broken link.
5527
897c3bc6
MC
55282013-09-18 Melki Christian <Christian.melki@saabgroup.com>
5529
5530 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
5531 to break endless loop.
5532
f1630459
VS
55332013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * util/grub-fstest.c: Fix several printf formats.
5536 * util/grub-mkimage.c: Likewise.
5537 * util/grub-mkimagexx.c: Likewise.
5538 * util/grub-script-check.c: Likewise.
5539
64463dfd
VS
55402013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
5543 error.
5544
48972495
VS
55452013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
5548
5dd5e64b
VS
55492013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
5552 removed in current versions cygwin_conv_*.
5553
1c1f31e5
VS
55542013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 * configure.ac: Disable efiemu runtime on cygwin.
5557
c546a259
VS
55582013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
5561 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
5562
81690478
VS
55632013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
5566 error message.
5567
6b87c10a
VS
55682013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
5571 windows variant.
5572 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
5573 data.
5574
8f0baaac
VS
55752013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
5578 when on x86 and not cygwin.
5579 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
5580 -Wl,-melf_x86_64.
5581
b224c266
VS
55822013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * configure.ac: Set CPP to build one when checkoing for freetype for
5585 build.
5586
506b336b
VS
55872013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
5590 [!GRUB_BUILD]: Remove has_argument.
5591
8c8c87b7
VS
55922013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
5595 Replace with a dummy.
5596
7dc5ca13
VS
55972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * configure.ac: Don't change host_os from mingw to cygwin.
5600
c3302aa5
VS
56012013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * configure.ac: Change target_os from windows to cygwin.
5604
7b780018
VS
56052013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 Handle grub-pe2elf and grub-mkfont for cases when build != host.
5608
5609 * Makefile.am (build-grub-mkfont): Don't include gnulib.
5610 (build-grub-gen-asciih): Likewise.
5611 (build-grub-gen-widthspec): Likewise.
5612 * Makefile.util.def (grub-pe2elf): Remove.
5613 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
5614 * configure.ac: Separate tests for build.
5615 Move ./build-grub-pe2elf to grub-core.
5616 Fix typo.
5617 * grub-core/Makefile.am (build-grub-pe2elf): New target.
5618 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
5619 defined.
5620 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
5621 constants.
5622 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
5623 * util/grub-pe2elf.c: Simplify not to rely on getopt.
5624 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
5625
984cfd8a
VS
56262013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
5629 mingw32 as well based on grub_util_get_disk_size.
5630 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
5631 grub_util_get_fd_size.
5632 (sync): Removed.
5633 (fsync): Moved to ...
5634 * grub-core/kern/emu/misc.c (fsync): ... here.
5635
f82d79c9
VS
56362013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * include/grub/mm.h (grub_extend_alloc): Remove.
5639 * grub-core/loader/i386/pc/plan9.c: Use own version of
5640 grub_extend_alloc with appropriate types.
5641
fd7dd66d
VS
56422013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
5645
43ffba7c
VS
56462013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * util/getroot.c: Include sys/wait.h only when we need waitpid.
5649
3c7eac44
VS
56502013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 Fix dependencies on cygwin.
5653
5654 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
5655 dependencies when used and defined.
5656 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
5657
bdb5ba47
VS
56582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
5661 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
5662
ed7fbf43
VS
56632013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
5666 implementation available to cause compile-time rather than runtime
5667 error.
5668
fc46e9fc
VS
56692013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * util/grub-fstest.c: Don't check for symlinks on windows.
5672
7f68269a
VS
56732013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * INSTALL: Mention unavailability of man pages when cross-compiling.
5676
8ed358e0
VS
56772013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
5680 and gcry_log_bug.
5681 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
5682
fc97214f
VS
56832013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 * INSTALL: Document cross-compilation.
5686 * acinclude.m4: Determine whether nm support -P and --defined-only.
5687 * configure.ac: Add TARGET_ to all variables pertaining to target
5688 that don't have it yet.
5689 * gentpl.py: Likewise.
5690 * grub-core/Makefile.am: Likewise.
5691 * grub-core/genmod.sh.in: Likewise.
5692 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
5693 as well.
5694
ca1fb563
IB
56952013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5696
5697 * configure.ac: Remove -Wempty-body. It's not essential and needs
5698 recent gcc.
5699
0031b229
IB
57002013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5701
5702 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
5703 * util/getroot.c: Likewise.
5704
54ea2f44
VS
57052013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * grub-core/disk/ahci.c: Add needed explicit cast.
5708 * grub-core/lib/backtrace.c: Likewise.
5709 * grub-core/net/ip.c: Likewise.
5710 * grub-core/net/tcp.c: Likewise.
5711 * grub-core/net/udp.c: Likewise.
5712
3c601f8c
VS
57132013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5714
5715 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
5716
1d679dda
VS
57172013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * util/import_gcry.py: Add final newline in visibility.h.
5720
00c28dd9
VS
57212013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * conf/Makefile.common: Fix typo.
5724
32af299a
VS
57252013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
5728
e733cf52
VS
57292013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * Makefile.am (widthspec.h): Fix typo.
5732 * util/grub-gen-widthspec.c: Likewise.
5733
c6b066f2
VS
57342013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 Move ascii.h and widthspec.h generation to a separate build-time-only
5737 tool.
5738
ad1fe3f9 57392013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5740
5741 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5742 Always fill bootdisk info and improve check for NetBSD disklabel.
5743
92a52dd4
VS
57442013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * conf/Makefile.extra-dist: Add util/bin2h.c.
5747 Reported by: floppym.
5748
b2e9d276
VS
57492013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
5752
7b966834
VS
57532013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * configure.ac: Disable unifont and starfield if no freetype was found.
5756
d5c1eef1
VS
57572013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
5760 on NetBSD and OpenBSD.
5761
66345b50 57622013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
5763
5764 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
5765
66345b50 57662013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
5767
5768 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
5769 reduced. Inheritant options are processed during the theme loading.
5770
66345b50 57712013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
5772
5773 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
5774
369508b3
AS
57752013-08-14 Avik Sil <aviksil@in.ibm.com>
5776
5777 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
5778
57792013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
5780
5781 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
5782 using qemu.
5783
6f27a3f6
PFS
57842013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5785
5786 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
5787 remove-potcdate.sed.
5788
c6ed362a
AB
57892013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5790
5791 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
5792 unused attribute from pull argument.
5793
5e7d9464
AB
57942013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5795
5796 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
5797 memory leak.
5798
dea55e2a
AB
57992013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5800
5801 * util/getroot.c (pull_lvm_by_command): add --separator option
5802 to vgs call to disable padding of output to 10 characters.
5803
f0b94ded
VS
58042013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
5807 here ...
5808 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
5809 here.
5810
b828fb5d
VS
58112013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
5814 length.
5815
7c9d0c39
VS
58162013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5817
5818 Fix handling of build-time grub-bin2h and grub-mkfont when doing
5819 full Canadian cross. Tested with build=x86_64, host=arm,
5820 target=ppc-ieee1275.
5821
816719c8
VS
58222013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * configure.ac: Error if no $BUILD_CC could be found.
5825 Reported by: DevHC.
5826
2af2353b
VS
58272013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
5830 i386-multiboot.
5831
797abd0a
VS
58322013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
5835 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
5836
36e87d25
CW
58372013-08-13 Colin Watson <cjwatson@ubuntu.com>
5838
5839 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
5840 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
5841 falling back to the partition device, otherwise a later call to this
5842 function may fail spuriously.
5843 Reported by Axel Beckert. Fixes Debian bug #708614.
5844
273349fe
GS
58452013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5846
5847 * autogen.sh: Replace find -not by the POSIX-compliant find !.
5848
418f86c6
GS
58492013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5850
5851 Prevent shadowing of stdlib's devname(3) on BSD.
5852
5853 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
5854 and devlast to diskname and disklast, respectively.
5855
c137aea0
CW
58562013-08-11 Colin Watson <cjwatson@ubuntu.com>
5857
5858 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
5859
272dc8df 58602013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
5861
5862 * docs/grub.texi: Introduce terminal window position options:
5863 terminal-left: terminal window's left position
5864 terminal-top: terminal window's top position
5865 terminal-width: terminal window's width
5866 terminal-height: terminal window's height
5867 terminal-border: terminal window's border width
5868 * grub-core/gfxmenu/theme-loader.c: Likewise.
5869 * include/grub/gfxmenu_view.h: Likewise.
5870 * po/exlude.pot: Likewise.
5871 * grub-core/gfxmenu/view.c: Likewise.
5872 Also updated minimal window size.
5873 Also terminal_sanity_check function has been introduced.
272dc8df
VT
5874 * grub-core/tests/checksums.h: Update (terminal window height
5875 is adjusted now for low resolution screen)
b4743461 5876
748a4533
VS
58772013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
5880 position).
5881
fca5f944
VS
58822013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 * po/exclude.pot: Add few recent exceptions.
5885
4f47d809
VS
58862013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 * tests/grub_func_test.in: Add unicode.pf2.
5889
a62ae90c
VS
58902013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
5893 standard rather than noral color, in line with other terminals.
5894
4ed41392
VS
58952013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
5898 analysis.
5899
3719fbc5
VS
59002013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * grub-core/loader/arm/linux.c: Change printf to dprintf.
5903
459b1d91
VS
59042013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
5907 inappropriate printf.
5908
f4e1ab9d
AB
59092013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
5910
5911 * .bzrignore: Remove grub-core/lib/dtc-grub,
5912 grub-core/Makefile.libfdt.def
5913 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
5914
fa471bfa
VS
59152013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 * include/grub/video.h (grub_video_register): Keep double-linked as
5918 well as single-linked invariants.
5919 Reported by: qwertial.
5920
d65be02b
VS
59212013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 * grub-core/commands/nativedisk.c (get_uuid): Handle
5924 GRUB_DISK_DEVICE_UBOOTDISK_ID.
5925
ba8bc620
VT
59262013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
5927
5928 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
5929 maximum of NW, N, NE heights instead of N's height and maximum of
5930 NW, W, SW widths instead of W's width. (So the box will be always
5931 correctly drawn)
5932
4f0ad029
GS
59332013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5934
5935 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
5936 Fix misuse of variable count.
5937
43d53b72
LL
59382013-07-18 Leif Lindholm <leif.lindholm@arm.com>
59392013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
59402013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 5941
43d53b72
LL
5942 New ports to arm-uboot and arm-efi.
5943 Mostly by Leif Lindholm with some additions from
5944 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 5945
88f8d146
VS
59462013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
5949 and not before.
5950 Reported by: Leon Drugi.
5951
3f42504c
VS
59522013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
5955 Reported by: Paulo Flabiano Smorigo.
5956
d110499b
VT
59572013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5958
5959 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
5960
a8674ad3
VT
59612013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5962
5963 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
5964
286fe4b3
VS
59652013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5966
5967 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
5968
1bd57aa3
VS
59692013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
5972
7a87d69f
AB
59732013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
5974
5975 * grub-core/net/bootp.c: Export net_* variables.
5976 * grub-core/net/net.c: Likewise.
5977
b2182299
VS
59782013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
5981
795b3dc0
VS
59822013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
5985
68714c43
VS
59862013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
5989
af211bab
VS
59902013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
5993
0036f02d
MM
59942013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5995
5996 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
5997 <= 0.
5998
6d0ddff3
MM
59992013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6000
6001 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
6002 functions.
6003
038016f4
MM
60042013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6005
6006 * grub-core/fs/zfs/zfs_lz4.c: New file.
6007 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
6008
776bdce2
MM
60092013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6010
6011 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
6012
c71dbd40
MM
60132013-07-14 Massimo Maggi <me@massimo-maggi.eu>
6014
6015 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
6016 (check_pool_label): Likewise.
6017 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
6018
60192013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
6020
6021 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
6022
8e67b50f
AB
60232013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
6024
6025 * docs/grub.texi (Commands): Document postition parameters
6026 for menuentry command.
6027
f5ae3717
AB
60282013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
6029
6030 * util/grub-mknetdir.in: Remove stray line from help output.
6031
9c28da2a
VS
60322013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 Remove early sm712 init as there is no reason for it (the "watchdog"
6035 effect was due to wrong GPIO map).
6036
139072b8
VS
60372013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * grub-core/commands/pcidump.c: Remove static variables.
6040
c6a61bda
VS
60412013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * grub-core/commands/sleep.c: Refresh screen before sleeping.
6044
51369614
VS
60452013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * configure.ac: Move delimiter after the infos.
6048
efa8640a
VS
60492013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
6052
6f80a7b2
VS
60532013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
6056 not filling whole 8x16 space.
6057
a2371e19
VS
60582013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
6061
64fce2d8
VS
60622013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 * configure.ac: Indicate which liblzma is used if any.
6065
eb272d84
PW
60662013-06-21 Paul Wise <pabs3@bonedaddy.net>
60672013-06-21 Craig Sanders <savannah@taz.net.au>
6068
6069 * util/grub-reboot.in: Document submenu usage.
6070
a9e5abee
CW
60712013-06-25 Colin Watson <cjwatson@ubuntu.com>
6072
6073 * .bzrignore: Update with a number of new test-related files.
6074
e639c204
CW
60752013-06-25 Colin Watson <cjwatson@ubuntu.com>
6076
6077 * util/grub-script-check.c: Fail on scripts containing no
6078 commands, to guard against corrupted grub-mkconfig setups that
6079 produce no useful output.
6080 * tests/grub_script_no_commands.in: New test.
6081 * Makefile.util.def (grub_script_no_commands): Add.
6082 Reported by Hans Putter. Fixes Debian bug #713886.
6083
a4c89b17
AB
60842013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6085
6086 * grub-core/disk/diskfilter.c: Forgot to remove comment
6087 from previous commit.
6088
5b06b53c
AB
60892013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6090
6091 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
6092 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
6093
702da5c9
AB
60942013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6095
6096 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
6097
aa62a5b7
AB
60982013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6099
6100 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
6101 rescan diskfilter devices until nothing new is found.
6102
4aa237c8
VS
61032013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 Fix casts when compiling coreboot-specific code for 64-bit EFI.
6106
93d8479b
VS
61072013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 Don't try to detect cbfs on *-emu.
6110
837222cc
VS
61112013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/term/gfxterm.c: USe right background color when scrolling.
6114
99c971af
VS
61152013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 Add support for processed coreboot payload chainloading.
6118
e6930a45
VS
61192013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 Enable coreboot information commands even when not loaded as
6122 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
6123
5027af38
VS
61242013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 Support for cbfs. Also factor out the part which is common
6127 for all archives to a separate module. This splits tar from cpio
6128 as they are very different but keeps cpio, cpio_be, odc and newc
6129 together since they're very similar.
6130
a5b55c4b
DM
61312013-06-15 David Michael <fedora.dm0@gmail.com>
6132
6133 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
6134 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
6135
0301a8b3
VS
61362013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 * tests/grub_script_eval.in: Really add the eval test.
6139
3d84cb17
VS
61402013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 Move flavour-specific parts out of common cpio.c file and
6143 rename remaining to cpio_common.c
6144
593e430c
AB
61452013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6146
6147 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
6148 off new function grub_script_execute_new_scope. Change callers to use
6149 either of them as appropriate.
6150 * grub-core/commands/eval.c: New command eval.
6151 * docs/grub.texi (Commands): Document it.
6152
63c29849
AB
61532013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6154
6155 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
6156 to fetch values when listing.
6157
cc284112
AB
61582013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6159
6160 Fix make dist on non-pc.
6161
61622013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
6163
6164 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
6165 without a device name.
6166
69544d1e
VS
61672013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 Remove enable_executable_check as it's not needed anymore.
6170 Reported by: dougray.
6171
96dbe648
VS
61722013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
6175 ambigouos RAID before discovering RAIDs on top of it.
6176 Reported by: bodom.
6177
ccfc0bdb
VS
61782013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 Fix typo (failback vs fallback).
6181
f2587088
AB
61822013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
6183
6184 * util/grub.d/30_os-prober.in: Add support for probing EFI
6185 System Partition (as of os-prober 1.58).
6186
cec5cf0c
VS
61872013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 * configure.ac: Add yet another path to unifont. For parabola.
6190
e40b4596
JT
61912013-05-30 Josh Triplett <josh@joshtriplett.org>
6192
6193 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
6194 handling to copy the killed characters to the kill buffer as
6195 UCS4 stored as grub_uint32_t rather than as 8-bit characters
6196 stored as char. Eliminates UCS4 truncation and corruption
6197 observed when killing characters with Ctrl-u and yanking them
6198 back with Ctrl-y.
6199
fc4c4fdd
VS
62002013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 Detach optional parts of gfxterm and integrate in with coreboot init.
6203
6570b205
VS
62042013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 Move blit and fill dispatcher to appropriate files to decrease export
6207 and relocation overhead.
6208
b8323067
VS
62092013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 * grub-core/font/font.c, include/grub/font.h: Inline simple font
6212 functions.
6213
3cc1878f
VS
62142013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * grub-core/Makefile.am: Fix compilation problem with some
6217 automake versions.
6218
4b80e43c
VS
62192013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
6222
57e0c20c
VS
62232013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
6226 automake versions.
6227
4fd42c53
VS
62282013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6229
6230 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
6231 SSDT.
6232
1e908b34
RS
62332013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
6234
6235 * grub-core/partmap/dfly.c: New partition map.
6236
1359e474
VS
62372013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
6240 checking.
6241 Reported by: Francesco Lavra.
6242
17806392
AB
62432013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
6244
6245 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
6246 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
6247 false conditions.
6248 * conf/Makefile.common: define dist_grubconf_DATA
6249
cdce14fa
VS
62502013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 Progressively skip menu elements on small terminals rather
6253 than crashing.
6254
c8d6cc3c
VS
62552013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6258 to avoid losing last column.
6259
a73b31ce
VS
62602013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 * po/exclude.pot: Add missing string "%C".
6263
1202c764
VS
62642013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
6267 after the test.
6268
50268344
VS
62692013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * util/grub-install.in: Gettextize "Not found" message.
6272
62b15edf
VS
62732013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 Fix distfiles list.
6276 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6277
62782013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
6279
6280 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
6281 present.
6282 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
6283
709ad61b
VS
62842013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
6287
d128901a
VS
62882013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
6291 attribute since structure is not necessarily aligned.
6292
34b22f5c
AB
62932013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
6294
6295 * docs/grub.texi (Device syntax): Clarify description of network
6296 drives.
6297
0f7e980b
VS
62982013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
6301 for vasprintf presence.
6302
30b03dc2
VS
63032013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 * util/grub-install.in: Handle efibootmgr presence check.
6306 Reported by: Leif Lindholm.
6307
0dc11c08
VS
63082013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
6311 new strings to translate.
6312
f8024c3f
VS
63132013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
6316 yet another string (pun intended) to translate.
6317
b4c1da62
VS
63182013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * po/POTFILES-shell.in: Autogenerate it.
6321
0ef7478b
VS
63222013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
6325
8200fa15
VS
63262013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
6329 misnomer.
6330
091945b2
AB
63312013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
6332
6333 * docs/grub.texi (Network): Add description of net_default_interface,
6334 net_default_ip and net_default_mac. Rewrite variables description
6335 to emphasize that they are per-interface.
6336
0e7b2e32
VS
63372013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 New test: cmdline and cat.
6340
16f7c8f6
VS
63412013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 * grub-core/commands/cat.c: Show UTF-8 characters.
6344
3e912fda
VS
63452013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * conf/Makefile.common: Poison float and double on non-emu.
6348
ee0220bc
VS
63492013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * configure.ac: Don't disable extended registers on emu.
6352
89e0240c
VS
63532013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * configure.ac: Don't use extended registers on x86_64.
6356 Reported by: Peter Jones.
6357
e56d9637
VS
63582013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * grub-core/term/efi/console.c: Fix compile error.
6361
8098f655
VS
63622013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6363
6364 Compressed HFS+ support.
6365
16940e07
VS
63662013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
6369 pixel".
6370
c5dbc13d
VS
63712013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 Menu color test.
6374
011f8ae8
VS
63752013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * grub-core/tests/setjmp_test.c: New test.
6378
2aa072d7
VS
63792013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 New variables 'net_default_*' to determine MAC/IP of default interface.
6382
43fe02cb
VS
63832013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * tests/gettext_strings_test.in: A test to check for strings not
6386 marked for translation.
6387
bed06142
VS
63882013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * autogen.sh: Exclude unused libgcrypt files from translation.
6391
fb2666b5
VS
63922013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 Simplify few strings.
6395
d22840ec
VS
63962013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6397
6398 Mark few forgotten strings for translation.
6399
e34092fd
VS
64002013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
6403 rather than printf.
6404
47cf82b4
VS
64052013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
6408 rather than printf.
6409 * grub-core/video/readers/tga.c: Likewise.
6410
1eed0e6e
VS
64112013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * tests/priority_queue_unit_test.cc: New test.
6414
c5b7697b
VS
64152013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
6418 than printf.
6419
5945c2f8
AB
64202013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
6421
6422 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
6423 variable for one time boot menu entry.
6424
fa292343
B
64252013-05-05 Bean <bean123ch@gmail.com>
6426
6427 * grub-core/commands/testspeed.c: New command testspeed.
6428
310d4214
VS
64292013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 Factor-out human-size printing.
6432
85002bf3
VS
64332013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 Agglomerate more mallocs to speed-up gfxterm.
6436
22b06e96
VS
64372013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 Speed-up gfxterm by slightly agglomerating mallocs.
6440
b7c036bc
VS
64412013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 More video checks.
6444
92323d1f
VS
64452013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 Speed-up gfxterm by saving intermediate results in index+alpha
6448 format.
6449
0fb356a3
VS
64502013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
6453 test.
6454
44dea3f9
VS
64552013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
6458 line of timeout as it may contain the rest of long line.
6459
14af86e4
VS
64602013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * grub-core/normal/main.c: Fix freed memory dereference.
6463
03f7c8c3
VS
64642013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 Fix several memory leaks.
6467
c686014c
VS
64682013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
6471
0788a695
VS
64722013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
6475
daf01d61
VS
64762013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 Fix test -a and -o precedence.
6479 Reported by: adrian15.
6480
82ae74d7
VS
64812013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
6484
8cec7bd4
AB
64852013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
6486
6487 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
6488 and add it as source to functional_test module.
6489
aa73d688
VS
64902013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
6493
c104b6f9
VS
64942013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 New series of tests for gfxterm and gfxmenu.
6497
7391c4d5
VS
64982013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
6501 the theme path relative to $prefix/themes.
6502
cff50118
VS
65032013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
6506 Fix order bug.
6507 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6508
7c332bdc
VS
65092013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
6512 descriptor.
6513
a4f9a5ff
VS
65142013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
6517 grub_gfxmenu_timeout_notifications.
6518 (grub_gfxmenu_view_destroy): Likewise.
6519
b5a2114d
VS
65202013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
6523
a8905e8a
VS
65242013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 Several fixes to ieee1275 and big-endian video.
6527
813c1622
VS
65282013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 Add missing exports on mips.
6531
3f3e7326
VS
65322013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
6535 if no unifont is found.
6536 Restore original keyboard.
6537
095accd1
VS
65382013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6541 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
6542
50361660
VS
65432013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 First automated video test (running videotest and comparing results)
6546
cd0f6eec
VS
65472013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
6550 instead of 2 to have full RGB/CMY test pattern.
6551
3f9634e5
VS
65522013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 Add few more tests.
6555
583e5b64
VS
65562013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6557
6558 * include/grub/arc/arc.h: Account for missing "other" peripheral on
6559 ARCS. All users updated.
6560
aa7bcb99
VS
65612013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
6564
95ef1a54
VS
65652013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * grub-core/partmap/amiga.c: Fix size of checksummed block.
6568
46546fc5
VS
65692013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
6572 Reported by: qwertial.
6573
3476e0ef
VT
65742013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6575
6576 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
6577 with syntax "XXX deg"/"XXX °".
6578
96f33fed
VS
65792013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 Make PCI init in i386-qemu port more robust.
6582
65832013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
6584
6585 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
6586 cached view is reused.
6587 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
6588 open boot menus.
6589
c53b4e67
VS
65902013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 Unify more code in grub-install_header.
6593
f7457fb2
VS
65942013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 Add few new tests.
6597
e2f27a8c
VS
65982013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 Enforce disabling of firmware disk drivers when native drivers kick in.
6601
ef9d8cd5
VS
66022013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 * grub-core/commands/nativedisk.c: Customize the list of modules on
6605 platform. Don't try to search for disks already using native drivers.
6606
f7bf6c31
VS
66072013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
6610 platforms.
6611
bdc4add8
VS
66122013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
6615 handling of variables containing backslash.
6616
e9e46c9a
VS
66172013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
6620 dereference.
6621 Reported by: qwertial.
6622
0e90dee8
VS
66232013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
6626
e0aacf24
VS
66272013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
6630 dereference.
6631 Reported by: qwertial.
6632
3c0003c3
VS
66332013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * docs/grub.texi: Add a comment about usefullness of nativedisk.
6636
adb7d667
VS
66372013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
6640
7cd0df84
VS
66412013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 New command `nativedisk'.
6644
02adbb93
VS
66452013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
6648 * grub-core/loader/i386/bsd.c: Likewise.
6649
9fb0fd4f
VS
66502013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
6653
bd69257a
VS
66542013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
6657 grub_get_unaligned16 rather than shifts.
6658
178c2764
VS
66592013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 * grub-core/kern/file.c: Use const char * rather than casting to
6662 non-const.
6663
eadfad24
VS
66642013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * grub-core/commands/probe.c: Add missing grub_device_close.
6667
9f73ebd4
VS
66682013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6669
6670 * INSTALL: Document linguas.sh.
6671
965fa829
VS
66722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6673
6674 Remove POTFILES.in and regenerate it in autogen.sh.
6675
d417ddc4
VS
66762013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 Move --directory/--override-directorry to grub-install_header and unify.
6679
f97ec546
VS
66802013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * grub-core/term/morse.c: Macroify dih and dah.
6683
b2d7470c
PFS
66842013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6685
6686 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
6687
141e2a78
VS
66882013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * grub-core/term/ns8250.c: Systematically probe ports by writing
6691 to SR before using them.
6692
1dd70ebd
PFS
66932013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6694
6695 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
6696 disks.
6697 (check_sas): Get sas_adress info.
6698
c796a107
VS
66992013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
6702 ports.
6703
43168646
LD
67042013-04-27 Leon Drugi <eyak>
6705
6706 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
6707 BSS clearing.
6708
e7b8fd08
VS
67092013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 Core compression test.
6712
17f9fd29
VS
67132013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 Implement grub_machine_get_bootlocation for ARC.
6716
dc2a6c8b
VS
67172013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 Improve AHCI detection and command issuing.
6720
f25a2ba6
VS
67212013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 Fix pseries test.
6724
a6393224
VS
67252013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 Make 'make check' work on emu.
6728
db99fbe8
VS
67292013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 Replace libcurses with our own vt100 handling for the ease of testing
6732 and decreasing prerequisites.
6733
b24ca7cd
VS
67342013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
6737
63314aa4
VS
67382013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
6741 compile when not needed.
6742
c1b00fff
VS
67432013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 * tests/pseries_test.in: New test.
6746
f93e89ef
VS
67472013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 Add test to check that different boot mediums work.
6750
c4b456d3
VS
67512013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
6754 ofw limited ISO support.
6755
5fe67f39
VS
67562013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * configure.ac: Fix loongson conditional.
6759
7f63a64f
VS
67602013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 Enable mipsel-arc.
6763
b04b5990
VS
67642013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 Add serial on ARC platform.
6767
88d2f302
VS
67682013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
6771 commit.
6772
86eb23bc
VS
67732013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * tests/partmap_test.in: Add missing double semicolon.
6776
eec3bb75
VS
67772013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * util/grub-mkrescue.in: Fix loongson filename.
6780
e0810df3
VS
67812013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 * util/grub-mkrescue.in: Move all files that don't have a location
6784 set in stone under /boot/grub. Use ISO hard links rather than copies
6785 to save some space.
6786
65a6b30b
VS
67872013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
6790 bogus SLOF values.
6791
6aff0107
VS
67922013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 Make check work on mips-arc.
6795
5e013e56
VS
67962013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * util/grub-mkrescue.in: Alias sashARCS as sash.
6799
d1989e2e
VS
68002013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
6803 it's serial.
6804
1a25e72c
VS
68052013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * util/grub-install.in: Fix target fo qemu_mips.
6808 Fix extension on EFI.
6809
a59a9826
VS
68102013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
6813 in front of chosen entry to mark it even if highlighting is lost.
6814
1a40f80c
VS
68152013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
6818 gfxpayload=keep if cbfb is active.
6819
e343549c
VS
68202013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
6823
45fbd9a2
VS
68242013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 Add missing video ids to coreboot and ieee1275 video.
6827
ab1440bd
VS
68282013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * util/grub-mkrescue.in: Add mips-arc support.
6831
cdeb8324
VS
68322013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
6835
8528c879
VS
68362013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 Move mips-arc link address. Previous link address was chosen
6839 in belief that RAM on SGI platforms grows down while in fact it
6840 grows up from an unusual base.
6841
17fca573
VS
68422013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
6845 Fix a type which prevented CD-ROM and floppy boot.
6846
d178788e
VS
68472013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 Support coreboot framebuffer.
6850
6851 * grub-core/video/i386/coreboot/cbfb.c: New file.
6852
fe4c3e7e
VS
68532013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
6856 detecting too small regions.
6857
ec2dd179
VS
68582013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
6861
872dac83
VS
68622013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
6865 Remove dprintf.
6866 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6867
90ec4b7f
VS
68682013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
6871 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6872 * grub-core/loader/powerpc/ieee1275/linux.c
6873 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6874
f32555dd
VS
68752013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6878 Look for /boot-rom as well as /rom/boot-rom.
6879
38649799
VS
68802013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
6883 handling when creating text_layer failed.
6884 * grub-core/video/video.c (grub_video_create_render_target):
6885 Set result to 0 on error.
6886 (grub_video_delete_render_target): Do not dereference NULL.
6887
aeace7f7
VS
68882013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
6891 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
6892 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
6893 (grub_linux_load64): Mask out 2 high bits.
6894
4eafa175
AB
68952013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
6896
6897 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
6898 more place.
6899
daaa64bd
VS
69002013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 Add support for pseries and other bootinfo machines to grub-mkrescue.
6903
6904 Tested by: Paulo Flabiano Smorigo.
6905
d0d2daa6
VS
69062013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * util/grub-mkrescue.in: Add GPT for EFI boot.
6909
b193e100
VS
69102013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
6913 It improves performance in qemu.
6914
a0f8f3ac
VS
69152013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * build-aux/snippet: Add missing gnulib files.
6918
284df0e2
AB
69192013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6920
6921 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
6922
740201f3
AB
69232013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6924
6925 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
6926
a7e03923
PJ
69272013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
69282013-04-15 Peter Jones <pjones@redhat.com>
6929
6930 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
6931 sectors.
6932 Based on patch by Peter Jones.
6933
25fc51a8
VS
69342013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 Fix DMRAID partition handling.
6937
88017d47
VS
69382013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * tests/grub_cmd_date.in: Skip on sparc64.
6941
fa7d914e
VS
69422013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
6945 firmware error messages.
6946
cbe57a48
VS
69472013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
6950 source and destination differ.
6951
21aecce0
VS
69522013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
6955 detection.
6956
25092d29
VS
69572013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
6960 match config-util.h to avoid warnings and increase compatibility.
6961
79451522 69622013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 69632013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
6964
6965 Add option to compress files on install/image creation.
6966
78b7d77b
VS
69672013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 * docs/grub-dev.texi: Rearrange menu to match the section order.
6970 Reported by: Bryan Hundven.
6971
cc2fa5ec
VS
69722013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
6975
b49fe879
VS
69762013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 Move GRUB out of system area when using xorriso 1.2.9 or later.
6979
5351da81
VS
69802013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * tests/grub_cmd_date.in: Add missing exit 1.
6983
c9d586ea
VS
69842013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6985
6986 * tests/partmap_test.in: Skip on sparc64.
6987
3f729741
VS
69882013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6989
6990 Support grub-shell on sparc64.
6991
8ca86b3a
VS
69922013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 Support mkrescue on sparc64.
6995
aa1af9bb
VS
69962013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 Allow IEEE1275 ports on path even if it wasn't detected automatically.
6999 Needed on OpenBIOS due to incomplete device tree.
7000
ac4fea79
VS
70012013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
7004 would be otherwise excluded.
7005
70062013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
7007
7008 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
7009 Inline name defines used only once.
7010
fe22b071
VS
70112013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 Fix memory leaks in ofnet.
7014 Reported by: Francesco Lavra.
7015
9d21381b
VS
70162013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 * docs/man/grub-glue-efi.h2m: Add missing file.
7019
07aec23c
VS
70202013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
7023
67ab8353
VS
70242013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 Better support Apple Intel Macs on CD.
7027
ba44ca6d
VS
70282013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7029
7030 Replace stpcpy with grub_stpcpy in tools.
7031
bbdd6305
VS
70322013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 Handle Japanese special keys.
7035 Reported by: Hiroyuki YAMAMORI.
7036 Codes supplied by: Hiroyuki YAMAMORI.
7037
8573d302
VS
70382013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * util/grub-mkimage.c: Document memdisk implying --prefix.
7041
d70dbab7
VS
70422013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7043
7044 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
7045 much we can do about it anyway.
7046
51a4c3e3
AN
70472013-04-12 Aleš Nesrsta <starous@volny.cz>
7048
7049 Fix handling of split transfers.
7050
92c8f58d
VS
70512013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * grub-core/net/http.c: Fix bad free.
7054
b7d17a49
VS
70552013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
7058 than buffer size.
7059
a3d566d4
VS
70602013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 Disable partmap check on i386-ieee1275 due to openfirmware issues.
7063
a936af56
VS
70642013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * tests/util/grub-shell.in: Fix it on powerpc.
7067
51212234
VS
70682013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 Turn off QEMU ACPI-way since new releases don't have shutdown port
7071 anymore.
7072
a21eec9e
VS
70732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 * docs/grub.texi: Update coreboot status info.
7076
e3734b84
VS
70772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 * tests/grub_cmd_date.in: New test for datetime.
7080
f9d40055
VS
70812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 * tests/partmap_test.in: Fix missing qemudisk setting.
7084
dbc56d8f
VS
70852013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 Support i386-ieee1275 grub-mkrescue and make check on it.
7088
a79b8a15
VS
70892013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
7092 feature for it.
7093
48f39bb4
VS
70942013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
7097 GRUB_CMDLINE_XEN_DEFAULT.
7098 Reported by: Marc Warne (GigaTux) <gigatux>
7099
053cfcdd
VS
71002013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 Import new gnulib.
7103
93cd84df
VS
71042013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 Use ACPI shutdown intests as traditional port was removed.
7107
f4b1fa4f
AB
71082013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
7109
7110 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
7111 distinction.
7112
49818a59
VS
71132013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
7116 Fix few warining messages and leaks while on it.
7117
9277a306
AB
71182013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
7119
7120 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
7121 links under grub-core/lib/libgcrypt-grub/mpi.
7122
d5e2a158
VS
71232013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 Fix ia64-efi image generation on big-endian machines. Deduplicate
7126 some code while on it.
7127 Reported by: Leif Lindholm.
7128
18866643
AB
71292013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
7130
7131 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
7132 as extra_dist.
7133
ca53deb8
AB
71342013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
7135
7136 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
7137
d4c4b8e1
BH
71382013-04-08 Bryan Hundven <bryanhundven@gmail.com>
7139
7140 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
7141 texinfo-5.1.
7142
47043f95
VS
71432013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * grub-core/normal/term.c: Few more fixes for menu entry editor
7146 rendering.
7147 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
7148
a3216068
VS
71492013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7150
7151 * grub-core/normal/term.c: Few more fixes for menu entry editor
7152 rendering.
7153 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
7154
21026747
AB
71552013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
7156
7157 * conf/Makefile.extra-dist (EXTRA_DIST): Add
7158 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
7159
59624ca8
AB
71602013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
7161
7162 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
7163 instead of hardcoding grub.mo.
7164
1f44478c
FN
71652013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
7166
7167 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
7168
eeada7b1
VS
71692013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
7172 grub-core/disk/geli.c.
7173
132867de
VS
71742013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 * util/grub-mkfont.c: Prefer enum to #define.
7177
de73de17
VS
71782013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
7181
1865baa7
VS
71822013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
7185
ce7d92a9
VS
71862013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
7189
52eab656
VS
71902013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
7193
98b23b95
VS
71942013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * include/grub/bsdlabel.h: Use enums.
7197
0467a5dd
VS
71982013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 Move GRUB_CHAR_BIT to types.h.
7201
16cc9f03
AB
72022013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7203
7204 * docs/grub.texi: Document more user commands.
7205
3152aecb
AB
72062013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7207
7208 * docs/grub.texi: Document menuentry --id option.
7209
c506fc30
FL
72102013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
7211
7212 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
7213
aa428238
VS
72142013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 Unify file copying setup across different install scripts. Add
7217 options for performing partial install.
7218
efe0cdda
PJ
72192013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
72202013-04-04 Peter Jones <pjones@redhat.com>
7221
7222 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
7223
f75835bd
VS
72242013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 Use TSC as a possible time source on i386-ieee1275.
7227
2cd5ce6c
VS
72282013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
7231 Init err.
7232
c9625630
VS
72332013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 * util/grub-setup.c (setup): Handle some corner cases.
7236
be008941
VS
72372013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
7240
1a78d573
VS
72412013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 * grub-core/commands/verify.c: Save verified file to avoid it being
7244 tampered with after verification was done.
7245
db8ff59f
VS
72462013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7247
7248 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
7249 reported width by one to compensate for curesor algorithm problem.
7250
91bf46b1
VS
72512013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7252
7253 Fix screen corruption in menu entry editor and simplify the code
7254 flow while on it.
7255
a7b1d693
AB
72562013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
7257
7258 * util/grub-mount.c (fuse_init): Return error if fuse_main
7259 failed.
7260
31df9ad8
FL
72612013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
7262
7263 * include/grub/elf.h: Add missing ARM relocation codes and fix
7264 existing ones.
7265
07f392eb
VT
72662013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7267
7268 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
7269
9efd73ec 72702013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
72712013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
7274 into account when calculating radius.
7275
72762013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
7277
7278 * grub-core/gfxmenu/view.c: Fix off-by-one error.
7279
4985ddaa
VT
72802013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7281
7282 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
7283
8c3635ff
RS
72842013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7285
7286 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
7287 missing closing bracket.
7288
74a35e69
RS
72892013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7290
7291 * INSTALL: Mention xorriso requirement.
7292
40f1c000
AB
72932013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
7294
7295 * grub-core/commands/verify.c: Fix hash algorithms values for
7296 the first three hashes - they start with 1, not with 0.
7297
e75fdee4
VS
72982013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
7301 Try terminating EFI services several times due to quirks in some
7302 implementations.
7303
33028f4c
CW
73042013-03-26 Colin Watson <cjwatson@ubuntu.com>
7305
7306 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
7307 skipping Event, Device, Processor, PowerRes, ThermalZone, and
7308 BankField extended opcodes.
7309 (get_sleep_type): Add minimal scope handling (just enough to
7310 handle setting the scope to the root path).
7311 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
7312 * include/grub/acpi.h: Add enumeration values for Event, Device,
7313 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
7314
33871a10
VT
73152013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
7316
7317 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
7318 memory leak.
7319
8990963a
VS
73202013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7321
7322 * grub-core/disk/ahci.c: Give more time for AHCI request.
7323
daae8f9e
VS
73242013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
7327 command.
7328
6a7fb94b
VS
73292013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 Replace the region at 0 from coreboot tables to available in BSD
7332 memory map.
7333
ff99babd
VS
73342013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
7337 non-BIOS platforms.
7338
30d6b1b2
VS
73392013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
7342 platforms.
7343
6ccd0b31
VS
73442013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
7347 handling of multi-device filesystems.
7348
23c9cc04
VS
73492013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
7352 platforms.
7353
ce50dbd7
VS
73542013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 Add new 'proc' filesystem framework and put luks_script into it.
7357
d975e8d5
VS
73582013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
7361 and qemu.
7362
e73ba5e8
VS
73632013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
7366
92750e4c
VS
73672013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 Add ability to generate newc additions on runtime.
7370
0ec45a68
VS
73712013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
7374 description.
7375
320abd43
VS
73762013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 * po/POTFILES.in: Regenerate.
7379
d7a6506e
VS
73802013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7381
7382 * grub-core/commands/verify.c (hashes): Add several hashes
7383 from the spec.
7384
8fe05def
VS
73852013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 Slight improve in USB-related boot-time checkpoints.
7388
524e2766
VS
73892013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * grub-core/commands/boottime.c: Fix copyright header.
7392
cc19857a
VS
73932013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
7396 coreboot tables content. Support for cbmemc.
7397
ef8810e9
VS
73982013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 Fix a conflict between ports structures with 2 controllers of
7401 same kind.
7402
e9dabdfa
VS
74032013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * include/grub/boottime.h: Add missing file.
7406
f6df57d2
VS
74072013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 Initialize USB ports in parallel to speed-up boot.
7410
d745dda7
VS
74112013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 Fix USB devices not being detected when requested
7414 due to delayed attach.
7415
e5a2dd7b
VS
74162013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7417
e744219b
VS
7418 Implement boot time analysis framework.
7419
74202013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7421
7422 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
7423 descriptor to just receive it as argument rather than endpoint
7424 address.
7425
5dd6f587
VS
74262013-03-19 Aleš Nesrsta <starous@volny.cz>
7427
7428 Better estimate the maximum USB transfer size.
7429
2f1071d5
VS
74302013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 Resend a packet if we got the wrong buffer in status.
7433
46ecfc49
VS
74342013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
7437 multiplication rather than division.
7438
ea811130
VS
74392013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
7442 than divisions.
7443
d2789cf0
VS
74442013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
7447 operations to have intended shifts and not divisions.
7448
a9c94590
VS
74492013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7450
7451 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
7452 intended shifts rather than division.
7453
84cfe81b
VS
74542013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
7457 computation for some years before epoch. Avode confusing division
7458 while on it.
7459
21344ef6
VS
74602013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * grub-core/video/i386/pc/vbe.c
7463 (grub_video_vbe_print_adapter_specific_info): Replace division by
7464 shifts.
7465
3f2b4d1a
VS
74662013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 Adjust types in gdb module to have intended unsigned shifts rather than
7469 signed divisions.
7470
3dac5878
VS
74712013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
7474 maximum size is 4G - 1 on hfs
7475
5341c0fb
VS
74762013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
7479
fc3ff2a2
VS
74802013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
7483 function.
7484
81455e8e
AB
74852013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
7486
7487 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
7488 causing gcc error with gcc 4.7.1.
7489
efd4f117
NZ
74902013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7491
7492 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
7493 dereference null pointer. While the code is technically correct, gcc
7494 may eliminate a null check if pointer is already dereferenced.
7495
e11645f4
NZ
74962013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7497
7498 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
7499 OOM check.
7500 * grub-core/normal/term.c (read_terminal_list): Likewise.
7501
77468368
VS
75022013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 Lift up core size limits on some platforms. Fix potential memory
7505 corruption with big core on small memory systems. Document remaining
7506 limits.
7507
f6b58fe5
VS
75082013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
7511 gotoxy to 0,0.
7512
19ce697d
VS
75132013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 Remove all trampoline support. Add -Wtrampolines when
7516 present. Remove symbols used for trampolines to make
7517 link fail if trampolines are present.
7518
73b5d90f
VS
75192013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7520
7521 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
7522 append out of its parent.
7523
cb758e96
VS
75242013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
7527 parent.
7528
3188131f
VS
75292013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
7532 all vars to a macro. All users updated.
7533
e42b2514
VS
75342013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * grub-core/disk/ieee1275/nand.c: Fix compilation on
7537 i386-ieee1275.
7538
83e1a1a1
VS
75392013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
7542
1d5a880f
VS
75432013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
7546
6e4146c4
VS
75472013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 Move to more hookless approach in IEEE1275 devices handling.
7550
99fcda8a
VS
75512013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * grub-core/kern/term.c (grub_term_normal_color),
7554 (grub_term_highlight_color): Add back lost defaults.
7555
73bf57e2
VS
75562013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 Make elfload not use hooks. Opt for flags and iterators instead.
7559
7f8c105f
VS
75602013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
7563 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
7564
396d4091
VS
75652013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 * grub-core/script/execute.c (gettext_append): Remove nested functions.
7568
75692013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
7572 hook pass-through parameter. All users updated and unnested.
7573
74a27421
VS
75742013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7575
7576 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
7577 out of its parent.
7578
b46d4213
VS
75792013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 * grub-core/fs/hfs.c: Remove nested functions.
7582
e114c3cc
VS
75832013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
7586 the context through.
7587 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
7588
f9b7d780
VS
75892013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 * util/grub-editenv.c (list_variables): Move print_var out of its
7592 parent.
7593
ca9c2608
VS
75942013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
7597 function.
7598
5d983f5f
VS
75992013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7600
7601 * grub-core/gentrigtables.c: Make tables const.
7602
3056d3e7
VS
76032013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 Remove nested functions from videoinfo iterators.
7606
e2303774
VS
76072013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7608
7609 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
7610 for 64-bit platforms.
7611
f42e3a2f
VS
76122013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
7615 a FOR_CHILDREN macro.
7616
be174e5e
VS
76172013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
7620 platform from firmware path.
7621
0789b672
VS
76222013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 Enable linux16 on non-BIOS systems for i.a. memtest.
7625
7626 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
7627 correctly.
7628 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
7629
005a9c32
VS
76302013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
7633 Fix end of table condition.
7634
ff2b3cd9
VS
76352013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7636
7637 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
7638 out of its parent.
7639
4fc40ff8
VS
76402013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * grub-core/fs/jfs.c: Remove nested functions.
7643
be42d97a
VS
76442013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7645
7646 * grub-core/fs/minix.c: Remove nested functions.
7647
99373ce4
VS
76482013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * grub-core/fs/iso9660.c: Remove nested functions.
7651
5aec2afe
VS
76522013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
7655 of parent function.
7656
6c69e691
VS
76572013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * util/grub-fstest.c: Remove nested functions.
7660
43c91882
VS
76612013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * grub-core/loader/machoXX.c: Remove nested functions.
7664
4eb8b756
CW
76652013-02-27 Colin Watson <cjwatson@ubuntu.com>
7666
7667 Remove nested functions from disk and file read hooks.
7668
7669 * include/grub/disk.h (grub_disk_read_hook_t): New type.
7670 (struct grub_disk): Add read_hook_data member.
7671 * include/grub/file.h (struct grub_file): Likewise.
7672 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
7673 argument.
7674
7675 Update all callers.
7676
df6da5a5
AB
76772012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
7678
7679 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
7680 Fix off by one error in enumerating extended partitions.
7681
21aecde5
AB
76822013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
7683
7684 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
7685 memory leak if device name is not found.
7686
f1a19118
AB
76872013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7688
7689 * grub-core/normal/menu_entry.c (update_screen): remove
7690 unused variable `off' which caused scroll down arrow to be always shown.
7691
958bfd20
AB
76922013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7693
7694 * grub-core/normal/menu_entry.c (insert_string): fix off by one
7695 access to unallocated memory.
7696
b7b78edb
AB
76972013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7698
7699 * Makefile.util.def: Add partmap/msdos.c to common library.
7700 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
7701 * grub-core/disk/ldm.c: Check for existence of
7702 GRUB_PC_PARTITION_TYPE_LDM.
7703
28d468d6
VS
77042013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
7707 sizes and display sector size.
7708
d55ffb02
VS
77092013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 Implement new command cmosdump.
7712
b5ea6ce0
VS
77132013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7714
7715 Support Openfirmware disks with non-512B sectors.
7716
7717 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
7718 size of the disk.
7719 * (grub_ofdisk_get_block_size): New function.
7720 * (grub_ofdisk_prepare): Use the correct block size.
7721 * (grub_ofdisk_read): Likewise.
7722 * (grub_ofdisk_write): Likewise.
7723 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
7724 New proto.
7725
cc0e476f
VS
77262013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
7729
c5dbdc33
VS
77302013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
7733 on first error.
7734
3f078c0f
VS
77352013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7736
7737 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
7738 freeing it.
7739
66a93674
VS
77402013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 Implement USBDebug (full USB stack variant).
7743
c9f0c134
VS
77442013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
7747 unless they have unexpected values.
7748
cfe1288b
VS
77492013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
7752 grub_print_error.
7753
e42b9969
VS
77542013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
7757 zero-out of port structure.
7758
cf94fd62
VS
77592013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
7762 of extended attributes.
7763
f81ef4b5
AB
77642013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
7765
7766 * util/grub-install.in: change misleading comment about
7767 device.map creation
7768
af18fdb4
VS
77692013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
7772 when menu highlight color isn't set.
7773
08bcec50
M
77742013-01-27 C. Masloch <pushbx@38.de>
7775
7776 Improve FreeDOS direct loading support compatibility.
7777
7778 * include/grub/i386/relocator.h (grub_relocator16_state):
7779 New member ebp.
7780 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
7781 variable.
7782 (grub_relocator16_boot): Handle %ebp.
7783 * grub-core/lib/i386/relocator16.S: Likewise.
7784 * grub-core/loader/i386/pc/freedos.c:
7785 Load BPB to pass kernel which partition to load from.
7786 Check that kernel file is not too large.
7787 Set register dl to BIOS unit number as well.
7788
7782b8a6
CW
77892013-01-22 Colin Watson <cjwatson@ubuntu.com>
7790
7791 * util/grub-reboot.in (usage): Document the need for
7792 GRUB_DEFAULT=saved.
7793 * util/grub-set-default.in (usage): Likewise.
7794 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
7795
e661c180
VS
77962013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
7799 than defining WORDS_BIGENDIAN manually.
7800
1c22ca9a
VS
78012013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
7804 invariants.
7805
d44892fe
CW
78062013-01-21 Colin Watson <cjwatson@ubuntu.com>
7807
7808 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
7809 nested.
7810 (blit_comb: add_device_width): Likewise.
7811
5fdbaed1
CW
78122013-01-21 Colin Watson <cjwatson@ubuntu.com>
7813
7814 Remove nested functions from USB iterators.
7815
7816 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
7817 (grub_usb_controller_iterate_hook_t): Likewise.
7818 (grub_usb_iterate): Add hook_data argument.
7819 (grub_usb_controller_iterate): Likewise.
7820 (struct grub_usb_controller_dev.iterate): Likewise.
7821
7822 Update all implementations and callers.
7823
4250985a
VS
78242013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
7827 margin when not needed.
7828
7d8848f3
VS
78292013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7830
bc136973 7831 Make color variables global instead of it being per-terminal.
7d8848f3
VS
7832
78332013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7834
bc136973
VS
7835 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
7836 asterisk.
7d8848f3 7837
ed12a003
CW
78382013-01-21 Colin Watson <cjwatson@ubuntu.com>
7839
7840 Fix powerpc and sparc64 build failures caused by un-nesting memory
7841 map iterators.
7842
6a0db449
CW
78432013-01-21 Colin Watson <cjwatson@ubuntu.com>
7844
7845 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
7846 parameter declarations.
7847
ccd86b21
VS
78482013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
7851
822b726b
VS
78522013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 Improve spkmomdem reliability by adding a separator between bytes.
7855
115c2cc1
CW
78562013-01-21 Colin Watson <cjwatson@ubuntu.com>
7857
7858 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
7859 an Acer registration utility with several sightings in the wild.
7860 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
7861
fc524edf
CW
78622013-01-21 Colin Watson <cjwatson@ubuntu.com>
7863
7864 Remove nested functions from filesystem directory iterators.
7865
7866 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
7867 (struct grub_fs.dir): Add hook_data argument.
7868
7869 Update all implementations and callers.
7870
53d3e4e3
CW
78712013-01-21 Colin Watson <cjwatson@ubuntu.com>
7872
7873 * docs/grub.texi (Multi-boot manual config): Fix typo for
7874 "recommended".
7875
c821711f
LL
78762013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7877
7878 * util/grub-mkimage.c (main): Postpone freeing arguments.output
7879 until after its use in generate_image.
7880
6a0debbd
CW
78812013-01-20 Colin Watson <cjwatson@ubuntu.com>
7882
7883 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
7884 initrd size to addr_min, since the initrd will be allocated after
7885 this address.
7886
f41e08db
AB
78872013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7888
7889 * conf/Makefile.common: Fix autogen rules to pass definition
7890 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
7891
77529e0f
LL
78922013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7893
7894 * include/grub/elf.h: Update ARM definitions based on binutils.
7895
b879aa7b
VS
78962013-01-20 Aleš Nesrsta <starous@volny.cz>
7897
7898 Split long USB transfers into short ones.
7899
8eb8284d
AB
79002013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7901
7902 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
7903 is interrupted by ESC.
7904
08dad2dc
VS
79052013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7906
7907 * util/grub-script-check.c (main): Uniform the error message.
7908
6c724b85
CW
79092013-01-20 Colin Watson <cjwatson@ubuntu.com>
7910
7911 Remove nested functions from ELF iterators.
7912
25239370
CW
79132013-01-20 Colin Watson <cjwatson@ubuntu.com>
7914
7915 Remove nested functions from device iterators.
7916
7917 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
7918 (grub_arc_iterate_devs): Add hook_data argument.
7919 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
7920 (struct grub_ata_dev.iterate): Add hook_data argument.
7921 * include/grub/device.h (grub_device_iterate_hook_t): New type.
7922 (grub_device_iterate): Add hook_data argument.
7923 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
7924 (struct grub_disk_dev.iterate): Add hook_data argument.
7925 (grub_disk_dev_iterate): Likewise.
7926 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
7927 Likewise.
7928 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
7929 Likewise.
7930 * include/grub/partition.h (grub_partition_iterate_hook_t): New
7931 type.
7932 (struct grub_partition_map.iterate): Add hook_data argument.
7933 (grub_partition_iterate): Likewise.
7934 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
7935 (struct grub_scsi_dev.iterate): Add hook_data argument.
7936
7937 Update all callers.
7938
6c0314d6
CW
79392013-01-20 Colin Watson <cjwatson@ubuntu.com>
7940
7941 Fix typos for "developer" and "development".
7942
600dc5f1
VS
79432013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7944
7945 Add license header to spkmodem-recv.c.
7946
17334a6b
VS
79472013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 Rewrite spkmodem to use PIT for timing. Double the speed.
7950
7d462559
VS
79512013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7952
7953 Add new command pcidump.
7954
b78d6c32
VS
79552013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 New terminal outputs using serial: morse and spkmodem.
7958
34f71cb8
VS
79592013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 Improve bidi handling in entry editor.
7962
4542e71b
VS
79632013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7966 argument to prevent name collision.
7967
09fd6d82
CW
79682013-01-15 Colin Watson <cjwatson@ubuntu.com>
7969
7970 Remove nested functions from script reading and parsing.
7971
7972 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
7973 getline_data argument, passed to getline.
7974 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
7975 getline_data argument, passed to grub_parser_split_cmdline.
7976 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
7977 lexerstate->getline_data to lexerstate->getline.
7978 (grub_script_lexer_init): Add getline_data argument, saved in
7979 lexerstate->getline_data.
7980 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
7981 argument, passed to grub_script_parse.
7982 * grub-core/script/script.c (grub_script_parse): Add getline_data
7983 argument, passed to grub_script_lexer_init.
7984 * include/grub/parser.h (grub_parser_split_cmdline): Update
7985 prototype. Update all callers to pass appropriate getline data.
7986 (struct grub_parser.parse_line): Likewise.
7987 (grub_rescue_parse_line): Likewise.
7988 * include/grub/reader.h (grub_reader_getline_t): Add void *
7989 argument.
7990 * include/grub/script_sh.h (struct grub_lexer_param): Add
7991 getline_data member.
7992 (grub_script_parse): Update prototype. Update all callers to pass
7993 appropriate getline data.
7994 (grub_script_lexer_init): Likewise.
7995 (grub_normal_parse_line): Likewise.
7996
7997 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
7998 data argument.
7999 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
8000 static instead of nested. Rename to ...
8001 (grub_parser_execute_getline): ... this.
8002 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
8003 data argument.
8004 * grub-core/normal/main.c (read_config_file: getline): Make static
8005 instead of nested. Rename to ...
8006 (read_config_file_getline): ... this.
8007 (grub_normal_read_line): Add unused data argument.
8008 * grub-core/script/execute.c (grub_script_execute_sourcecode:
8009 getline): Make static instead of nested. Rename to ...
8010 (grub_script_execute_sourcecode_getline): ... this.
8011 * util/grub-script-check.c (main: get_config_line): Make static
8012 instead of nested.
8013
d0d4b8a0
CW
80142013-01-15 Colin Watson <cjwatson@ubuntu.com>
8015
8016 Remove nested functions from memory map iterators.
8017
8018 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
8019 argument, passed to hook.
8020 * grub-core/kern/i386/coreboot/mmap.c
8021 (grub_linuxbios_table_iterate): Likewise.
8022 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
8023 instead of nested.
8024 (grub_machine_mmap_iterate): Add hook_data argument.
8025 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
8026 Add hook_data argument, passed to hook.
8027 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
8028 Likewise.
8029 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
8030 Likewise.
8031 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
8032 Likewise.
8033 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
8034 Likewise.
8035 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
8036 Likewise.
8037 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
8038 Likewise.
8039 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
8040 (grub_machine_mmap_iterate): Likewise.
8041 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
8042 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
8043 prototype.
8044 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
8045 Remove NESTED_FUNC_ATTR from here and from all users.
8046 (grub_mmap_iterate): Update prototype.
8047 (grub_efi_mmap_iterate): Update prototype. Update all callers to
8048 pass appropriate hook data.
8049 (grub_machine_mmap_iterate): Likewise.
8050
8051 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
8052 static instead of nested.
8053 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
8054 Rename to ...
8055 (lsmmap_hook): ... this.
8056 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
8057 Likewise.
8058 (grub_efiemu_mmap_fill: fill_hook): Likewise.
8059 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
8060 heap_init): Likewise.
8061 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
8062 Rename to ...
8063 (mmap_iterate_hook): ... this.
8064 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
8065 Likewise.
8066 * grub-core/lib/ieee1275/relocator.c
8067 (grub_relocator_firmware_get_max_events: count): Likewise.
8068 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
8069 to ...
8070 (grub_relocator_firmware_fill_events_iter): ... this.
8071 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
8072 hook): Likewise. Rename to ...
8073 (grub_relocator_alloc_chunk_align_iter): ... this.
8074 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
8075 Rename to ...
8076 (generate_e820_mmap_iter): ... this.
8077 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
8078 Rename to ...
8079 (count_hook): ... this.
8080 (grub_linux_boot: hook): Likewise. Rename to ...
8081 (grub_linux_boot_mmap_find): ... this.
8082 (grub_linux_boot: hook_fill): Likewise. Rename to ...
8083 (grub_linux_boot_mmap_fill): ... this.
8084 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
8085 hook): Likewise. Rename to ...
8086 (grub_fill_multiboot_mmap_iter): ... this.
8087 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
8088 hook): Likewise. Rename to ...
8089 (count_hook): ... this.
8090 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
8091 hook): Likewise. Rename to ...
8092 (grub_fill_multiboot_mmap_iter): ... this.
8093 * grub-core/loader/powerpc/ieee1275/linux.c
8094 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
8095 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
8096 Likewise. Rename to ...
8097 (alloc_phys_choose): ... this.
8098 (determine_phys_base: get_physbase): Likewise.
8099 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
8100 find_hook): Likewise.
8101 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
8102 (malloc_hook: count_hook): Likewise.
8103 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
8104 Likewise. Rename to ...
8105 (lower_hook): ... this.
8106 (grub_mmap_get_upper: hook): Likewise. Rename to ...
8107 (upper_hook): ... this.
8108 (grub_mmap_get_post64: hook): Likewise. Rename to ...
8109 (post64_hook): ... this.
8110 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
8111 Likewise. Rename to ...
8112 (lower_hook): ... this.
8113 (grub_mmap_get_upper: hook): Likewise. Rename to ...
8114 (upper_hook): ... this.
8115 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
8116 (grub_mmap_iterate: fill_hook): Likewise.
8117 (fill_mask): Pass addr and mask within a single struct.
8118 (grub_cmd_badram: hook): Make static instead of nested. Rename
8119 to ...
8120 (badram_iter): ... this.
8121 (grub_cmd_cutmem: hook): Likewise. Rename to ...
8122 (cutmem_iter): ... this.
8123
22099030
VS
81242013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
8127 delimit path in strings using quotes.
8128 * util/getroot.c (grub_guess_root_devices): Likewise.
8129 (grub_make_system_path_relative_to_its_root): Likewise.
8130 * util/grub-probe.c (probe): Likewise.
8131 * util/ieee1275/ofpath.c (find_obppath): Likewise.
8132 (xrealpath): Likewise.
8133
4a9950ec
VS
81342013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 Fix compilation with older compilers.
8137
8138 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
8139 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
8140 declarations.
8141 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
8142 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
8143 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
8144 identifier with b.
8145 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
8146 * include/grub/crypto.h: Add type defines.
8147 * util/import_gcrypth.sed: Remove duplicate type defines.
8148
adcc6020
VS
81492013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 New command list_trusted.
8152
8153 * grub-core/commands/verify.c (grub_cmd_list): New function.
8154
a4528937
CW
81552013-01-13 Colin Watson <cjwatson@ubuntu.com>
8156
8157 * util/grub-mkimage.c (generate_image): Fix "size of public key"
8158 info message.
8159
ca3a7446
CW
81602013-01-13 Colin Watson <cjwatson@ubuntu.com>
8161
8162 Remove nested functions from PCI iterators.
8163
8164 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
8165 passed to hook. Update all callers to pass appropriate hook data.
8166 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
8167 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
8168 Remove NESTED_FUNC_ATTR from here and from all users.
8169 (grub_pci_iterate): Update prototype.
8170 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
8171 instead of nested. Rename to ...
8172 (grub_cs5536_find_iter): ... this.
8173 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
8174 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
8175 Likewise.
8176 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
8177 Likewise.
8178 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
8179 Likewise.
8180 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
8181 Likewise.
8182 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
8183 * grub-core/video/radeon_fuloong2e.c
8184 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
8185 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
8186 find_card): Likewise.
8187 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
8188 Likewise.
8189
f8e98fee
VS
81902013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 * grub-core/commands/verify.c: Mark messages for translating.
8193
055b36b6
VS
81942013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
8197 fatal.
8198
f7ff879b
VS
81992013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
8202 fatal.
8203
82042013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
8205
8206 * autogen.sh: Do not try to delete nonexistant files.
8207 * util/import_gcrypth.sed: Add some missing header removals.
8208
01323d49
CW
82092013-01-12 Colin Watson <cjwatson@ubuntu.com>
8210
8211 Clean up dangling references to grub-setup.
8212 Fixes Ubuntu bug #1082045.
8213
8214 * docs/grub.texi (Images): Refer generally to grub-install rather
8215 than directly to grub-setup.
8216 (Installing GRUB using grub-install): Remove direct reference to
8217 grub-setup.
8218 (Device map) Likewise.
8219 (Invoking grub-install): Likewise.
8220 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8221 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8222 * util/grub-install.in (usage): Likewise.
8223
8224 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
8225 Apply to grub-bios-setup and grub-sparc64-setup rather than to
8226 grub-setup.
8227 * configure.ac: Remove grub_setup output variable.
8228
8229 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
8230 to grub-bios-setup.
8231 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
8232 grub-setup to grub-sparc64-setup.
8233
5e3b8dcb
VS
82342013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 Import gcrypt public-key cryptography and implement signature checking.
8237
535714bd
VS
82382013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 * grub-core/fs/ntfs.c: Ue more appropriate types.
8241 * grub-core/fs/ntfscomp.c: Likewise.
8242 * include/grub/ntfs.h: Likewise.
8243
3e4f3566
VS
82442013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8245
8246 Support Apple FAT binaries on non-Apple platforms.
8247
8248 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
8249 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
8250 Likewise.
8251 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
8252 Apple FAT binaries.
8253
4dedb13f
VS
82542013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
8257 sector devices.
8258
f8861eaf
CW
82592013-01-07 Colin Watson <cjwatson@ubuntu.com>
8260
8261 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
8262 explicitly zeroing elements.
8263 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
8264 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
8265 of elements in a structure already allocated using grub_zalloc.
8266 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8267
86065b0a
CW
82682013-01-07 Colin Watson <cjwatson@ubuntu.com>
8269
8270 * docs/grub.texi (grub_cpu): New subsection.
8271 (grub_platform): Likewise.
8272
c6f1e92f
VS
82732013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
8276
f797ec85
VS
82772013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
8280 divisions.
8281
033d0b4b
VS
82822013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
8285 * grub-core/fs/ntfscomp.c: Likewise.
8286 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
8287 (grub_ntfs_comp): Likewise.
8288
21d1b9a0
VS
82892013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
8292 Rename to ...
8293 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
8294 of groups_per_block. All users updated.
8295
10ca8645
VS
82962013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
8299 grub_error properly.
8300 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
8301 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
8302
a4c3ed4c
VS
83032013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
8306 always in /boot/zfs.
8307 Reported by: Yuta Satoh.
8308
0b716507
YS
83092013-01-03 Yuta Satoh <nigoro>
8310
8311 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
8312 ${grub_probe}
8313
00c05e22
VS
83142013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 * configure.ac: Extend -Wno-trampolines to host.
8317
dadddb76
VS
83182013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
8321 entry->len = 0.
8322
54ce53ca
CW
83232013-01-03 Colin Watson <cjwatson@ubuntu.com>
8324
8325 * docs/grub.texi (Invoking grub-mkrelpath): New section.
8326 (Invoking grub-script-check): Likewise.
8327
8912efca
CW
83282013-01-03 Colin Watson <cjwatson@ubuntu.com>
8329
8330 * docs/grub.texi (Invoking grub-mount): New section.
8331 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
8332
c3fc8394
CW
83332013-01-02 Colin Watson <cjwatson@ubuntu.com>
8334
8335 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
8336 test failures, so that a failing unit test correctly causes 'make
8337 check' to fail.
8338
45d26abb
CW
83392013-01-02 Colin Watson <cjwatson@ubuntu.com>
8340
8341 Fix failing printf test.
8342
8343 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
8344 '$' in the correct order when collecting type information.
8345
971dd2c6
CW
83462013-01-02 Colin Watson <cjwatson@ubuntu.com>
8347
8348 * docs/grub.texi (configfile): Explain environment variable
8349 handling.
8350 (source): New section.
8351 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
8352
5c67ea6c
CW
83532012-12-31 Colin Watson <cjwatson@ubuntu.com>
8354
8355 Remove several trivially-unnecessary uses of nested functions.
8356
8357 * grub-core/commands/i386/pc/sendkey.c
8358 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
8359 instead of nested.
8360 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
8361 Rename to ...
8362 (legacy_file_getline): ... this.
8363 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
8364 Likewise.
8365 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
8366 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
8367 to ...
8368 (probe_dummy_iter): ... this.
8369 * grub-core/kern/i386/coreboot/mmap.c
8370 (grub_linuxbios_table_iterate: check_signature): Likewise.
8371 * grub-core/kern/parser.c (grub_parser_split_cmdline:
8372 check_varstate): Likewise. Mark inline.
8373 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
8374 an additional parameter.
8375 (find_long: fnd_long): Likewise. Pass two additional parameters.
8376 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
8377 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
8378 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
8379 Likewise. Rename to ...
8380 (grub_cmos_find_port_iter): ... this.
8381 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
8382 Rename to ...
8383 (find_rtc_iter): ... this.
8384
8385 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
8386 function directly into the function body, since it is only called
8387 once.
8388
33a68ac6
CW
83892012-12-30 Colin Watson <cjwatson@ubuntu.com>
8390
8391 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
8392 __attribute__ ((unused)).
8393 * grub-core/video/bochs.c (find_card): Likewise.
8394 * grub-core/video/cirrus.c (find_card): Likewise.
8395 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
8396 * grub-core/video/sis315pro.c (find_card): Likewise.
8397 * grub-core/video/sm712.c (find_card): Likewise.
8398
608b647a
CW
83992012-12-28 Colin Watson <cjwatson@ubuntu.com>
8400
8401 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
8402 Fixes Savannah bug #37821.
8403
fd49ceb3
CW
84042012-12-28 Colin Watson <cjwatson@ubuntu.com>
8405
8406 Apply program name transformations at build-time rather than at
8407 run-time. Fixes Debian bug #696465.
8408
8409 * acinclude.m4 (grub_TRANSFORM): New macro.
8410 * configure.ac: Create output variables with transformed names for
8411 most programs.
8412 * util/bash-completion.d/grub-completion.bash.in: Use
8413 pre-transformed variables for program names.
8414 * util/grub-install.in: Likewise.
8415 * util/grub-kbdcomp.in: Likewise.
8416 * util/grub-mkconfig.in: Likewise.
8417 * util/grub-mkconfig_lib.in: Likewise.
8418 * util/grub-mknetdir.in: Likewise.
8419 * util/grub-mkrescue.in: Likewise.
8420 * util/grub-mkstandalone.in: Likewise.
8421 * util/grub-reboot.in: Likewise.
8422 * util/grub-set-default.in: Likewise.
8423 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8424 * tests/util/grub-shell-tester.in: Remove unused assignment.
8425 * tests/util/grub-shell.in: Likewise.
8426 * util/grub.d/00_header.in: Likewise.
8427
7024b3c0
CW
84282012-12-28 Colin Watson <cjwatson@ubuntu.com>
8429
8430 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
8431
8432 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
8433 HAVE_RAW_DECL_GETS.
8434 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
8435
e3501b13
VS
84362012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
8437
8438 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
8439 Reported by: Eriks Latosheks <foresterlv>.
8440
b40c88a9
VS
84412012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8442
8443 * docs/grub.texi (Network): Update instructions on generating netboot
8444 image.
8445
ce96d01c
VS
84462012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
8449 around device name if necessarry.
8450
0f596201
PFS
84512012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8452
8453 * util/grub-install.in: Follow the symbolic link parameter added
8454 to the file command.
8455
600d5bdb
AB
84562012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
8457
8458 * util/grub-install.in: Remove stale TODO.
8459
64ebd2f4
PFS
84602012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8461
8462 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
8463 dynamic allocation for the bootpath buffer.
8464
74b2fe3e
DTB
84652012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
8466
8467 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
8468 window too small.
8469
969b804f
VS
84702012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
8473 argument rather than font name. All users updated.
8474 (grub_gfxterm_set_window): Likewise.
8475
b9f5ebd6
VT
84762012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
8477
8478 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
8479 from working.
8480
258f43b7
VS
84812012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * util/getroot.c (convert_system_partition_to_system_disk): Support
8484 nbd disks.
8485
cc1ce5f9
VS
84862012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
8489 infinite loop on corrupted FS.
8490
e77a16ca
VS
84912012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 Fix big-endian mtime.
8494
8495 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
8496 together sec and usec.
8497 (grub_ufs_dir): Use correct byteswapping for UFS time.
8498
d9c48c7b
VS
84992012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 Support big-endian UFS1.
8502
8503 * Makefile.util.def (libgrubmods): Add ufs_be.c
8504 * grub-core/Makefile.core.def (ufs1_be): New module.
8505 * grub-core/fs/ufs_be.c: New file.
8506 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
8507 the file.
8508
2f9f40ba
LL
85092012-11-28 Leif Lindholm <leif.lindholm@arm.com>
8510
8511 * include/grub/types.h: Fix functionality unaffecting typo in
8512 GRUB_TARGET_WORDSIZE conditional macro.
8513
48ff0889
PFS
85142012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8515
8516 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
8517
03711240
GS
85182012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8519
8520 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
8521 that /netbsd appears first (when it exists).
8522
a31b11bd
CJ
85232012-10-12 Christoph Junghans <ottxor@gentoo.org>
8524
8525 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
8526 Fixes Savannah bug #37558.
8527
e8a5d5d4
CW
85282012-10-12 Colin Watson <cjwatson@ubuntu.com>
8529
8530 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
8531 description of extract_entries_configfile.
8532
85332012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
8534
8535 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
8536 preferred_address.
8537 (grub_cmd_linux): Likewise.
8538 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
8539 preferred_lifetime. Update all users.
8540
288c757d
CW
85412012-09-26 Colin Watson <cjwatson@ubuntu.com>
8542
8543 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
8544 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
8545
0d35da3f
CW
85462012-09-26 Colin Watson <cjwatson@ubuntu.com>
8547
8548 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
8549 errors from grub-probe to /dev/null, not stdout.
8550
b78c3127
VS
85512012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
8554 sector 1.
8555
473959f0
CW
85562012-09-24 Colin Watson <cjwatson@ubuntu.com>
8557
8558 * util/grub-install.in: Make the error message if $source_dir
8559 doesn't exist more useful.
8560
794c8c33
CW
85612012-09-22 Colin Watson <cjwatson@ubuntu.com>
8562
8563 Fix grub-emu build on FreeBSD.
8564
8565 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
8566 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
8567 headers on Linux.
8568 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
8569 implementation is currently Linux-specific.
8570 * util/getroot.c (exec_pipe): Define only on Linux or when either
8571 libzfs or libnvpair is unavailable.
8572 (find_root_devices_from_poolname): Remove unused path variable.
8573
86d08fdb
CW
85742012-09-19 Colin Watson <cjwatson@ubuntu.com>
8575
8576 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
8577 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
8578 should fit before end == 63.
8579
735abf54
CW
85802012-09-19 Colin Watson <cjwatson@ubuntu.com>
8581
8582 * util/grub-setup.c (write_rootdev): Remove unused core_img
8583 parameter. Update all callers.
8584 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
8585 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
8586 GRUB_SETUP_BIOS.
8587
140acd3c
VS
85882012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8589
8590 * util/grub-mkconfig_lib.in (grub_tab): New variable.
8591 (grub_add_tab): New function.
8592 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
8593 * util/grub.d/10_illumos.in: Likewise.
8594 * util/grub.d/10_kfreebsd.in: Likewise.
8595 * util/grub.d/10_linux.in: Likewise.
8596 * util/grub.d/10_netbsd.in: Likewise.
8597 * util/grub.d/10_windows.in: Likewise.
8598 * util/grub.d/10_xnu.in: Likewise.
8599 * util/grub.d/20_linux_xen.in: Likewise.
8600 * util/grub.d/30_os-prober.in: Likewise.
8601
7ddffdad
VS
86022012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8603
8604 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8605 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
8606 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
8607 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
8608 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
8609 ieee1275-nocursor.
8610 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8611 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
8612
4e092454
VS
86132012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
8616 le-conversion.
8617 Reported by: BURETTE, Bernard.
8618
735abf54 86192012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
8620
8621 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
8622 from comment.
8623
dfd39dbd
CW
86242012-09-14 Colin Watson <cjwatson@ubuntu.com>
8625
8626 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
8627 IEEE1275 machines. Fixes powerpc-emu compilation.
8628 * include/grub/terminfo.h: Likewise.
8629
3bfa763c
VS
86302012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
8633 a const pointer.
8634 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
8635 const pointer.
8636 (efiemu_set_variable): Make vendor_guid a const pointer.
8637
250e475b
VS
86382012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 Don't require grub-mkconfig_lib to generate manpages for programs.
8641
8642 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
8643 dependencies, don't add grub-mkconfig_lib.
8644 (program): Pass empty adddeps.
8645 (script): Pass grub-mkconfig_lib as adddeps.
8646
592fd0e4
VS
86472012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
8650 * util/getroot.c (grub_find_device): Likewise.
8651 (get_mdadm_uuid): Likewise.
8652 (grub_util_is_imsm): Likewise.
8653 (grub_util_pull_device): Likewise.
8654 * util/grub-probe.c (probe): Likewise.
8655
801a3027
BG
86562012-09-10 Benoit Gschwind <gschwind>
8657
8658 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
8659 (devs): Add devpath_8.
8660
c5052c81
PJ
86612012-09-08 Peter Jones <pjones@redhat.com>
8662
8663 * grub-core/Makefile.core.def (efifwsetup): New module.
8664 * grub-core/commands/efi/efifwsetup.c: New file.
8665 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
8666 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
8667 New define.
8668 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
8669
8e832f71
JS
86702012-09-05 Jiri Slaby <jslaby@suse.cz>
8671
8672 * configure.ac: Add SuSe path.
8673
f0f55752
CW
86742012-09-05 Colin Watson <cjwatson@ubuntu.com>
8675
8676 * NEWS: Fix typo.
8677
ecadc4c2
CW
86782012-09-05 Colin Watson <cjwatson@ubuntu.com>
8679
8680 * util/import_gcry.py: Sort cipher_files, to make build system
8681 generation more deterministic.
8682
64498f25
VS
86832012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8684
8685 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
8686 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
8687 (grub_set_datetime): Likewise.
8688
9cc836a2
VS
86892012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
8692 warnings.
8693
bcfcea01
VS
86942012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
8697
a4099485
VS
86982012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
8701
265c162a
CW
87022012-09-04 Colin Watson <cjwatson@ubuntu.com>
8703
8704 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
8705 required for checkouts from bzr, but it may be useful for users or
8706 distributors wishing to update translations against a tarball
8707 distribution, and it can be helpful for the tarball to be a superset
8708 of what's in bzr.
8709
3d171e95
CW
87102012-09-04 Colin Watson <cjwatson@ubuntu.com>
8711
8712 * Makefile.am (EXTRA_DIST): Add
8713 grub-core/tests/boot/linux.init-mips.S,
8714 grub-core/tests/boot/linux.init-ppc.S, and
8715 grub-core/tests/boot/linux-ppc.cfg.
8716
f2c2503e
CW
87172012-09-04 Colin Watson <cjwatson@ubuntu.com>
8718
8719 * grub-core/mmap/mips/loongson: Remove empty directory.
8720
87212012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
8722
8723 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
8724 gone.
8725
ab2163d5
CW
87262012-09-04 Colin Watson <cjwatson@ubuntu.com>
8727
8728 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
8729 grub-sparc64-setup.
8730
ce938140
GS
87312012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8732
8733 * configure.ac: Strengthen the test for working -nostdinc -isystem.
8734
529f58a5
GS
87352012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8736
8737 * po/POTFILES.in: Regenerated.
8738
16cf79e9
GS
87392012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8740
8741 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
8742 (NetBSD): New subsection.
8743
39b27f1e 87442012-07-22 Ales Nesrsta <starous@volny.cz>
8745
8746 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
8747 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
8748
a885261b
VS
87492012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
8752 * util/grub.d/10_hurd.in: Add missing quoting.
8753 * util/grub.d/10_illumos.in: Likewise.
8754 * util/grub.d/10_kfreebsd.in: Likewise.
8755 * util/grub.d/10_linux.in: Likewise.
8756 * util/grub.d/20_linux_xen.in: Likewise.
8757
7bd29c01
VS
87582012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 New command `lsefi'.
8761
8762 * grub-core/Makefile.core.def (lsefi): New module.
8763 * grub-core/commands/efi/lsefi.c: New file.
8764 * include/grub/efi/api.h: Add more GUIDs.
8765
ac625d8f
VS
87662012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8767
8768 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
8769 (grub_bsd_elf32_hook): Likewise.
8770 (grub_bsd_elf64_size_hook): Likewise.
8771 (grub_bsd_elf64_hook): Likewise.
8772 (grub_bsd_load_elf): Likewise.
8773
e73bb801
VS
87742012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8775
8776 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
8777 if hash function is unavailable.
8778 (dec_stream_header): Likewise.
8779
e81db8b5
VS
87802012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
8783 filter state.
8784
d187a1c3
VS
87852012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8786
8787 Fix coreboot compilation.
8788
8789 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
8790 (grub_vga_text_init_real): ... this.
8791 (grub_vga_text_fini): Rename to ...
8792 (grub_vga_text_fini_real): ... this.
8793
91a05f64
VS
87942012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
8797
6af96df7
VS
87982012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * grub-core/lib/legacy_parse.c: Support clear and testload.
8801
4d569e12
VS
88022012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
8805
073b57bb
VS
88062012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8807
8808 * grub-core/fs/ext2.c: Experimental support for 64-bit.
8809
a706f4cc
VS
88102012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * grub-core/net/tftp.c (ack): Fix endianness problem.
8813 (tftp_receive): Likewise.
8814 Reported by: Michael Davidsaver.
8815
e7850aa9
VS
88162012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 * gentpl.py: Make mans depend on grub-mkconfig_lib.
8819
88202012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
8823 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
8824 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
8825
35692881
VS
88262012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
8829 efi_mmap_size.
8830 Reported by: Stuart Hayes.
8831
c35fc5bd
VS
88322012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
8835
8836 * grub-core/Makefile.core.def (mda_text): New module.
8837 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
8838 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
8839 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
8840 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
8841 here.
8842 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
8843 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
8844 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
8845 here.
8846 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
8847 to ..
8848 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
8849 ... here
8850 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
8851 here.
8852 * grub-core/term/i386/vga_common.c: Removed.
8853 * include/grub/i386/vga_common.h: Likewise.
8854 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
8855 (grub_vga_cr_bw_read): Likewise.
8856 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
8857 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
8858 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
8859 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
8860 grub_vga_cr_read/grub_vga_cr_write.
8861 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
8862
5f91f701
VS
88632012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * configure.ac: Bump version to 2.00.
8866 * grub-core/normal/main.c (features): Add feature_200_final.
8867
0c4f85f6
VS
88682012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
88692012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
8870
8871 * NEWS: Fix unclarity and language mistakes.
8872
f923ad22
VS
88732012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
8876 additional size to 3 pages.
8877 Reported by: Stuart Hayes.
8878
d22029ba
VS
88792012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * NEWS: Add 2.00 entry.
8882
58eee08f
VS
88832012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
8886 put explicit "/" for empty path.
8887 (wildcard_expand): Improve dprintf.
8888
c59bdff7
VS
88892012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
8892 it's equal to currnode. This can happen with "" symlink.
8893
5e6a440a
YB
88942012-06-27 Yves Blusseau <blusseau@zetam.org>
8895
8896 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
8897 echo shell command by printf command.
8898
73a68bcb
VS
88992012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
8902 the value returned by firmware is the maximal position, not diumension.
8903 (grub_terminfo_output_state): Use a more sane fallback.
8904
392a603b
VS
89052012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
8908
42d0867f
VS
89092012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
8912 frequency to 150 MHz.
8913
489509f4
VS
89142012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 Apple fixes.
8917
8918 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
8919 __APPLE_
8920 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
8921 definition.
8922 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
8923
9f3fc883
VS
89242012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 Handle slash in HFS label.
8927
8928 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
8929 (grub_hfs_dir): Tanslate slash.
8930 (grub_hfs_label): Don't translate slash.
8931
54853fd7
VS
89322012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
8935 network protocol listing since it introduces problematic dependency on
8936 net module.
8937
4dc02ddf
VS
89382012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
8941
c50c867d
VS
89422012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 Init video early on yeeloong to avoid being rebooted by watchdog.
8945
8946 * grub-core/Makefile.am (gensm712): New target.
8947 (sm712_start.S): Likewise.
8948 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
8949 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
8950 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
8951 description.
8952 * include/grub/vga.h: Move registry definitions to...
8953 * include/grub/vgaregs.h: ... here.
8954
5f92c8a1
VS
89552012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
8958 signedness.
8959
e9e6f111
VS
89602012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
8963 platforms with firmware disk drivers in the core.
8964
754ad9eb
VS
89652012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
8968 informative verbose message.
8969 (read_lv): Handle 64-bit segment size.
8970
315654c2
VS
89712012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8972
8973 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
8974
fb022c79
VS
89752012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8976
8977 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
8978 character but still remove trainling spaces.
8979 (grub_fat_label): Ignore archive flag.
8980
8645f72c
VS
89812012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
8984 cast between linux_kernel_header and linux_kernel_params.
8985
36498496
VS
89862012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
8989 type for size.
8990 (grub_raid6_recover_func_t): Likewise.
8991 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
8992 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8993
0b5ea6b8
VS
89942012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
8997
650cfcfe
GS
89982012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8999
9000 Fix overflow.
9001
9002 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
9003 [__NetBSD__]: Add explicit cast before bitshift.
9004
8a4d6a44
VS
90052012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9006
9007 * configure.ac: Bump to 2.00~rc1.
9008
2fb97ed3
VS
90092012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9010
9011 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
9012 half of $a0.
9013
1fa097dc
VS
90142012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
90152012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
9016
9017 * docs/grub.texi: Fix search syntax.
9018 (Multi-boot manual config): Put msdos rather than GPT example.
9019 Grammar corrections.
9020
c890ba78
VS
90212012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
9024
0f92dca7
VS
90252012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
9028
3988c4a0
VS
90292012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
9032 message on double free. Put the value of magic in case of mismatch.
9033
9e86d4c5
VS
90342012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 Speed-up video on yeeloong.
9037
9038 * grub-core/video/sm712.c (framebuffer): Remove render_target and
9039 add cached_ptr.
9040 (grub_video_sm712_video_fini): Unmap cached_ptr.
9041 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
9042 (grub_video_sm712_set_active_render_target): Removed.
9043 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9044 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
9045 sync caches.
9046
ed24c312
VS
90472012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 Avoid flushing the same line multiple times on loongson.
9050
9051 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
9052 Step in 32 bytes and not 1 byte.
9053 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
9054 Likewise.
9055
d1718e7d
VS
90562012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
9059 subvolumes.
9060
982f1909
VS
90612012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 Implement flow control for http.
9064
9065 * grub-core/net/http.c (parse_line): Handle response 206.
9066 (http_receive): Stall if too many packets are in the queue.
9067 (http_establish): Fix range header.
9068 (http_seek): Fix double free.
9069 (http_close): Likewise.
9070 (http_packets_pulled): New function.
9071 (grub_http_protocol): Set http_seek
9072 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
9073 (ack_real): Set window depending on i_stall.
9074 (grub_net_send_tcp_packet): Likewise.
9075 (grub_net_tcp_stall): New function.
9076 (grub_net_tcp_unstall): Likewise.
9077 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
9078 (grub_net_tcp_unstall): Likewise.
9079
bd407d6e
VS
90802012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * grub-core/net/tftp.c: Decrease stall to 50 packets.
9083
c7564b8e
VS
90842012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
9087
a3706162
VS
90882012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * tests/util/grub-shell.in: Fix a typo.
9091
b27069e0
VS
90922012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 Implement flow control for tftp.
9095
9096 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
9097 packets but stop only if stop condition is satisfied.
9098 (grub_net_fs_read_real): Call packets_pulled after real read. Use
9099 `stall' instead of `eof' as stop condition.
9100 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
9101 (http_err): Likewise.
9102 * grub-core/net/tftp.c (ack): Replace the first argument with data
9103 instead of socket.
9104 (tftp_receive): Stall if too many packets are in wait queue.
9105 (tftp_packets_pulled): New function.
9106 (grub_tftp_protocol): Set packets_pulled.
9107 * include/grub/net.h (grub_net_packets): New field count.
9108 (grub_net_put_packet): Increment count.
9109 (grub_net_remove_packet): Likewise.
9110 (grub_net_app_protocol): New field `packets_pulled'.
9111 (grub_net): New field `stall'.
9112
6b9cfac6
VS
91132012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
9116 sync part to handle them.
9117
f35abd81
VS
91182012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
9121 * grub-core/net/drivers/ieee1275/ofnet.c
9122 (grub_ieee1275_net_config_real): Likewise.
9123
0e7ec820
VS
91242012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
9127 the direct route for server/gateway.
9128
9d611a31
VS
91292012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9130
9131 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
9132 IP address to server name since we may not hame the DNS.
9133
418f45ab
VS
91342012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
9137 freeing random buffer on failure.
9138 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
9139
44a0efc1
VS
91402012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9141
9142 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
9143
531e2241
VS
91442012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9145
9146 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
9147 reserved bytes.
9148 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
9149 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
9150 Handle malloc error correctly.
9151
cde393c9
VS
91522012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9155 blocks.
9156
538478d0
VS
91572012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
9160 increment.
9161
9b55efe0
VS
91622012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
9165 none is explicitly specified.
9166
9eb832c3
VS
91672012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
9170 while reallocating.
9171
d6b7c7c9
VS
91722012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 Respect netmask from bootp/dhcp.
9175
9176 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
9177 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
9178 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
9179 into ...
9180 (grub_net_add_ipv4_local): ... this.
9181 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
9182 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
9183 (grub_net_add_ipv4_local): New proto.
9184
67caf9eb
VS
91852012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
9188 determining EFI memory map size.
9189
43657558
VS
91902012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
9193
eb6d0dd3
VS
91942012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
9197 when looking for partition separator.
9198
31230544
VS
91992012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9202 Escape commas.
9203
918a2517
VS
92042012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 Restructure FAT driver to avoid hook in label reading as it hits a
9207 GCC bug.
9208
9209 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
9210 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
9211 (grub_fat_iterate_dir): Split into ...
9212 (grub_fat_iterate_init): ... this, ...
9213 (grub_fat_iterate_fini): ... this, ...
9214 (grub_fat_iterate_dir_next): ... and this. All users updated.
9215
9f1d654e
VS
92162012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9219 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
9220 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9221 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
9222 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
9223 New fields last_key and last_key_time.
9224 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
9225 extended key-esc into extended key-extended key.
9226
52f0f643
VS
92272012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 Avoid unnecessary memcpy of whole video buffer.
9230
9231 * grub-core/video/fb/video_fb.c (dirty): New struct.
9232 (framebuffer): Add members current_dirty and previous_dirty.
9233 (dirty): New function.
9234 (grub_video_fb_fill_rect): Update dirty.
9235 (common_blitter): Likewise.
9236 (grub_video_fb_scroll): Likewise.
9237 (doublebuf_blit_update_screen): Copy only dirty part.
9238 (doublebuf_pageflipping_update_screen): Likewise.
9239 (grub_video_fb_doublebuf_blit_init): Init dirty.
9240 (doublebuf_pageflipping_init): Likewise.
9241 (grub_video_fb_setup): Likewise.
9242
e169a180
VS
92432012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9244
9245 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
9246 poll rate.
9247
48556879
VS
92482012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 Fix wildcard regexp dot and other special characters handling.
9251 Reported by: Robert Mabee.
9252
9253 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
9254 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
9255 (split_path): Trigger expansion on '?'.
9256 (unescape): New function.
9257 (wildcard_expand): Unescape parts copied without globbing.
9258 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
9259 (grub_script_arglist_to_argv): Don't unescape expansions.
9260
0494408e
VS
92612012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 * include/grub/net.h (grub_net_card): New member txbufsize.
9264 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
9265 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9266 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
9267 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
9268 txbufsize.
9269 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
9270 compatible property to check for macs. Set
9271 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9272 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
9273 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
9274 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
9275 (send_card_buffer): Use txbuf.
9276 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
9277 nested function out of the parent while on it.
9278
cc35fe8f
VS
92792012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
9282 presence check.
9283 (grub_ieee1275_net_config_real): Fix config pointer.
9284
970a0a09
VS
92852012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9286
9287 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
9288 filename parsing to non-block devices.
9289
3e19bf87
VS
92902012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/kern/device.c (grub_device_open): Remove dead code.
9293
c62d1a0c
VS
92942012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
9297 All users updated.
9298
ef76bec3
VS
92992012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
9302 UUID search command even if hints probing failed.
9303
93042012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
9305
9306 * po/POTFILES.in: Regenerated.
9307
70aaf305
VS
93082012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 Speed-up video on fuloong.
9311
9312 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
9313 New function.
9314 (grub_pci_device_unmap_range): Handle non-cached address.
9315 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
9316 add direct_ptr.
9317 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
9318 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
9319 (grub_video_sis315pro_set_active_render_target): Removed.
9320 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
9321 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9322 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
9323 sync caches.
9324 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
9325 New proto.
9326
10400f0b
VS
93272012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9328
9329 * docs/grub.texi (Multi-boot manual config): New section.
9330
ba67e2c6
VS
93312012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 Avoid slow read-back from VRAM.
9334
9335 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9336 Move from here ...
9337 * grub-core/video/fb/video_fb.c
9338 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
9339 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
9340 (front_target): Remove front_target. Add pages.
9341 (grub_video_fb_init): Skip setting front_pages.
9342 (grub_video_fb_fini): Likewise.
9343 (doublebuf_blit_update_screen): Use pages.
9344 (grub_video_fb_doublebuf_blit_init): Likewise.
9345 (doublebuf_pageflipping_init): Allocate offscreen buffer.
9346 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
9347 (grub_video_fb_setup): Prefer doublebuffing.
9348
377c98cb
VS
93492012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
9352 gzio.
9353
eac49cff
VS
93542012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9355
9356 Add loongson tests.
9357
9358 * tests/util/grub-shell.in: Handle loongson.
9359 * tests/partmap_test.in: Add loongson to the list of platform using ATA
9360 drivers.
9361 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
9362 Reboot instead of shutdown if REBOOT is defined.
9363
0321415e
VS
93642012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9365
9366 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
9367 sized ports since unlike on real hardware qemu supports only 32-bit
9368 regs.
9369
3f2bdd8f
VS
93702012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 * Makefile.util.def (grub-mkrescue): Enable on loongson.
9373 * util/grub-mkrescue.in: Handle loongson.
9374
29a049c9
VS
93752012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
9378 Set is_part appropriately.
9379 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
9380 names. Canonicalize partition without full disk.
9381
4abde346
VS
93822012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 Revert usb-quiesce since it's wrong.
9385
9386 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
9387 (grub_ofdisk_init): Don't do quiesce.
9388
61f1d93b
VS
93892012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
9392 PowerMac workaround to Xserves as well.
9393 Information supplied by: Benjamin Herrenschmidt.
9394
a09eb541
VS
93952012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 Don't assume that beginning address is also the entry point on ppc.
9398
9399 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
9400 (grub_linux_boot): Use linux_entry.
9401 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
9402 (grub_linux_load64): Likewise.
9403
505b3c9b
VS
94042012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
9407
cbe0b4ef
VS
94082012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9409
9410 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
9411 needlessly lose the console.
9412
3006e981
VS
94132012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
9416 space.
9417
4e5a96b0
VS
94182012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9419
7da036bb
VS
9420 Remove non-functional EFI grub_get_rtc. Put a better fatal message
9421 than current grub_get_rtc() not implemented when booted with
9422 coreboot without TSC.
9423
9424 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
9425 Add machine/time.h to kernel headers on loongson.
9426 * grub-core/Makefile.core.def (kernel): Remove
9427 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
9428 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
9429 (grub_get_rtc): Likewise.
9430 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
9431 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
9432 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
9433 * grub-core/kern/i386/tsc.c (grub_tsc_init)
9434 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
9435 rather than installing known non-working time source.
9436 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
9437 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
9438 * include/grub/time.h: Don't include machine/time.h.
9439 * include/grub/efi/time.h: Removed.
9440 * include/grub/i386/efi/time.h: Likewise.
9441 * include/grub/i386/ieee1275/time.h: Likewise.
9442 * include/grub/powerpc/ieee1275/time.h: Likewise.
9443 * include/grub/sparc64/ieee1275/time.h: Likewise.
9444 * include/grub/x86_64/efi/time.h: Likewise.
9445
94462012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
9449
9450 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
9451 value.
9452 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
9453 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
9454 with dotless variants when any combining above is present.
9455
5561c22d
VS
94562012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
9459 text and not binary.
9460
96f7e60e
VS
94612012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9462
9463 Stop polling as soon as we have the packet we were waiting for.
9464
9465 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
9466 All users updated.
9467 * grub-core/net/arp.c (have_pending): New var.
9468 (pending_req): Likewise.
9469 (grub_net_arp_send_request): Fill pending_req and use have_pending as
9470 stop indicator.
9471 (grub_net_arp_receive): Set have_pending.
9472 * grub-core/net/dns.c (recv_data): New field stop.
9473 (recv_hook): Set stop.
9474 (grub_net_dns_lookup): Init stop and use as stop condition.
9475 * grub-core/net/http.c (http_establish): Use headers_recv as stop
9476 condition.
9477 * grub-core/net/net.c (grub_net_poll_cards): New argument
9478 stop_condition. Stop when it goes true.
9479 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
9480 indicator.
9481 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
9482
3e747239
VS
94832012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 Keep TX and RX buffers on EFI rather than always allocate new ones.
9486
9487 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
9488 card. All users updated.
9489 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
9490 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
9491 (get_card_packet): Likewise.
9492 (grub_efinet_findcards): Init new fields.
9493
f695e99a
VS
94942012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
9497 compilation error on sparc64.
9498
9e5e66d1
VS
94992012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 Use ITC on IA64 rather than broken routine based on daytime.
9502
9503 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
9504 ia64.
9505 (grub_get_rtc) [__ia64__]: Likewise.
9506 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
9507 (get_itc): New function.
9508 (grub_rtc_get_time_ms): Likewise.
9509 (grub_machine_init): Calibrate ITC.
9510 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
9511 Keep only on non-ia64. Don't export since it's broken and used only
9512 if TSC is unavailable.
9513
a1767404
VS
95142012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
9517 even if it's used.
9518 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
9519 Skip if parent is unused.
9520
34b2bced
VS
95212012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
9524
5e619f40
VS
95252012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 Fix wildcard escaping.
9528
9529 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
9530 * grub-core/script/execute.c (wildcard_escape): .. to here.
9531 Don't escape dot.
9532 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
9533 * grub-core/script/execute.c (wildcard_unescape): .. to here.
9534 Don't escape dot.
9535 * grub-core/script/execute.c (gettext_append): Always escape.
9536 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
9537 * grub-core/script/yylex.l: Don't cut away the escaping.
9538 * tests/grub_script_echo1.in: Add tests with wildcard.
9539
c8ca5855
VS
95402012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9541
9542 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
9543 (ftdi_hw_configure): Likewise.
9544 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
9545 define.
9546 (real_config): Handle 1.5 stop bits.
9547 (pl2303_hw_configure): Likewise.
9548
7183452c
VS
95492012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 * Makefile.am: Add ppc linux bootcheck.
9552 * grub-core/tests/boot/linux-ppc.cfg: New file.
9553 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
9554
f57c84cd
VS
95552012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 * tests/grub_script_expansion.in: Skip network protocols.
9558
ecfc6207
VS
95592012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
9562
8d03d284
VS
95632012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
9566 --rom-directory.
9567 Add -graft-points.
9568
61c42af0
VS
95692012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 ESCC serial driver for conducting sautomated tests in qemu.
9572 Not tested on real hardware.
9573
9574 * include/grub/serial.h (grub_serial_port): New field escc_desc.
9575 * grub-core/term/ieee1275/escc.c: New file.
9576 * grub-core/Makefile.core.def (escc): New module.
9577
08fd1291
VS
95782012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9579
9580 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
9581 invalid on error.
9582 (serial_hw_fetch): Don't read invalid handle.
9583 (serial_hw_put): Don't write into invalid handle.
9584
08dafeea
VS
95852012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 Add a 1.5 stop bits value.
9588
9589 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
9590 * include/grub/serial.h (grub_serial_stop_bits_t): Add
9591 GRUB_SERIAL_STOP_BITS_1_5.
9592
9068fdcf
VS
95932012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9594
9595 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
9596 value rather than let it uninited.
9597
f4d5820f
VS
95982012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * grub-core/commands/wildcard.c (+check_file): New function.
9601 (wildcard_expand): Don't expand to non-existing files, expand with
9602 suffix and not attempt to expand if not needed.
9603
3d2de9a7
VS
96042012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9605
9606 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
9607 out of partitions containing other partitions.
9608
c5c81ff9
VS
96092012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9610
9611 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
9612 on some qemu versions with GRUB.
9613
9614 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
9615 define.
9616 (grub_openbsd_bootarg_pcibios): New struct.
9617 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
9618 Add PCIINFO.
9619
08a14e0b
VS
96202012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * tests/util/grub-shell.in: Trim firmware output on EFI.
9623
cede3ca3
VS
96242012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
9627 and coreboot since it's already in kernel.
9628
558d3a60
VS
96292012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
9632 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9633 to here. New return value start. All users updated.
9634 Recursively scan linear mappings.
9635 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
9636 proto.
9637 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9638 Use grub_util_get_dm_node_linear_info.
9639 * util/getroot.c (convert_system_partition_to_system_disk): Use
9640 grub_util_info rather than grub_dprintf.
9641 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
9642
60fde14d
VS
96432012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
9646
9647 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
9648 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
9649
24bd8838
VS
96502012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 * include/grub/types.h (grub_set_unaligned64): New function.
9653 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
9654 (setup): Likewise.
9655
7bc06a49
VS
96562012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
9659 (grub_ofdisk_fini): Quiesce USB devices.
9660
49cea015
VS
96612012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
9664 caches.
9665
8dcbe03b
VS
96662012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9667
9668 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
9669
5b258735
VS
96702012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 * grub-core/disk/pata.c (grub_pata_pio_read)
9673 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
9674 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9675
37ba07eb
VS
96762012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 Extend automated tests to qemu-mips.
9679
9680 * Makefile.am: reorganise tests and enable qemu-mips.
9681 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
9682 * grub-core/tests/boot/linux.init-mips.S: New file.
9683 * tests/partmap_test.in: Handle ata0 disks.
9684 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
9685 non-pc i386.
9686
070038f8
VS
96872012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
9690 ia64.
9691 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
9692 quotes while on it.
9693
004be2cd
VS
96942012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
9697 (grub_halt): Likewise.
9698 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
9699
b1622487
VS
97002012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9701
9702 * grub-core/term/serial.c (grub_serial_register)
9703 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
9704 the behaviour in line with x86 platforms.
9705
b7b4ab33
VS
97062012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
9709 (grub_ata_strncpy): Likewise.
9710 (grub_ata_identify): Add missing byteswaps.
9711
5e3535ae
VS
97122012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
9715 byte-swap.
9716 (screen_read_char): Likewise.
9717 (grub_vga_text_cls): Likewise.
9718
c21b17e6
VS
97192012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
9722 filenames.
9723 (make_file_path): Likewise.
9724
bf293dec
VS
97252012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9726
9727 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
9728 machines.
9729 Tested by: Paulo Flabiano Smorigo.
9730 Crucial information about API supplied by: Coleen <Last name unknown>.
9731 Reviewed by: Coleen <Last name unknown>.
9732
81f6ef0e
VS
97332012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 * util/grub-mkimage.c: Disable -Wcast-align.
9736
7284143a
VS
97372012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9738
9739 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
9740 as they are fatal.
9741
b99f3e00
VS
97422012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9743
9744 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
9745
944f752d
VS
97462012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * util/grub-probe.c (escape_of_path): Fix double free.
9749
6cce6f38
VS
97502012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 * grub-core/commands/videoinfo.c (hook): Show pitch.
9753
1e1eb50e
VS
97542012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * util/grub.d/20_linux_xen.in: Skip xen-syms.
9757
1c715b5a
VS
97582012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
9761 (probe): Add ieee1275 to OFW devices.
9762
007ae52d
VS
97632012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
9766
4557a36d
VS
97672012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9768
9769 Handle IBM OFW path.
9770
9771 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
9772 available.
9773 (of_path_of_scsi): Handle vdevice.
9774
efbeefe9
VS
97752012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
9778 Allocate in multiples of 16 to avoid adding a few bytes free region the
9779 windows bugs upon.
9780
15a940bb
VS
97812012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9782
9783 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
9784 Allocate in multiples of 16 to avoid adding a few bytes free region the
9785 windows bugs upon.
9786 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
9787
6e5efd60
VS
97882012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
9791 resolutions.
9792 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
9793 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
9794
0d3d137e
IS
97952012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
9796
9797 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
9798
45dbe300
VS
97992012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9800
9801 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
9802 resulted in \\ at the end of the line.
9803
6d8db947
VS
98042012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
9807 (grub_parser_cmdline_state): Likewise.
9808 (grub_parser_split_cmdline): Likewise.
9809
de89d338
VS
98102012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
9813 /dev/root and /dev/dm-*.
9814
00d41dee
VS
98152012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9816
9817 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
9818 fix partially stale display.
9819
f95d1f11
VS
98202012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 * grub-core/normal/menu_entry.c (backward_char): Use right line for
9823 substraction.
9824
6297e197
VS
98252012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
9828 Fix MBR remapping workaround.
9829 (grub_util_biosdisk_read) [__linux__]: Likewise.
9830
8a7ecad3
VS
98312012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 * util/grub-install.in: Check for ieee1275 and not ieee1276.
9834
2b34f944
VS
98352012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * configure.ac: Bump to beta6.
9838
684aef11
CW
98392012-05-31 Christer Weinigel <christer@weinigel.se>
9840
9841 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
9842
05b0bb91
VS
98432012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
9846 (grub_cmd_linux): Likewise.
9847
bda36bfa
CW
98482012-05-31 Christer Weinigel <christer@weinigel.se>
9849
9850 Fix EHCI low-speed.
9851
9852 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
9853 (GRUB_EHCI_MULT_TWO): Likewise.
9854 (GRUB_EHCI_MULT_THREE): Likewise.
9855 (GRUB_EHCI_CMASK_MASK): New enum value.
9856 (GRUB_EHCI_SMASK_MASK): Likewise.
9857 (GRUB_EHCI_CMASK_OFF): Likewise.
9858 (GRUB_EHCI_SMASK_OFF): Likewise.
9859 (grub_ehci_pci_iter): Enable periodic schedule.
9860 (grub_ehci_parse_notrun): Likewise.
9861 (grub_ehci_restore_hw): Likewise.
9862 (grub_ehci_setup_qh): Set flags for low speed transfers.
9863 (grub_ehci_find_qh): Use periodic list for low speed.
9864 (grub_ehci_setup_transfer): Check periodic queue as well.
9865 (grub_ehci_check_transfer): Likewise.
9866 (grub_ehci_cancel_transfer): Cancel periodic transfer.
9867
e12bcb1c
PFS
98682012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
9869
9870 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
9871 parameter is used.
9872
bcc75fb3
PJ
98732012-05-31 Peter Jones <pjones@redhat.com>
9874
9875 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
9876 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
9877 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
9878
f19cb95e
VS
98792012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
9882 uninited variable. Allocate at least setup_sects.
9883
a4e5ca80
VS
98842012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 Fix handling of EFI with big memory maps.
9887
9888 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
9889 (real_mode_mem): Likewise.
9890 (real_mode_target): Likewise.
9891 (real_mode_pages): Likewise.
9892 (prot_mode_pages): Likewise.
9893 (linux_params): New var.
9894 (linux_cmdline): Likewise.
9895 (free_pages): Don't set real mode variables.
9896 (allocate_pages): Don't allocate real mode memory.
9897 (grub_e820_add_region): Remove the limit.
9898 (grub_linux_boot): Allocate and copy real mode memory.
9899 (grub_linux_unload): Free linux_cmdline.
9900 (grub_cmd_linux): Use temporary storage for parameters.
9901 (grub_cmd_initrd): Likewise.
9902 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
9903 (linux_kernel_params): Make it 1K big.
9904
ddb73558
VS
99052012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9906
9907 * Makefile.util.def: Remove -Wno-format.
9908 * grub-core/Makefile.core.def: Likewise.
9909
1c4afb60
VS
99102012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * tests/cmp_unit_test.c: Add missing failure message.
9913 * tests/example_unit_test.c: Likewise.
9914 * tests/printf_unit_test.c: Likewise.
9915
941e3a6d
VS
99162012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
9919 relaxation of protective MBR requirements.
9920
b105df76
VS
99212012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 * configure.ac: Add condition for COND_HOST_XNU.
9924 * Makefile.util.def (10_xnu): New script.
9925 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
9926
84e1569e
VS
99272012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
9930 objconv bug.
9931
130c0f77
VS
99322012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
9935 Binary on other platforms stays identical.
9936
6fd0b143
VS
99372012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
9940 Apple.
9941
0af1751d
VS
99422012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
9945
176d5f7d
VS
99462012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
9949 rather than defining size_t ourselves to avoid conflict.
9950
7de5e20a
VS
99512012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
9954 initialisation to avoid __bzero reference.
9955
f7143efe
VS
99562012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
9959 version.
9960 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
9961 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
9962 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
9963 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
9964 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
9965
e6ad0555
VS
99662012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9967
9968 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
9969 * grub-core/kern/misc.c: Likewise.
9970 * grub-core/loader/i386/xnu.c: Likewise.
9971 * include/grub/i386/tsc.h: Likewise.
9972 * include/grub/symbol.h: Likewise.
9973
4a5a3c4a
VS
99742012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
9977 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
9978 on older compiler.
9979
037f6d90
VS
99802012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9981
9982 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
9983 Implement Apple flavour.
9984 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
9985
f7194551
VS
99862012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
9989 (memmove) [__APPLE__]: Likewise.
9990 (memcpy) [__APPLE__]: Likewise.
9991 (memset) [__APPLE__]: Likewise.
9992 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
9993 (memmove) [__APPLE__]: Likewise.
9994 (memcpy) [__APPLE__]: Likewise.
9995 (memset) [__APPLE__]: Likewise.
9996
85a730ca
VS
99972012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
10000 dependency discard.
10001
40e80b94
VS
100022012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * grub-core/normal/main.c (read_config_file): Provide config_file and
10005 config_directory.
10006 * util/grub.d/41_custom.in: Use config_directoy when available.
10007
9da59c32
VS
100082012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
10011 (grub_bfs_dir): Likewise.
10012
2787ae53
PJ
100132012-05-27 Peter Jones <pjones@redhat.com>
10014
10015 The old code gives arguments to a printf function which can't work
10016 correctly, and the compiler complains.
10017
10018 * grub-core/tests/example_functional_test.c (example_test): Add
10019 missing text.
10020 * grub-core/tests/lib/test.c (add_failure): Rewrite.
10021 * include/grub/test.h (grub_test_assert_helper): New declaration.
10022 (grub_test_assert): Use grub_test_assert_helper.
10023
526ef13d
VS
100242012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
10027 (exfctest): ... this to avoid overlong filenames.
10028 All users updated.
10029
20dd511c
VS
100302012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 Handle "." and ".." on squashfs.
10033
10034 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
10035 Make inode numbers into stack.
10036 (grub_squash_read_symlink): Use stack.
10037 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
10038 (make_root_node): Fill stack.
10039 (grub_squash_open): Use stack.
10040
1d80c62a
VS
100412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
10044 freeing.
10045
d336f652
VS
100462012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
10049 stderr on test calls.
10050
8b43f587
VS
100512012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10052
10053 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
10054
80a3dc3f
VS
100552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
10058
47e297d4
VS
100592012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
10062 "..".
10063
df042ccb
VS
100642012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
10067 (grub_hfsplus_iterate_dir): Add "." and "..".
10068
fc977f48
VS
100692012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 * grub-core/fs/cpio.c (canonicalize): Handle "..".
10072 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
10073
f3250e5f
VS
100742012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
10077 (find_path): Handle "." and "..".
10078
fd8ed4c5
VS
100792012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
10082 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
10083 (grub_affs_iterate_dir): Handle hardlinks.
10084
4ce776d2
MG
100852012-05-26 Matthew Garrett <mjg@redhat.com>
10086
10087 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
10088 (grub_efi_console_fini): Likewise.
10089 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
10090 (grub_video_gop_fill_mode_info): Rename to ...
10091 (grub_video_gop_fill_real_mode_info): ... this.
10092 (grub_video_gop_fill_mode_info): New function.
10093 (grub_video_gop_setup): Setup double framebuffer.
10094 (grub_video_gop_get_info_and_fini): Use original framebuffer.
10095 Free offscreen.
10096 (grub_video_gop_swap_buffers): Copy framebuffer.
10097 (grub_video_gop_fini): Free offscreen buffer.
10098 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
10099 New enum.
10100 (grub_efi_gop_blt_pixel): New struct.
10101
683031ba
VS
101022012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * gentpl.py: Remove error disabling for objconv.
10105
c2deb798
VS
101062012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 * configure.ac: Remove -Wunitialized as it's not available on older
10109 compilers.
10110
101112012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
10112
10113 Fix extent overflow comparator.
10114
10115 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
10116 (grub_hfsplus_read_block): Set type.
10117 (grub_hfsplus_cmp_extkey): Compare type.
10118
d6b1fd36
VS
101192012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
10122
0a9aa0f6
VS
101232012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
10126 than 0.
10127
8360e159
VS
101282012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
10131 (dejavu_bold_14.pf2): New target.
10132
501b9e4b
VS
101332012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10134
10135 * configure.ac: Fix djvu font detection.
10136
7026b0e2
VS
101372012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10138
10139 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
10140 ext* instead of ext2.
10141
c2a51ade
VS
101422012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10143
10144 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
10145 name with \0.
10146
8f803a5d
JU
101472012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
10148
10149 * docs/grub-dev.texi: Remove dot from .png.
10150
13c6353f
VS
101512012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
10154 protective entry in any slot.
10155 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
10156 if protective entry is found in any slot.
10157
10158 Protective entry in non-first slot make no sense but is a widespread
10159 brain damage.
10160
4cf6be1b
VS
101612012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
10164
937d1c44
VS
101652012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
10168 with old reiserfs.
10169 (grub_reiserfs_open): Don't free root.
10170
021d90ec
VS
101712012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
10174 after freeing for safety.
10175
967b2b64
VS
101762012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
10179 Reported by: Jordan Uggla.
10180
34274d02
JU
101812012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
10182
967b2b64
VS
10183 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
10184 actual implementation. Specifically, clarify that the grub menu will
10185 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
10186 passed.
34274d02 10187
dcaaae9d
BH
101882012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
10189
10190 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
10191 of r0.
10192
7086ad52
VS
101932012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 Remove unjustified hard dependency of normal.mod on gfxterm.
10196
10197 * include/grub/term.h (grub_term_output): New member fullscreen.
10198 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
10199 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
10200 (grub_gfxterm): Set .fullscreen.
10201 * grub-core/normal/menu.c (menu_init): Use fullscreen.
10202 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
10203
37ed2c9b
VS
102042012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
10207 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 10208 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 10209
a4469c88
VS
102102012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
10213
4e461486
VS
102142012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10215
10216 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10217 a bad FS.
10218
aa78f5c4
VS
102192012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10220
10221 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
10222 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
10223
197626b5
VS
102242012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
10227 (grub_jfs_mount): Fill caseins.
10228 (grub_jfs_find_file): Respect caseins.
10229
8ad3f28c
VS
102302012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
10233 through UTF-16.
10234
0c6c324e
VS
102352012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
10238 New argument origpath. All users updated.
10239
c6666ba6
VS
102402012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
10243 (read_attr): Ensure that we read start of possibly compressed block.
10244
e28e5fe5
VS
102452012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
10248 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
10249 All users updated.
10250
5fc23ab2
VS
102512012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
10254 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
10255 (dejavu.pf2): Replace with ...
10256 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
10257 this.
10258
79dbc21c
VS
102592012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * util/grub.d/20_linux_xen.in: Add missing line.
10262
d2fcfb0c
VS
102632012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10264
10265 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
10266 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
10267 (grub_utf16_to_utf8): Likewise.
10268
5560e9d6
VS
102692012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10270
10271 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
10272 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
10273 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10274 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
10275 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10276 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
10277
102782012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
10279
10280 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10281 a bad FS.
10282
5560e9d6 102832012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
10284
10285 * grub-core/fs/udf.c (read_string): Bail out on size=0.
10286 (grub_udf_read_symlink): Handle read_string failure.
10287
5eae3175
VS
102882012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
10291 comment.
10292
c1ad82db
VS
102932012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 Fix handling of UDF symlinks.
10296
10297 * grub-core/fs/udf.c (read_string): New argument outbuf.
10298 All users updated.
10299 (grub_ufs_read_symlink): Rename to ...
10300 (grub_udf_read_symlink): ... this. All users updated.
10301 Handle symlinks with more than one component.
10302
33eca6e0
VS
103032012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10304
10305 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
10306 symlinks. Replace leading colon with a slash.
10307
57f4a70b
VS
103082012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
10311 filename.
10312
38c8ee20
VS
103132012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10314
10315 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
10316 match in inner node.
10317
2e57f28f
VS
103182012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10319
10320 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
10321 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
10322 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
10323 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
10324 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
10325 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
10326 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
10327 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
10328 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
10329
fe8c2f11
VS
103302012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 Use grub-probe and not cmp to check that disk is empty.
10333
10334 * util/grub-install.in: Use grub-probe for zero-check.
10335 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
10336 (probe): Handle PRINT_ZERO_CHECK.
10337 (argp_parser): Handle -t zero_check.
10338
103392012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
10340
10341 Flush block cache on adding disk to device map.
10342
10343 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
10344 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
10345 adding.
10346 (read_device_map): Likewise.
10347 (open_device): Flush on opening.
10348
690434e8
VS
103492012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
10352 (handle_symlink): Fix off-by-one error.
10353 Canonicalize the target.
10354 (grub_cpio_dir): Canonicalize the name.
10355 Fix memory leak.
10356 Set directory.
10357 (grub_cpio_open): Canonicalize the name.
10358
742d2be6
VS
103592012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10360
10361 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
10362 handling.
10363
3244fe96
VS
103642012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10365
10366 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
10367 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
10368
8aeb1837
VS
103692012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
10372 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 10373 All users updated.
8aeb1837 10374
9133fd05
VS
103752012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
10378 counterpart.
10379
6d521c5b
VS
103802012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10381
10382 Fix UFS1 big file support.
10383
10384 * grub-core/fs/ufs.c (INODE): Removed.
10385 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
10386 64-bit.
10387 (INODE_MODE): Simplify.
10388 (grub_ufs_inode): Use uint64_t for size and not int64_t.
10389 (grub_ufs_lookup_symlink): Don't use INODE.
10390
21b82e17
VS
103912012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10392
10393 Fix minixfs with non-power-of-two blocks since it's supported by minix.
10394
10395 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
10396 (grub_minix_data): Replace log_block_size with block_size.
10397 (grub_minix_read_file): Use block_size but avoid 64-bit division.
10398 (grub_minix_mount): Fill block_size.
10399
104002012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
10401
10402 * configure.ac: Bump to beta5.
10403
f417ed04
VS
104042012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10405
10406 Fix wrapped HFS+ handling.
10407
10408 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
10409 blocks_start. All users updated.
10410 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
10411 wrapping offset.
10412 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
10413
607d282b
VS
104142012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 Fix long symlinks on reiserfs.
10417
10418 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
10419 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
10420 (grub_reiserfs_iterate_dir): Save size for non-directories.
10421 (grub_reiserfs_open): Don't reread stat block as we already know the
10422 size.
10423 (grub_reiserfs_read): Split into...
10424 (grub_reiserfs_read_real): ... and ...
10425 (grub_reiserfs_read): ...this.
10426
ae16024d
VS
104272012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 Fix non-indexed JFS.
10430
10431 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
10432 (grub_jfs_data): New field namecomponentlen.
10433 (grub_jfs_mount): Fill namecomponentlen.
10434 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
10435
eea1e26e
VS
104362012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
10439 * tests/grub_script_echo1.in: Add tests.
10440
df760f77
VS
104412012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * util/grub-install.in: Ignore empty devicetree directory.
10444
5efb817d
B
104452012-05-08 Bean <bean123ch@gmail.com>
10446
10447 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
10448 All users updated.
10449 (free_rsm): Free header as well.
10450 (free_old_fragments): Fix memory leak.
10451 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
10452 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
10453 (destroy_pq): Likewise.
10454 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
10455
668ea6d2
VS
104562012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10457
10458 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
10459 resulting hash as a precaution.
10460
1739b1fe
VS
104612012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10462
10463 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
10464 '_' in variable names.
10465 * grub-core/net/net.c (grub_net_network_level_interface_register):
10466 Likewise.
10467
6ae485aa
VS
104682012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 Fix AFFS with non-512B blocks.
10471
10472 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
10473 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
10474 (grub_affs_data): Replace blocksize with log_blocksize.
10475 (grub_affs_read_block): Fix non-512B blocks.
10476 (grub_affs_read_symlink): Likewise.
10477 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
10478 (grub_affs_read): Fix non-512B blocks.
10479 (grub_affs_label): Likewise.
10480 (grub_affs_mtime): Likewise.
10481 (grub_affs_mount): Fix block detection routine.
10482
d20fab84
VS
104832012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 Add filesystem mtime to AFFS.
10486
10487 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
10488 (aftime2ctime): New function.
10489 (grub_affs_dir): Use aftime2ctime.
10490 (grub_affs_label): Fix return value.
10491 (grub_affs_mtime): New function.
10492 (grub_affs_fs): Add mtime.
10493
e87b10f5
VS
104942012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
10497 UTF-8.
10498
7dceec9b
VS
104992012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
10502 UTF-8.
10503
2f48221f
VS
105042012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
10507
dacd85cf
VS
105082012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
10511 flags.
10512 (FLAGS_CASE_SENSITIVE): New enum value.
10513 (cache_entry): New struct.
10514 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
10515 cache_size and cache.
10516 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
10517 Add log_blocksize and fshelp_flags.
10518 (grub_sfs_read_extent): Handle non-512 blocks.
10519 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
10520 (grub_sfs_read_file): Handle non-512 blocks.
10521 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
10522 fshelp_flags.
10523 (grub_sfs_read_symlink): Handle non-512 blocks.
10524 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
10525 (grub_sfs_dir): Free cache.
10526 (grub_sfs_close): Likewise.
10527
24e9a854
VS
105282012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10529
10530 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
10531 filesystems.
10532
62ace64d
VS
105332012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
10536
83b2e89c
VS
105372012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
10540
75ccaea3
VS
105412012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10542
10543 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
10544 (grub_sfs_read_extent): Likewise.
10545 (grub_sfs_read_block): Likewise.
10546 (grub_sfs_mount): Likewise.
10547 (grub_sfs_iterate_dir): Likewise.
10548 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
10549 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
10550
1b8463f2
VS
105512012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 Fix errors on compressed NTFS with 512B clusters.
10554
10555 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
10556 types.
10557 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
10558 not 0.
10559 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
10560 Relax check for inline extents.
10561 (ntfscomp): Return correct -1 on error and not 0.
10562
4f8e368f
VS
105632012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10564
10565 * util/grub-install.in: Fix handling of prefix containing spaces.
10566
6f5d5ee8
VS
105672012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
10570 (grub_squash_read_data): Fix offset byte-swapping.
10571
ce41ab7a
VS
105722012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
10575 per common usage and preffered in several parts of code.
10576 (grub_memcmp): Likewise.
10577 (grub_strncmp): Likewise.
10578 * include/grub/misc.h (grub_strcasecmp): Likewise.
10579 (grub_strncasecmp): Likewise.
10580 * Makefile.util.def (cmp_test): New test.
10581 (grub_script_strcmp): Likewise.
10582 * tests/cmp_unit_test.c: New file.
10583 * tests/grub_script_strcmp.in: Likewise.
10584 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
10585
49717bf4
VS
105862012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 * include/grub/pci.h: Move enums into no-asm part.
10589
0a308f64
VS
105902012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
10593
1796965f
ST
105942012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
10595
10596 * util/getroot.c (find_hurd_root_device): Try to make error message
10597 and comments to translators clearer.
10598
4e9b2819
VS
105992012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
10602
076aeb50
VS
106032012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
10606 btrfs.
10607
19424d94
VS
106082012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10609
10610 * docs/grub.cfg: Update.
10611
ebb73076
VS
106122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 * docs/grub.texi (PXE): Remove not present variables.
10615
9a1b669c
VS
106162012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10617
10618 * grub-core/net/net.c (defserver_set_env): New function.
10619 (defserver_get_env): Likewise.
10620 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
10621
d38bf7d3
VS
106222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
10625 entries.
10626
106272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
10628
10629 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
10630 * grub-core/kern/emu/hostdisk.c: Likewise.
10631
e5e4ca48
ST
106322012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10633
10634 Handle hurd userspace partitions.
10635
10636 * util/getroot.c (find_hurd_root_device): New function.
10637 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
10638
56bb5dd5
VS
106392012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
10642 names.
10643 Reported by: Bastian Blank.
10644
9e8bc27a
VS
106452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10646
10647 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
10648 crossing page boundary.
10649
aa01499d
VS
106502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10651
10652 Fix B-tree search in BFS, especially in presence of non-ASCII
10653 characters.
10654
10655 * grub-core/fs/bfs.c (bfs_strcmp): New function.
10656 (find_in_b_tree): Use standard bsearch + btree algorithm.
10657
57006035
VS
106582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
10661 and so on.
10662
9d34bb85
MG
106632012-05-03 Matthew Garrett <mjg@redhat.com>
106642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 Suspend broadcom cards in order to stop their DMA.
10667
10668 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
10669 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
10670 (pci): Don't build on x86 EFI.
10671 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
10672 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
10673 New function.
10674 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
10675 stop_broadcom if running on EFI.
10676 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
10677 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
10678 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
10679 (grub_pci_find_capability): New proto.
10680
01aab997
VS
106812012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10682
10683 * docs/grub.texi: Remove dot from the extension as it apparently
10684 doesn't work with some makeinfo versions.
10685
fbd8dca6
VS
106862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10687
10688 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
10689 with GRUB expectance.
10690
dab797f4
VS
106912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
10694
1516bfb4
VS
106952012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
10698 zero after directory block since last entry may be not 0-terminated if
10699 it ends on block boundary. Use continue instead of if spanning whole
10700 loop.
10701
a3a0eace
VS
107022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10703
10704 Support 4K sectors UDF inline files.
10705
10706 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
10707 (grub_udf_extended_file_entry): Likewise.
10708 (grub_fshelp_node): Name the anonymous union. Put block at the end.
10709 All users updated.
10710 (get_fshelp_size): New function.
10711 (grub_udf_read_icb): Read whole block.
10712 (grub_udf_iterate_dir): Likewise.
10713 (grub_udf_dir): Likewise.
10714 (grub_udf_open): Likewise.
10715
c82f16c1
VS
107162012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
10719
59fd2aac
VS
107202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
10723 inline symlinks in addition to workaround.
10724
3b4afb4d
VS
107252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
10728
f45c794a
VS
107292012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10730
10731 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
10732
f25cecbd
VS
107332012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
10736
bb9a34e8
VS
107372012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 Fix reiserfs big seek times.
10740
10741 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
10742 exact. All users updated.
10743 (grub_reiserfs_read): Use nearest btree search for seeking.
10744 Fix return value on error.
10745
dc478aea
VS
107462012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
10749 entries.
10750 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
10751 * docs/grub.texi: Update menuentry description.
10752
8db10f47
VS
107532012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
10756 crash when embedding onto filesystem.
10757
bcb288ed
VS
107582012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
10761 name.
10762
a626fdd7
VS
107632012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10764
10765 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
10766
b2f68477
VS
107672012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
10770 commit.
10771
ba15b2af
B
107722012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
107732012-05-01 Bean <bean123ch@gmail.com>
10774
10775 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
10776
a188012e
VS
107772012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
10780 Special behaviour for len = 0 to read whole file isn't used anywhere and
10781 can cause buffer ovewrflows in several places.
10782
f0a53ed2
VS
107832012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
10786
5ed554f0
VS
107872012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10788
10789 Handle RAIDZ on non-512B sectors.
10790
10791 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
10792 max_children_ashift.
10793 (fill_vdev_info_real): Fill max_children_ashift.
10794 (read_device): Use max_children_ashift.
10795
ddc58357
VS
107962012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
10799
e3282399
VS
108002012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10801
10802 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
10803 disk names.
10804 * docs/grub.texi: Update device.map parts.
10805
ee618bd4
VS
108062012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 Don't scan into non-diskfilter devices having diskfilter names.
10809
10810 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
10811 (scan_disk): New argument accept_diskfilter. Fix recursion depth
10812 handling.
10813 (scan_disk_hook): New function.
10814
bdf88864
B
108152012-04-29 Bean <bean123ch@gmail.com>
10816
10817 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
10818 allocation.
10819
32745f51
MK
108202012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
10821
10822 * configure.ac: Detect starfield theme font path
10823 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
10824
bc95c8c0
VS
108252012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
10828 geometry on serial consoles.
10829
147fbcab
VS
108302012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
10833 because of network consoles.
10834
0f42c889
VS
108352012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
10838 handling.
10839
4a3594c9
VS
108402012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10841
10842 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
10843 falls on Q syndrom.
10844
5cb53879
VS
108452012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10846
10847 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
10848 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
10849
b282dfe5
VS
108502012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10851
10852 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
10853 Allocate at lest 8192 for temporary buffer as required for lzo.
10854
daa59f47
VS
108552012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10856
10857 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
10858 to cluster_bits, since it's already added in.
10859 (grub_fat_read_data): Likewise.
10860
986748ce
VS
108612012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
10864 as long as cluster size is multiple of 512 bytes.
10865
a20f6ad0
VS
108662012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10867
10868 * util/grub-mkrescue.in: Fix locale directory.
10869
385f9abb
VS
108702012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10871
10872 * grub-core/kern/emu/hostdisk.c (map): Make static.
10873
1c557d30
B
108742012-04-23 Bean <bean123ch@gmail.com>
10875
10876 * util/grub-fstest.c (fstest): Add missing break.
10877
524b5d3a
ST
108782012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
10879
10880 Fix hurd build.
10881
10882 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
10883 not define nr variable.
fe4824e9 10884 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
10885 find_root_devices_from_poolname, find_root_devices_from_libzfs,
10886 grub_find_device): Do not define.
524b5d3a 10887
9a06490c
VS
108882012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 Fix kfreebsd compile and behaviour.
10891
10892 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
10893 format-security.
10894 * util/getroot.c: Fix wait.h include.
10895 (grub_guess_root_devices): Error if grub_find_device fails.
10896 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
10897 (grub_util_get_dev_abstraction): Likewise.
10898 (grub_util_pull_device): Likewise.
10899 (grub_util_get_grub_dev): Likewise.
10900 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
10901
48143d96
VS
109022012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10903
10904 Fix and unify wholedisk detection.
10905
10906 * util/getroot.c (convert_system_partition_to_system_disk): New argument
10907 is_part. All users updated.
10908 (device_is_wholedisk): Removed.
10909 (grub_util_biosdisk_get_grub_dev): Use is_part.
10910
ebbd24f3
VS
109112012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
10914 mode.
10915
56f7aa1e
VS
109162012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 * configure.ac: Bump to beta4.
10919
9c815e01
VS
109202012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
10923 --fs-uuid --set UUID syntax.
10924
59e2651a
VS
109252012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10926
10927 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
10928 disunification.
10929
54e03cfc
VS
109302012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
10933
81092a75
MK
109342012-04-18 Mads Kiilerich <mads@kiilerich.com>
10935
10936 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
10937
f8315e14
MG
109382012-04-18 Mike Gilbert <floppym@gentoo.org>
10939
10940 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
10941
1501ac21
B
109422012-04-18 Bean <bean123ch@gmail.com>
10943
10944 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
10945 place.
10946
cb7f944e
VS
109472012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
10950 users updated.
10951 (grub_util_biosdisk_read): Handle Linux partitions not exactly
10952 corresponding to GRUB partitions.
10953 (grub_util_biosdisk_write): Likewise.
10954
b72d44a1
VS
109552012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 Scan mdraid before LVM.
10958
10959 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
10960 (grub_diskfilter_register_front): ... this.
10961 (grub_diskfilter_register_back): New function.
10962 All users of grub_diskfilter_register updated.
10963
33d918b8
VS
109642012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10965
10966 * util/grub-install.in: Fix an automatic target detection bug.
10967
c6ca973d
VS
109682012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 * util/grub-install.in: New option --efi-directory.
10971
b41be562
VS
109722012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10973
10974 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
10975 boot services if we have no other choice.
10976
109772012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
10978
10979 * util/grub-mknetdir.in: Rename --override-directory to --directory and
10980 document it.
10981 * tests/util/grub-shell.in: Update to --directory.
10982
e0595a73
VS
109832012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10984
10985 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
10986
4ed80652
VS
109872012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
10990 (grub_minix_read_file): Likewise.
10991 (grub_minix_read_inode): Likewise.
10992 (grub_minix_find_file): Likewise.
10993 (grub_minix_dir): Likewise.
10994
56008077
VS
109952012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * util/grub-setup.c (setup): Fix partition handling and blocklist
10998 check.
10999
ee520775
VS
110002012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
11003 redundant buggy overlap check.
11004
16fc9293
VS
110052012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11006
11007 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
11008 and grub-mknetdir.
11009
9bab65c4
VS
110102012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11011
11012 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
11013 kh.loadflags on pre-2.00 kernels.
11014
3c491b47
VS
110152012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 Terminate UNDI and PXE before launching the payload to avoid problems
11018 with DMA.
11019
11020 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
11021 (grub_loader_flags): ... this. All users updated.
11022 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
11023 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
11024 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
11025 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
11026 function.
11027 (grub_pxe_restore): Likewise.
11028 (fini_hnd): New var.
11029 (GRUB_MOD_INIT): Register shutdown hook.
11030 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
11031 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
11032 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
11033 (grub_loader_set): Rename second argument to flags.
11034
851ffada
VS
110352012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
11038 written bytes.
11039 (grub_get_num_of_utf8_bytes): New function.
11040 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
11041 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
11042 executing it.
11043 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
11044 (grub_ucs4_to_utf8): Change return type.
11045
491c57a8
VS
110462012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11047
11048 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
11049 warning.
851ffada
VS
11050 * grub-core/fs/bfs.c (hop_level): Likewise.
11051 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 11052
756773df
VS
110532012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * grub-core/lib/adler32.c: Recode due to license unclearness.
11056
fd556a96
VS
110572012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11058
11059 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
11060 (test_header): Likewise.
11061
9f9d3f69
VS
110622012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 Fix --help formatting.
11065
11066 * util/grub-mkconfig_lib.in (print_option_help): New function.
11067 (grub_fmt): Likewise.
11068 * util/grub-install.in: Use print_option_help and grub_fmt.
11069 * util/grub-kbdcomp.in: Likewise.
11070 * util/grub-mkconfig.in: Likewise.
11071 * util/grub-mknetdir.in: Likewise.
11072 * util/grub-mkrescue.in: Likewise.
11073 * util/grub-mkstandalone.in: Likewise.
11074 * util/grub-reboot.in: Likewise.
11075 * util/grub-set-default.in: Likewise.
11076 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11077
561ec77e
VS
110782012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
11079
11080 * linguas.sh: Remove autogenerated *.po.
11081
7ec2b021
VS
110822012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11083
11084 * po/README: Move language fetcing to ...
11085 * linguas.sh: ... here.
11086 * po/README: Point to linguas.sh.
11087
a88f3270
VS
110882012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * po/README: Exclude ko.po due to disclaimer problems.
11091
d61357ce
VS
110922012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11093
11094 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
11095 len = 0.
11096 (grub_gettext_translate_real): Handle 0th string.
11097 (grub_gettext_translate): Ensure that "" isn't translated.
11098
505e41dc
VS
110992012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
11102 TRANSLATORS comment.
11103 (grub_diskfilter_print_partmap): Propagate changing of error into
11104 warning.
11105
e44092db
VS
111062012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
11109 to uint64_t to prevent overflow.
11110 (grub_diskfilter_lv): Increase start_extent and extent_count
11111 to uint64_t to prevent overflow.
11112
9b83956a
VS
111132012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11114
11115 * configure.ac: Increase version.
11116
da0d5b3f
VS
111172012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
11120
11121 * po/Rules-translit: New file.
11122 * po/arabic.sed: Likewise.
11123 * po/cyrillic.sed: Likewise.
11124 * po/greek.sed: Likewise.
11125 * po/hebrew.sed: Likewise.
11126 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
11127 * po/Makefile.in.in: Add extra_dist4.
11128
ac66b453
VS
111292012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 Handle big-endian minixfs (fixes minixfs tests on bigendian).
11132
11133 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
11134 modify names. Introduce MODE_BIGENDIAN.
11135 * grub-core/fs/minix_be.c: New file.
11136 * grub-core/fs/minix2_be.c: Likewise
11137 * grub-core/fs/minix3_be.c: Likewise.
11138 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
11139 minix3_be.
11140 * grub-core/Makefile.core.def (minix_be): New module.
11141 (minix2_be): Likewise.
11142 (minix3_be): Likewise.
11143
111442012-04-01 Felix <email@hamburg.de>
11145
11146 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
11147 (devs): Add MBP 2011.
11148
0a2d5a82
VS
111492012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11150
11151 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
11152
d1625889
VS
111532012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 * grub-core/normal/cmdline.c (print_completion): New field
11156 prompt_len.
11157 (grub_cmdline_get): Handle width properly.
11158
6d36a236
VS
111592012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * grub-core/commands/lsacpi.c (options): Add missing terminator.
11162
9576977e
VS
111632012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 11166 after 29th of February.
9576977e 11167
d73ff15d
VS
111682012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11169
11170 Fix exfat endianness handling.
11171
11172 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
11173 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
11174 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
11175 Byte-swap utf16 when necessary.
11176 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
11177
bbb39a45
AB
111782012-03-31 Anton Blanchard <anton@samba.org>
111792012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 Fix btrfs endianness handling.
11182
11183 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
11184 (lower_bound): Make root uint64_t. Use root in le.
11185 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
11186 (find_path): Fix template key init.
11187 (grub_btrfs_dir): Fix mtime byteswap.
11188 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
11189
354e0af7
VS
111902012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
11193 recursion_depth. Break infinite resursions. All users updated.
11194
4e75f21c
VS
111952012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11196
11197 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
11198 after free.
11199 Reported by: Peter Jones.
11200
25581802
AB
112012012-03-31 Anton Blanchard <anton@samba.org>
11202
11203 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
11204 8 bit values.
11205
08fbf92e
VS
112062012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * util/grub-install.in: Fix nvram call for PreP.
11209
5d1182a6
VS
112102012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
11213 the error when some elements are missing into a warning.
11214
3f8cdd90
VS
112152012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11216
11217 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
11218
51006716
CW
112192012-03-28 Colin Watson <cjwatson@ubuntu.com>
11220
11221 * docs/grub.texi (Invoking grub-probe): New section.
11222 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
11223
e1bd676b
VS
112242012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 Fix tab and wide character handling in editor and menu.
11227
11228 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
11229 agglomerate control characters with combining marks.
11230 (bidi_line_wrap): Allow break on tab.
11231 (grub_unicode_get_comb_start): New function.
11232 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
11233 and tab correctly.
11234 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
11235 with a space.
11236 * grub-core/normal/term.c (print_ucs4_terminal): New argument
11237 fixed_tab_size. All users updated.
11238 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
11239 (grub_term_getcharwidth): Handle \t.
11240 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
11241 and copy.
11242
22e6a774
VS
112432012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 Handle big-endian mdraid.
11246
11247 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
11248 * grub-core/Makefile.core.def (mdraid09_be): New module.
11249 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
11250 rather than grub_le_to_cpu* and grub_cpu_to_le*.
11251 * grub-core/disk/mdraid_linux_be.c: New file.
11252
3c0eae66
VS
112532012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11254
11255 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
11256
b6cf74c9
VS
112572012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11260 missing quotes which caused confusion among translators.
11261
83c93b9c
VS
112622012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11263
11264 * util/grub-mkconfig_lib.in: Fix typo.
11265
ac6fd218
VS
112662012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
11269 spaces.
11270 * tests/grub_script_leading_whitespace.in: New file.
11271 * Makefile.util.def (grub_script_leading_whitespace): New test.
11272
ba287dd8
VS
112732012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
11276 to work.
11277
d2d58d0a
VS
112782012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
11281 starts with control character.
11282
0382d9bb
VS
112832012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
11286 overflow.
11287 (grub_gdb_outbuf): Likewise.
11288
d83ff9f9
VS
112892012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
11292 zero terminator. Fixes a crash.
11293
2282da4a
VS
112942012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
11297 beyond 4 GiB.
11298 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
11299 images independently of preffered adderss field.
11300
0ae4f0bd
VS
113012012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
11304 * grub-core/commands/regexp.c: Likewise.
11305 * grub-core/loader/i386/linux.c: Likewise.
11306 * grub-core/partmap/msdos.c: Likewise.
11307 * grub-core/script/execute.c: Likewise.
11308 * grub-core/term/gfxterm.c: Likewise.
11309
546fbe9b
VS
113102012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11311
11312 Add variable parsing in $"..." and fix several mismatches with bash.
11313
11314 * Makefile.util.def (grub_script_gettext): New test.
11315 * grub-core/script/execute.c (parse_string): New function.
11316 (gettext_append): Likewise.
11317 (grub_script_arglist_to_argv): Use gettext_append.
11318 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
11319 * tests/grub_script_gettext.in: New file.
11320
9fdb2d7b
VS
113212012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11322
11323 Fix handling of leading spaces in scripts.
11324
11325 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
11326 spaces.
11327 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
11328 other than skipping \r. All users updated.
11329 * tests/grub_script_echo1.in: Add space-related tests.
11330 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
11331
1a1ac4f6
VS
113322012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11333
11334 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
11335
b63d89b6
VS
113362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11337
11338 * configure.ac: Bump up the version to beta2.
11339
17f38c0f
VS
113402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11341
11342 Fix gettext reload bugs (e.g. inability to disable gettext
11343 once enabled).
11344
11345 * grub-core/gettext/gettext.c: Encapsulate all static variables in
11346 main_context and secondary_context. All functions updated.
11347 (grub_gettext_translate): Rename to ...
11348 (grub_gettext_translate_real): ... this. Return NULL on failed
11349 translate.
11350 (grub_gettext_translate): Handle secondary context.
11351 (grub_gettext_delete_list): Close file and zero-out the context.
11352 (grub_mofile_open): Don't call grub_gettext_delete_list.
11353 Don't close file.
11354 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
11355 if locale="" to avoid pointless error message.
11356 (grub_gettext_env_write_lang): Update lang even if load fails.
11357 Handle secondary context.
11358 (grub_gettext_reread_prefix): New function.
11359 (read_main): Likewise.
11360 (read_secondary): Likewise.
11361 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
11362 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
11363 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
11364 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
11365
8e56f870
VS
113662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * configure.ac: Decrease warning level to avoid spurious warnings and
11369 to be able to compile with GCC 4.2.
11370 * Makefile.util.def: Remove -Wno-error=logical-op.
11371
82f6d455
WB
113722012-03-10 William Bittner <william.bittner@gmail.com>
11373
11374 * util/import_unicode.py: Add missing brackets around string for
11375 python 3 support.
11376
1ecd61a4
VS
113772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 Fix efi chainloader on network root.
11380
11381 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
11382 network devices.
11383 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
11384 New function.
11385
14361ee8
VS
113862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11387
11388 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
11389 unused show_text member.
11390 * docs/grub.texi: Document "text" property.
11391
922aabf3
VS
113922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
11395 in dprintf.
11396
ec316771
VS
113972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11398
11399 Fix IMSM handling on Fedora.
11400
11401 * util/getroot.c (grub_util_is_imsm): New function.
11402 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
11403
0f021838
VS
114042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 * Makefile.am: Strip gold section.
11407 * conf/Makefile.common: Likewise.
11408 * gentpl.py: Likewise.
11409 * grub-core/Makefile.core.def: Likewise.
11410 * grub-core/genmod.sh.in: Likewise.
11411
1039c8eb
VS
114122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
11415 * util/grub.d/20_linux_xen.in: Likewise.
11416 Based on Debian patch.
11417
6dd412cd
VS
114182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 * util/grub.d/10_linux.in: Fix syntax error resulting in
11421 Richard Laager's patch.
11422 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
11423
3fd8bae5
VS
114242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11425
11426 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
11427 dependencies.
11428
7eea1671
RL
114292012-03-10 Richard Laager <rlaager@wiktel.com>
11430
11431 * util/grub.d/10_linux.in: Fix ZFS root passing.
11432
e8e0566b
VS
114332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11436 * grub-core/commands/xnu_uuid.c: Likewise.
11437 * grub-core/loader/efi/appleloader.c: Likewise.
11438 * grub-core/script/execute.c: Likewise.
11439 * grub-core/script/main.c: Likewise.
11440 * util/grub-mkfont.c: Likewise.
11441
1acc5b1f
VS
114422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * util/grub-mkfont.c (options): Use more appropriate "select" that
11445 "set" for face index.
11446
35d70620
VS
114472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 * util/grub-editenv.c (options): Gettextize command summaries.
11450
c9eb96b5
VS
114512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11452
11453 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
11454 "out of memory" error messagge.
11455
1f493136
VS
114562012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
11459 of diskfilter for diskfilter on diskfilter support.
11460
6d790129
VS
114612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
11464
005f46c9
VS
114652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 * util/grub-install.in: Check for themes/starfield/theme.txt and not
11468 themes/starfield.
11469
c8f778a0
VS
114702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
11473
de1e64eb
VS
114742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
11477
c6d54211
VS
114782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
11481 of error message.
11482
dd390777
VS
114832012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
11486
5fd1c522
VS
114872012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11488
11489 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
11490 message.
c6d54211 11491 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 11492
fae01f6c
VS
114932012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
11496 Gettextize.
11497 * util/grub-mount.c (options): Likewise.
11498
292fdaff
VS
114992012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
11502 gettextize.
11503 * grub-core/commands/search_wrap.c (options): Likewise.
11504
ecdbae77
VS
115052012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
11508
52bfedfa
VS
115092012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
11512 size calculation.
11513 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
11514 none is known.
11515
55b20e58
VS
115162012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11517
11518 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
11519 "temporary" since it's used in identifier and is limited in space.
11520
fda9d101
VS
115212012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11522
11523 * po/POTFILES.in: Regenerate. Include *.h since they contain
11524 translatable strings as well.
11525
6a0295e2
VS
115262012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11527
11528 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11529 byte-swap on big-endian.
11530 Reported by: Lennart Sorensen
11531
807fb77c
VS
115322012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
11533
11534 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
11535 (allocate_pages): Improve dprintf.
11536 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
11537 code32_start. Fill code32_start and kernel_alignment in params.
11538 (grub_cmd_initrd): Use prot_init_space.
11539
61ac50ba
VS
115402012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
11543
abdd26dd
VS
115442012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11545
11546 * util/grub-install.in: Add missing dot at the end of sentence.
11547
6e69da9c
VS
115482012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11549
11550 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11551 * grub-core/commands/videotest.c: Likewise.
11552 * grub-core/loader/i386/linux.c: Likewise.
11553
4a929343
VS
115542012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
11557 sentence.
11558 Reported by: Milo Casagrande.
11559
bb51c6c6
VS
115602012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
11563 * grub-core/commands/gptsync.c: Likewise.
11564 * grub-core/commands/hashsum.c: Likewise.
11565 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11566 * grub-core/commands/legacycfg.c: Likewise.
11567 * grub-core/io/gzio.c: Likewise.
11568 * grub-core/net/net.c: Likewise.
11569 * grub-core/term/gfxterm.c: Likewise.
11570 * grub-core/term/terminfo.c: Likewise.
11571 * grub-core/tests/test_blockarg.c: Likewise.
11572 * grub-core/video/video.c: Likewise.
11573 * util/grub-install.in: Likewise.
11574 * util/grub-mkfont.c: Likewise.
11575
b2b149cb
VS
115762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
11579
c7c080ad
VS
115802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11581
11582 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 11583 Reported by: David Prévot.
c7c080ad 11584
f2e243c0
VS
115852012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11586
11587 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
11588 description.
11589
09963c76
VS
115902012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * util/grub-script-check.c (main): Fix a syntax error message which was
11593 unclear.
11594
a50514a8
VS
115952012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
11598
4650daec
VS
115992012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
11602 messages.
11603
116042012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
11605
11606 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
11607 without argument.
11608 * util/grub-mount.c (options): Likewise.
11609
bbc5a342
VS
116102012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11611
11612 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
11613
ef292a87
VS
116142012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11615
11616 * grub-core/net/http.c: Add TRANSLATORS comments.
11617 * grub-core/normal/cmdline.c: Likewise.
11618 * grub-core/normal/misc.c: Likewise.
11619 * grub-core/partmap/msdos.c: Likewise.
11620 * grub-core/parttool/msdospart.c: Likewise.
11621 * grub-core/script/execute.c: Likewise.
11622 * grub-core/script/main.c: Likewise.
11623 * grub-core/term/terminfo.c: Likewise.
11624 * grub-core/video/bitmap.c: Likewise.
11625 * util/grub-install.in: Likewise.
11626 * util/grub-mkimage.c: Likewise.
11627 * util/grub-mklayout.c: Likewise.
11628 * util/grub-setup.c: Likewise.
11629
0fc19bd0
VS
116302012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
11633 with similar messages in grub-fstest.
11634
d95862ef
VS
116352012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11636
11637 * util/grub-install.in: Unify "option requires an argument" message
11638 with similar messages in other files.
11639 * util/grub-mkconfig.in: Likewise.
11640
b7308f90
VS
116412012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11642
11643 * util/grub-set-default.in: Replace printf with gettext_printf (the
11644 string in in question is already translated from grub-reboot)
11645
559dc587
VS
116462012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11647
11648 * configure.ac: Bump up the version to beta1.
11649
1a11761f
VS
116502012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11651
11652 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
11653 case when min_align = 0.
11654
24539abd
VS
116552012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11656
11657 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
11658 and fix a case when line_start overflows.
11659
32bd735b
VS
116602012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11661
11662 * util/grub-reboot.in (usage): Mention id posibility.
11663 * util/grub-set-default.in (usage): Likewise.
11664
1a2fd1e6
VS
116652012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
11668 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
11669 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11670 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11671 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11672 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11673 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11674
90eeab76
VS
116752012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11676
11677 * grub-core/commands/menuentry.c (options): Remove
11678 GRUB_ARG_OPTION_REPEATABLE.
11679 Reported by: Andreas Vogel
11680
5ad1be82
AV
116812012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
11682
11683 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
11684
cb055286
HE
116852012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
11686
11687 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
11688 error.
11689
93b1cd79
VS
116902012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 Use sort -V by the idea of Georgi Georgiev.
11693
11694 * util/grub-mkconfig_lib.in (version_sort): New function.
11695 (version_test_numeric): Use version_sort.
11696
0cdc126c
VS
116972012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11698
11699 Use submenus in grub-mkconfig.
11700
11701 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
11702 * util/grub-mkconfig_lib.in (grub_quote): New function.
11703 (gettext_printf): Use gettext and not gettext_quoted to fix several
11704 messages.
11705 * util/grub.d/10_hurd.in: Use submenus.
11706 * util/grub.d/10_kfreebsd.in: Likewise.
11707 * util/grub.d/10_linux.in: Likewise.
11708 * util/grub.d/10_netbsd.in: Likewise.
11709 * util/grub.d/20_linux_xen.in: Likewise.
11710 * util/grub.d/30_os-prober.in: Likewise.
11711 * util/grub.d/10_illumos.in: Add missing quoting.
11712 * util/grub.d/10_windows.in: Likewise.
11713
d9bef9bc
VS
117142012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 Fix menu title instability bug.
11717
11718 * grub-core/commands/menuentry.c (options): New option --id.
11719 (grub_normal_add_menu_entry): New argument id. All users updated.
11720 (grub_cmd_menuentry): Handle --id.
11721 (grub_menu_init): Accept unknown arguments.
11722 * grub-core/normal/main.c (features): Add feature_menuentry_id and
11723 feature_menuentry_options.
11724 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
11725 saved_entry.
11726 (get_entry_number): Match with id as well.
11727 * include/grub/menu.h (grub_menu_entry): New member id.
11728 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
11729 * util/grub.d/00_header.in: Define menuentry_id_option.
11730 * util/grub.d/10_hurd.in: Define id.
11731 * util/grub.d/10_illumos.in: Likewise.
11732 * util/grub.d/10_kfreebsd.in: Likewise.
11733 * util/grub.d/10_linux.in: Likewise.
11734 * util/grub.d/10_netbsd.in: Likewise.
11735 * util/grub.d/10_windows.in: Likewise.
11736 * util/grub.d/20_linux_xen.in: Likewise.
11737 * util/grub.d/30_os-prober.in: Likewise.
11738
117392012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
11740
11741 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
11742 "scope" with "body".
11743
7c8d0ce7
VS
117442012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
11747 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
11748 prot_size and prot_file_size.
11749
49de079b
VS
117502012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11751
11752 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
11753 All users updated. If easily=1 require raid-5/-6 to be full.
11754 (is_node_readable): Likewise.
11755 (scan_devices): Scan incomplete but readable LVs at the end.
11756 (grub_diskfilter_memberlist): Pull missing devices.
11757 (insert_array): Skip scanning until device is complete or scan is
11758 done otherwise.
11759 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
11760 check.
11761 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
11762 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
11763
aff05d45
MG
117642012-03-03 Matthew Garrett <mjg@redhat.com>
117652012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11766
11767 Avoid EFI boot services when loading Linux.
11768
11769 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
11770 avoid_efi_bootservices. All users updated.
11771 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
11772 argument avoid_efi_bootservices. All users updated.
11773 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
11774 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
11775 align, min_align, relocatable, prefered_address. All users updated.
11776 Allocate avoiding boot services if kernel is relocatable.
11777 (grub_cmd_linux): Check if kernel is relocatable.
11778 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
11779 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
11780 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
11781 avoid_efi_boot_services.
11782 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
11783 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
11784 (linux_kernel_params): Likewise.
11785
3935dde2
MG
117862012-03-03 Matthew Garrett <mjg@redhat.com>
117872012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11788
11789 Use EDID on EFI.
11790
11791 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
11792 datasize_out.
11793 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
11794 modes. Set gop_handle.
11795 (grub_video_gop_get_edid): New function.
11796 (grub_gop_get_preferred_mode): Likewise.
11797 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
11798 (grub_video_efi_gop_adapter): Set .get_edid.
11799 * include/grub/efi/edid.h: New file.
11800 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
11801
32107ec0
VS
118022012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11803
11804 * util/grub-install.in: Load efivars unconditionally.
11805
e70a2c50
VS
118062012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11807
11808 * po/Rules-piglatin: Change suffix from .po-update-en to
11809 .po-update-en-piglatin.
11810
8f9cace1
VS
118112012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11812
11813 Add a pig farm.
11814
11815 * po/piglatin.sed: New file.
11816 * po/en@piglatin.header: Likewise.
11817 * po/Rules-piglatin: Likewise.
11818 * po/README: Add en@piglatin to autogenerated languages.
11819
8f95d002
VS
118202012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
11823 "Command for ...".
11824 * grub-core/commands/hdparm.c (options): Use "Display" rather than
11825 "Check" since we don't check anything.
11826 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
11827 is 64-bit one.
11828 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
11829 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
11830 (grub_md_sha512_real): Likewise.
11831
805a8dcc
VS
118322012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 * grub-core/commands/gptsync.c: Fix typographic quoting.
11835 * grub-core/commands/ieee1275/suspend.c: Likewise.
11836 * grub-core/commands/parttool.c: Likewise.
11837 * grub-core/commands/search_wrap.c: Likewise.
11838 * grub-core/commands/videoinfo.c: Likewise.
11839 * grub-core/gfxmenu/gui_label.c: Likewise.
11840 * grub-core/hello/hello.c: Likewise.
11841 * grub-core/kern/emu/main.c: Likewise.
11842 * grub-core/net/net.c: Likewise.
11843 * grub-core/normal/menu.c: Likewise.
11844 * grub-core/normal/menu_text.c: Likewise.
11845 * grub-core/normal/misc.c: Likewise.
11846 * util/grub-editenv.c: Likewise.
11847 * util/grub-install.in: Likewise.
11848 * util/grub-kbdcomp.in: Likewise.
11849 * util/grub-mkconfig.in: Likewise.
11850 * util/grub-mknetdir.in: Likewise.
11851 * util/grub-mkrescue.in: Likewise.
11852 * util/grub-mkstandalone.in: Likewise.
11853 * util/grub-reboot.in: Likewise.
11854 * util/grub-set-default.in: Likewise.
11855 * util/grub-setup.c: Likewise.
11856 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11857
40211ab8
VS
118582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
11861 * grub-core/commands/keystatus.c: Likewise.
11862 * grub-core/commands/loadenv.c: Likewise.
11863 * grub-core/commands/probe.c: Likewise.
11864 * grub-core/commands/regexp.c: Likewise.
11865 * grub-core/commands/true.c: Likewise.
11866 * grub-core/commands/videoinfo.c: Likewise.
11867 * grub-core/disk/cryptodisk.c: Likewise.
11868 * grub-core/disk/ldm.c: Likewise.
11869 * grub-core/disk/loopback.c: Likewise.
11870 * grub-core/disk/luks.c: Likewise.
11871 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11872 * grub-core/kern/disk.c: Likewise.
11873 * grub-core/kern/emu/hostdisk.c: Likewise.
11874
0c7d99c7
VS
118752012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
11878 * util/grub-install.in: Add missing quote in the comment.
11879
e7d2559b
VS
118802012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
11883 * grub-core/commands/lsmmap.c: Likewise.
11884 * grub-core/commands/minicmd.c: Likewise.
11885 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11886 * grub-core/commands/regexp.c: Likewise.
11887 * grub-core/gdb/gdb.c: Likewise.
11888 * grub-core/term/gfxterm.c: Likewise.
11889 * util/grub-mkconfig.in: Likewise.
11890 * util/grub-mkfont.c: Likewise.
11891 * util/grub-mklayout.c: Likewise.
11892 * util/grub-mknetdir.in: Likewise.
11893 * util/grub-mkrescue.in: Likewise.
11894 * util/grub.d/30_os-prober.in: Likewise.
11895
49ce9e50
VS
118962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11897
11898 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
11899 with "Direct color" and "Packed" with "Packed pixel".
11900 (grub_cmd_videoinfo): Simplify legend.
11901
e4b791fa
VS
119022012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11905 absolutely unclear error message.
11906
fd1265cb
VS
119072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 * util/grub-mkstandalone.in: Remove confusing leftover print.
11910
8822a8a0
VS
119112012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
11914 comments.
11915 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
11916 (GRUB_MOD_INIT): Likewise.
11917 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
11918 VGA mode.
11919 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
11920 comments.
11921 * util/grub-install.in (usage): Likewise.
11922 Spell ID in whole letters.
11923 Add missing ending dot.
11924 Quote variables.
11925 * util/grub-reboot.in: Fix capitalisation.
11926 * util/grub-set-default.in: Likewise.
11927
937fd0cc
VS
119282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
11931 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
11932 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
11933 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
11934 Disable -Werror for -Wdeprecated-declarations.
11935 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
11936 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
11937 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
11938 (grub_util_get_grub_dev): Make luks handling dependent on
11939 HAVE_DEVICE_MAPPER and not __linux__.
11940 (get_win32_path): Fix format security.
11941 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
11942 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
11943 Don't try grub_find_zpool_from_dir.
11944 (grub_make_system_path_relative_to_its_root) [!__linux__]:
11945 #ifdef-out paresdir.
11946
1bab1ae3
VS
119472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * util/grub-pe2elf.c (usage): Add missing noreturn.
11950 (write_section_data): Rename name to shname to avoid shadowing.
11951 (write_symbol_table): Rename name to symname to avoid shadowing.
11952 Fix write_reloc_section call.
11953
ef023e42
VS
119542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11955
11956 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
11957 to ensure that it's after the last byte of .text.
11958
48afcb75
VS
119592012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11960
11961 * util/ieee1275/ofpath.c (my_isdigit): New function.
11962 (trailing_digits): Use my_isdigit.
11963 (strip_trailing_digits): Likewise.
11964
88d51eff
VS
119652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
11968 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
11969
17edc2ba
VS
119702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * grub-core/kern/i386/pc/startup.S: Define __start.
11973
ad5518d7
VS
119742012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11975
11976 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
11977 strip already transforms he format.
11978
9e95e1bf
VS
119792012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
11982
9cc3ee5c
VS
119832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 * util/grub-install.in: Add missing gettext init.
11986 * util/grub-kbdcomp.in: Likewise.
11987 * util/grub-mkconfig.in: Likewise.
11988 * util/grub-mknetdir.in: Likewise.
11989 * util/grub-mkrescue.in: Likewise.
11990 * util/grub-mkstandalone.in: Likewise.
11991 * util/grub-reboot.in: Likewise.
11992 * util/grub-set-default.in: Likewise.
11993 * util/grub.d/00_header.in: Likewise.
11994 * util/grub.d/10_hurd.in: Likewise.
11995 * util/grub.d/10_windows.in: Likewise.
11996 * util/grub.d/30_os-prober.in: Likewise.
11997 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11998
49e08a06
VS
119992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * po/Rules-swiss: Fix header comment.
12002
3809cb41
AV
120032012-02-29 Andreas Vogel <anvoit>
12004
12005 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
12006 resulted in leak of arguments.
12007
fa6ec573
VS
120082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 * grub-core/boot/i386/pc/startup_raw.S: Use separate
12011 reed_solomon_size const definition instead of computing it since
12012 Apple assembler doesn't support the later.
12013
22899b9c
VS
120142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 * gentpl.py (kernel): Rewrite Apple part.
12017
a132afc3
VS
120182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12019
12020 * include/grub/kernel.h (FOR_MODULES): Check module magic.
12021
9d742bd4
VS
120222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 * util/grub-mkimagexx.c (locate_sections): Support non-standard
12025 ELF section gap.
12026 (load_image): Likewise.
12027
f04a9a21
VS
120282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12029
12030 * configure.ac: Fix a typo in previous commit.
12031
46cf439c
VS
120322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12033
12034 Don't add -Wl,-N on Apple platform.
12035
12036 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
12037 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
12038
c4c48c54
VS
120392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12040
12041 * grub-core/Makefile.core.def (lzma_decompress): Use
12042 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
12043
31a12124
VS
120442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 * grub-core/genmod.sh.in: Rewrite the Apple part.
12047
4f3aa1af
VS
120482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12049
12050 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
12051 comparison.
12052
7bd8b0c7
VS
120532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 * acinclude.m4 (grub_CHECK_PIC): New test.
12056 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
12057
97304d7c
VS
120582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
12061 to avoid the warning.
12062
fb883812
VS
120632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12064
12065 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
12066 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
12067 after. All users updated.
12068
a121c964
VS
120692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 Use the common size routine in hostfs so we can read disks as well.
12072
12073 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
12074 (grub_util_get_fd_size): ... this. Return size in bytes.
12075 All users updated.
12076 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
12077 grub_util_get_fd_size.
12078
c66d6410
VS
120792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12080
12081 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
12082 Add blocksize retrieval.
12083
dfc8aeb0
VS
120842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 * configure.ac: Restore CFLAGS after efiemu check.
12087
403e25a5
VS
120882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12089
12090 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
12091 Apple bug.
12092
382775d1
VS
120932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12094
12095 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
12096
6fd4e6e4
VS
120972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
12100 (grub_cmd_halt): Likewise.
12101
bea359d6
VS
121022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12103
12104 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
12105 for local arithmetics.
12106 Break %sp init into 2 instructions.
12107 Add 0 byte at the end.
12108
32eb6ee1
VS
121092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12110
12111 * grub-core/disk/diskfilter.c (read_segment): Initialise err
12112 before loops.
12113
e8377389
VS
121142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
12117 for context.
12118
8cb17de7
VS
121192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 * grub-core/disk/ldm.c (make_vg): Init part.name.
12122 (grub_ldm_detect): Silence spurious warning.
12123 (grub_util_is_ldm): Likewise.
12124
595717e6
VS
121252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12126
12127 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
12128 sane value to avoid a spurious warning.
12129
c4b7e588
VS
121302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12131
12132 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
12133 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
12134
59824957
VS
121352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
12138 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
12139
70115b99
VS
121402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12141
12142 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
12143 hardcoding the relevant info.
12144
56733740
VS
121452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12146
12147 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
12148 missing const qualifiers.
12149 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
12150
43481481
VS
121512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 * util/getroot.c [__APPLE__]: Add missing includes.
12154 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
12155
3cb38f01
VS
121562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * util/grub-mkimage.c (generate_image): Silence spurious warning.
12159
d9dbf11e
VS
121602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
12163 avoid conflicts.
12164
0c42a45d
VS
121652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
12168
46c34eb0
VS
121692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12170
12171 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
12172 and grub_file_close call.
12173
99ce1597
VS
121742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 Add LZSS Mach-O support (needed for new xnu kernelcache).
12177
12178 * grub-core/Makefile.core.def (xnu): Add file lzss.c
12179 * grub-core/loader/lzss.c: New file.
12180 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
12181 on Mach-O open failure.
12182 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
12183 Don't free cmdsXX in uncompressedXX is set.
12184 (grub_macho_file): Init new fields.
12185 New argument is_64bit. All users updated.
12186 Handle compressed. Error out if no suitable architecture is found.
12187 Don't close file.
12188 (grub_macho_open): New argument is_64bit. All users updated.
12189 * grub-core/loader/macho32.c: Add defines for new fields.
12190 * grub-core/loader/macho64.c: Likewise.
12191 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
12192 (grub_macho_parse): Handle compressed.
12193 Defer actual processing if compressed.
12194 (grub_macho_cmds_iterate): Decompress if compressed. New argument
12195 "filename". All users updated.
12196 (grub_macho_size): New argument "filename". All users updated.
12197 (grub_macho_get_entry_point): Likewise.
12198 (grub_macho_load): Handle compressed.
12199 * include/grub/macho.h (grub_macho_lzss_header): New struct.
12200 (GRUB_MACHO_LZSS_OFFSET): New define.
12201 (grub_decompress_lzss): New proto.
12202 * include/grub/machoload.h (grub_macho_file): New fields to handle
12203 compressed.
12204 (grub_macho_contains_macho64): Remove proto.
12205 (grub_macho_contains_macho32): Likewise.
12206 * util/grub.d/30_os-prober.in: Use kernel cache if available.
12207
ebd17d6f
VS
122082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
12211
2702b4e4
VS
122122012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12213
12214 Fix make dist.
12215
12216 * Makefile.am (starfield_theme_files): New var.
12217 (starfield_DATA): Use starfield_theme_files.
12218 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
12219 Add bootcheck-related files.
12220 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
12221 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
12222 and font_char_metrics.txt.
12223 * grub-core/Makefile.core.def (kernel): Update extra_dist.
12224 (setjmp): Add lib/ia64/longjmp.S.
12225 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
12226 * po/POTFILES.in: Regenerate.
12227 * po/Rules-swiss: use DISTFILES.common.extra2 and not
12228 DISTFILES.common.extra1.
12229 * util/devicemap.c: Removed.
12230 * grub-core/lib/i386/relocator_backward.S: Likewise.
12231 * util/import_gcry.py: Remove unused files. Add extra_dist for
12232 ChangeLog.
12233
cf1adfdf
VS
122342012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 * grub-core/gettext/gettext.c (grub_mofile_open): Call
12237 grub_gettext_delete_list before changing grub_gettext_max to avoid
12238 running out of array bounds.
12239
122402012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
12241
12242 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
12243 grub_vga_text_init/grub_vga_text_fini.
12244
cf1adfdf 122452012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
12246
12247 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
12248
541d92e9
VS
122492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * configure.ac: Bump to 2.00~beta0.
12252
7931dddf
VS
122532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
12256 missing initialisation.
12257
f1b16fa3
VS
122582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
12261
83ddae23
VS
122622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 Support v2 xnu boot arguments.
12265
12266 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
12267 New argument fsbfreq_out.
12268 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
12269 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
12270 be used.
12271 * grub-core/loader/machoXX.c (grub_macho_load): New argument
12272 darwin_version.
12273 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
12274 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
12275 (grub_xnu_boot_params): Rename to ...
12276 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
12277 (grub_xnu_boot_params_v2): New struct.
12278
dc693fe6
VS
122792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
12282 zeroing of CRC field before computing CRC.
12283
5a6e39c2
VS
122842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12285
12286 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
12287 Change order of allocations to decrease fragmentation.
12288
6c21f5d7
VS
122892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12290
12291 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
12292
cfe456dc
CW
122932012-02-27 Colin Watson <cjwatson@ubuntu.com>
12294
12295 Use write-combining MTRR to speed up video with buggy BIOSes.
12296
12297 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
12298 (cpuid): New define.
12299 (rdmsr): Likewise.
12300 (wrmsr): Likewise.
12301 (mtrr_base): Likewise.
12302 (mtrr_mask): Likewise.
12303 (grub_vbe_enable_mtrr_entry): New function.
12304 (grub_vbe_enable_mtrr): Likewise.
12305 (grub_vbe_disable_mtrr): Likewise.
12306 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
12307 control off to BIOS.
12308 (grub_video_vbe_init): Fill mtrr.
12309 (grub_video_vbe_fini): Disable mtrr.
12310 (grub_video_vbe_get_info_and_fini): Likewise.
12311 (grub_video_vbe_setup): Enable mtrr.
12312
e3c78337
CW
123132012-02-27 Colin Watson <cjwatson@ubuntu.com>
12314
12315 * include/grub/partition.h (grub_partition_map): Change prototype of
12316 embed to take a maximum value for nsectors.
12317 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
12318 * include/grub/fs.h (grub_fs): Likewise.
12319 * grub-core/partmap/msdos.c (embed_signatures): New array.
12320 (pc_partition_map_embed): Check for and avoid sectors matching any
12321 of the signatures in embed_signatures, up to max_nsectors.
12322 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
12323 returned sector map to max_nsectors.
12324 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
12325 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
12326 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
12327 * util/grub-setup.c (setup): Allow for the embedding area being
12328 split into multiple blocklists. Tell dest_partmap->embed the
12329 maximum number of sectors we care about.
12330
123312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12332
12333 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
12334 Specify blocklist_install and reserver_first_sector for all fs.
12335 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
12336 blocklists.
12337
984b973f
VS
123382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12339
12340 * util/grub-install.in: Clarify strings.
12341 Fix source dir check.
12342
f122e0d6
RL
123432012-02-27 Richard Laager <rlaager@wiktel.com>
12344
12345 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
12346 "zfs" and "fuse.zfs" as synonyms.
12347
071114bb
VS
123482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12349
12350 * configure.ac: Put platform and target_cpu substitutions back since
12351 they are used for directories.
12352
817e6abc
RL
123532012-02-27 Richard Laager <rlaager@wiktel.com>
123542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * util/grub.d/10_linux.in: Add ZFS-related arguments.
12357 * util/grub.d/20_linux_xen.in: Likewise.
12358
897b7419
RL
123592012-02-27 Richard Laager <rlaager@wiktel.com>
12360
12361 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
12362 with full paths.
12363
a414bd15
RL
123642012-02-27 Richard Laager <rlaager@wiktel.com>
12365
12366 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
12367 unescape.
12368
30ac48c4
VS
123692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 Don't use insecure popen in getroot.
12372
12373 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
12374 (exec_pipe): ... here.
12375 (find_root_devices_from_poolname): Use exec_pipe.
12376
53f13848
VS
123772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12378
12379 Remove platform and target_cpu replacement.
12380
12381 * configure.ac: Remove platform and target_cpu substitutions.
12382 * tests/util/grub-shell.in: Use modinfo.
12383 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
12384 explicitly.
12385
90cb2803
VS
123862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 Autodetect platform in grub-install but allow override.
12389
12390 * util/grub-install.in: Autodetect platform. Support --target and
12391 --directory. Read platform from modinfo.sh.
12392
b9136427
VS
123932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 Support btrfs multi-volume probe.
12396
12397 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
12398 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
12399 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
12400 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
12401 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
12402 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
12403 grub_find_root_devices_from_btrfs if on btrfs.
12404
c36e5cd1
VS
124052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 Remove any awareness of *.c util files about target.
12408
12409 * Makefile.util.def (grub-setup): Split to ...
12410 (grub-bios-setup): ... and this.
12411 (grub-sparc64-setup): ... and this.
12412 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
12413 * docs/man/grub-setup.h2m: Split into ...
12414 * docs/man/grub-sparc64-setup.h2m: ... this.
12415 * docs/man/grub-bios-setup.h2m: ... and this.
12416 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
12417 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
12418 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
12419 (grub_target_addr_t): Remove.
12420 (grub_target_size_t): Remove.
12421 (grub_target_ssize_t): Remove.
12422 * util/grub-install.in: Use new grub-*-setup.
12423 * util/grub-mkimagexx.c (Elf_Word): New define.
12424 (Elf_Half): Likewise.
12425 (Elf_Section): Likewise.
12426 (ELF_ST_TYPE): Likewise.
12427 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
12428 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
12429
584b2f8a
VS
124302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 Replace grub_target_addr with more appropriate types.
12433
12434 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
12435 grub_target_addr with grub_addr.
12436 * grub-core/commands/iorw.c (grub_cmd_read): Replace
12437 grub_target_addr with grub_port.
12438 (grub_cmd_write): Likewise.
12439 * grub-core/commands/memrw.c (grub_cmd_read): Replace
12440 grub_target_addr with grub_addr.
12441 (grub_cmd_write): Likewise.
12442 * grub-core/video/efi_uga.c (find_line_len): Likewise.
12443
5a0dc6fb
VS
124442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
12447 const qualifier for vendor_guid.
12448
786aff6e
VS
124492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
12452 const qualifier.
12453 (efiemu_memequal): Likewise.
12454 (find_variable): Likewise.
12455
49017b17
VS
124562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12457
12458 Fix missing console prototype on qemu-mips.
12459
12460 * include/grub/mips/qemu_mips/console.h: New file.
12461
c5988629
MG
124622012-02-27 Matthew Garrett <mjg@redhat.com>
124632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12464
12465 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
12466 * include/grub/efi/efi.h: Likewise.
12467 * include/grub/efi/api.h: Add guid for EFI-specified variables.
12468 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
12469 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
12470 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
12471 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
12472 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
12473
e33f8d69
MG
124742012-02-27 Matthew Garrett <mjg@redhat.com>
12475
12476 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
12477
fb312cd9
VS
124782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12479
12480 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
12481 error.
12482
7134247c
VS
124832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * configure.ac: Remove inappropriate use of program_transform_name
12486 on grubdir and bootdir but allow explicit specification of those
12487 variables.
12488
6a313124
VS
124892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 * util/grub-mknetdir.in (grub_prefix): Removed.
12492 (subdir): Use @bootdirname@ and @grubdirname@.
12493
2311c5ca
VS
124942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
12497
7d5d60f7
VS
124982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12499
12500 * po/POTFILES.in: Regenerated.
12501
8151bc82
VS
125022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12503
12504 Remove improper use of program_transform_name on pkglibrootdir.
12505
12506 * configure.ac (pkglibrootdir): Removed.
12507 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
12508 * util/grub-mkimage.c: Likewise.
12509
b4a6a533
VS
125102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
12513 warning.
12514
668f304f
VS
125152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12516
12517 * util/grub-install.in: Use file identifier if no UUID is available
12518 or user explicitly prompted for it.
12519
665f2341
NP
125202012-02-27 Navdeep Parhar <nparhar@gmail.com>
12521
12522 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
12523 (freebsd_get_zfs): New function.
12524 (grub_freebsd_boot): Pass zfs UUID.
12525 (grub_cmd_freebsd): Set zfs UUID.
12526
8151bc82 125272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
12528
12529 * conf/Makefile.common (platformdir): Base on pkglibdir and not
12530 pkglibrootdir.
12531
e4c498a1
MG
125322012-02-27 Mike Gilbert <floppym@gentoo.org>
12533
12534 Add configure flag to control libzfs integration.
12535
12536 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
12537
1e9a9a3f
VS
125382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
12541 device.
12542 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
12543 small devices.
12544
036985b8
VS
125452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 Remove grub_{modname}_init and grub_{modname}_fini. They should never
12548 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
12549 be used on non-modules.
12550
12551 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
12552 Rename to grub_boot_init.
12553 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
12554 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
12555 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
12556 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
12557 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
12558 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
12559 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
12560 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
12561 includes.
12562 (grub_machine_init): Remove empty inits.
12563 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
12564 includes.
12565 (grub_machine_init): Remove empty inits.
12566 * grub-core/term/arc/console.c: Remove explicit proto.
12567 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
12568 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
12569 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12570 grub_at_keyboard_fini.
12571 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
12572 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
12573 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12574 grub_gfxterm_fini.
12575 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
12576 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
12577 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12578 grub_vgatext_fini.
12579 * grub-core/term/ieee1275/console.c: Remove explicit proto.
12580 * grub-core/term/serial.c (GRUB_MOD_INIT)
12581 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
12582 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12583 grub_serial_fini.
12584 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
12585 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
12586 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12587 grub_terminfo_fini.
12588 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
12589 (GRUB_MOD_FINI): Likewise.
12590 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
12591 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
12592 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12593 grub_video_radeon_fuloong2e_fini.
12594 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
12595 [LOONGSON]: Rename to grub_video_sis315pro_init.
12596 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12597 grub_video_sis315pro_fini.
12598 * grub-core/video/sm712.c (GRUB_MOD_INIT)
12599 [LOONGSON]: Rename to grub_video_sm712_init.
12600 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12601 grub_video_sm712_fini.
12602 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
12603 (grub_at_keyboard_fini): Likewise.
12604 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
12605 Don't declare grub_{modname}_init.
12606 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
12607 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
12608 New proto.
12609 (grub_keylayouts_fini) [!EMU]: Likewise.
12610 * include/grub/serial.h (grub_serial_init) [!EMU]:
12611 New proto.
12612 (grub_serial_fini) [!EMU]: Likewise.
12613 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
12614 New proto.
12615 (grub_terminfo_fini) [!EMU]: Likewise.
12616 * include/grub/video.h (grub_font_init) [!EMU]:
12617 New proto.
12618 (grub_font_fini) [!EMU]: Likewise.
12619 (grub_gfxterm_init) [!EMU]: Likewise.
12620 (grub_gfxterm_fini) [!EMU]: Likewise.
12621 (grub_video_sm712_init) [!EMU]: Likewise.
12622 (grub_video_sm712_fini) [!EMU]: Likewise.
12623 (grub_video_sis315pro_init) [!EMU]: Likewise.
12624 (grub_video_sis315pro_fini) [!EMU]: Likewise.
12625 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
12626 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
12627
d5534665
VS
126282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 Make nand a prefix for nand devices.
12631
12632 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
12633
10133b5f
VS
126342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12635
12636 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
12637 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
12638
8e307a62
VS
126392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12640
12641 * include/grub/env.h (grub_env_find): Remove prototype.
12642 * grub-core/kern/env.c (grub_env_find): Make static.
12643 (grub_env_set): Remove useless set.
12644
a4c65f34
VS
126452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 * grub-core/kern/i386/realmode.S: Remove useless align.
12648
d87893d5
VS
126492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 * include/grub/dl.h (grub_dl_load_file): Don't export.
12652
50159add
VS
126532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
12656 grub_dprintf.
12657
b2582b84
VS
126582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12659
12660 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
12661 grub_errors.
12662 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
12663 not reloading whole superblock but only the part which is really needed.
12664 Remove useless grub_errors.
12665 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
12666 grub_errors.
12667
e2a83395
VS
126682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 Don't export grub_get_rtc.
12671
12672 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
12673 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
12674
e7d2a906
VS
126752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
12678
6cf1363b
VS
126792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 12682 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 12683
eece3349
VS
126842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12685
12686 Remove prio_list.
12687
12688 * include/grub/list.h (grub_prio_list): Removed.
12689 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
12690 GRUB_COMMAND_PRIO_MASK.
12691 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
12692 GRUB_COMMAND_FLAG_ACTIVE.
12693 (grub_prio_list_insert): Removed.
12694 (grub_prio_list_remove): Likewise.
12695 (GRUB_AS_PRIO_LIST): Likewise.
12696 (GRUB_AS_PRIO_LIST_P): Likewise.
12697 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
12698 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
12699 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
12700 * grub-core/kern/command.c (grub_register_command_prio): Inline
12701 the prio_list code.
12702 (grub_unregister_command): Likewise.
12703
94f064b4
VS
127042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12705
12706 Fix interrupt mixup from previous commit.
12707
12708 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
12709 (grub_realidt): New var.
12710 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
12711 Load idt.
12712 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
12713 New declaration.
12714 (grub_relocator16_boot): Set grub_relocator16_idt.
12715 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
12716 (LOCAL(realidt)): ... this.
12717 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
12718 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
12719 (grub_realidt): New variable.
12720
27317084
VS
127212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
12724 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
12725 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
12726 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
12727 Gettextize.
12728 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
12729 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
12730 * po/POTFILES.in: Regenerate.
12731
47b40053
VS
127322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
12735 errors.
12736
2b343101
VS
127372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12738
12739 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
12740 \0.
12741 (add_length): Likewise.
12742
ff27c3dd
LK
127432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
127442012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
12745
12746 GDB serial and backtrace support.
12747
12748 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
12749 (prot_to_real): Likewise.
12750 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
12751 * grub-core/Makefile.core.def (backtrace): New module.
12752 (gdb): Likewise.
12753 * grub-core/gdb/cstub.c: New file.
12754 * grub-core/gdb/gdb.c: Likewise.
12755 * grub-core/gdb/i386/idt.c: Likewise.
12756 * grub-core/gdb/i386/machdep.S: Likewise.
12757 * grub-core/gdb/i386/signal.c: Likewise.
12758 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 12759 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
12760 * include/grub/backtrace.h: Likewise.
12761 * include/grub/gdb.h: Likewise.
12762 * include/grub/i386/gdb.h: Likewise.
12763
127642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
12765
12766 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
12767 New function.
12768 (add_length): Likewise.
12769 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
12770 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
12771 proto.
12772 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
12773 __argp_get_display_len.
12774
ff27c3dd 127752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
12776
12777 $"..." support in scripts.
12778
12779 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
12780 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
12781 * grub-core/script/yylex.l: Likewise.
12782 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
12783 value.
12784
ff27c3dd 127852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
12786
12787 * gentpl.py: Remove obsolete pkglib_DATA handling.
12788
ff27c3dd 127892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
12790
12791 Don't transform PACKAGE_TARNAME following a discussion on autoconf
12792 mailing list.
12793
12794 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
12795 * util/grub-kbdcomp.in: Likewise.
12796 * util/grub-mkconfig.in: Likewise.
12797 * util/grub-mkconfig_lib.in: Likewise.
12798 * util/grub-mknetdir.in: Likewise.
12799 * util/grub-mkrescue.in: Likewise.
12800 * util/grub-mkstandalone.in: Likewise.
12801 * util/grub-reboot.in: Likewise.
12802 * util/grub-set-default.in: Likewise.
12803 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12804
ff27c3dd 128052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
12806
12807 Remove GRUB_PREFIX.
12808
12809 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
12810 * util/grub.d/00_header.in: Compute prefix in the only place it's still
12811 used for backward compatibility.
12812
ff27c3dd 128132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
12814
12815 Add new all_video module.
12816
12817 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
12818 * grub-core/Makefile.core.def (all_video): New module.
12819 * grub-core/genmoddep.awk: Generate dependency of all_video from
12820 video.lst.
12821 * grub-core/lib/fake_module.c: New file.
12822 * grub-core/normal/main.c (features): Add feature_all_video_module.
12823 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
12824 don't do explicit search again.
47454da5 12825 insmod all_video in load_video if available.
22c7ce85 12826
ff27c3dd 128272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
12828
12829 Another round of string clarification and adding TRANSLATORS comments.
12830
ff27c3dd 128312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
12832
12833 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
12834
ff27c3dd 128352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
12836
12837 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
12838 to grub_ssize_t.
12839 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
12840 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
12841
ff27c3dd 128422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
12843
12844 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
12845 trailing newline implicitly. All users updated.
12846
ff27c3dd 128472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
12848
12849 Implement serial on IEEE1275 and EFI.
12850
12851 * docs/grub.texi (Platform-specific limitations): Fix the columen video
12852 on emu. Mention arc and emu as the only platforms without serial
12853 support.
12854 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
12855 ieee1275 platforms.
12856 * grub-core/term/efi/serial.c: New file.
12857 * grub-core/term/ieee1275/serial.c: Likewise.
12858 * grub-core/term/serial.c (grub_serial_find): Disable direct port
12859 specification if no ns8250 driver is available.
12860 (grub_cmd_serial): Likewise.
12861 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
12862 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
12863 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
12864 (grub_efi_parity_type_t): New type.
12865 (grub_efi_stop_bits_t): Likewise.
12866 (grub_efi_serial_io_interface): New struct.
12867 * include/grub/serial.h (grub_serial_port): Make 'broken' field
12868 available for all interfaces.
12869 Add EFI and IEEE1275 fields.
12870 (grub_ofserial_init): New proto.
12871 (grub_efiserial_init): Likeiwse.
12872 * util/grub.d/00_header.in: Don't check for the presence of serial
12873 module.
12874
ff27c3dd 128752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
12876
12877 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
12878 name as if it was an alias.
12879
114076ef
VS
128802012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12881
12882 * grub-core/commands/lsacpi.c (options): Fix typo.
12883
6a656b0e
VS
128842012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12885
12886 Convert grub-emu to argp.
12887
12888 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
12889 emu.
12890 * util/argp_common.c: Rename to ...
12891 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
12892 Add missing includes.
12893 * grub-core/kern/emu/main.c: Convert to argp.
12894 * po/POTFILES.in: Regenerate.
12895 * util/grub-install.in (usage): Make first letter lowcase in messages
12896 for uniformity.
12897 * util/grub-setup.c (options): Likewise.
12898
1e3f8ae8
VS
128992012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12900
12901 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
12902 Put back accidently commented-out code.
12903
ed167a80
VS
129042012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12905
12906 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
12907 loop check using Brent algorithm.
12908 (grub_hfsplus_btree_search): Likewise.
12909
6753c0ec
VS
129102012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12911
12912 * util/grub-install.in: Fix usage of wrong device for PreP install.
12913
4e27343f
VS
129142012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12915
12916 * conf/Makefile.common (CFLAGS_GNULIB): Add
12917 -Wno-unsafe-loop-optimizations.
12918 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
12919 on tools.
12920 * grub-core/commands/legacycfg.c: Add pragma to skip
12921 -Wunsafe-loop-optimizations.
12922 (check_password_md5_real): Fix loop counter type.
12923 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
12924 reading.
12925 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
12926 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
12927 loop condition.
12928 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
12929 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
12930 * grub-core/net/net.c (grub_net_route_address): Add safety loop
12931 condition.
12932 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
12933 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
12934 avoid possible infinite loops.
12935 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
12936 and -Wunsafe-loop-optimizations.
12937 * grub-core/script/yylex.l: Likewise.
12938 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
12939 (print_glyphs): Avoid infinite loops.
12940 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
12941
697f18b0
GS
129422012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
12943
12944 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
12945 to avoid infinite loop.
12946 (disp_acpi_rsdt_table): Likewise.
12947
274416e8
VS
129482012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 * grub-core/font/font.c (grub_font_load): Add support for default
12951 path for fonts ($prefix/fonts).
12952 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
12953 for checking if string is a path.
12954 * grub-core/normal/main.c (features): Add feature_default_font_path.
12955 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
12956 * util/grub.d/00_header.in: Use default directory if possible.
12957 * util/grub-install.in: Install unicode.pf2.
12958
b3e08622
VS
129592012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
12962 * po/Rules-swiss: New file.
12963 * po/swiss.sed: Likewise.
12964
fe42ce09
VS
129652012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12966
12967 * grub-core/fs/btrfs.c (find_device): Fix typos.
12968 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
12969 * util/grub-mkrelpath.c (argp_parser): Likewise.
12970 Reported by: Yuri Chornoivan.
12971
72f1d065
DO
129722012-02-23 Dalet Omega <daletomega@gmail.com>
12973
12974 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
12975 for usual informative messages.
12976
c5884973
DO
129772012-02-23 Dalet Omega <daletomega@gmail.com>
12978
12979 Starfield theme.
12980
12981 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
12982 * conf/Makefile.common: Define starfielddir.
12983 * configure.ac: Configure starfield.
12984 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
12985 * themes/starfield/README: Likewise.
12986 * themes/starfield/blob_w.png: Likewise.
12987 * themes/starfield/boot_menu_c.png: Likewise.
12988 * themes/starfield/boot_menu_e.png: Likewise.
12989 * themes/starfield/boot_menu_n.png: Likewise.
12990 * themes/starfield/boot_menu_ne.png: Likewise.
12991 * themes/starfield/boot_menu_nw.png: Likewise.
12992 * themes/starfield/boot_menu_s.png: Likewise.
12993 * themes/starfield/boot_menu_se.png: Likewise.
12994 * themes/starfield/boot_menu_sw.png: Likewise.
12995 * themes/starfield/boot_menu_w.png: Likewise.
12996 * themes/starfield/slider_c.png: Likewise.
12997 * themes/starfield/slider_n.png: Likewise.
12998 * themes/starfield/slider_s.png: Likewise.
12999 * themes/starfield/src/blob_nw.xcf: Likewise.
13000 * themes/starfield/src/bootmenu/: Likewise.
13001 * themes/starfield/src/bootmenu/center.xcf: Likewise.
13002 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
13003 * themes/starfield/src/bootmenu/side.xcf: Likewise.
13004 * themes/starfield/src/slider_c.xcf: Likewise.
13005 * themes/starfield/src/slider_n.xcf: Likewise.
13006 * themes/starfield/src/slider_s.xcf: Likewise.
13007 * themes/starfield/src/terminalbox/: Likewise.
13008 * themes/starfield/src/terminalbox/center.xcf: Likewise.
13009 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
13010 * themes/starfield/src/terminalbox/side.xcf: Likewise.
13011 * themes/starfield/starfield.png: Likewise.
13012 * themes/starfield/terminal_box_c.png: Likewise.
13013 * themes/starfield/terminal_box_e.png: Likewise.
13014 * themes/starfield/terminal_box_n.png: Likewise.
13015 * themes/starfield/terminal_box_ne.png: Likewise.
13016 * themes/starfield/terminal_box_nw.png: Likewise.
13017 * themes/starfield/terminal_box_s.png: Likewise.
13018 * themes/starfield/terminal_box_se.png: Likewise.
13019 * themes/starfield/terminal_box_sw.png: Likewise.
13020 * themes/starfield/terminal_box_w.png: Likewise.
13021 * themes/starfield/theme.txt: Likewise.
13022
17d73325
VS
130232012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * util/grub.d/00_header.in: Add missing export theme.
13026
dbebaf92
VS
130272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13028
13029 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
13030 already included.
13031 Reported by: Eren D.
13032
3d68bffb
VS
130332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 * conf/Makefile.common (grubdatadir): Removed.
13036 (Makefile.am): Move eveything grubdata to pkgdata.
13037
4b59234d
VS
130382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13039
13040 * grub-core/commands/acpihalt.c (get_sleep_type):
13041 Remove unused variable.
13042
463dcadc
VS
130432012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
13046 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
13047 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
13048 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
13049 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
13050 i18n with gettext no-op.
13051 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
13052 GRUB_ACPI_OPCODE_STRING_CONST.
13053 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
13054 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
13055
e5b90c82
VS
130562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 * po/POTFILES.in: Regenerate.
13059
2a704ca9
VS
130602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
13063 -Wno-error=missing-noreturn.
13064
84f9d341
VS
130652012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13066
13067 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
13068 condition to avoid possibly infinite loops.
13069 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
13070 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
13071
d46683f9
VS
130722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
13075 condition to avoid possibly infinite loops.
13076
c44866b2
VS
130772012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
13080 on show_error.
13081
96790539
VS
130822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13083
13084 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
13085
1ba7e295
VS
130862012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
13089
21ffe8f1
VS
130902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * util/bin2h.c (usage): Add missing attribute noreturn.
13093
0ccb6b3c
VS
130942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
13097 if the size isn't divisible by 512.
13098
b00d7fb6
VS
130992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13100
13101 Make list_push and list_remove functions rather than inline functions
13102 to decrease size and avoid aliasing violations.
13103
13104 * include/grub/list.h (grub_list_push): Move to ...
13105 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
13106 * include/grub/list.h (grub_list_remove): Move to ...
13107 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
13108
9d369087
VS
131092012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13110
13111 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
13112 and -Wunused-result.
13113
af0250d9
VS
131142012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
13117 Reported by: Seth Goldberg
13118
aad32b14
VS
131192012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
13122
ac96441c
ST
131232012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
13124
13125 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
13126 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
13127 command line.
13128 * docs/grub.texi (Simple configuration): Document
13129 GRUB_CMDLINE_GNUMACH.
13130
131312012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
13132
13133 * conf/Makefile.common (platform_SCRIPTS): New variable.
13134 (platform_PROGRAMS): Likewise.
13135 * gentpl.py: Mark *,module and *.image for install.
13136 * grub-core/gdb_grub.in: Add a notice of expected environment.
13137 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
13138 (gmodule.pl): Likewise.
13139
ac96441c 131402012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
13141
13142 Replace grub_checkkey with grub_getkey_noblock.
13143
13144 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
13145 (grub_getkey_noblock): ... this. All users updated.
13146
ac96441c 131472012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
13148
13149 * grub-core/kern/emu/console.c: Move to ...
13150 * grub-core/term/emu/console.c: ...here.
13151 (grub_ncurses_getkey): Fix return value if no key is detected.
13152
e51b5666
VS
131532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13154
13155 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
13156 (grub_unit_test_fini): Likewise.
13157 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
13158
131592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13160
13161 * include/grub/test.h (GRUB_UNIT_TEST)
13162
d9a62292
VS
131632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * grub-core/script/execute.c (grub_script_break): Clarify logic.
13166 Better error handling.
13167 (grub_script_return): Likewise.
13168 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
13169
77c9182f
VS
131702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13171
13172 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
13173 rimplicit redifinition.
13174
edb13cf9
VS
131752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
13178 GRUB.
13179
a9e9dc7c
VS
131802012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
13183 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
13184 prompt here.
13185
b4ba8e02
VS
131862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13187
13188 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
13189 as GRUB_ERR_BUG. Don't malloc if no device is available.
13190
dded5540
VS
131912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13192
13193 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
13194 Mark calling with invalid term as GRUB_ERR_BUG.
13195
0cf69874
VS
131962012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13197
13198 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
13199 packets rather than raising an error.
13200
59bfe502
VS
132012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13202
13203 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
13204 in if.
13205
db5fc596
VS
132062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13207
13208 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
13209 diagnostic to dprintf.
13210 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13211
e4b7f404
VS
132122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13213
13214 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
13215 device name.
13216
e7b02f9e
VS
132172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
13220 (grub_ntfs_iterate_dir): Likewise.
13221
0331e102
VS
132222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 Efiemu stylistic fixes and gettext.
13225
13226 * grub-core/efiemu/i386/loadcore32.c
13227 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
13228 * grub-core/efiemu/i386/loadcore64.c
13229 (grub_arch_efiemu_relocate_symbols64): Likewise.
13230 * grub-core/efiemu/i386/pc/cfgtables.c
13231 (grub_machine_efiemu_init_tables): Likewise.
13232 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
13233 (grub_efiemu_loadcore_initXX): Add a filename argument.
13234 All users updated.
13235 Improved error message.
13236 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
13237 Add a filename argument.
13238 All users updated.
13239 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
13240 Reclassify double relocation as GRUB_ERR_BUG.
13241
306fc074
VS
132422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
13245 handling.
13246
794d8ef2
VS
132472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13248
13249 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
13250 on partition.
13251
132522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
13253
13254 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
13255
794d8ef2 132562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
13257
13258 Improve string. Gettextize.
13259
78dde88e
VS
132602012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
13263 utils.
13264 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
13265
4786a90f
VS
132662012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
13269 [GRUB_UTIL]: New function.
13270 (insert_array) [GRUB_UTIL]: Store partmaps.
13271 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
13272 partmaps.
13273 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
13274 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
13275 (probe_abstraction): Print diskfilter and not raid.
13276 Reported by: Lennart Sorensen
13277
0b6225bd
VS
132782012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
13281 * util/grub-mkimagexx.c (MASK3): New define.
13282 (add_value_to_slot_20b): Use MASK3.
13283 (add_value_to_slot_21): Likewise.
13284 (relocate_addresses): Fix format specification.
13285 (load_image): Explicitly init symtab_section.
13286
b055f8f6
VS
132872012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
13290 (grub_util_biosdisk_get_grub_dev): Fix format specification.
13291
b77c2fb7
VS
132922012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13293
13294 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
13295 on powerpc.
13296 Reported by: Lennart Sorensen
13297
e3ec28ab
VS
132982012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 * gentpl.py: Add missing license header.
13301 * docs/grub.texi: Update copyright year.
13302
c8d9ead6
GS
133032012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
13304
13305 Source grub-mkconfig_lib from the build directory at build time.
13306 Suggested by: Vladimir Serbinenko.
13307
13308 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
13309 * util/grub-install.in: Define pkgdatadir if not already set, and source
13310 grub-mkconfig_lib from there.
13311 * util/grub-kbdcomp.in: Likewise.
13312 * util/grub-mkconfig.in: Likewise.
13313 * util/grub-mknetdir.in: Likewise.
13314 * util/grub-mkrescue.in: Likewise.
13315 * util/grub-mkstandalone.in: Likewise.
13316 * util/grub-reboot.in: Likewise.
13317 * util/grub-set-default.in: Likewise.
13318 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13319
ebcecdf1
VS
133202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 Increase warning level.
13323
13324 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
13325 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
13326 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
13327 (TARGET_CFLAGS): Likewise.
13328 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
13329 * grub-core/Makefile.core.def (decompressor_xz): Add
13330 -Wno-unreachable-code.
13331 (normal): Add -Wno-redundant-decls.
13332 (xzio): Add -Wno-unreachable-code.
13333 (lzopio): Add -Wno-redundant-decls -Wno-error.
13334 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
13335 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
13336 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
13337 * grub-core/kern/dl.c: Add exception to -Wcast-align.
13338 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
13339 * grub-core/kern/i386/coreboot/init.c: Add exception to
13340 -Wsuggest-attribute=noreturn.
13341 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
13342 * grub-core/kern/ia64/dl_helper.c: Likewise.
13343 * grub-core/kern/mips/dl.c: Likewise.
13344 * grub-core/kern/sparc64/dl.c: Likewise.
13345 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
13346 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
13347 (memcmp): Likewise.
13348 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
13349 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
13350 * grub-core/loader/mips/linux.c: Likewise.
13351 * grub-core/loader/multiboot_elfxx.c: Likewise.
13352 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
13353 * grub-core/video/sm712.c: Add exception to -Wcast-align.
13354 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
13355 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
13356 fixme.
13357 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
13358 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
13359 Fix prototype.
13360
37bb97fe
VS
133612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
13364 address.
13365
29a3550b
VS
133662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13369 Avoid improper use of strings.
13370 (grub_cmd_legacy_initrdnounzip): Likewise.
13371
dfdffd0d
VS
133722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13373
13374 * include/grub/emu/misc.h (grub_util_warn): Add missing format
13375 attribute.
13376 (grub_util_info): Likewise.
13377 (grub_util_error): Likewise.
13378
102fae4a
VS
133792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
13382 * util/grub-fstest.c (fstest): Likewise.
13383
7e94d044
VS
133842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
13387 (grub_md_sha512_real): Likewise.
13388 (grub_util_get_geli_uuid): Likewise.
13389 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
13390 (grub_util_biosdisk_open): Fix format specification.
13391 Respect format security.
13392 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
13393 (xrealloc): Likewise.
13394 (xasprintf): Likewise.
13395
5ebd9769
VS
133962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13397
13398 * util/import_gcry.py: Include grub/crypto.h in init.c.
13399
495fc8c1
VS
134002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13401
13402 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
13403 (generate_image): Make prefix a const char *.
13404 Fix format specifications. Respect format security.
13405 Avoid void * arithmetics.
13406 Avoid shadowing.
13407 (argp_parser): Remove unused variable. Respect format security.
13408 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
13409 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
13410 (count_funcs): Remove unused variable.
13411 (relocate_addresses): Fix format specification.
13412 Disable x86-64 with elf32. Remove unused variables.
13413 (add_fixup_entry): Avoid shadowing.
13414 (make_reloc_section): Fix format specification.
13415 Use assert.
13416 (locate_sections): Fix format specifications.
13417 (load_image): Avoid shadowing.
13418
043c2ea3
VS
134192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
13422 Fix format specifications. Respect format security.
13423 Don't translate already translated grub_errmsg.
13424 (argp_parser): Remove unused variable
13425
3ec65a81
VS
134262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13427
13428 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
13429
a4d9fe4a
VS
134302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13431
13432 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
13433 (main): Likewise. Use xmalloc. Respect format security.
13434
15b81d49
VS
134352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13436
13437 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
13438 a const char *.
13439 (argp_parser): Remove unused variable.
13440
31731fc0
VS
134412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
13444 (add_pixel): Make static.
13445 (add_font): Likewise.
13446 (write_string_section): Make name and str a const char *.
13447 (write_be16_section): Make name a const char *.
13448 (print_glyphs): Make static.
13449 (write_font_ascii_bitmap): Likewise.
13450 (write_font_width_spec): Likewise.
13451 (write_font_pf2): Likewise.
13452 (argp_parser): Remove unused variable.
13453 Respect format security.
13454 (main): Avoid shadowing. Respect format security.
13455
0809527b
VS
134562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * util/grub-editenv.c (argp_parser): Make static.
13459 (create_envblk_file): Use xmalloc.
13460 (open_envblk_file): Likewise.
13461 Resepect format security.
13462 (set_variables): Respect format security.
13463
45b0c8b7
VS
134642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * util/getroot.c (grub_find_device): Respect format security.
13467 (get_mdadm_uuid): Remove unused variable.
13468 (grub_util_pull_device): Dont call gettext on already translated
13469 grub_errmsg.
13470 (find_system_device): Remove unused variable.
13471 (grub_util_get_grub_dev): Likewise.
13472 (grub_make_system_path_relative_to_its_root): Respect format security.
13473
1b024b4e
VS
134742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * util/grub-fstest.c (execute_command): Make first argument
13477 a const char *.
13478 (read_file): Avoid shadowing.
13479 Reuse underlying error message if device open fails.
13480 (cmd_cmp): Respect format security.
13481 (root): Make const char *.
13482 (fstest): Remove args argument and use global copy.
13483 Respect format security.
13484 (argp_parser): Make static.
13485 (main): Make default_root const char *.
13486
5d1d4e28
VS
134872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13488
13489 * util/grub-mount.c (root): Make const char *.
13490 (execute_command): Make first argument a const char *.
13491 (fuse_init): Respect format security.
13492 (argp_parser): Make static. Remove unused variable.
13493 (main): Make default_root a const char *.
13494 Respect format security.
13495
36eb7379
VS
134962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13497
13498 * util/grub-probe.c (probe): Don't call gettext on already translated
13499 grub_errmsg.
13500 Remove unused variables.
13501 (argp_parser): Remove unused variable.
13502
76fb2ea9
VS
135032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13504
13505 * util/grub-script-check.c (argp_parser): Remove unused variable.
13506 (main): Rename read to curread to avoid shadowing.
13507
56c98584
VS
135082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13509
13510 * util/misc.c (grub_util_write_image_at): Fix format specification.
13511 (grub_util_write_image): Likewise.
13512 (grub_script_execute_argument_to_string): Removed (unused).
13513 (grub_script_execute_menuentry): Likewise.
13514 (grub_putchar): Likewise.
13515
164ebb48
VS
135162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
13519 (FUNCTION) [GRUB_UTIL]: Likewise.
13520 (VARIABLE) [GRUB_UTIL]: Likewise.
13521
44318d61
VS
135222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13523
13524 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
13525 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
13526
31a26002
VS
135272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13528
13529 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
13530 buffer.
13531
135322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13533
13534 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
13535 (LzmaEnc_SaveState): Removed (unused).
13536 (LzmaEnc_RestoreState): Likewise.
13537 (LzmaEnc_InitPriceTables): Made static.
13538 (LzmaEnc_Construct): Likewise.
13539 (LzmaEnc_FreeLits): Likewise.
13540 (LzmaEnc_Destruct): Likewise.
13541 (LzmaEnc_Init): Likewise.
13542 (LzmaEnc_InitPrices): Likewise.
13543 (LzmaEnc_Finish): Likewise.
13544 (LzmaEnc_PrepareForLzma2): Removed (unused).
13545 (LzmaEnc_MemPrepare): Likewise.
13546 (LzmaEnc_GetNumAvailableBytes): Likewise.
13547 (LzmaEnc_GetCurBuf): Likewise.
13548 (LzmaEnc_CodeOneMemBlock): Likewise.
13549
6fa67967
VS
135502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13551
13552 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
13553 (grub_util_ldm_embed): Likewise.
13554
9a7428e6
VS
135552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 * util/grub-editenv.c (print_var): Rename name to varname to
13558 avoid shadowing.
13559 (main): Rename index to curindex to avoid shadowing.
31a26002 13560 Make filename a const char *.
9a7428e6 13561
4f96abd1
VS
135622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13563
13564 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
13565 to arg_getline to avoid shadowing.
13566
44d10dad
VS
135672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13568
13569 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
13570 disk_ to avoid shadowing.
13571
340ba63e
VS
135722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13573
13574 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
13575 curindex to avoid shadowing.
13576 Make static.
13577 (MatchFinder_GetNumAvailableBytes): Make static.
13578
22965bce
VS
135792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13580
13581 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
13582 avoid shadowing.
13583
7b5784d4
VS
135842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
13587 argument from encrypt to do_encrypt to avoid shadowing.
13588
6f48ca01
VS
135892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
13592 incorrect nesting of #if's.
13593
a4ea2dff
VS
135942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
13597 checks which are always false on some platforms.
13598 (grub_cmd_lsacpi): Likewise.
13599 * grub-core/kern/misc.c (grub_strtoul): Likewise.
13600 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
13601 Likewise.
13602
def9fc1b
VS
136032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13604
13605 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
13606 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
13607
a67b2a04
VS
136082012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
13611 re_dfa_t to avoid breaking alignment invariants.
13612 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
13613 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
13614
44c6828d
VS
136152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
13618 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
13619
bebe0dd0
VS
136202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13621
13622 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
13623 Fix declaration.
13624
a9cdb3cf
VS
136252012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13626
13627 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
13628 conserve alignment invariants.
13629 (grub_ehci_ehcc_read16): Likewise.
13630 (grub_ehci_oper_read32): Likewise.
13631 (grub_ehci_oper_write32): Likewise.
13632 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13633 Conserve alignment invariants.
13634
ccc3b1b8
VS
136352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13636
13637 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
13638 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
13639 declarations.
13640
987fbd95
VS
136412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
13644 Remove unused variable.
13645
0df363f3
VS
136462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
13649 Remove set in if.
13650
b2c0c4a6
VS
136512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13652
13653 * include/grub/net.h: Remove double declarations.
13654
690c531f
VS
136552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13656
13657 Remove "payload" command in ia64 Linux loader since I couldn't
13658 find any evidence of it being used for anything.
13659 Replace "relocate" command with an environment variable
13660
13661 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
13662 fields.
13663 (ia64_boot_payload): Removed.
13664 (last_payload): Likewise.
13665 (RELOCATE_OFF): Likewise.
13666 (RELOCATE_ON): Likewise.
13667 (RELOCATE_FORCE): Likewise.
13668 (relocate): Likewise.
13669 (free_pages): Don't free payloads.
13670 (grub_load_elf64): Use common error messages.
13671 Use "linux_relocate" variable.
13672 Increase the space after boot_params.
13673 (grub_cmd_payload): Removed.
13674 (grub_cmd_relocate): Likewise.
13675 (grub_cmd_fpswa): Improve messages.
13676 (cmd_payload): Removed.
13677 (cmd_relocate): Likewise.
13678 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
13679 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
13680
01783768
VS
136812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 Convert UHCI to DMA framework.
13684
13685 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
13686 (grub_uhci_pci_iter): Fill new members
13687 (grub_alloc_td): Use P2V and V2P functions.
13688 (grub_free_queue): Likewise.
13689 (grub_alloc_qh): Likewise.
13690 (grub_uhci_setup_transfer): Likewise.
13691 (grub_uhci_check_transfer): Likewise.
13692
43206939
VS
136932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
13696 Remove assignment in if while on it.
13697
571e140e
VS
136982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13699
13700 * util/grub-mkstandalone.in: Fix modules directory.
13701
a9d96eeb
VS
137022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13703
13704 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
13705 on i386-pc target.
13706 (argp_parser): Accept "auto" as compression specification.
13707
e4e37e8d
VS
137082012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13709
13710 Fix `help' with unloaded modules.
13711
13712 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
13713 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
13714 (grub_dyncmd_dispatcher): Small stylistic fix.
13715 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
13716 explicit help is requested.
13717
e1ea3ade
VS
137182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13719
13720 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
13721 Explicitly init restart while on it.
13722
27556881
VS
137232012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13724
13725 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
13726 uninited variable.
13727
d65f6b36
VS
137282012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13729
13730 * util/grub-mknetdir.in: Use . rather than source for POSIX
13731 compatibility.
13732
0a1e473c
VS
137332012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13734
13735 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
13736
ce6647c8
VS
137372012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13738
13739 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
13740 variable.
13741
66747894
VS
137422012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13743
13744 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
13745 without quotes.
13746
71645f6e
VS
137472012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
13750
0e1c1f61
VS
137512012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13752
13753 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
13754 iteration of partitions.
13755
9c4b5c13
VS
137562012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13757
13758 Improve gettext support. Stylistic fixes and error handling fixes while
13759 on it.
13760
215c90cb
VS
137612012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13762
13763 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
13764 part. Instead setup the correct stack in RM.
13765 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
13766 for stack.
13767 * include/grub/i386/relocator_private.h: New file.
13768
b5c1f9bf
VS
137692012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
13772 argument.
13773 * util/grub-fstest.c (options): Add missing DEVICE part.
13774
b525fd83
VS
137752012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13776
13777 Clarify and unify messages.
13778
13779 * grub-core/commands/hashsum.c (options): Unify messages.
13780 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
13781 literal-only message as translatable.
13782 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
13783 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
13784 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
13785 commands.
13786 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
13787 key, not the key used to unlock. Clarify what it's used for.
13788 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
13789 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
13790 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
13791 * util/grub-editenv.c (options): Unify "verbose" message.
13792 * util/grub-fstest.c (read_file): Unify error message.
13793 (fstest): Add quotes around commands.
13794 (options): Unify "verbose" message.
13795 * util/grub-install.in: Add quotes around variable name.
13796 * util/grub-kbdcomp.in: Unify error message.
13797 * util/grub-mkfont.c (main): Likewise.
13798 * util/grub-mkrescue.in: Likewise.
13799 * util/grub-mklayout.c (options): Unify "verbose" message.
13800 * util/grub-mkstandalone.in: Unify help and verbose messages.
13801 * util/grub-mount.c (options): Unify "verbose" message.
13802 * util/grub-probe.c (options): Likewise.
13803 * util/grub-script-check.c (options): Likewise.
13804 * util/grub-setup.c (setup): Unify no-terminator message.
13805 (options): Use DEVICE and not DEV.
13806 Unify "verbose" message.
13807 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
13808
0ae70393
VS
138092012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13810
13811 Improve and unify messages.
13812
13813 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
13814 name. All users updated.
13815 Print filename in error.
13816 (read_device_map): Print filename in error.
13817 * util/getroot.c (grub_guess_root_devices): Print filename in error.
13818 (grub_util_get_os_disk): Likewise.
13819 (grub_util_biosdisk_get_grub_dev): Likewise.
13820 (grub_util_check_block_device): Likewise.
13821 (grub_util_check_char_device): Likewise.
13822 (grub_make_system_path_relative_to_its_root): Likewise.
13823 * util/grub-editenv.c (create_envblk_file): Likewise.
13824 (open_envblk_file): Likewise.
13825 (write_envblk): Likewise.
13826 * util/grub-fstest.c (cmd_cp): Likewise.
13827 (cmd_cat): Likewise.
13828 (cmd_cmp): Likewise.
13829 * util/grub-menulst2cfg.c (main): Likewise.
13830 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
13831 (write_font_width_spec): Likewise.
13832 (write_font_pf2): Likewise.
13833 * util/grub-mkimage.c (generate_image): New argument outname.
13834 All users updated.
13835 Remove unreacheable message.
13836 (options): Unify messages.
13837 (help_filter): Likewise.
13838 * util/grub-mklayout.c (usage): Removed (unused).
13839 (main): Print filename in error.
13840 * util/grub-mkrescue.in: Fix wrong quoting.
13841 * util/grub-setup.c (setup): Print filename in error.
13842 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
13843 (check_sas): Likewise.
13844 * util/misc.c (grub_util_get_fp_size): Removed.
13845 (grub_util_get_image_size): Print filename in error.
13846 (grub_util_read_at): Removed.
13847 (grub_util_read_image): Print filename in error.
13848 (grub_util_load_image): Likewise.
13849 (grub_util_write_image_at): New argument filename. All users updated.
13850 Print filename in error.
13851 (grub_util_write_image): New argument filename. All users updated.
13852 Print filename in error.
13853 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
13854 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
13855
0a96117d
VS
138562012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13857
13858 * grub-core/Makefile.core.def (pxechain): New module.
13859 * grub-core/loader/i386/pc/pxechainloader.c: New file.
13860 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
13861 function.
13862 (grub_pc_net_config_real): Use grub_pxe_get_cached.
13863 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
13864
aca002f7
VS
138652012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13866
13867 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
13868 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
13869 * include/grub/err.h (grub_error_saved): New struct.
13870 (grub_errmsg): Make array size explicit.
13871 * include/grub/misc.h (grub_error_save): New function.
13872 (grub_error_load): Likewise.
13873 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
13874 (grub_error_push): Update `errno' member name.
13875 (grub_error_pop): Likewise
13876 * grub-core/net/tftp.c (tftp_data): New member save_err.
13877 (tftp_receive): Save error.
13878 (tftp_open): Restore error.
13879
a51dab13
VS
138802012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13881
13882 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
13883 to real mode down to execute A20-related code in protected mode as
13884 intended.
13885
eb6e6649
GS
138862012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
13887
13888 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
13889 NULL when the argument `level' has an unexpected value.
13890
92cd0f6e
VS
138912012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 Move platform-dependent files from $prefix to $prefix/$platform.
13894
13895 * config.h.in (GRUB_TARGET_CPU): New definition.
13896 (GRUB_PLATFORM): Likewise.
13897 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
13898 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
13899 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13900 * grub-core/kern/dl.c (grub_dl_load): Likewise.
13901 * grub-core/normal/autofs.c (read_fs_list): Likewise.
13902 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
13903 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
13904 * grub-core/normal/term.c (read_terminal_list): Likewise.
13905 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
13906 $prefix/locale.
13907 (grub_gettext_init_ext): Likewise.
13908 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
13909 grub_platform.
13910 * util/grub-install.in: Update directories.
13911 * util/grub-mknetdir.in: Likewise.
13912 * util/grub-mkrescue.in: Likewise.
13913
db606889
VS
139142012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
13917 grub_error framework. All users updated.
13918
c39992a4
VS
139192012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13920
13921 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
13922 lists (by always binsearching), improve caching (cache strings
13923 used for binsearch, not only results), improve
13924 maintainability (by using more structured binary search) and correct
13925 error handling.
13926
1e5ec32f
VS
139272012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13928
13929 * grub-core/script/execute.c (grub_script_return): Fix warning.
13930
ac576cde
VS
139312012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 * grub-core/script/execute.c (grub_script_return): Fix potential
13934 NULL-dereference.
13935 Reported by: Jim Meyering.
13936
498453f6
VS
139372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 * po/POTFILES.in: Regenerate.
13940 * util/grub-install.in: Gettextize the strings missed in first pass.
13941
8be63f2e
VS
139422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 * Makefile.util.def (grub-mkdevicemap): Removed.
13945 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
13946 * include/grub/util/deviceiter.h: Removed.
13947 * util/deviceiter.c: Likewise.
13948 * util/getroot.c (grub_util_get_os_disk): New function.
13949 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
13950 replacement for EFI.
13951 * util/grub-mkdevicemap.c: Removed.
13952 * util/grub-probe.c (probe): Handle PRINT_DISK.
13953 (argp_parser): Handle -t disk.
13954
8e1e4e39
VS
139552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13956
13957 * util/grub-mkfont.c: Migrate to argp.
13958 * util/grub-mklayout.c: Likewise.
13959 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13960 * util/grub-mkrelpath.c: Likewise.
13961 * util/grub-probe.c: Likewise.
13962 * util/grub-script-check.c: Likewise.
13963
4459819a
VS
139642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 * util/grub-reboot.in: Add missing datarootdir.
13967 Add missing newline.
13968 * util/grub-set-default.in: Add missing datarootdir.
13969 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
13970 * util/grub-mkrescue.in: Likewise.
13971
f65741c7
VS
139722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13973
13974 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
13975
c1a33466
VS
139762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13977
13978 * util/grub-kbdcomp.in: Add decent help and gettextize.
13979 * docs/man/grub-kbdcomp.h2m: New file.
13980
c76899a0
VS
139812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 Migrate grub-mkimage.c to argp.
13984
13985 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
13986 (grub-setup): Likewise.
13987 * util/grub-setup.c (print_version): Move to ...
13988 * util/argp_common.c (print_version): ... here.
13989 * util/grub-setup.c (argp_program_version_hook): Move to ...
13990 * util/argp_common.c (argp_program_version_hook): ... here.
13991 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
13992 safety.
13993 * util/grub-mkimage.c (main): Migrate to argp.
13994
57db0757
VS
139952012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 * util/grub-mkrescue.in: Use same message as
13998 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
13999 for better translations.
14000
18534ad9
VS
140012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14002
14003 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
14004 options with generic grub-mkrescue.in with the goal of future
14005 merge.
14006
c84ba308
VS
140072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14008
14009 * grub-core/kern/mm.c: Add missing include of i18n.h
14010 * grub-core/lib/relocator.c: Likewise.
14011
347998c2
VS
140122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14013
14014 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
14015 error.
14016 (allocate_pages): Check return value.
14017 Replace fatal with error.
14018 (grub_linux_boot): Replace printf with dprintf.
14019 Check find_mmap_size return value.
14020 Replace fatal with error.
14021 Don't call grub_machine_fini.
14022 (grub_load_elf64): Replace printf with dprintf.
14023 (grub_cmd_linux): Likewise.
14024 (grub_cmd_initrd): Likewise.
14025 (grub_cmd_payload): Likewise.
14026
c779226e
VS
140272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
14030 message.
14031 * grub-core/video/radeon_fuloong2e.c
14032 (grub_video_radeon_fuloong2e_setup): Likewise.
14033 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
14034 * grub-core/video/video.c (grub_video_set_mode): Don't override
14035 standard out of memory message.
14036
dc87d45a
GS
140372012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14038
14039 NetBSD disk wedge support.
14040
14041 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
14042 [__NetBSD__]: Handle NetBSD disk wedges.
14043 * util/getroot.c (convert_system_partition_to_system_disk)
14044 [__NetBSD__]: Likewise.
14045
055f856f
MW
140462012-02-03 Mark Wooding <mdw@distorted.org.uk>
14047
14048 * util/grub-mkconfig.in: Use umask rather than chmod to create
14049 grub.cfg.new to avoid insecure grub.cfg.
14050
4a9f8346
VS
140512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14052
14053 * grub-core/commands/ls.c: Gettextize.
14054 * grub-core/commands/setpci.c: Likewise.
14055 * grub-core/commands/videotest.c: Likewise.
14056 * grub-core/disk/geli.c: Likewise.
14057 * grub-core/kern/mm.c: Likewise.
14058 * grub-core/lib/relocator.c: Likewise.
14059 * grub-core/loader/efi/appleloader.c: Likewise.
14060 * grub-core/loader/i386/xnu.c: Likewise.
14061 * grub-core/loader/ia64/efi/linux.c: Likewise.
14062 * grub-core/loader/xnu.c: Likewise.
14063 * grub-core/net/dns.c: Likewise.
14064 * grub-core/net/net.c: Likewise.
14065 * grub-core/script/lexer.c: Likewise.
14066 * grub-core/script/parser.y: Likewise.
14067 * grub-core/script/yylex.l: Likewise.
14068 * util/getroot.c: Likewise.
14069 * util/grub-setup.c: Likewise.
14070
a646a366
VS
140712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
14074 number.
14075
54e2be26
VS
140762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14077
14078 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
14079
f7c71e68
VS
140802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
14083 macro.
14084 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
14085 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
14086
a32d5c71
VS
140872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
14090 * util/grub-install.in: Gettextize.
14091 * util/grub-mkconfig.in: Likewise.
14092 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
14093 if not available.
14094 (grub_warn): Gettextize.
14095 * util/grub-mknetdir.in: Gettextize.
14096 * util/grub-mkrescue.in: Likewise.
14097 * util/grub-mkstandalone.in: Likewise.
14098 * util/grub-reboot.in: Likewise.
14099 * util/grub-set-default.in: Likewise.
14100 * util/grub.d/00_header.in: Likewise.
14101 * util/grub.d/10_hurd.in: Likewise.
14102 * util/grub.d/10_kfreebsd.in: Likewise.
14103 * util/grub.d/10_linux.in: Likewise.
14104 * util/grub.d/10_netbsd.in: Likewise.
14105 * util/grub.d/10_windows.in: Likewise.
14106 * util/grub.d/20_linux_xen.in: Likewise.
14107 * util/grub.d/30_os-prober.in: Likewise.
14108 * po/POTFILES-shell.in: Regenerate.
14109
69edd81a
RL
141102012-02-03 Richard Laager <rlaager@wiktel.com>
14111
14112 * util/grub-mkimage.c (main): Fix format-security warning.
14113 * util/grub-mkrelpath.c (main): Likewise.
14114 * util/grub-probe.c (main): Likewise.
14115
65f08dbf
RL
141162012-02-03 Richard Laager <rlaager@wiktel.com>
14117
14118 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
14119 failure.
14120 Put back lost PRINT_DRIVE.
14121
e9084abe
RL
141222012-02-03 Richard Laager <rlaager@wiktel.com>
14123
14124 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
14125 (grub_guess_root_devices): Replace strlen with sizeof.
14126 Avoid crash.
14127 (find_root_devices_from_poolname): Remove unused variable.
14128 Handle raidzN.
14129
cf5f7ee7
VS
141302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14131
14132 Support install on multi-device filesystems.
14133
14134 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
14135 (grub_guess_root_devices): ...this. Return char **. All users updated.
14136 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
14137 Removed.
14138 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
14139 (find_root_devices_from_poolname): ... here.
14140 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
14141 Support zfs-fuse.
14142 (grub_guess_root_device): Rename to ...
14143 (grub_guess_root_devices): ... this. Return char **. All users updated.
14144 * util/grub-install.in: Handle multi-device filesystems.
14145 * util/grub-probe.c (probe). Make device_names a char **. Add delim
14146 argument. All users updated.
14147 Handle multi-device filesystems.
14148 Use 'delim' as separator.
14149 Remove device check to allow filesystems on file.
14150 (main): Support -0 argument. Handle multi-device.
14151 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
14152 Fix a cross-device check while on it.
14153 (arguments): Remove root_dev.
14154 (argp_parser): Remove -r.
14155 (main): Remove root_dev.
14156
2f53a9ed
VS
141572012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14158
14159 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
14160
17e1d934
VS
141612012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
14164 symbol.
14165 Reported by: NODA, Kai <nodakai>.
14166
d3e3fab5
VS
141672012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14168
14169 Fix ehci on amd64.
14170
14171 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
14172 pointers.
14173 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
14174 (grub_ehci_setup_qh): Likewise.
14175 (grub_ehci_find_qh): Likewise.
14176 (grub_ehci_transaction): Likewise.
14177 (grub_ehci_setup_transfer): Likewise.
14178 (grub_ehci_check_transfer): Likewise.
14179 (grub_ehci_portstatus): Likewise.
14180 (grub_ehci_detect_dev): Likewise.
14181 (grub_ehci_transfer_controller_data): New field td_last_phys.
14182 (grub_ehci_setup_transfer): Fill td_last_phys.
14183 (grub_ehci_check_transfer): Use td_last_phys.
14184
3008675b
SG
141852012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
14186
14187 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
14188 if no submenu is present.
14189
fc9b5652
AN
141902012-02-01 Aleš Nesrsta <starous@volny.cz>
14191
14192 CBI support.
14193
14194 * include/grub/usb.h (grub_usbms_protocol_t): New values
14195 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
14196 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
14197 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
14198 (grub_usbms_dev): Add subclass, protocol and intrpt.
14199 Remove in_maxsz and out_maxsz.
14200 (grub_usbms_reset): Rename to ...
14201 (grub_usbms_bo_reset): .. this.
14202 (grub_usbms_cbi_cmd): New function.
14203 (grub_usbms_cbi_reset): Likewise.
14204 (grub_usbms_reset): Likewise.
14205 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
14206 (grub_usbms_transfer): Rename to ...
14207 (grub_usbms_transfer_bo): ... this.
14208 (grub_usbms_transfer_cbi): Likewise.
14209 (grub_usbms_transfer): Likewise.
14210
a2b81d53
AN
142112012-02-01 Aleš Nesrsta <starous@volny.cz>
142122012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
14215 the support for the CS5536 modification thereos and few bugfixes.
14216
14217 * grub-core/Makefile.core.def (ehci): New module.
14218 * grub-core/bus/usb/ehci.c: New file.
14219 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
14220 port and hubaddr. All users updated.
14221 Save port and hubaddr into dev structure.
14222 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
14223 define.
14224 * include/grub/pci.h (grub_dma_phys2virt): New function.
14225 (grub_dma_virt2phys): Likewise.
14226 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
14227
b1d51f02
VS
142282012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
14231 check as some mkfs implementations omit it.
14232
fc694106
VS
142332012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14234
14235 * docs/grub.texi (Unicode): Mention identifier and space limitations.
14236
6c0920e3
VS
142372012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14238
14239 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
14240 Add new member volname2.
14241 (grub_jfs_label): Use volname2 if available.
14242
d1a46f9a
VS
142432012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14244
14245 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
14246 over last_mounted as seen in image generated by mkfs.nilfs2.
14247 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
14248
dec8ed14
VS
142492012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14250
14251 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
14252 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
14253 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
14254
7397c69b
VS
142552012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14256
14257 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
14258 over the sector.
14259
b3fe42ad
VS
142602012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14261
14262 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
14263 subvolume name (by removing a bogus and useless check).
14264
10476bb0
VS
142652012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
14268 sizeof while on it.
14269
9c08ad87
VS
142702012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14271
14272 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
14273 (grub_scsi_read_capacity10): ... this.
14274 (grub_scsi_read_capacity16): New function.
14275 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
14276 0xffffffff.
14277 Fix off-by-one error.
14278 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
14279 64-bit unsigned.
14280 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
14281 (grub_scsi_read_capacity10): ... this.
14282 (grub_scsi_read_capacity_data): Rename to ...
14283 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
14284 (grub_scsi_read_capacity16): New struct.
14285 (grub_scsi_read_capacity16_data): Likewise.
14286 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
14287 grub_scsi_cmd_read_capacity10.
14288 New command grub_scsi_cmd_read_capacity16.
14289
bc8d0f45
VS
142902012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14291
14292 SCSI >2TiB support.
14293
14294 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
14295 (grub_scsi_write16): Likewise.
14296 (grub_scsi_read): Use read16 when necessary.
14297 (grub_scsi_write): Likewise.
14298 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
14299 (grub_scsi_write16): Likewise.
14300 (grub_scsi_cmd_t): Add READ16 and WRITE16.
14301
cc774926
VS
143022012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14303
14304 SCSI write support (for usbms mainly).
14305
14306 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
14307 a const pointer.
14308 (grub_scsi_write): Implement.
14309 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
14310
67639fd7
VS
143112012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14312
14313 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
14314 variable.
14315
9079d3ed
VS
143162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14317
14318 * grub-core/lib/posix_wrap/string.h (memchr): New function.
14319
c6a6f204
VS
143202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14321
14322 * po/POTFILES.in: Regenerate.
14323
ecbf8cd1
VS
143242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14325
14326 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
14327 with grub_printf to avoid unnecessary fatal failure.
14328
0b3b3b38
VS
143292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14330
14331 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
14332 (INT_MAX): Likewise.
14333 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
14334 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
14335 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
14336 (strcpy): Likewise.
14337 (strstr): Likewise.
14338 (strchr): Likewise.
14339 (strncpy): Likewise.
14340 (strcat): Likewise.
14341 (strncat): Likewise.
14342 (strcoll): Likewise.
14343 * include/grub/types.h (GRUB_SHRT_MAX): New define.
14344 (GRUB_INT_MAX): Likewise.
14345
db7337a3
VS
143462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14347
14348 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
14349 unexpected error.
14350 (optimize_utf8): Likewise.
14351 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
14352
f37c87e1
VS
143532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 * grub-core/boot/i386/pc/lnxboot.S: Use
14356 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
14357 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
14358 location.
14359 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
14360 definition.
14361 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
14362
63fe43f3
VS
143632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14364
14365 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
14366 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
14367 now to avoid double free.
14368 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
14369 hostdisk.
14370 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
14371 * util/grub-probe.c (escape_of_path): Always return a new copy.
14372 (print_full_name): Escape path.
14373 (probe): Don't call grub_util_devname_to_ofpath on NULL.
14374 Fix hints on abstractions.
14375
ebe2c961
VS
143762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14377
14378 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
14379 Don't add "root" line if no compatibility hont is available.
14380 Suggested by: Seth Goldberg.
14381
2b5336a2
VS
143822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14383
14384 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
14385 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
14386 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
14387 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
14388
74310bd8
VS
143892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14390
14391 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
14392
c30582ba
VS
143932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14394
14395 * util/grub-pe2elf.c (ehdr): Make static.
14396 (shdr): Likewise.
14397 (num_sections): Likewise.
14398 (offset): Likewise.
14399
5f47782c
VS
144002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14401
14402 Eliminate ofpath limits and possible overflows.
14403
14404 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
14405 (OF_PATH_MAX): Removed.
14406 (MAX_DISK_CAT): New const.
14407 (find_obppath): Use allocated rather than preallocated buffer.
14408 Return result. Argument of_path removed. All users updated.
14409 Add missing fdstat.
14410 (xrealpath): New function.
14411 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
14412 Allocate rather than use preallocated buffer. All users updated.
14413 (__of_path_common): Use allocated rather than preallocatecd buffer.
14414 Return result. Argument of_path removed. All users updated.
14415 (vendor_is_ATA): Read only needed part form the file.
14416 (check_sas): Allocate depending on contents rather than fixed.
14417 (main) [STANDALONE]: Handle NULL result.
14418
f990cbf9
VS
144192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14420
14421 * grub-core/normal/completion.c (iterate_dev): Close the disk.
14422
9c6e84b8
VS
144232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14424
14425 Cryptodisk write support.
14426
14427 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
14428 (grub_cryptodisk_decrypt): Moved logic to ...
14429 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
14430 (grub_cryptodisk_write): Implement.
14431 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
14432 (grub_util_fd_write): ... this. Make global.
14433 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
14434
87cf9744
VS
144352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 * include/grub/list.h (grub_list_remove): Don't crash if element is
14438 removed twice.
14439
ca8c0baf
VS
144402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14441
14442 Rename ofconsole to console.
14443
14444 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
14445 as sysnonym to console.
14446 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
14447 * grub-core/term/ieee1275/console.c: ... this. All users updated.
14448 Rename grub_ofconsole_ to grub_console_. All users updated
14449 (grub_console_term_output): Rename "ofconsole" to "console".
14450 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
14451 as "console".
14452
64c8b8f6
VS
144532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14454
14455 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
14456 handling.
14457 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
14458 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
14459 GRUB_DISK_DEVICE_FILE_ID.
14460
f6c434d5
VS
144612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14462
14463 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
14464 and improve performance.
14465
5858b42d
VS
144662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14467
14468 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
14469 missing ieee1275/ prefix on whole disk.
14470
4ed3c26b
VS
144712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14472
14473 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
14474 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
14475
df71143e
VS
144762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14477
14478 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
14479
076e7c0f
VS
144802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14481
14482 Merge common RAID and LVM logic to an abstract diskfilter.
14483 Add LDM support using the same framework.
14484
14485 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
14486 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
14487 (libgrubmods): Remove grub-core/disk/raid.c and
14488 grub-core/partmap/gpt.c.
14489 * grub-core/Makefile.core.def (ldm): New module.
14490 (raid): Renamed to diskfilter. All users updated.
14491 * grub-core/disk/raid.c: Moved to ...
14492 * grub-core/disk/diskfilter.c: ... here.
14493 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
14494 (lv_num): New var.
14495 (find_array): Renamed to ...
14496 (find_lv): ... this. Support multi-LV. Skip nameless LVs
14497 (grub_is_array_readable): Renamed to ...
14498 (grub_is_lv_readable): ... this. Support multinode hierarchy.
14499 (insert_array): New argument id.
14500 (is_node_readable): New function.
14501 (scan_device): Rename to ...
14502 (scan_disk): .. this. Restrict to one disk.
14503 (scan_devices): New function.
14504 (grub_diskfilter_iterate): Support multi-LV.
14505 Skip invisible and nameless LVs.
14506 (grub_diskfilter_memberlist): Support multi-LV.
14507 (grub_diskfilter_read_node): New function.
14508 (grub_raid_read): Most of logic moved to ...
14509 (read_segment): ... here
14510 (read_lv): New function.
14511 (grub_diskfilter_get_vg_by_uuid): New function.
14512 (grub_diskfilter_make_raid): Likewise.
14513 * grub-core/disk/ldm.c: New file.
14514 * grub-core/disk/lvm.c (vg_list): Removed.
14515 (lv_count): Likewise.
14516 (scan_depth): Likewise.
14517 (is_lv_readable): Likewise.
14518 (grub_lvm_getvalue): Advance pointer past the number.
14519 (find_lv): Removed.
14520 (do_lvm_scan): Refactored into ...
14521 (grub_lvm_detect): ... this. Support raid.
14522 (grub_lvm_iterate): Removed.
14523 (grub_lvm_memberlist): Likewise.
14524 (grub_lvm_open): Likewise.
14525 (grub_lvm_close): Likewise.
14526 (read_lv): Likewise.
14527 (read_node): Likewise.
14528 (is_node_readable): Likewise.
14529 (is_lv_readable): Likewise.
14530 (grub_lvm_read): Likewise.
14531 (grub_lvm_write): Likewise.
14532 (grub_lvm_dev): Use diskfilter
14533 (GRUB_MOD_INIT): Likewise.
14534 (GRUB_MOD_FINI): Likewise.
14535 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
14536 new interface.
14537 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
14538 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14539 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
14540 grub_diskfilter_read_node.
14541 Fix a bug with xor.
14542 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
14543 grub_diskfilter_read_node.
14544 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
14545 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
14546 (grub_disk_dev_iterate): Move from here...
14547 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
14548 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
14549 Make global.
14550 (grub_hostdisk_find_partition_start): Likewise.
14551 (grub_hostdisk_os_dev_to_grub_drive): New function.
14552 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
14553 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
14554 * util/getroot.c (make_device_name): ... here.
14555 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
14556 Move to ...
14557 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
14558 * grub-core/kern/emu/hostdisk.c
14559 (convert_system_partition_to_system_disk): Move to ...
14560 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
14561 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
14562 * util/getroot.c (device_is_wholedisk): ... here.
14563 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
14564 * util/getroot.c (find_system_device): ... here.
14565 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
14566 Move to ...
14567 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
14568 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14569 Move to ...
14570 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
14571 Handle LDM.
14572 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14573 Move to ...
14574 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
14575 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
14576 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
14577 DISKFILTER.
14578 * include/grub/raid.h: Renamed to ...
14579 * include/grub/diskfilter.h: ... this.
14580 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
14581 (GRUB_RAID_LAYOUT_*): Make into array.
14582 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
14583 (grub_diskfilter_vg): New struct.
14584 (grub_diskfilter_pv_id): Likewise.
14585 (grub_raid_member): Removed.
14586 (grub_raid_array): Likewise.
14587 (grub_diskfilter_pv): New struct.
14588 (grub_diskfilter_lv): Likewise.
14589 (grub_diskfilter_segment): Likewise.
14590 (grub_diskfilter_node): Likewise.
14591 (grub_diskfilter_get_vg_by_uuid): New proto.
14592 (grub_raid_register): Inline.
14593 (grub_diskfilter_unregister): Likewise.
14594 (grub_diskfilter_make_raid): New proto.
14595 (grub_diskfilter_vg_register): Likewise.
14596 (grub_diskfilter_read_node): Likewise.
14597 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
14598 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
14599 (grub_util_is_ldm): Likewise.
14600 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
14601 (grub_hostdisk_find_partition_start): Likewise.
14602 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
14603 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
14604 New definition.
14605 (grub_gpt_partition_map_iterate): New proto.
14606 * include/grub/lvm.h (grub_lvm_vg): Removed.
14607 (grub_lvm_pv): Likewise.
14608 (grub_lvm_lv): Likewise.
14609 (grub_lvm_segment): Likewise.
14610 (grub_lvm_node): Likewise.
14611 * util/getroot.c [...]
14612 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
14613 (probe_abstraction): Likewise.
14614 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
14615 (main): Remove dead logic.
14616
8a7f9b9c
VS
146172012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
14618
14619 Simplify root device discover and don't fail when trying to open
14620 incorrect devices.
14621
14622 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
14623 function.
14624 (get_diskname_from_path): Likewise.
14625 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
14626 of iterating.
14627
30545b85
VS
146282012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14629
14630 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
14631
28ea58cf
VS
146322012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
14635 pastthe end.
14636
692dabca
VS
146372012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14638
14639 * util/grub-install.in: Add missing \.
14640 Reported by: gentoofan
14641
f6e4ea70
VS
146422012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
14645 (direct_read): Use correct compressed size.
14646 (grub_squash_read_data): Likewise.
14647
146482012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
14649
14650 * docs/grub.texi (Platform limitations): New section.
14651 (Platform-specific operations): Likewise.
14652 * docs/grub-dev.texi (Porting): Likewise.
14653
76261110
VS
146542012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14655
14656 IEEE1275 disk write support.
14657
14658 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
14659 const void *.
14660 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
14661 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
14662 and seek loginc to ...
14663 (grub_ofdisk_prepare): ... here.
14664 (grub_ofdisk_write): Implement.
14665
fc36d603
VS
146662012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14667
14668 ARC disk write support.
14669
14670 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
14671 (reopen): New argument writable. All users updated.
14672 Handle required access mode.
14673 (grub_arcdisk_write): Implement.
14674 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
14675 (grub_arc_firmware_vector): Make buffer to write a const buffer.
14676
e06c2e7a
VS
146772012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14678
14679 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
14680 (read_sblock): Don't attempt to read superblocks outside the disk size.
14681
ff447958
VS
146822012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14683
14684 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
14685 first superblock to find the second one when possible.
14686
9e88df39
VS
146872012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14688
14689 * util/grub-install.in: Fix an ARC bug.
14690 Print a warning if no platform-specific setup is available.
14691
bb26e4ff
VS
146922012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14693
14694 Use static allocation rather than scratch pointer in reed_solomon.
14695 It decreases its size significantly and avoids a variable in .text.
14696
14697 * grub-core/lib/reed_solomon.c (scratch): Removed.
14698 (chosenstat): New const or static array.
14699 (sigma): Likewise.
14700 (errpot): Likewise.
14701 (errpos): Likewise.
14702 (sy): Likewise.
14703 (mstat): Likewise.
14704 (errvals): Likewise.
14705 (eqstat): Likewise.
14706 (pol_evaluate): Replace x with log_x argument. All users updated.
14707 (syndroms): Removed.
14708 (gauss_solve): Use statically allocated arrays.
14709 (rs_recover): Likewise.
14710 Calculate syndroms directly.
14711 (decode_block): Use statically allocated arrays.
14712 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
14713 (main) [TEST]: Allow -DTEST -DSTANDALONE.
14714
2e13ede5
VS
147152012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14716
14717 Eliminate fixed limit on reed solomon decoder length.
14718
14719 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
14720 rather than hardcoding the address.
14721 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
14722 no_reed_solomon_length.
14723 Move gate_a20 to no-reed-solomon part.
14724 Don't force a particular size of no reed-solomon part.
14725 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14726 Removed.
14727 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
14728 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
14729
f8a9ab12
VS
147302012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 * grub-core/commands/wildcard.c (match_files): Handle filenames
14733 without explicit device.
14734 (wildcard_expand): Don't add explicit device if not already present.
14735 * tests/grub_script_echo1.in: Add a new expansion test.
14736
87edb894
VS
147372012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14738
14739 Replace single-linked with double-linked lists. It results in more
14740 compact and more efficient code.
14741
14742 * grub-core/kern/list.c (grub_list_push): Moved from here ...
14743 * include/grub/list.h (grub_list_push): ... to here. Set prev.
14744 (grub_list_remove): Moved from here ...
14745 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
14746 (grub_prio_list_insert): Set prev.
14747 * include/grub/list.h (grub_list): Add prev. All users updated.
14748
48b391e9
VS
147492012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14750
14751 Handle newer autotools. Add some missing quotes while on it.
14752
14753 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
14754 (pkglib_DATA): Move grub-mkconfig_lib from here ...
14755 (pkgdata_DATA): ... here.
14756 * Makefile.util.def (update-grub_lib): Removed.
14757 * conf/Makefile.common (pkglib_DATA): Removed.
14758 (pkglib_SCRIPTS): Likewise.
14759 (pkgdata_DATA): New variable.
14760 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
14761 needed.
14762 Add missing quotes.
14763 Remove unused variable while on it.
14764 * tests/util/grub-shell.in: Likewise.
14765 * util/grub-install.in: Likewise.
14766 * util/grub-mkconfig.in: Likewise.
14767 * util/grub-mknetdir.in: Likewise.
14768 * util/grub-mkrescue.in: Likewise.
14769 * util/grub-mkstandalone.in: Likewise.
14770 * util/grub.d/00_header.in: Likewise.
14771 * util/grub.d/10_hurd.in: Likewise.
14772 * util/grub.d/10_illumos.in: Likewise.
14773 * util/grub.d/10_kfreebsd.in: Likewise.
14774 * util/grub.d/10_linux.in: Likewise.
14775 * util/grub.d/10_netbsd.in: Likewise.
14776 * util/grub.d/10_windows.in: Likewise.
14777 * util/grub.d/20_linux_xen.in: Likewise.
14778 * util/grub.d/30_os-prober.in: Likewise.
14779 * util/update-grub_lib.in: Removed.
14780
147812012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
14782
14783 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
14784 a workaround for intel problem.
14785
66832792
PRP
147862012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
147872012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
147882012-01-23 pfsmorigo
14789
14790 * util/grub-install.in: Support dd'in into PreP partition.
14791 * util/grub-probe.c (probe): Support discovering partition type.
14792 (main): Support -t msdos_parttype.
14793
7816a17e
VS
147942012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14795
14796 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
14797 infinite recursion using counter.
14798 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
14799 init to skip it if the magic check fails.
14800 (dec_stream_header): Init s->crc32.
14801
8f9d3a8c
ZB
148022012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
148032012-01-22 Zachary Bedell <pendorbound@gmail.com>
148042012-01-22 Richard Laager <rlaager@wiktel.com>
14805
14806 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
14807 All users updated.
14808 (find_bestub): Determine correct size.
14809 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
14810 (scan_disk): Align the size down.
14811 Call check pool before find_bestub to have ashift.
14812
b055dd32
VS
148132012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
14816 dprintf in no-malloc zone.
14817
d779e9bd
ML
148182012-01-22 Mario Limonciello <mario_limonciello@dell.com>
14819
14820 * configure.ac: Add back in test for limits.h.
14821
b508af69
VS
148222012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14823
14824 Support 4K-sector NTFS.
14825
14826 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
14827 (grub_ntfs_data): Remove blocksize.
14828 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
14829 Remove data argument. All users updated.
14830
dad9c8b5
VS
148312012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14832
14833 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
14834 being in .text to avoid dprel references.
14835 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
14836 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
14837 (grub_arch_highmemsize): Likewise.
14838 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
14839 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
14840 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
14841
d43a777e
VS
148422012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14843
14844 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
14845
14846 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
14847 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
14848
34e4208f
VS
148492012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14850
14851 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
14852 GRUB_UTIL.
14853 (grub_set_datetime_cmos): Likewise.
14854
3ec0fc1c
VS
148552012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 Make XZ compression parameters dependent on target and not host CPU.
14858
14859 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
14860 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
14861
22489834
VS
148622012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14863
14864 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
14865 set but not used variable.
14866
8502fbca
VS
148672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14868
14869 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
14870 created when no uuid support is compiled into mkfs.reiser.
14871
76df2068
VS
148722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14873
14874 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
14875 (utf8_to_macroman): Do the opposite.
14876 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
14877
64e3f8f6
VS
148782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14879
14880 * configure.ac: Refise build qemu_mips w/o unifont.
14881
9c271078
VS
148822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14883
14884 Eliminate grub_min/grub_max prone to overflow usage.
14885
14886 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
14887 (poll_nonroot_hub): Likewise.
14888 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
14889 (grub_affs_label): Likewise.
14890 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
14891 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
14892 (grub_hfs_label): Likewise.
14893 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
14894 * grub-core/fs/zfs/zfs.c (MIN): Remove.
14895 (zap_leaf_array_equal): Use grub_size. Remove MIN.
14896 (zap_leaf_array_get): Likewise.
14897 (dnode_get_path): Likewise.
14898 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
14899 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
14900 * grub-core/script/execute.c (grub_script_break): Likewise.
14901 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
14902 grub_max.
14903 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
14904 * include/grub/misc.h (grub_min): Removed.
14905 (grub_max): Likewise.
14906
80662dbc
VS
149072012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14908
14909 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
14910 direct.inode = 0.
14911
e6da1467
VS
149122012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
14915
b1ac4cb1
VS
149162012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14917
14918 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
14919
b4bf7c3b
VS
149202012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14921
14922 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
14923 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
14924
8ee1101a
VS
149252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14926
14927 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
14928 rather than a hack for grub_strncasemap.
14929
149302012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14931
14932 Support multiple initrds
14933 Note: part of this was accidently committed in r3739.
14934
14935 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
14936 initrd.
14937 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
14938 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
14939 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14940 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14941 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14942
4d1e2bc9
VS
149432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14944
14945 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
14946 disks with unknown size.
14947 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
14948
75b49ebe
VS
149492012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14950
14951 Remove defines pertaining to arbitrary limits not affecting GRUB
14952 anymore.
14953
14954 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
14955 (EXT2_MAX_SYMLINKCNT): Likewise.
14956 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
14957 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
14958 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
14959 (GRUB_PXE_MAX_BLKSIZE): Likewise.
14960 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
14961 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
14962 (DN_MAX_OBJECT_SHIFT): Likewise.
14963 (DN_MAX_OFFSET_SHIFT): Likewise.
14964 (DN_MAX_OBJECT): Likewise.
14965 (DNODES_PER_LEVEL_SHIFT): Likewise.
14966 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
14967 (SPA_MAXBLOCKSIZE): Likewise.
14968 (SPA_BLOCKSIZES): Likewise.
14969 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
14970 (MZAP_MAX_BLKSZ): Likewise.
14971
74a1dce7
VS
149722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
14975 handle NULL appropriately.
14976 Remove MIN.
14977
30c7d3ce
VS
149782012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14979
14980 Fix efiemu.
14981
14982 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
14983 cpu/types.h.
14984 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
14985 * configure.ac: Fix efiemu check.
14986
3c76ea0c
VS
149872012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14988
14989 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
14990 grub_probe.
14991 Reported by: adamwill
14992
7e532280
SG
149932012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
14994
14995 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
14996
30492374
VS
149972012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14998
14999 Fix handling of wide characters in gfxterm.
15000
15001 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
15002 (clear_char): Likewise.
15003 (paint_char): Skip code == NULL chars.
15004 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
15005
e70cb72f
VS
150062012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15007
15008 * grub-core/normal/charset.c: Move comment to right place.
15009
5c827cf9
VS
150102012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
15013 (GRUB_AFFS_FLAG_FFS): Put back where it was.
15014 (grub_affs_mount): Revert the correct version checking.
15015
53603892
VS
150162012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15017
15018 * docs/grub.texi (Unicode): Mention several other unsupported features.
15019
ff094b9b
VS
150202011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15021
15022 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
15023 case statements as compile-time one.
15024 (direct_read): Prevent spurious warnings.
15025 (grub_squash_read_data): Likewise.
15026
c029da8a
VS
150272011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15028
15029 Various squash4 fixes and LZO and XZ support.
15030
15031 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
15032 Add xzembed source files.
15033 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
15034 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
15035 (grub_squash_inode): New subtype long_dir.
15036 (SQUASH_TYPE_LONG_DIR): New inode type.
15037 (COMPRESSION): New enum.
15038 (XZBUFSIZ): New const.
15039 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
15040 (read_chunk): Use data->decompress.
15041 (zlib_decompress): New function.
15042 (lzo_decompress): Likewise.
15043 (xz_decompress): Likewise.
15044 (squash_mount): Set new data fields.
15045 (grub_squash_iterate_dir): Handle long dir.
15046 (squash_unmount): Free xzdec and xzbuf.
15047 (grub_squash_open): Check ino type.
15048 (direct_read): Stylistic fixes. Use data->decompress.
15049 (grub_squash_read_data): Likewise.
15050 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
15051 (get_byte): Likewise.
15052 (grub_zlib_disk_read): Removed.
15053 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
15054 (GRUB_POSIX_BOOL_DEFINED): New define.
15055 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
15056 * grub-core/lib/xzembed/xz.h: Addmissing includes.
15057 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
15058 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
15059
7a45a539
VS
150602011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15061
15062 Don't override more informative errors.
15063
15064 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
15065 * grub-core/font/font.c (open_section): Likewise.
15066 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
15067 filename. Don't override errors.
15068 (grub_cmd_openbsd_ramdisk): Don't override errors.
15069 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
15070 (grub_cmd_initrd): Likewise.
15071 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15072 (grub_cmd_initrd): Likewise.
15073 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
15074 (grub_cmd_linux): Likewise.
15075 (grub_cmd_initrd): Likewise.
15076 (grub_cmd_payload): Likewise.
15077 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
15078 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
15079 (grub_cmd_module): Likewise.
15080 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
15081 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
15082 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
15083 (grub_cmd_xnu_mkext): Likewise.
15084 (grub_cmd_xnu_ramdisk): Likewise.
15085 (grub_xnu_check_os_bundle_required): Likewise.
15086 (grub_xnu_load_kext_from_dir): Likewise.
15087 (grub_cmd_xnu_kextdir): Likewise.
15088 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
15089
b2d004db
VS
150902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15091
15092 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
15093 as 1024 in block size field. Found on one of my test images.
15094 Small optimisation while on it.
15095
ec000eac
VS
150962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15097
15098 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
15099 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
15100 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
15101 performance fixes while on it.
15102 (grub_sfs_close): Fix memory leak while on it.
15103 (grub_sfs_label): Convert Latin1 to UTF-8.
15104
f50e1165
VS
151052011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15106
15107 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
15108 space to avoid overflows.
15109 (grub_hfs_label): Convert from macroman to UTF-8.
15110
2ae254de
VS
151112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15112
15113 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
15114
0108f491
VS
151152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15116
15117 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
15118
f45f5f89
VS
151192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15120
15121 * unicode: Import Unicode 6.0 data.
15122
4d8c4765
VS
151232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15124
63fa8ef9
VS
15125 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
15126 outside of range.
15127
151282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15129
15130 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
15131
15132 * include/grub/charset.h (grub_getend): New function.
15133 * grub-core/script/function.c (grub_script_function_find): Use
15134 grub_getend.
15135 * grub-core/normal/completion.c (add_completion): Likewise.
15136
f3cb4a4e
VS
151372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15138
15139 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
15140 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
15141 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
15142 (GRUB_UNICODE_TAG_END): Likewise.
15143 (GRUB_UNICODE_LAST_VALID): Likewise.
15144
5da8dbc5
VS
151452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15146
15147 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
15148 len and make it smaller. All users updated.
15149 * util/import_unicode.py: Put length and not end character.
15150 Check length.
15151
8569f13d
VS
151522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15153
15154 Make better Unicode-compliant and unify some UTF-8 code pathes.
15155
15156 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
15157 valid character.
15158 (grub_is_valid_utf8): Use grub_utf8_process.
15159 Check resulting code range.
15160 (grub_utf8_to_ucs4): Use grub_utf8_process.
15161 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
15162 valid character.
15163
cc4fddf5
VS
151642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
15167
bbc47747
VS
151682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15169
15170 * docs/grub.texi (Filesystems): Mention AFS.
15171
f63d6bf4
VS
151722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15173
15174 * docs/grub.texi (Filesystems): Clarify restrictions.
15175 (Regexp): Mention non-Unicode regexp behaviour.
15176 (Other): Mention non-Unicode matching behaviour.
15177
74bbf0db
VS
151782011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15179
f63d6bf4 15180 Make HFS implementation use MacRoman.
74bbf0db
VS
15181
15182 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
15183 (macroman): New const array.
15184 (macroman_to_utf8): New function.
15185 (utf8_to_macroman): Likewise.
15186 (grub_hfs_find_dir): Use utf8_to_macroman.
15187 (grub_hfs_dir): Use macroman_to_utf8.
15188 Set case_insensitive.
15189
4ea0316e
VS
151902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15191
15192 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
15193
d3c13cbd
VS
151942011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15195
15196 Integrate hints into autogeneration scripts.
15197
15198 * docs/grub.texi (Filesystems): Add a hostdisk example.
15199 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
15200 (grub-probe): Add ofpath.
15201 * gentpl.py: Remove group nosparc64.
15202 * grub-core/commands/search.c (cache_entry): New struct.
15203 (cache): New var.
15204 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
15205 * grub-core/commands/search_wrap.c (options): Add platform-specific
15206 hint options.
15207 (grub_cmd_search): Handle platform-specific hints.
15208 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
15209 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
15210 (grub_util_biosdisk_data): Likewise.
15211 (grub_util_biosdisk_open): Set device_map.
15212 (read_device_map): Handle "" as indication of no map.
15213 Set device_map.
15214 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
15215 (grub_util_biosdisk_get_compatibility_hint): New function.
15216 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
15217 * include/grub/emu/hostdisk.h
15218 (grub_util_biosdisk_get_compatibility_hint): New proto.
15219 * util/grub-install.in: Don't call grub-mkdevicemap.
15220 Add platform-specific hint to load.cfg.
15221 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
15222 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15223 hints. Set root preliminary to compatibility hint, not to OS name.
15224 * util/grub-probe.c (PRINT_*): Add hints.
15225 (print): Make static.
15226 (escape_of_path): New function.
15227 (guess_bios_drive): Likewise.
15228 (guess_efi_drive): Likewise.
15229 (guess_baremetal_drive): Likewise.
15230 (print_full_name): Likewise.
15231 (probe): Handle hints.
15232 (main): Likewise.
15233 * util/ieee1275/devicemap.c: Removed.
15234 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
15235 updated.
15236 (grub_util_devname_to_ofpath): Return NULL on failure.
15237
15238 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
15239 resource leak.
15240 * util/getroot.c (grub_util_pull_device): Fix memory leak.
15241
15242 * po/POTFILES.in: Regenerated.
15243
15244 Allow purely long options
15245
15246 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
15247 (SHORT_ARG_USAGE): Likewise.
15248 (grub_arg_show_help): Compare opt with help_options.
15249 (parse_option): Receive opt as argument. If makes big simplificatons.
15250 All users updated
15251
00ce2df3
VS
152522011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15253
15254 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
15255 Restructure to avoid warning.
15256
e77e325f
VS
152572011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15258
15259 * util/grub-install.in: Account for possible escaped comma in device
15260 name.
15261
165099ea
VS
152622011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15263
15264 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
15265 channel.
15266
ce4a999d
VS
152672011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
15270 allocation and zero-setting.
15271 (grub_ieee1275_get_devname): Check that alias is complete.
15272
379586ad
VS
152732011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15274
15275 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
15276 unaligned segments.
15277
9197b0ad
VS
152782011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15279
15280 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
15281 prefix.
15282 (grub_ofdisk_open): Check and discard ieee1275 prefix.
15283 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15284 Add ieee1275 prefix.
15285
edddb7f9
VS
152862011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15287
15288 * docs/grub.texi (Filesystems): Update.
15289
a1a8b1b9
VS
152902011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15291
15292 Support odc, newc and bigendian cpio formats.
15293
15294 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
15295 * grub-core/Makefile.core.def (newc): New module.
15296 (odc): Likewise.
15297 (cpio_be): Likewise.
15298 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
15299 (MAGIC): Likewise.
15300 (MAGIC2): Likewise.
15301 (head) [MODE_ODC]: Adapt for the format.
15302 (head) [MODE_NEWC]: Likewise.
15303 (head) [!MODE_*]: Write fields of interest as arrays.
15304 (MAGIC_USTAR): Removed.
15305 (read_number) [MODE_NEWC]: Change to hex.
15306 (read_number) [!MODE_*]: Parse binary arrays.
15307 (grub_cpio_find_file): Factor out the code for better structure and
15308 always use read_number.
15309 (grub_cpio_mount): Use MAGIC and MAGIC2.
15310 (grub_cpio_dir): Exit on first hook non-0 return.
15311 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
15312 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
15313 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
15314 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
15315 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
15316 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
15317 * grub-core/fs/newc.c: New file.
15318 * grub-core/fs/odc.c: Likewise.
15319 * grub-core/fs/cpio_be.c: Likewise.
15320
58eba9ee
VS
153212011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15322
15323 Fix handling of tar numbers occupying the whole field.
15324
15325 * grub-core/fs/cpio.c (read_number): New function.
15326 (grub_cpio_find_file): Use read_number instead of strtoull.
15327
a54a0e12
VS
153282011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15329
15330 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
15331 occupying the whole field size.
15332
a6120aca
LA
153332011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
15334
15335 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
15336
a93964ce
VS
153372011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15338
15339 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
15340
3ea1ca46
SG
153412011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
15342
15343 * grub-core/Makefile.core.def (lzma_decompress): Add missing
15344 TARGET_IMG_LDFLAGS.
15345
b87f7ef2
VS
153462011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 * util/getroot.c (ESCAPED_PATH_MAX): New define.
15349 (mountinfo_entry): Increase the field size to take escaping into
15350 account.
15351 (find_root_device_from_libzfs): Add one byte to size of strings for
15352 security.
15353
62092395
VS
153542011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
15357 an assert.
15358 * util/grub-setup.c (setup): Likewise.
15359
1f0b1a77
VS
153602011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
15363 _LzmaDecodeA.
15364
8eba9997
VS
153652011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 * docs/grub.texi (Internationalisation): New section.
15368
dd0c91e9
VS
153692011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15370
15371 * docs/grub.texi (Loopback booting): New section.
15372
153732011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
15374
15375 * util/grub-mkstandalone.in: Fix minor typo errors.
15376
198e150a
VS
153772011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15378
15379 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
15380
15381 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
15382 net/icmp.c and net/icmp6.c.
15383 (http): New module.
15384 (priority_queue): Likewise.
15385 * grub-core/io/bufio.c: Rewritten.
15386 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
15387 TYPE_WITH_CONFIGFILE_OPTION.
15388 (legacy_commands): Add bootp and dhcp.
15389 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
15390 (grub_legacy_parse): Likewise.
15391 * grub-core/lib/priority_queue.c: New file.
15392 * grub-core/net/arp.c: Add missing license header.
15393 (arp_find_entry): Removed.
15394 (arp_find_entry): Likewise.
15395 (grub_net_arp_resolve): Rename to ...
15396 (grub_net_arp_send_request): ...this.
15397 (grub_net_arp_receive): New card argument.
15398 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
15399 Set router and DNS server.
15400 (grub_net_configure_by_dhcp_ack): Handle routing information.
15401 (grub_cmd_bootp): Set checksum.
15402 (grub_bootp_init): Remove net_dhcp.
15403 * grub-core/net/dns.c: New file.
15404 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
15405 completion.
15406 (get_card_packet): Handle allocation.
15407 (grub_efinet_findcards): Set mtu.
15408 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
15409 (get_card_packet): Handle allocation.
15410 (emucard): Set mtu.
15411 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
15412 (GRUB_MOD_INIT): Set mtu.
15413 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
15414 mtu.
15415 (get_card_packet): Handle allocation.
15416 (grub_ofnet_findcards): Set mtu.
15417 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
15418 assert.
15419 (grub_net_recv_ethernet_packet): Handle IPv6.
15420 * grub-core/net/http.c: New file.
15421 * grub-core/net/icmp.c: Likewise.
15422 * grub-core/net/icmp6.c: Likewise.
15423 * grub-core/net/ip.c (ip6addr): New type.
15424 (ip6hdr): Likewise.
15425 (reassemble): Likewise.
15426 (cmp): New function.
15427 (reassembles): New variable.
15428 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
15429 (id): New variable.
15430 (send_fragmented): New function.
15431 (grub_net_send_ip_packet): Rename to ...
15432 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
15433 Handle non-UDP.
15434 (grub_net_recv_ip_packets): Rename to ...
15435 (handle_dgram): ... this. Check checksum. Handle non-UDP.
15436 (free_rsm): New function.
15437 (free_old_fragments): Likewise.
15438 (grub_net_recv_ip4_packets): New function.
15439 (grub_net_send_ip6_packet): Likewise.
15440 (grub_net_send_ip_packet): Likewise.
15441 (grub_net_recv_ip6_packets): Likewise.
15442 (grub_net_recv_ip_packets): Likewise.
15443 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
15444 (LINK_LAYER_CACHE_SIZE): New const.
15445 (link_layer_find_entry): New function.
15446 (grub_net_link_layer_add_address): Likewise.
15447 (grub_net_link_layer_resolve_check): Likewise.
15448 (grub_net_link_layer_resolve): Likewise.
15449 (grub_net_ipv6_get_slaac): Likewise.
15450 (grub_net_ipv6_get_link_local): Likewise.
15451 (grub_cmd_ipv6_autoconf): Likewise.
15452 (parse_ip): Handle one number representation.
15453 (parse_ip6): New functoion.
15454 (match_net): Handle IPv6.
15455 (grub_net_resolve_address): Handle IPv6 and DNS.
15456 (grub_net_resolve_net_address): Handle IPv6.
15457 (route_cmp): New function.
15458 (grub_net_route_address): Find best route.
15459 (grub_net_addr_to_str): Handle IPv6.
15460 (grub_net_addr_cmp): New function.
15461 (grub_net_add_addr): Register local route.
15462 (print_net_address): Handle net address.
15463 (grub_net_poll_cards): Retransmit TCP.
15464 (grub_net_poll_cards_idle_real): Likewise.
15465 (have_ahead): New function.
15466 (grub_net_seek_real): Use underlying seek.
15467 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
15468 * grub-core/net/tcp.c: New file.
15469 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
15470 (cmp): New function.
15471 (ack): Likewise.
15472 (tftp_receive): Handle unordered input.
15473 (destroy_pq): New function.
15474 (tftp_close): Close pq.
15475 * grub-core/net/udp.c: Put missing license header.
15476 (grub_net_udp_socket): New function.
15477 (udp_socket_register): Likewise.
15478 (grub_net_udp_close): Likewise.
15479 (grub_net_recv_udp_packet): Check checksum.
15480 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
15481 * include/grub/misc.h (grub_memchr): New function.
15482 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
15483 (grub_net_card_driver): Return buf in recv.
15484 (grub_net_slaac_mac_list): New struct.
15485 (grub_network_level_protocol_id): Add ipv6.
15486 (grub_net_network_level_addr): Likewise.
15487 (grub_net_network_level_net_addr): Likewise.
15488 (grub_net_app_protocol): Add seek.
15489 (grub_net_socket): Removed.
15490 (grub_net_sockets): Likewise.
15491 (grub_net_socket_register): Likewise.
15492 (grub_net_socket_unregister): Likewise.
15493 (FOR_NET_SOCKETS): Likewise.
15494 (grub_net_add_addr): Add const.
15495 (GRUB_NET_BOOTP_*): New enum.
15496 (grub_net_addr_cmp): New proto.
15497 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
15498 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
15499 (grub_net_hwaddr_to_str): NEw proto.
15500 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
15501 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
15502 (grub_dns_init): New proto.
15503 (grub_dns_fini): Likewise.
15504 (grub_net_tcp_retransmit): Likewise.
15505 (grub_net_link_layer_add_address): Likewise.
15506 (grub_net_link_layer_resolve_check): Likewise.
15507 (grub_net_link_layer_resolve): Likewise.
15508 (grub_net_dns_lookup): Likewise.
15509 (grub_net_add_dns_server): Likewise.
15510 (grub_net_remove_dns_server): Likewise.
15511 (GRUB_NET_TRIES): New const.
15512 (GRUB_NET_INTERVAL): Likewise.
15513 * include/grub/net/arp.h: Mostly rewritten.
15514 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
15515 * include/grub/net/ip.h: Mostly rewritten.
15516 * include/grub/net/netbuff.h: Indent.
15517 * include/grub/net/tcp.h: New file.
15518 * include/grub/net/udp.h: Mostly rewritten.
15519 * include/grub/priority_queue.h: New file.
15520 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
15521 (grub_swap_bytes64_compile_time): Likewise.
15522 (grub_cpu_to_be16_compile_time): Likewise.
15523 (grub_cpu_to_be32_compile_time): Likewise.
15524 (grub_cpu_to_be64_compile_time): Likewise.
15525 (grub_be_to_cpu64_compile_time): Likewise.
15526
215c1800
VS
155272011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15528
15529 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
15530 UINT_TO_PTR with cast.
15531
c17e546c
VS
155322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15533
15534 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
15535 don't use them.
15536
ff6b18b6
VS
155372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
15540 already there.
15541
70ffcc93
VS
155422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
15545 confusing ipxe.
15546
e5f4d260
VS
155472011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
15550 Add missing const attribute.
15551 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
15552 Likewise.
15553 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
15554 Likewise.
15555
8e54b4b7
VS
155562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15557
15558 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
15559 misaligned access.
15560 (serpent_setkey): Likewise.
15561 (serpent_encrypt_internal): Likewise.
15562 (serpent_decrypt_internal): Likewise.
15563 (serpent_encrypt): Don't put an alignment-increasing cast.
15564 (serpent_decrypt): Likewise.
15565 (serpent_test): Likewise.
15566
813c0a2b
VS
155672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
15570
f2b60fbd
VS
155712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
15574
15575 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
15576 grub_addr_t casts.
15577 (PTR_TO_UINT64): Likewise.
15578 (PTR_TO_UINT32): Likewise.
15579
5ef5c511
VS
155802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15581
15582 * util/grub-mkimage.c (generate_image): Decrease the higher limit
15583 because of stack.
15584 * util/grub-setup.c (setup): Don't add redundancy past the higher load
15585 limit.
15586
c476e6df
VS
155872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15588
15589 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
15590 text_width > available width a bit more gracefully.
15591
384ad7cc
VS
155922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15593
15594 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
15595 current address calculation.
15596
96f8caf8
VS
155972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15598
15599 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
15600 stack.
15601 (encode_block): Likewise.
15602
276b7a8b
VS
156032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15604
15605 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
15606 certainety.
15607
e3fd394a
VS
156082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15609
15610 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
15611 non-RS part to avoid RS messing with GDT.
15612 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
15613 Increase to suit in realmode routines.
15614
156152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15616
15617 * grub-core/kern/i386/realmode.S: Increase alignment.
15618 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
15619
ee9c2e7a
VS
156202011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15621
15622 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
15623 be deterministic.
15624 (syndroms): Compute 0 syndrom.
15625 (rs_recover): Use 0 syndrom.
15626
7a7f7cc9
VS
156272011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15628
15629 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
15630
a14b16d1
VS
156312011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15632
15633 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
15634 brackets.
15635
9f59e9fc
VS
156362011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15637
ca1b552c
VS
15638 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
15639 account.
15640 (get_top_pad): Likewise.
15641 (get_right_pad): Likewise.
15642 (get_bottom_pad): Likewise.
15643
156442011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15645
15646 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 15647
e739d698
VS
156482011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
15651 attribute as the structure isn't guaranteed to be properly aligned.
15652 (grub_efi_pci_device_path): Likewise.
15653 (grub_efi_pccard_device_path): Likewise.
15654 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
15655 specify the size of `memory_type'.
15656 (grub_efi_vendor_device_path): Likewise.
15657 (grub_efi_controller_device_path): Likewise.
15658 (grub_efi_acpi_device_path): Likewise.
15659 (grub_efi_expanded_acpi_device_path): Likewise.
15660 (grub_efi_atapi_device_path): Likewise.
15661 (grub_efi_scsi_device_path): Likewise.
15662 (grub_efi_fibre_channel_device_path): Likewise.
15663 (grub_efi_1394_device_path): Likewise.
15664 (grub_efi_usb_device_path): Likewise.
15665 (grub_efi_usb_class_device_path): Likewise.
15666 (grub_efi_i2o_device_path): Likewise.
15667 (grub_efi_mac_address_device_path): Likewise.
15668 (grub_efi_ipv4_device_path): Likewise.
15669 (grub_efi_ipv6_device_path): Likewise.
15670 (grub_efi_infiniband_device_path): Likewise.
15671 (grub_efi_uart_device_path): Likewise.
15672 (grub_efi_vendor_messaging_device_path): Likewise.
15673 (grub_efi_hard_drive_device_path): Likewise.
15674 (grub_efi_cdrom_device_path): Likewise.
15675 (grub_efi_vendor_media_device_path): Likewise.
15676 (grub_efi_file_path_device_path): Likewise.
15677 (grub_efi_protocol_device_path): Likewise.
15678 (grub_efi_piwg_device_path): Likewise.
15679 (grub_efi_bios_device_path): Likewise.
15680
cb8f88ea
VS
156812011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15682
15683 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
15684 (grub_ucs4_to_utf8_alloc): Likewise.
15685 (grub_ucs4_to_utf8): Likewise.
15686 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
15687 (grub_ucs4_to_utf8_alloc): Likewise.
15688
309e5352
VS
156892011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15690
15691 AFFS never uses unicode.
15692
15693 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
15694 (grub_latin1_to_utf8): New inline function.
15695 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
15696
e7987e1b
VS
156972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15698
15699 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
15700 overflow.
15701
efc2616e
VS
157022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
15705 (grub_squash_dirent_header): Likewise.
15706 (read_chunk): Don't double swap.
15707 (grub_squash_iterate_dir): Fix swap sizes.
15708
3c349f5a
VS
157092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15710
15711 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
15712
b453412d
VS
157132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15714
15715 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
15716 (grub_hfs_iterate_dir): Likewise.
15717
12e9d4d1
VS
157182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15719
15720 Fix video on platforms where unaligned access is forbidden.
15721 Make several optimisations while on it.
15722
15723 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
15724 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15725 (grub_video_fbblit_replace_32bit_1bit): Likewise.
15726 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15727 Disable.
15728 (grub_video_fbblit_replace_16bit_1bit):
15729 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15730 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15731 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
15732 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
15733 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15734 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15735 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
15736 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
15737 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
15738 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
15739 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
15740 (grub_video_fbblit_replace_index_RGB888): Likewise.
15741 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
15742 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
15743 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
15744 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
15745 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
15746 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15747 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15748 Disable.
15749 (grub_video_fbblit_blend_XXX565_1bit):
15750 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15751 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
15752 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
15753 void *.
15754 * grub-core/video/fb/video_fb.c (common_blitter)
15755 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
15756 (grub_video_fb_create_render_target_from_pointer)
15757 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
15758 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
15759 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
15760 definition.
15761 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
15762
ace96609
VS
157632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
15766 HH22 and HM10 relocations.
15767
fd261d73
VS
157682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15769
15770 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
15771
e59b7857
VS
157722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15773
15774 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
15775 allocation succeeded.
15776
9b4baaa4
VS
157772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15778
15779 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
15780 argument a u8 pointer. All users updated.
15781 Handle unaligned buffers.
15782
dc713193
VS
157832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15784
15785 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
15786 add_part to workaround compiler bug.
15787
30dd48c2
VS
157882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15789
15790 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
15791
0c6087a8
VS
157922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
15795 Reserve alignment invariants.
15796 (grub_multiboot_load): Likewise.
15797 (retrieve_video_parameters): Likewise.
15798 (grub_multiboot_make_mbi): Likewise.
15799
c2e77777
VS
158002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15801
15802 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
15803 incorrect pointer.
15804
b70b6d11
VS
158052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15806
15807 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
15808 (grub_pata_pio_write): Likewise.
15809
02a2bf83
VS
158102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 Add noreturn attributes and remove unreachable code.
15813
15814 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
15815 code.
15816 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
15817 code. Mark as noreturn.
15818 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
15819 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
15820 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
15821 unreachable code.
15822 * grub-core/kern/main.c (grub_main): Mark as noreturn.
15823 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
15824 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
15825 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
15826 * include/grub/kernel.h (grub_main): Mark as noreturn.
15827 * include/grub/reader.h (grub_rescue_run): Likewise.
15828
2019d09e
VS
158292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
15832 redundant declaration.
15833
d1c501ee
VS
158342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 * include/grub/net.h (grub_net_network_level_interfaces): Remove
15837 redundant declaration.
15838 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
15839
61664420
VS
158402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
15843 to ensure alignment.
15844 (grub_hdparm_print_identify): Make argument uint16 * to ensure
15845 alignment. Ensure tmp alignment.
15846 (grub_cmd_hdparm): Ensure buf alignment.
15847 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
15848 to ensure alignment.
15849 (grub_ata_dumpinfo): Ensure text alignment.
15850 (grub_atapi_identify): Preserve alignment invariant.
15851 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
15852
0d51ee20
VS
158532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
15856 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
15857 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
15858 * include/grub/misc.h (grub_reboot)
15859 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
15860 (grub_halt) [__mips__]: Likewise.
15861
753ef8c1
VS
158622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15863
15864 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
15865 Remove redundant declaration.
15866 (grub_mmap_get_post64): Likewise.
15867 (grub_mmap_get_upper): Likewise.
15868 (grub_mmap_get_lower): Likewise.
15869
85c85365
VS
158702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15871
15872 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
15873 uint32_t * to ensure alignment.
15874 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
15875
a23f2cc4
VS
158762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15877
93018f64
VS
15878 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
15879 uint16_t * to ensure alignment.
15880 (sun_pc_partition_map_iterate): Make `block' a union to ensure
15881 alignment.
15882
158832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15884
15885 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
15886 to ensure alignment.
15887 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
15888
58acccd6
VS
158892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15890
15891 * grub-core/fs/ntfs.c (u16at): Make into inline function.
15892 Handle unaligned pointers.
15893 (u32at): Likewise.
15894 (u64at): Likewise.
15895 (fixup): Use byte access instead of v16at.
15896 (find_attr): Fix imporper usage of v32at.
15897 (read_data): Likewise.
15898 (list_file): Handle byte-swapping and unaligned strings.
15899 (grub_ntfs_label): Likewise.
15900
9b05cad7
VS
159012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
15904 as it's not necessarily aligned.
15905
b3950b84
VS
159062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15907
15908 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
15909 redundant declaration.
15910 (grub_serial_init): Likewise.
15911 (grub_terminfo_init): Likewise.
15912
fcd232b7
VS
159132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
15916 function.
15917 (ZAP_HASH_IDX): Likewise.
15918 (ZAP_LEAF_HASH_SHIFT): Likewise.
15919 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
15920 (LEAF_HASH): Likewise.
15921 (ZAP_LEAF_NUMCHUNKS): Likewise.
15922 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
15923 alignment invariants. Return pointer. All users updated.
15924 (ZAP_LEAF_ENTRY): Make into inline function.
15925 (NBBY): Removed.
15926 (xor): LIkewise.
15927 (xor_out): Use grub_crypto_xor.
15928 (dnode_get_path): Use grub_get_unaligned.
15929 (nvlist_find_value): Likewise.
15930 (grub_zfs_nvlist_lookup_uint64): Likewise.
15931 (grub_zfs_nvlist_lookup_string): Likewise.
15932 (get_nvlist_size): Likewise.
15933 (grub_zfs_open): Likewise.
15934 (fill_fs_info): Likewise.
15935 (grub_zfs_dir): Likewise.
15936 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
15937 alignment invariants.
15938 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
15939 necessarily aligned.
15940
f138623a
VS
159412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15942
15943 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
15944
564840dc
VS
159452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15946
15947 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
15948 arithmetic to conserve alignment invariants.
15949
9b40df20
VS
159502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
15953 redundant declaration.
15954 (grub_efiemu_mm_obtain_request): Likewise.
15955 (grub_efiemu_prepare): Likewise.
15956
d1c930f9
VS
159572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15958
15959 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
15960 to match types.
15961
4c5f3056
VS
159622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15963
15964 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
15965 case of aunaligned recptr.
15966 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
15967 alignment.
15968 (grub_hfsplus_btree_search): Handle unaligned index.
15969
728cba91
VS
159702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15971
15972 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
15973 to get freetag and skip.
15974
eb561f31
VS
159752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15976
15977 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
15978 array.
15979 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
15980 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
15981
20993fbb
VS
159822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15983
15984 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
15985 name for checksum and fix allocation algorithm.
15986
1f313b94
VS
159872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15988
15989 * include/grub/types.h (grub_properly_aligned_t): New type.
15990 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
15991 (grub_get_unaligned16): Add explicit casts.
15992 (grub_get_unaligned32): Likewise.
15993 (grub_get_unaligned64): Likewise.
15994 (grub_set_unaligned16): New function.
15995 (grub_set_unaligned32): Likewise.
15996
47ae27ec
VS
159972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15998
15999 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
16000
78c2cd1c
VS
160012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16002
16003 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
16004 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
16005 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
16006
53072f9b
VS
160072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
16010 conditionals.
16011
055dc239
VS
160122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16013
16014 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
16015 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
16016
496bd074
VS
160172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16018
16019 Unify and improve RAID and crypto xor.
16020
16021 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
16022 changed to grub_crypto_xor
16023 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
16024 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
16025 Use bigger types when possible.
16026
ef6e4335
VS
160272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16028
16029 * grub-core/disk/raid.c (scan_devices): Fix condition.
16030
5d048bf2
VS
160312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16032
16033 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
16034 Make name a const ptr.
16035
ee533335
VS
160362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
16039 first argument a const pointer.
16040 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
16041 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
16042 proto.
16043 (grub_children_iterate): Likewise.
16044 (grub_machine_mmap_iterate): Remove redundant declaration.
16045
cc8f3668
VS
160462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
16049 (grub_cmd_acpi) [!x86]: Disable EBDA.
16050
c5fc563a
VS
160512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16052
16053 Enable UTF8 in gnulib regexp.
16054
16055 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
16056 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
16057 (isupper): Use grub_isupper.
16058 (isascii): New inline function.
16059 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
16060 * grub-core/lib/posix_wrap/wctype.h: Likewise.
16061 * grub-core/normal/charset.c (grub_utf8_process): New function.
16062 (grub_utf8_to_utf16): Use grub_utf8_process.
16063 (grub_encode_utf8_character): New function.
16064 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
16065 * include/grub/charset.h (grub_utf8_process): New declaration.
16066 (grub_encode_utf8_character): Likewise.
16067 * include/grub/misc.h (grub_islower): New inline function.
16068 (grub_isupper): Likewise.
16069 (grub_strchrsub): Moved down to fix the definitions.
16070
0af2346f
VS
160712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16072
16073 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
16074 specification.
16075
74dbd244
VS
160762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16077
16078 * include/grub/loader.h (grub_loader_register_preboot_hook):
16079 Use struct preboot * and not void * for handle. All users updated.
16080 (grub_loader_unregister_preboot_hook): Likewise.
16081
1bc8f60d
VS
160822011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
16083
16084 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
16085 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
16086 UTF-16-BE. All users updated.
16087 (grub_hfsplus_cmp_catkey): Fix unicode handling.
16088 (grub_hfsplus_iterate_dir): Likewise.
16089 (grub_hfsplus_label): Likewise.
16090
48d6e456
VS
160912011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
16092
16093 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
16094
bf3a3857
VS
160952011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
16096
16097 Add missing const qualifiers.
16098
16099 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
16100 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
16101 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
16102 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
16103 (grub_lvm_check_flag): Likewise.
16104 * grub-core/efiemu/i386/coredetect.c
16105 (grub_efiemu_get_default_core_name): Likewise
16106 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
16107 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
16108 * grub-core/fs/ntfs.c (fixup): Likewise.
16109 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
16110 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
16111 (fzap_lookup): Likewise.
16112 (zap_lookup): Likewise.
16113 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
16114 * grub-core/lib/legacy_parse.c (check_option): Likewise.
16115 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
16116 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
16117 (grub_freebsd_add_meta_module): Likewise.
16118 (grub_cmd_freebsd_module): Likewise.
16119 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
16120 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
16121 (grub_xnu_writetree_get_size): Likewise.
16122 (grub_xnu_writetree_toheap_real): Likewise.
16123 (grub_xnu_find_key): Likewise.
16124 (grub_xnu_create_key): Likewise.
16125 (grub_xnu_create_value): Likewise.
16126 (grub_xnu_register_memory): Likewise.
16127 (grub_xnu_check_os_bundle_required): Likewise.
16128 (grub_xnu_scan_dir_for_kexts): Likewise.
16129 (grub_xnu_load_kext_from_dir): Likewise.
16130 * grub-core/normal/color.c (color_list): Likewise.
16131 * grub-core/normal/completion.c (current_word): Likewise.
16132 * grub-core/normal/menu_entry.c (insert_string): Likewise.
16133 * grub-core/term/serial.c (grub_serial_find): Likewise.
16134 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
16135 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
16136 Likewise.
16137 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
16138 (grub_freebsd_add_meta_module): Likewise.
16139 * include/grub/lib/arg.h (grub_arg_option): Likewise.
16140 * include/grub/net.h (grub_net_card_driver): Likewise.
16141 (grub_net_card): Likewise.
16142 (grub_net_app_protocol): Likewise.
16143 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
16144 * include/grub/serial.h (grub_serial_find): Likewise.
16145 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
16146 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
16147 (grub_xnu_create_value): Likewise.
16148 (grub_xnu_find_key): Likewise.
16149 (grub_xnu_scan_dir_for_kexts): Likewise.
16150 (grub_xnu_load_kext_from_dir): Likewise.
16151
16152 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
16153 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
16154 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
16155 Moved from here ...
16156 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
16157
112b4837
CW
161582011-11-28 Colin Watson <cjwatson@ubuntu.com>
16159
16160 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
16161
49e891ac
VS
161622011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
16163
16164 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
16165 (read_device): Fix size calculation.
16166
fd258e5c
RM
161672011-11-25 Robert Millan <rmh@gnu.org>
16168
16169 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
16170 (find_root_device_from_libzfs): Add zpool output parser to be used
16171 as fallback when libzfs isn't available.
16172
78845dc2
SG
161732011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
16174
16175 * po/Makefile.in.in: Add missing escape-continuation.
16176
adac5211
VS
161772011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
16180
10b64f1c
VS
161812011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16182
16183 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
16184
bb416954
VS
161852011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16186
16187 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
16188
bdfe9eeb
VS
161892011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16190
16191 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
16192
581ffa8a
VS
161932011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16194
16195 * grub-core/lib/adler32.c: Add missing license specification.
16196 * grub-core/lib/crc64.c: Likewise.
16197 * grub-core/loader/i386/pc/plan9.c: Likewise.
16198 * grub-core/partmap/plan.c: Likewise.
16199
2536cf64
LK
162002011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
16201
16202 Add facility to debug GRUB with gdb under qemu.
16203
16204 * grub-core/gdb_grub.in: New file.
16205 * grub-core/gmodule.pl.in: Likewise.
16206 * grub-core/Makefile.core.def (gmodule.pl): New script.
16207 (gdb_grub): Likewise.
16208
bc108a4a
VS
162092011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 * util/grub-mount.c (argp_parser): Accept relative pathes.
16212 * util/grub-fstest.c (argp_parser): Likewise.
16213
111c1778
VS
162142011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16215
16216 Plan9 support.
16217
16218 * Makefile.util.def (libgrubmods): Add
16219 grub-core/partmap/plan.c.
16220 * docs/grub.texi: Notice Plan9 support.
16221 * grub-core/Makefile.core.def (plan9): New module.
16222 (part_plan): Likewise.
16223 * grub-core/loader/i386/pc/plan9.c: New file.
16224 * grub-core/partmap/plan.c: Likewise.
16225 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
16226 define.
16227 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
16228 * include/grub/mm.h (grub_extend_alloc): New inline function.
16229
c30be3b6
VS
162302011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16231
16232 Make Reed-Solomon faster by using power of generator representation of
16233 GF(256)*.
16234
16235 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
16236 (gf_double_t): Likewise.
16237 (gf_invert): Removed.
16238 (gf_powx): New array.
16239 (gf_powx_inv): Likewise.
16240 (scratch): Move higher.
16241 (gf_reduce): Removed.
16242 (gf_mul): Use powx.
16243 (gf_invert): Likewise.
16244 (init_inverts): Replaced with ...
16245 (init_powx): ...this. All users updated.
16246 (pol_evaluate): Replace multiplications with additions.
16247 (rs_encode): Likewise.
16248 (gauss_eliminate): Call gf_invert.
16249 (grub_reed_solomon_add_redundancy): Call init_powx.
16250 (grub_reed_solomon_recover): Call init_powx unconditionally.
16251
fa5aeffc
VS
162522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
16255
a346b81c
VS
162562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16257
16258 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
16259 disk->partiton for safety.
16260
d89ee414
VS
162612011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16262
16263 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
16264 Fix a memory leak.
16265 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
16266
91ee7b6d
VS
162672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16268
16269 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
16270
91e5a33d
VS
162712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16272
16273 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
16274
9edd7be2
VS
162752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16276
16277 Fix spaces handling in proc/self/mountinfo.
16278
16279 * util/getroot.c (unescape): New function.
16280 (grub_find_root_device_from_mountinfo): Use unescape.
16281
ba102053
VS
162822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16283
16284 Support ZFS embedding.
16285
16286 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
16287 (grub_zfs_fs): Register grub_zfs_embed.
16288
aa94b870
VS
162892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16290
16291 Fix MIPS compilation.
16292
16293 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
16294 * include/grub/offsets.h: Rename decompressor fields from
16295 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
16296 * util/grub-mkimage.c (image_targets): Use new names.
16297
5fbdac14
VS
162982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16299
16300 Defer multiboot device parsing until we're in compressed part.
16301
16302 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
16303 bsd_part. setdevice has fallen into disuse.
16304 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
16305 (bsd_part): Likewise.
16306 (boot_dev): New variable.
16307 (multiboot_trampoline): Don't parse multiboot device.
16308 Pass multiboot device in %edx.
16309 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
16310 grub_boot_device.
16311 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
16312 Likewise.
16313 * grub-core/kern/i386/pc/startup.S: Save edx.
16314 (grub_boot_drive): Removed.
16315 (grub_install_dos_part): Likewise.
16316 (grub_install_bsd_part): Likewise.
16317 (grub_boot_device): New variable.
16318 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
16319 (grub_install_bsd_part): Likewise.
16320 (grub_boot_drive): Likewise.
16321 (grub_boot_device): New variable.
16322 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
16323 Removed.
16324 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16325 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
16326 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
16327 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
16328 * util/grub-install.in: Remove redundant condition.
16329
691cbb58
VS
163302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16331
16332 Fix bug introduced by previous commit.
16333
16334 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
16335
60240b8b
VS
163362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16337
16338 Use decompressors framework on i386-pc. It increases core size
16339 by 46 bytes but improves compatibility and maintainability.
16340
16341 * grub-core/Makefile.core.def (lzma_decompress): New image.
16342 (kernel): Add i386_pc_ldflags.
16343 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
16344 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
16345 to real_to_prot, prot_to_real and device info.
16346 * include/grub/offsets.h: Renamed decompressor offsets.
16347 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
16348 (image_target_desc): Remove raw_size and rename decompressor fields.
16349 (compress_kernel): Handle lzma.
16350 (generate_image): Handle decompressors on i386-pc.
16351
e9d3421c
VS
163522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16353
16354 * configure.ac: Add -fno-asynchronous-unwind-tables.
16355
2b23074a
VS
163562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16357
16358 Move assembly code to C by using intwrap. It increases core size
16359 by 88 bytes but improves compatibility and maintainability.
16360
16361 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
16362 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
16363 ... here. Translated to C.
16364 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
16365 * grub-core/term/i386/pc/console.c (grub_console_getkey):
16366 ... here. Translated to C.
16367 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
16368 * grub-core/term/i386/pc/console.c (grub_console_getxy):
16369 ... here. Translated to C.
16370 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
16371 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
16372 ... here. Translated to C.
16373 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
16374 * grub-core/term/i386/pc/console.c (grub_console_cls):
16375 ... here. Translated to C.
16376 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
16377 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
16378 ... here. Translated to C.
16379 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
16380 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
16381 Translated to C.
16382 * grub-core/term/i386/pc/console.c (int10_9): New function.
16383 (grub_console_putchar): Likewise.
16384 * include/grub/i386/pc/console.h: Removed the not anymore shared
16385 functions.
16386
678f4b67
VS
163872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16388
16389 Move grub_chainloader_real_boot out of the kernel.
16390
16391 * grub-core/Makefile.am: Remove machine/loader.h.
16392 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16393 Removed.
16394 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
16395 variable.
16396 (grub_relocator16_keep_a20_enabled): Likewise.
16397 (grub_relocator16_boot): Fill new variables.
16398 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
16399 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
16400 relocator.
16401 (grub_chainloader_unload): Likewise.
16402 (grub_chainloader_cmd): Likewise.
16403 * include/grub/i386/pc/loader.h: Removed.
16404 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
16405 and esi. All initialisers updated.
16406
4626edf6
VS
164072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
164082011-11-12 Colin Watson <cjwatson@ubuntu.com>
16409
16410 * Makefile.util.def (grub-mount): New util.
16411 * .bzrignore: Add grub-mount.
16412 * configure.ac: Check for fuse and enable grub-mount if available.
16413 * docs/man/grub-mount.h2m: New file.
16414 * util/grub-mount.c: Likewise.
16415
10f0117b
VS
164162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16417
16418 * grub-core/commands/efi/fixvideo.c: Gettextize.
16419 * grub-core/commands/hashsum.c: Likewise.
16420 * grub-core/commands/i386/cmostest.c: Likewise.
16421 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16422 * grub-core/commands/i386/pc/lsapm.c: Likewise.
16423 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16424 * grub-core/commands/lsmmap.c: Likewise.
16425 * grub-core/commands/menuentry.c: Likewise.
16426 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
16427 * grub-core/commands/setpci.c: Likewise.
16428 * grub-core/loader/i386/bsd.c: Likewise.
16429 * grub-core/loader/i386/linux.c: Likewise.
16430 * util/getroot.c: Likewise.
16431 * util/grub-editenv.c: Likewise.
16432 * util/grub-fstest.c: Likewise.
16433 * util/grub-mkfont.c: Likewise.
16434 * util/grub-mkimage.c: Likewise.
16435 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16436 * util/grub-pe2elf.c: Likewise.
16437 * util/grub-probe.c: Likewise.
16438 * util/grub-setup.c: Likewise.
16439 * util/ieee1275/ofpath.c: Likewise.
16440 * util/misc.c: Likewise.
16441 * util/raid.c: Likewise.
16442
566f779b
RM
164432011-11-11 Robert Millan <rmh@gnu.org>
16444
16445 * util/getroot.c (grub_util_get_geom_abstraction): Remove
16446 __attribute__((unused)) from `os_dev', which *is* being used.
16447
b50787de
VS
164482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16449
16450 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
16451 forgotten define.
16452 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
16453 GRUB_IA64_DL_GOT_ALIGN.
16454 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
16455 GRUB_IA64_DL_TRAMP_ALIGN.
16456
119d11c8
VS
164572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16458
16459 Replace grub_fatal with normal errors in i386 linux loader.
16460
16461 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
16462 (allocate_pages): Check find_efi_mmap_size return value.
16463 (grub_e820_add_region): Return error.
16464 (grub_linux_boot): Check mmap return value.
16465
6e0632e2
VS
164662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16467
16468 * grub-core/commands/acpihalt.c: Gettextized.
16469 * grub-core/commands/cacheinfo.c: Likewise.
16470 * grub-core/commands/cmp.c: Likewise.
16471 * grub-core/commands/efi/loadbios.c: Likewise.
16472 * grub-core/commands/gptsync.c: Likewise.
16473 * grub-core/commands/ieee1275/suspend.c: Likewise.
16474 * grub-core/commands/legacycfg.c: Likewise.
16475 * grub-core/commands/memrw.c: Likewise.
16476 * grub-core/commands/minicmd.c: Likewise.
16477 * grub-core/commands/parttool.c: Likewise.
16478 * grub-core/commands/time.c: Likewise.
16479 * grub-core/commands/videoinfo.c: Likewise.
16480 * grub-core/disk/geli.c: Likewise.
16481 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
16482 * grub-core/disk/luks.c: Likewise.
16483 * grub-core/disk/lvm.c: Likewise.
16484 * grub-core/font/font_cmd.c: Likewise.
16485 * grub-core/fs/zfs/zfscrypt.c: Likewise.
16486 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16487 * grub-core/gfxmenu/view.c: Likewise.
16488 * grub-core/kern/emu/hostdisk.c: Likewise.
16489 * grub-core/kern/emu/main.c: Likewise.
16490 * grub-core/kern/emu/misc.c: Likewise.
16491 * grub-core/kern/emu/mm.c: Likewise.
16492 * grub-core/kern/mips/arc/init.c: Likewise.
16493 * grub-core/kern/mips/loongson/init.c: Likewise.
16494 * grub-core/kern/partition.c: Likewise.
16495 * grub-core/lib/i386/halt.c: Likewise.
16496 * grub-core/lib/mips/arc/reboot.c: Likewise.
16497 * grub-core/lib/mips/loongson/reboot.c: Likewise.
16498 * grub-core/loader/i386/pc/chainloader.c: Likewise.
16499 * grub-core/loader/i386/xnu.c: Likewise.
16500 * grub-core/loader/multiboot.c: Likewise.
16501 * grub-core/net/bootp.c: Likewise.
16502 * grub-core/net/net.c: Likewise.
16503 * grub-core/normal/term.c: Likewise.
16504 * grub-core/partmap/bsdlabel.c: Likewise.
16505 * grub-core/parttool/msdospart.c: Likewise.
16506 * grub-core/term/gfxterm.c: Likewise.
16507 * grub-core/term/terminfo.c: Likewise.
16508 * grub-core/video/i386/pc/vbe.c: Likewise.
16509 * util/grub-menulst2cfg.c: Likewise.
16510 * util/grub-mkdevicemap.c: Likewise.
16511 * util/grub-mklayout.c: Likewise.
16512 * util/grub-mkrelpath.c: Likewise.
16513 * util/grub-script-check.c: Likewise.
16514 * util/ieee1275/grub-ofpathname.c: Likewise.
16515 * util/resolve.c: Likewise.
16516
073aa7a9
VS
165172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16518
16519 Support %1$d syntax.
16520
16521 * tests/printf_unit_test.c: New file.
16522 * Makefile.util.def (printf_test): New test.
16523 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
16524
c76b5417
VS
165252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16526
16527 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
16528 fix.
16529
df067ad1
VS
165302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16531
16532 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
16533 dprintf.
16534 * grub-core/font/font.c (grub_font_load): Likewise.
16535
5b289bc5
VS
165362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16537
16538 * util/grub-macho2img.c: Add comment concerning gettext.
16539 * grub-core/lib/legacy_parse.c: Likewise.
16540
c1860f87
VS
165412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16542
16543 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
16544 (grub_xvasprintf): Likewise.
16545
d35d0d37
VS
165462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 Add const keyword to grub_env_get and gettextize week days.
16549
16550 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
16551 (grub_read_hook_datetime): Return const char *.
16552 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
16553 updated.
16554 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
16555 Mark for gettext.
16556 (grub_get_weekday_name): Return const char *. Call gettext.
16557 * grub-core/script/argv.c (grub_script_argv_append): Receive const
16558 char * and len as the argument. All users updated.
16559 (grub_script_argv_split_append): Receive const char *.
16560 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
16561 * include/grub/env.h (grub_env_get): Likewise.
16562 (grub_env_read_hook_t): Return const char *.
16563 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
16564 (grub_script_argv_split_append): Likewise.
16565
9aed8a71
VS
165662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16567
16568 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
16569
067fdf00
VS
165702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16571
16572 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
16573 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
16574
a8bd9d39
VS
165752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16576
16577 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
16578 Fix prototype.
16579
f7ce5baf
VS
165802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16581
16582 Fix mips compilation.
16583
16584 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
16585 normal decoder.
16586 (hashes): Use in embed decoder as well (for sizes).
16587 (dec_stream_header): Fix embed decompressor logic.
16588 (dec_stream_footer): Likewise.
16589
9bb182f3
VS
165902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16591
16592 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
16593 an error and not a fatal on unrecognised relocation types.
16594
63a9e6f6
VS
165952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16596
16597 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16598 Issue error rather than printf on unknown arguments.
16599
4c458569
VS
166002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
16603 Make buf a const.
16604
e2d22baf
VS
166052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16606
16607 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
16608 Fix module name.
16609
53dc8590
VS
166102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16611
16612 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
16613 leftover debug printf.
16614
6c189294
VS
166152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
16618
f7688369
VS
166192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16620
16621 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
16622 A stylistic fix.
16623
11a775a3
VS
166242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16625
16626 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
16627
33f784e8
SL
166282011-11-10 Shea Levy <slevy@tieronedesign.com>
16629
16630 Allow all modules to perform serial IO
16631
16632 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
16633 * include/grub/serial.h (grub_serial_port_configure): New inline
16634 function.
16635 (grub_serial_port_fetch): Likewise.
16636 (grub_serial_port_put): Likewise.
16637 (grub_serial_port_fini): Likewise.
16638 (grub_serial_find): New proto.
16639
f6276525
VS
166402011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16641
16642 Put symlink at the end of the node and fix a potential
16643 memory corruption.
16644
16645 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
16646 Make symlink into an array.
16647 (set_rockridge): Set have_symlink and alloc_dirents.
16648 (grub_iso9660_read_symlink): Use new layout.
16649 (grub_iso9660_iterate_dir): Fix memory corruption.
16650 Use new layout.
16651 (grub_iso9660_dir): Set have_symlink.
16652 (grub_iso9660_open): Likewise.
16653
c3591189
VS
166542011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16655
16656 Remove local keyword.
16657
16658 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
16659 (version_test_gt): Likewise.
16660 (version_find_latest): Likewise.
16661 (gettext_printf): Likewise.
16662 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
16663
cb544caa
VS
166642011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16665
16666 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
16667
45bd824d
VS
166682011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16669
16670 Fix ZFS memory and resource leaks.
16671
16672 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
16673 All users updated.
16674 Free type on exit.
16675 (fill_vdev_info): New parameter inserted. All users updated.
16676 (check_pool_label): Likewise.
16677 (scan_disk): Likewise.
16678 (scan_devices): Close non-inserted disks.
16679 (fzap_iterate): Free l.
16680 (unmount_device): Free children descripto memory.
16681
ad9a2f44
VS
166822011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16683
16684 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
16685 argument (access out of bounds).
16686
6b68db81
VS
166872011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16688
16689 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
16690 >= 6 drives.
16691
28840fda
VS
166922011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16693
16694 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
16695 Fix declaration.
16696
8a5a3a5b
VS
166972011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16698
16699 Fix several memory leaks.
16700
16701 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
16702 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
16703 (grub_cpio_dir): Likewise.
16704 * grub-core/fs/fat.c (grub_fat_label): Likewise.
16705 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
16706 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
16707 (grub_romfs_label): Likewise.
16708 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
16709 (squash_unmount): New function.
16710 (grub_squash_dir): Fix memory leak.
16711 (grub_squash_open): Likewise.
16712 (grub_squash_read): Likewise.
16713 (grub_squash_mtime): Likewise.
16714 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
16715 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
16716 * util/grub-fstest.c (fstest): Likewise.
16717
57b01250
VS
167182011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16719
16720 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
16721 avoid accessing beyond the array.
16722
19e81ba7
VS
167232011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16724
16725 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
16726
52b656c0
VS
167272011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16728
16729 Several AFFS fixes.
16730
16731 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
16732 (GRUB_AFFS_FLAG_FFS): Removed.
16733 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
16734 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
16735 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
16736 (grub_fshelp_node): Make block 32-bit.
16737 Add block_cache and last_block_cache.
16738 (grub_affs_read_block): Fill and use block cache.
16739 (grub_affs_read_file): Removed.
16740 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
16741 boot block.
16742 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
16743 safety.
16744 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
16745 space.
16746 (grub_affs_close): Free block cache.
16747 (grub_affs_read): Use grub_fshelp_read_file directly.
16748
438a746a
VS
167492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16750
16751 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
16752 with no error set.
16753
49a45021
VS
167542011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
16757 used variable.
16758 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16759 Likewise.
16760
3ae17eb8
VS
167612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
16764
16765 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
16766 byteswap when needed.
16767
27610c38
VS
167682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16769
16770 Fix FreeBSD compilation.
16771
16772 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
16773 to avoid circular dependency.
16774 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
16775 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
16776 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
16777
4a19b601
VS
167782011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16779
16780 Fix ZFS crypto error types.
16781
16782 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
16783 (grub_gcm_decrypt): Likewise.
16784 (grub_zfs_load_key_real): Fix error code type. Handle possible error
16785 from PBKDF2.
16786
958ee221
VS
167872011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16788
16789 Illumos support.
16790
16791 * Makefile.util.def (10_illumos): New script.
16792 * configure.ac: Set COND_HOST_ILLUMOS.
16793 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
16794 Support Illumos calls.
16795 (find_partition_start) [__sun__]: Likewise.
16796 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
16797 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
16798 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
16799 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
16800 device.
16801 * util/grub-probe.c (probe) [__sun__]: Do character check.
16802 * util/grub.d/10_illumos.in: New file.
16803
cac14fb6
VS
168042011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 Support escaped commas in hostdisk.
16807
16808 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
16809 (find_grub_drive): Use unescape_cmp.
16810 (make_device_name): Escape commas.
16811
78e08dc3
VS
168122011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16813
16814 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
16815
9f421dd1
VS
168162011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16817
16818 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
16819 variable.
16820
ed64e9e2
VS
168212011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16822
16823 Support trampoline jumps on powerpc.
16824
16825 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
16826 __ia64__ path.
16827 (grub_dl_load_segments): Set mod->sz.
16828 (grub_dl_flush_cache): Flush whole space occupied by module, not just
16829 segments.
16830 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
16831 (jump): Likewise.
16832 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
16833 function.
16834 (trampoline): New struct.
16835 (trampoline_template): New const.
16836 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
16837 * include/grub/dl.h (grub_dl): Add sz element.
16838 [__powerpc__]: Follow __ia64__.
16839 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
16840 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
16841 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
16842 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
16843
3084ede4
VS
168442011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16845
16846 ZFS crypto support.
16847
16848 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
16849 * grub-core/Makefile.core.def (zfscrypt): New module.
16850 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
16851 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
16852 it. All users updated.
16853 (grub_zfs_decrypt): New var.
16854 (grub_zfs_load_key): Likewise.
16855 (zio_checksum_functions): Add SHA256+MAC.
16856 (zio_checksum_verify): Handle incomplete comparison due to MAC.
16857 (zio_read): Handle encrypted blocks.
16858 (zap_verify): Remove incorrect check.
16859 (fzap_iterate): Handle non-standard fzap.
16860 (zap_iterate): Likewise.
16861 (zap_iterate_u64): New function.
16862 (dnode_get_fullpath): Load keys.
16863 * grub-core/fs/zfs/zfscrypt.c: New file.
16864 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
16865 (grub_crypto_ecb_encrypt): Make input const.
16866 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
16867 (grub_crypto_ecb_encrypt): Make input const.
16868 (GRUB_CIPHER_AES): New macro.
16869 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
16870 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
16871 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
16872 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
16873 prefix. All users updated.
16874 (grub_zfs_add_key): New proto.
16875 (grub_zfs_decrypt): Likewise.
16876 (grub_zfs_load_key): Likewise.
16877 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
16878 * util/grub-fstest.c (options): Add -K option.
16879 (argp_parser): Likewise.
16880
b632b404
VS
168812011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16882
16883 Support zle compression on ZFS.
16884
16885 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
16886 (decomp_table): Add zle.
16887 * include/grub/zfs/zio.h (zio_compress): Add zle.
16888
c7ba4f69
VS
168892011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16890
16891 Support BtrFS embedding.
16892
16893 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
16894 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
16895 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
16896 * util/grub-setup.c (setup): Use fs embedding if available.
16897 Add additional sanity check.
16898
455377d9
VS
168992011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16900
16901 * util/grub-install.in: Fix condition for config_opt.
16902
c2fd16ca
VS
169032011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16904
16905 Support third redundancy strip on raidz3.
16906
16907 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
16908 Return error on singularity. All users updated.
16909 (read_device): Don't stop on 3rd failure on raidz3.
16910
8622923b
VS
169112011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16912
16913 Support case-insensitive ZFS subvolumes.
16914
16915 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
16916 All users updated.
16917 (zap_hash): Likewise.
16918 (name_cmp): New function.
16919 (zap_leaf_array_equal): New parameter case_insensitive.
16920 All users updated.
16921 (zap_leaf_lookup): Likewise.
16922 (fzap_lookup): Likewise.
16923 (zap_lookup): Likewise.
16924 (dnode_get_path): New parameter case_insensitive. Retrieve case
16925 sensitiviness of a volume. All users updated.
16926 (dnode_get_fullpath): New parameter case_insensitive.
16927 All users updated.
16928 (grub_zfs_dir): Set info.case_insensitiveness.
16929
95f2e860
VS
169302011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16931
16932 Support second redundancy strip on raidz(2,3).
16933
16934 * grub-core/fs/zfs/zfs.c (powx): New array.
16935 (powx_inv): Likewise.
16936 (poly): New const.
16937 (xor_out): New function.
16938 (gf_mul): Likewise.
16939 (recovery): Likewise.
16940 (read_device): Use second redundancy strip.
16941
11ee4389
VS
169422011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16943
16944 Use a power of generator representation of GF(256) multiplication group
16945 to save space time and complexity.
16946
16947 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
16948 (raid6_table2): Likewise.
16949 (powx): New array.
16950 (powx_inv): Likewise.
16951 (poly): New const.
16952 (grub_raid_block_mul): Replace with ...
16953 (grub_raid_block_mulx): ...this.
16954 (grub_raid6_init_table): Rewritten.
16955 (grub_raid6_recover): Use power of generator representation.
16956
09e2763f
VS
169572011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16958
16959 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
16960 for the right device.
16961
8bec9a28
VS
169622011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16963
16964 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
16965 expected by grub-mkimage and it's more clear since there is no implicit
16966 padding.
16967
dbd3a32e
VS
169682011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16969
16970 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
16971 disk.
16972 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16973
182c872a
PMH
169742011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
16975
16976 * util/grub-mkrescue.in: Fix handling xorriso option.
16977
1e51cabd
VS
169782011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16979
16980 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
16981 NULL.
16982
9cc3581d 169832011-11-03 crocket <crockabiscuit@gmail.com>
16984
16985 * util/grub.d/10_linux.in: Add Slackware initrd naming.
16986
158dc1ea
VS
169872011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16988
16989 XZ CRC64 and SHA256 support.
16990
16991 * Makefile.util.def (libgrubmods): Add crc64.c.
16992 * grub-core/Makefile.core.def (crc64): New module.
16993 * grub-core/lib/crc64.c: New file.
16994 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
16995 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
16996 Fix the type.
16997 (MAX_HASH_SIZE): New define.
16998 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
16999 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
17000 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
17001 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
17002 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
17003 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
17004 Handle non-crc32 hashes.
17005 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
17006 (dec_stream_header): Handle non-crc32 hashes.
17007 (dec_stream_footer): Likewise.
17008 (dec_block_header): Likewise.
17009 (dec_main): Likewise.
17010 (xz_dec_init): Likewise.
17011 (xz_dec_reset): Likewise.
17012 (xz_dec_end): Likewise.
17013 * util/import_gcry.py: Add CRC64 line.
17014
9d9b3d2f
VS
170152011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17016
17017 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
17018 as well.
17019
7d0ac931
VS
170202011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17021
17022 Make reiserfs label retrieval similar to other *_label functions.
17023
17024 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
17025 (REISERFS_MAX_LABEL_LENGTH): Removed.
17026 (REISERFS_LABEL_OFFSET): Likewise.
17027 (grub_reiserfs_label): Rewritten.
17028
170292011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17030
17031 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
17032 field.
17033
cf5ba824
VS
170342011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
17035
17036 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
17037
17744004
VS
170382011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
17039
17040 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
17041 drive failure on both raidz and raidz2.
17042
aca5aefc
VS
170432011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
17044
17045 Fix RAIDZ(2) for >= 5 devices.
17046
17047 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
17048 asize argument. All users updated.
17049
ce8ca56e
VS
170502011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17051
17052 Fix RAIDZ(2).
17053
17054 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
17055 (fill_vdev_info_real): Set ashift.
17056 (read_device): Rewrite RAIDZ part based on reverse engineering.
17057
7c01e783
VS
170582011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17059
17060 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
17061 don't report potentially unavialiable fields in debug output.
17062 (find_path): Fix double-free and memory leak.
17063
ce109e84
VS
170642011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17065
17066 Read label on UFS1.
17067
17068 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
17069 (grub_ufs_fs): Always set .label.
17070
87661123
VS
170712011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17072
17073 Use shifts in UFS.
17074
17075 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
17076 (grub_ufs_data): New field log2_blksz.
17077 (grub_ufs_read_file): Use shifts.
17078 (grub_ufs_mount): Check block size and logarithm it.
17079
46bc1dc2
VS
170802011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
17081
17082 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
17083 long symlinks.
17084
19ee2987
VS
170852011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 Handle symlinks and long names on tar and cpio.
17088
17089 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
17090 (ATTR_FILE): Likewise.
17091 (ATTR_DIR): Likewise.
17092 (ATTR_LNK): Likewise.
17093 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
17094 (grub_cpio_find_file): Fill mode, handle linkname field as well as
17095 L and K entries.
17096 (grub_cpio_mount): Zero-fill data.
17097 (handle_symlink): New function.
46bc1dc2
VS
17098 (grub_cpio_dir): Handle symlinks.
17099 (grub_cpio_open): Likewise.
17100 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 17101
c83a08d8
VS
171022011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17103
17104 Fix iso9660 filename limitations and fix memory leaks.
17105
17106 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
17107 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
17108
45cdd3ea
VS
171092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17110
17111 Fix JFS file name length limitations.
17112
17113 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
17114 (grub_jfs_diropen): Fix maximum filename length.
17115 (grub_jfs_getent): Fix filename length.
17116 (grub_jfs_lookup_symlink): Fix size checks.
17117
94ef05c2
VS
171182011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17119
17120 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
17121 string.
17122
785ab8c7
VS
171232011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17124
eb0b6b45
VS
17125 Leverage BFS implementation to read AFS.
17126
17127 * Makefile.util.def (libgrubmods): Add afs.c.
17128 * grub-core/Makefile.core.def (afs): New module
17129 * grub-core/fs/afs.c: New file.
17130 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
17131
171322011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17133
17134 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 17135
c4a1628f
VS
171362011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 * grub-core/fs/bfs.c: Run indent.
17139
5825b379
VS
171402011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17141
17142 BFS implementation based on the specification.
17143
17144 * grub-core/fs/bfs.c: New file.
17145 * Makefile.util.def (libgrubmods): Add bfs.c.
17146 * grub-core/Makefile.core.def (bfs): New module.
17147
42b2a706
VS
171482011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17149
17150 * util/grub-fstest.c (cmd_cp): Clarify error message.
17151 (cmd_cmp): Likewise.
17152
61b99bfc
YB
171532011-10-30 Yves Blusseau <blusseau@zetam.org>
17154
17155 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
17156 and befs_be.
17157
faba3d16
VS
171582011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
17159
17160 Remove afs and befs because of copyright problem.
17161
17162 * grub-core/fs/afs.c: Removed.
17163 * grub-core/fs/afs_be.c: Removed.
17164 * grub-core/fs/befs.c: Removed.
17165 * grub-core/fs/befs_be.c: Removed.
17166 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
17167 * grub-core/Makefile.core.def (afs): Removed.
17168 (afs_be): Likewise.
17169 (befs): Likewise.
17170 (befs_be): Likewise.
17171
c39224b0
VS
171722011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17173
17174 Prefer rockridge over Joliet.
17175
17176 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
17177 to ...
17178 (set_rockridge): ... here.
17179 (grub_iso9660_mount): Check rockridge on the primary label when
17180 discovering. Ignore Joliet if Rockridge is present.
17181
e551115a
VS
171822011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17183
17184 Use shifts in nilfs2.
17185
17186 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
17187 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
17188 (grub_nilfs2_palloc_entries_per_group): Replace with ...
17189 (grub_nilfs2_log_palloc_entries_per_group): ... this.
17190 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
17191 (grub_nilfs2_entries_per_block): Replaced with ...
17192 (grub_nilfs2_log_entries_per_block_log): ... this.
17193 (grub_nilfs2_blocks_per_group): Replaced with ...
17194 (grub_nilfs2_blocks_per_group_log): ... this.
17195 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
17196 (grub_nilfs2_blocks_per_desc_block_log): ... this.
17197 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
17198 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
17199 (grub_nilfs2_palloc_entry_offset): Replaced ...
17200 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
17201 (grub_nilfs2_dat_translate): Use shifts.
17202 (grub_nilfs2_read_inode): Likewise.
17203 (GRUB_MOD_INIT): Ensure that logs are correct.
17204
564dd58c
VS
172052011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17206
17207 Use shifts in minix filesystem.
17208
17209 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
17210 (GRUB_MINIX_ZONE2SECT): Likewise.
17211 (grub_minix_data): Replace block_size with log_block_size.
17212 (grub_minix_read_file): Use shifts.
17213 (grub_minix_mount): Check block size and take a logarithm.
17214
ed9ba06d
VS
172152011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 Use shifts in squash4.
17218
17219 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
17220 (squash_mount): Check block size and take logarithm.
17221 (direct_read): Use shifts.
17222
ad03fe76
VS
172232011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17224
17225 Correct befs block counting logic.
17226
17227 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
17228 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
17229 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
17230 (grub_afs_read_inode): Use block_shift.
17231 (RANGE_SHIFT): New definition.
17232 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
17233 unexpected conditions, use shifts and appropriate types.
17234 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
17235
6563f63d
VS
172362011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17237
17238 * grub-core/disk/raid.c (scan_devices): Check partition.
17239 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
17240
5b1ae25f
VS
172412011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17242
17243 Support BFS (befs) UUID.
17244
17245 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
17246 (grub_afs_small_data_element_header): New struct.
17247 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
17248 (grub_afs_read_attribute) [MODE_BFS]: New function.
17249 (grub_afs_iterate_dir): Allocate for complete inode.
17250 (grub_afs_mount): Likewise.
17251 (grub_afs_uuid) [MODE_BFS]: New function.
17252 (grub_afs_fs) [MODE_BFS]: Add .uuid.
17253
f8d82408
VS
172542011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17255
17256 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
17257 (zfs_unmount): Fix memory leak.
17258
5773fb64
VS
172592011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17260
17261 Support NTFS reparse points.
17262
17263 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
17264 (symlink_descriptor): New struct.
17265 (grub_ntfs_read_symlink): New function.
17266 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
17267 (grub_ntfs_open): Likewise.
17268
91c3fdde
VS
172692011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17270
17271 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
17272
3be82e10
VS
172732011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17274
17275 fstest xnu_uuid subcommand.
17276
17277 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
17278 grub-core/commands/xnu_uuid.c.
17279 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
17280 (fstest): Handle xnu_uuid.
17281 (options): Document xnu_uuid.
17282 (argp_parser): Parse xnu_uuid.
17283
8e32442e
VS
172842011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17285
17286 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
17287 -l argument. Add newline at the end if printing.
17288 (GRUB_MOD_INIT): Document -l.
17289
52a05075
VS
172902011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17291
17292 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
17293
1869edb5
VS
172942011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17295
17296 ZFS multi-device and version 33 support.
17297
17298 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
17299 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
17300 (grub_zfs_data): Add multidev-ice-related fields.
17301 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
17302 (dva_get_offset): Make dva const.
17303 (zfs_fetch_nvlist): New function.
17304 (fill_vdev_info_real): Likewise.
17305 (fill_vdev_info): Likewise.
17306 (check_pool_label): Likewise.
17307 (scan_disk): Likewise.
17308 (scan_devices): Likewise.
17309 (read_device): Likewise.
17310 (read_dva): Likewise.
17311 (zio_read_gang): Use read_dva.
17312 (zio_read_data): Likewise.
17313 (zap_leaf_lookup): Add missing endian conversion.
17314 (zap_verify): Add missing endian conversion. All users updated.
17315 (fzap_lookup): Likewise.
17316 (fzap_iterate): Likewise.
17317 (dnode_get_path): Handle SA bonus.
17318 (nvlist_find_value): Make input const. All users updated.
17319 (unmount_device): New function.
17320 (zfs_unmount): Use unmount_device.
17321 (zfs_mount): Use scan_disk.
17322 (zfs_mtime): New function.
17323 (grub_zfs_open): Handle system attributes.
17324 (fill_fs_info): Likewise.
17325 (grub_zfs_dir): Likewise.
17326 (grub_zfs_fs): Add mtime.
17327 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
17328 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
17329 (SA_MTIME_OFFSET): Likewise.
17330 (SA_SYMLINK_OFFSET): Likewise.
17331 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
17332 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
17333 (fstest): Support zfsinfo.
17334 (argp_parser): Likewise.
17335
186b4028
VS
173362011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17337
17338 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
17339 error.
17340
173412011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
17342
17343 ZFS fixes.
17344
17345 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
17346 sharing the same block. Iterate over correct number of indices.
17347 (dnode_get_path): Handle symlinks correctly.
17348
c0584900
VS
173492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17350
17351 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
17352
67e2bd71
VS
173532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17354
17355 Read label on HFS+.
17356
17357 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
17358 (grub_hfsplus_btree_search): Fix types.
17359 (grub_hfsplus_label): Implement.
17360
e9cc6b7b
VS
173612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17362
17363 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
17364
19832ddb
VS
173652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17366
17367 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
17368
66b40850
VS
173692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17370
17371 Fix symlink handling on iso9660.
17372
17373 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
17374 All users updated.
17375 (grub_iso9660_susp_iterate): Accept zero-size iterate.
17376 (grub_iso9660_read_symlink): Moved most of code ...
17377 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
17378
db821363
VS
173792011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17380
17381 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17382 Use union to avoid breaking strict-aliasing rules.
17383
e1211949
VS
173842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17385
17386 Support multi-extent iso files.
17387
17388 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
17389 Add node.
17390 (grub_fshelp_node): Revamp. All users updated.
17391 (FLAG_*): New enum.
17392 (read_node): New function.
17393 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
17394 All users updated.
17395 (grub_iso9660_mount): Don't attempt to read sua when there is none.
17396 (get_node_size): New function.
17397 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
17398 entries.
17399 Fix memory leak on . and ..
17400 (grub_iso9660_read): Use read_node.
17401 (grub_iso9660_close): Free node.
17402
d4888031
VS
174032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17404
17405 Fix tar 4G limit and handle paths containing dot.
17406
17407 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
17408 (canonicalize): New function.
17409 (grub_cpio_find_file): Use canonicalize. Store offs in
17410 grub_disk_addr_t.
17411 (grub_cpio_dir): Use grub_disk_addr_t.
17412 (grub_cpio_open): Likewise.
17413
9f12e664
VS
174142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17415
17416 Fix handling of uncompressed blocks on squashfs and break 4G limit.
17417
17418 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
17419 unused flags.
17420 (grub_squash_inode): Add long_file and block_size.
17421 (grub_squash_cache_inode): New struct.
17422 (grub_squash_dirent): Make types into enum.
17423 (SQUASH_TYPE_LONG_REGULAR): New type.
17424 (grub_squash_frag_desc): Add field size.
17425 (SQUASH_BLOCK_FLAGS): New enum.
17426 (grub_squash_data): Use grub_squash_cache_inode.
17427 (grub_fshelp_node): Make ino_chunk 64-bit.
17428 (read_chunk): Minor argument change. All users updated.
17429 (squash_mount): Use correct le_to_cpu.
17430 (grub_squash_open): Handle LONG_REGULAR.
17431 (direct_read): New function.
17432 (grub_squash_read_data): Handle blocks correctly.
17433
9f326fba
VS
174342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17435
17436 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
17437
f4d9b64b
VS
174382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17439
17440 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
17441
5bbd28b8
VS
174422011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17443
17444 Fix 2G limit on ZFS.
17445
17446 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
17447 types.
17448 (uberblock_verify): Likewise.
17449 (dmu_read): Likewise.
17450 (grub_zfs_read): Likewise. Remove invalid cast.
17451
68c72069
VS
174522011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17453
17454 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
17455 (grub_jfs_blkno): Fix incorrect shift.
17456 (grub_jfs_read_file): Use more appropriate types.
17457
6e536dc8
VS
174582011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17459
17460 Support triple indirect on minix2 and minix3.
17461
17462 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
17463 Declare triple_indir_zone.
17464 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
17465 indirect.
17466
e0864e7a
VS
174672011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17468
17469 Minix FS fixes.
17470
17471 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
17472 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
17473 Rename ctime to mtime. All users updated.
17474 (grub_minix_get_file_block): Fix types and double indirect computations.
17475
89481cab
VS
174762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17477
17478 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
17479 if no label is found.
17480 (grub_fat_iterate_dir): Fix file size type.
17481 (grub_fat_iterate_dir): Likewise.
17482
f646e143
VS
174832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17484
17485 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
17486 save some space.
17487 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17488 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17489
534d769e
VS
174902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17491
17492 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
17493
e084ba18
VS
174942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17495
17496 * util/import_gcry.py: Accept space between # and include.
17497
3471ecdf
VS
174982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17499
17500 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
17501
124df5f6
VS
175022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17503
17504 Fine grainely disable warnings on lexer. Remove Wno-error on it.
17505
17506 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
17507 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
17508 yylex_strncpy.
17509 * grub-core/script/yylex.l: Add fine-grained #pragma.
17510
4defb8d5
VS
175112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17512
17513 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
17514 New inline function.
17515 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
17516 Likewise.
17517 (memset) [GRUB_UTIL]: Likewise.
17518 (memcmp) [GRUB_UTIL]: Likewise.
17519
4e94ae65
VS
175202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17521
17522 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
17523 inline function rather than a define.
17524
18c575e5
VS
175252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17526
17527 * util/grub-setup.c: Add missing include.
17528
f8bc22a8
VS
175292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17530
17531 * util/ieee1275/grub-ofpathname.c: Add missing include.
17532
3ce69fc9
VS
175332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17534
17535 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
17536 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
17537 Likewise.
17538
d1e293bb
VS
175392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17540
17541 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
17542 grub_memcmp usage.
17543
7a5c54a4
VS
175442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17545
17546 * util/grub-install.in: Add datarootdir as per automake manual
17547 suggestion.
17548 * util/grub-mknetdir.in: Likewise.
17549
175502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
17551
17552 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
17553 suggestion.
17554 * util/grub.d/10_kfreebsd.in: Likewise.
17555 * util/grub.d/10_linux.in: Likewise.
17556 * util/grub.d/10_netbsd.in: Likewise.
17557 * util/grub.d/10_windows.in: Likewise.
17558 * util/grub.d/20_linux_xen.in: Likewise.
17559
766f7d08
VS
175602011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
17561
17562 Remove redundant grub_kernel_image_size.
17563
17564 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
17565 _edata and _start.
17566 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
17567 the small code. It moves it only by few bytes but simplifies the code.
17568 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
17569 _start.
17570 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
17571 (grub_kernel_image_size): Removed.
17572 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
17573 (grub_kernel_image_size): Removed.
17574 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
17575 compiled with Apple toolchain.
17576 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
17577 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
17578 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
17579 (grub_total_module_size): Likewise.
17580 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
17581 Removed.
17582 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
17583 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
17584 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
17585 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
17586 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
17587 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
17588 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
17589 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
17590 Removed.
17591 (grub_total_module_size): Removed.
17592 * util/grub-mkimage.c (image_target_desc): Remove image_size.
17593 (image_targets): Likewise.
17594 Set .compressed_size to no field on sparc.
17595 (generate_image): Remove kernel_image_size handling.
17596
fcf1d672
SJ
175972011-10-19 Szymon Janc <szymon@janc.net.pl>
17598
17599 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
17600 NULL pointer dereference.
17601
de9c615e
VS
176022011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17603
17604 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
17605 done with a dedicated section.
17606
17607 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
17608 Ensure the correct position of boot_path.
17609 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
17610 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
17611 other fields.
17612 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
17613 * include/grub/boot.h: Removed. All references removed.
17614 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
17615 Removed.
17616 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
17617
e55599dc
VS
176182011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17619
17620 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
17621 name.
17622
36dd20ad
VS
176232011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17624
17625 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
17626
f8f72eb8
VS
176272011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17628
17629 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17630 Don't add the bogus brackets.
17631
a374751b
VS
176322011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17633
17634 ExFAT support.
17635
17636 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
17637 * grub-core/Makefile.core.def (exfat): New module.
17638 * grub-core/fs/exfat.c: New file.
17639 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
17640 (GRUB_FAT_ATTR_*): Make into an enum.
17641 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
17642 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
17643 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
17644 (GRUB_FAT_MAXFILE): Removed.
17645 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
17646 (grub_current_fat_bpb_t): New type.
17647 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
17648 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
17649 (grub_fat_dir_node_t): New type.
17650 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
17651 (fat_log2) [MODE_EXFAT]: Removed.
17652 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
17653 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
17654 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
17655 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
17656 (grub_fat_label) [MODE_EXFAT]: New function.
17657 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
17658 reserved_first_sector to 0.
17659
544c2487
VS
176602011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17661
17662 Move grub_reboot out of the kernel.
17663
17664 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
17665 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
17666 * grub-core/lib/efi/reboot.c: ... here.
17667 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
17668 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17669 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
17670 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
17671 * grub-core/lib/i386/reboot_trampoline.S: ... here.
17672 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
17673 * grub-core/lib/ieee1275/reboot.c: ... here.
17674 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
17675 * grub-core/lib/mips/arc/reboot.c: ... here.
17676 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
17677 * grub-core/lib/mips/loongson/reboot.c: ...here.
17678 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
17679 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
17680 * include/grub/emu/misc.h (grub_reboot): New function declaration.
17681 * include/grub/i386/reboot.h: New file.
17682 * include/grub/mips/loongson/ec.h: Fix includes.
17683 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
17684 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
17685 * grub-core/lib/i386/reboot.c: New file.
17686
a97501d2
VS
176872011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
17688
17689 Make grub_prefix into module to fix the arbitrary limit and save
17690 some space.
17691
17692 * grub-core/kern/emu/main.c (grub_prefix): Removed.
17693 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
17694 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
17695 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
17696 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
17697 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
17698 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
17699 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
17700 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17701 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
17702 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
17703 * include/grub/ia64/efi/kernel.h: Removed.
17704 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
17705 (grub_prefix): Removed.
17706 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
17707 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
17708 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
17709 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
17710 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
17711 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
17712 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
17713 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
17714 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
17715 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
17716 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17717 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17718 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17719 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17720 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
17721 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
17722 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
17723 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17724 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
17725 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
17726 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
17727 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
17728 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
17729 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
17730 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
17731 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
17732 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
17733 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
17734 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
17735 from module.
17736 * util/grub-mkimage.c (image_target_desc): Removed prefix and
17737 prefix_end.
17738 (image_targets): Likewise.
17739 (generate_image): Put prefix as a module.
17740
39705fad
VS
177412011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17742
17743 Replace grub_module_iterate with FOR_MODULES.
17744
17745 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
17746 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
17747 (grub_efi_modules_addr): ...this.
17748 * grub-core/kern/efi/init.c (grub_modbase): New variable.
17749 (grub_efi_init): Set grub_modbase.
17750 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
17751 (grub_modbase): New variable.
17752 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
17753 (grub_modbase): New variable.
17754 (grub_machine_init): Set grub_modbase.
17755 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
17756 (grub_modbase): New variable.
17757 (grub_machine_init): Set grub_modbase.
17758 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
17759 (grub_modbase): New variable.
17760 (grub_machine_init): Set grub_modbase.
17761 * grub-core/kern/main.c (grub_module_iterate): Remove.
17762 (grub_modules_get_end): Use grub_modbase.
17763 (grub_load_modules): Use FOR_MODULES.
17764 (grub_load_config): Likewise.
17765 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
17766 (grub_modbase): New variable.
17767 (grub_machine_init): Set grub_modbase.
17768 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
17769 (grub_modbase): New variable.
17770 (grub_machine_init): Set grub_modbase.
17771 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
17772 Removed.
17773 (grub_modbase): New variable.
17774 (grub_machine_init): Set grub_modbase.
17775 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
17776 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
17777 (grub_module_iterate): Likewise.
17778 (grub_modbase): New variable declaration.
17779 (FOR_MODULES): New macro.
17780
2afb7f6c
VS
177812011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17782
17783 * configure.ac: Check for __ctzdi2 and __ctzsi2.
17784 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
17785
366e34fa
VS
177862011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17787
17788 Fix few obvious type discrepancies.
17789
17790 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
17791 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
17792 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
17793 variable.
17794 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
17795 and connected types.
17796 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
17797 offset.
17798 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
17799 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
17800 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
17801 and connected types.
17802
177b960e
VS
178032011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17804
17805 Fix python 3.x incompatibilities.
17806
17807 * gentpl.py: Put brackets around print strings.
17808 * util/import_gcry.py: Open explicitly as utf-8.
17809 Use in instead of has_key.
17810
3b619ae1
VS
178112011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17812
17813 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
17814 (GRUB_XFS_INO_AGBITS): Make into inline function.
17815 (GRUB_XFS_INO_INOINAG): Likewise.
17816 (GRUB_XFS_INO_AG): Likewise.
17817 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17818 (GRUB_XFS_EXTENT_OFFSET): Likewise.
17819 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17820 (GRUB_XFS_EXTENT_SIZE): Likewise.
17821 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
17822 (GRUB_XFS_NEXT_DIRENT): Likewise.
17823 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
17824 (grub_xfs_read_file): Fix offset type.
17825
8bcebcb8
RM
178262011-10-15 Robert Millan <rmh@gnu.org>
17827
17828 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
17829
0017e5ef
RM
178302011-10-15 Robert Millan <rmh@gnu.org>
17831
17832 Fix build problem on FreeBSD and GNU/kFreeBSD.
17833
17834 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
17835
d8919552
VS
178362011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17837
17838 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
17839
17840 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
17841 types.
17842 (grub_hfsplus_btree_recoffset): Likewise.
17843 (grub_hfsplus_btree_recptr): Likewise.
17844 (grub_hfsplus_find_block): Likewise.
17845 (grub_hfsplus_btree_search): Likewise.
17846 (grub_hfsplus_read_block): Likewise.
17847 (grub_hfsplus_read_file): Likewise.
17848 (grub_hfsplus_mount): Likewise.
17849 (grub_hfsplus_btree_iterate_node): Likewise.
17850 (grub_hfsplus_btree_search): Likewise.
17851 (grub_hfsplus_iterate_dir): Likewise.
17852 (grub_hfsplus_read): A small code simplification.
17853
c81296b6
VS
178542011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17855
17856 * grub-core/kern/emu/hostdisk.c
17857 (convert_system_partition_to_system_disk): Don't assume that children
17858 of mapper nodes are mapper nodes.
17859
0eb8ffb1
VS
178602011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17861
17862 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
17863 * include/grub/misc.h (grub_isxdigit): New function.
17864 * grub-core/video/colors.c (my_isxdigit): Removed. All users
17865 switched to grub_isxdigit.
17866 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
17867 number starting with a letter.
17868
a98f4a08
RM
178692011-10-09 Robert Millan <rmh@gnu.org>
17870
17871 LVM support for FreeBSD and GNU/kFreeBSD.
17872
17873 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
17874 GNU/kFreeBSD.
17875 (LVM_DEV_MAPPER_STRING): Move from here ...
17876 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
17877 * util/getroot.c: Include `<grub/util/lvm.h>'.
17878 (grub_util_get_dev_abstraction): Enable
17879 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
17880 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
17881 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
17882 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
17883 support it.
17884 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
17885 GNU/kFreeBSD.
17886 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
17887 when LVM abstraction is required for ${GRUB_DEVICE}.
17888
050e8e90
SJ
178892011-10-06 Szymon Janc <szymon@janc.net.pl>
17890
17891 Add support for LZO compression in GRUB:
17892 - import of minilzo library,
17893 - LZO decompression for btrfs,
17894 - lzop files decompression.
17895
17896 * grub-core/io/lzopio.c: New file.
17897 * grub-core/lib/adler32.c: Likewise.
17898 * grub-core/lib/minilzo/lzoconf.h: Likewise.
17899 * grub-core/lib/minilzo/lzodefs.h: Likewise.
17900 * grub-core/lib/minilzo/minilzo.c: Likewise.
17901 * grub-core/lib/minilzo/minilzo.h: Likewise.
17902 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
17903 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
17904 grub-core/lib/minilzo/minilzo.c to common.
17905 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
17906 cflags in cppflags.
17907 * grub-core/Makefile.core.def (btrfs): Likewise.
17908 * grub-core/Makefile.core.def (lzopio): New module.
17909 (adler32): Likewise.
17910 * grub-core/fs/btrfs.c: Include minilzo.h.
17911 (GRUB_BTRFS_COMPRESSION_LZO): New define.
17912 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
17913 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
17914 (grub_btrfs_lzo_decompress): New function.
17915 (grub_btrfs_extent_read): Add support for LZO compression type.
17916 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
17917 (GRUB_USHRT_MAX): Likewise.
17918 (GRUB_UINT_MAX): Likewise.
17919 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
17920 (UINT_MAX): Likewise.
17921 (CHAR_BIT): Likewise.
17922 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
17923 grub-core/lib/posix_wrap/limits.h
17924 (UCHAR_MAX): Likewise.
17925 * include/grub/file.h (grub_file_filter_id): New compression filter
17926 GRUB_FILE_FILTER_LZOPIO.
17927 * include/grub/file.h (grub_file_filter_id): Set
17928 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
17929 * include/grub/types.h (grub_get_unaligned16): New function.
17930 (grub_get_unaligned32): Likewise.
17931 (grub_get_unaligned64): Likewise.
17932 * util/import_gcry.py (cryptolist): Add adler32.
17933
0eb8ffb1
VS
179342011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
17935
17936 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
17937 in perspective decreases the complexity of build system and fixes
17938 compilation right now.
17939
ce79cc99 179402011-10-01 Ales Nesrsta <starous@volny.cz>
17941
17942 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
17943 (fixed problem related to using UHCI with coreboot).
17944
8667a314
BC
179452011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17946
17947 * gentpl.py: Use Autogen macros so that the output template file
17948 (Makefile.tpl) size is reduced.
17949
fc5efcc0
MK
179502011-09-29 Mads Kiilerich <mads@kiilerich.com>
17951
17952 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
17953 extra_dist.
17954
d1ab689d
ML
179552011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17956
17957 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
17958 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
17959
c05de032
ML
179602011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17961
17962 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
17963 _fullpath.
17964
cca7ccd8
ML
179652011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17966
17967 Remove extra declaration of sleep for mingw32.
17968
17969 * util/misc.c (sleep) [__MINGW32__]: Removed.
17970 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
17971
e0b0dc83
GS
179722011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
17973
17974 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
17975 type and packname.
17976 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
17977 Resurrected.
17978 (NETBSD_BTINFO_BOOTWEDGE): New definition.
17979 (grub_netbsd_btinfo_bootwedge): New struct.
17980 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17981 New function.
17982 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
17983
91a1a164
TH
179842011-09-28 Thomas Haller <thomas.haller@fen-net.de>
17985
17986 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
17987 loader.
17988
2ded951e
AB
179892011-09-28 Andreas Born <futur.andy@googlemail.com>
17990
17991 Fix incorrect identifiers in bash-completion.
17992
17993 * util/bash-completion.d/grub-completion.bash.in
17994 (_grub_mkpasswd-pbkdf2): Rename to ...
17995 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
17996 (_grub_script-check): Rename to ...
17997 (_grub_script_check): ... this. All users updated.
17998
69915030
VS
179992011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
18002 Return 0 if disk isn't biosdisk.
18003
20fd15f9
GS
180042011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
18005
18006 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
18007 on NetBSD.
18008 * Makefile.util.def (grub-fstest): Likewise.
18009
1a7d7db9
GS
180102011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
18011
18012 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
18013 Get sector size from disk label.
18014
2221ab6c
CW
180152011-09-05 Colin Watson <cjwatson@ubuntu.com>
18016
18017 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
18018 */README* as well as README*.
18019 Reported by: Axel Beckert.
18020
ca51c4a0
VS
180212011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
18024 case of less than 256 MiB of RAM.
18025
ab80f326
VS
180262011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18027
18028 * grub-core/commands/wildcard.c (make_regex): Handle @.
18029
4155e697
VS
180302011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18031
18032 * util/grub-install.in: Move cryptodisk logic to appropriate place.
18033
ab178c08
SJ
180342011-08-21 Szymon Janc <szymon@janc.net.pl>
18035
18036 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
18037 AC_LANG_CONFTEST macros.
18038
7dc3c686
SJ
180392011-08-20 Szymon Janc <szymon@janc.net.pl>
18040
18041 Add grub-fstest option to uncompress data for commands.
18042
18043 * util/grub-fstest.c (uncompress): New var.
18044 (options): New option -u.
18045
fe8d4a7b
SJ
180462011-08-20 Szymon Janc <szymon@janc.net.pl>
18047
18048 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
18049 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
18050
a5219af1
SJ
180512011-08-20 Szymon Janc <szymon@janc.net.pl>
18052
18053 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
18054 file type was not recognized correctly (not gzip or corrupted).
18055
f87abff5
VS
180562011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
18059 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
18060
d94497ea
VS
180612011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18062
18063 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
18064 loongson.
18065 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
18066 video_radeon_fuloong2e.
18067 * grub-core/video/radeon_fuloong2e.c: New file.
18068 * include/grub/video.h (grub_video_id_t): Add new ID
18069 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
18070
0d1fd011
VS
180712011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18072
18073 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
18074 define.
18075 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
18076 that PRID matches the detected subplatform and reset the subplatform
18077 if it doesn't.
18078
84beb0ee
VS
180792011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18080
18081 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
18082
1227c133
VS
180832011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18084
18085 Fix PCI iterating on functions >= 4.
18086
18087 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
18088 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
18089 Removed.
18090 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
18091 (grub_pci_read): Fix bitmask.
18092 (grub_pci_read_word): Likewise.
18093 (grub_pci_read_byte): Likewise.
18094 (grub_pci_write): Likewise.
18095 (grub_pci_write_word): Likewise.
18096 (grub_pci_write_byte): Likewise.
18097
9594c689
VS
180982011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18099
18100 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
18101 can still be specified in TARGET_CFLAGS)
18102
14a2562c
VS
181032011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18104
18105 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
18106
18107 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
18108 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
18109 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
18110 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
18111 (FULOONG): Rename to ...
18112 (FULOONG2F): ... this. All users updated.
18113 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
18114 (machtype_fuloong2f_str): ... this.
18115 (machtype_fuloong2e_str): New string.
18116 Check for machtype_fuloong2e_str.
18117 * grub-core/loader/mips/linux.c (loongson_machtypes)
18118 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
18119 * grub-core/term/serial.c (loongson_defserial)
18120 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
18121 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
18122 loongson_defserial.
18123 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
18124 Rename to ...
18125 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
18126 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
18127 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
18128 to IMAGE_FULOONG2F_FLASH. All users updated.
18129 (image_targets): Rename images.
18130 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
18131
b526cbb6
SJ
181322011-08-19 Szymon Janc <szymon@janc.net.pl>
18133
18134 Make enable of disk cache statistics code configurable.
18135
18136 * configure.ac: --enable-cache-stats added.
18137 * config.h.in (DISK_CACHE_STATS): New define.
18138 * grub-core/Makefile.core.def (cacheinfo): New command.
18139 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
18140 * grub-core/commands/cacheinfo.c: New file.
18141 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
18142 moved to cacheinfo.c.
18143 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
18144 debug code.
18145 * include/grub/disk.h: Likewise.
18146
fb739ccd
SJ
181472011-08-19 Szymon Janc <szymon@janc.net.pl>
18148
18149 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
18150 * grub-core/Makefile.am: Likewise.
18151
2bba8cfd
VS
181522011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18153
18154 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
18155 non-zero pull.
18156
43526629
VS
181572011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18158
18159 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
18160 All users updated.
18161 (grub_jfs_lookup_symlink): Use correct starting inode.
18162
5c144cc8
VS
181632011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18164
18165 * util/grub-setup.c (main): Add missing gcry initialisation.
18166
b1257f65
VS
181672011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18168
18169 Don't accept text modes on EFI when booting Linux.
18170
18171 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
18172 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
18173
828bc390
ML
181742011-08-15 Mario Limonciello <mario_limonciello@dell.com>
181752011-08-15 Colin Watson <cjwatson@ubuntu.com>
18176
18177 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
18178 use of "/path/.." as in grub-install for EFI as well as handling
18179 symlinks correctly.
18180 Fixes Debian bug #637768.
18181
5f60ccac
CW
181822011-08-15 Colin Watson <cjwatson@ubuntu.com>
18183
18184 * util/grub-probe.c: Remove duplicate #include.
18185
6dc212f9
RM
181862011-08-10 Robert Millan <rmh@gnu.org>
18187
18188 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
18189
18190 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
18191 function.
18192 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
18193 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
18194
66816d85
RM
181952011-08-03 Robert Millan <rmh@gnu.org>
18196
18197 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
18198 la_array as packed.
18199 Reported by: Zachary Bedell
18200
20168fca
CW
182012011-07-26 Colin Watson <cjwatson@ubuntu.com>
18202
18203 * configure.ac: The Loongson port requires grub-mkfont due to its
18204 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
18205 be built.
18206
303b6246
CW
182072011-07-26 Colin Watson <cjwatson@ubuntu.com>
18208
18209 * util/grub-install.in: Don't source grub-mkconfig_lib until after
18210 processing arguments (otherwise help2man fails when GRUB has not yet
18211 been installed).
18212
6795300e
VS
182132011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18214
41aa28ea
VS
18215 New script grub-mkstandalone.
18216
18217 * Makefile.util.def (grub-mkstandalone): New script.
18218 * docs/man/grub-mkstandalone.h2m: New file.
18219 * util/grub-mkstandalone.in: Likewise.
18220
182212011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18222
18223 Support ATA disks with 4K sectors.
6795300e
VS
18224
18225 * include/grub/ata.h (grub_ata): New member log_sector_size.
18226 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
18227 (grub_ata_identify): Read sector size.
18228 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
18229
92227597
VS
182302011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 * util/grub-install.in: Don't use uhci outside of x86.
18233
c77069f5
VS
182342011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18235
18236 * util/grub-mkrescue.in: Add missing quotes.
18237
182382011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
18239
18240 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
18241 dereference.
18242
583168a2
VS
182432011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18244
18245 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
18246
6be1c01f
VS
182472011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18248
18249 * include/grub/video.h: add missing EXPORT_FUND on
18250 grub_video_edid_checksum and grub_video_edid_preferred_mode.
18251
a1167439
VS
182522011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18253
18254 * include/grub/mips/kernel.h: Fix define conflict.
18255
bf66054f
VS
182562011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18257
18258 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
18259 all four ways.
18260
8fc4fa45
CW
182612011-07-21 Colin Watson <cjwatson@ubuntu.com>
18262
18263 Preferred resolution detection for VBE.
18264
18265 * grub-core/video/video.c (grub_video_edid_checksum): New function.
18266 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
18267 the Flat Panel extension, in line with the X.org VESA driver.
18268 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
18269 New function.
18270 (grub_vbe_bios_get_ddc_capabilities): Likewise.
18271 (grub_vbe_bios_read_edid): Likewise.
18272 (grub_vbe_get_preferred_mode): Likewise.
18273 (grub_video_vbe_setup): When the mode is "auto", try to get the
18274 preferred mode from VBE, and use the largest mode that is no larger
18275 than the preferred mode (some BIOSes expose a preferred mode that is
18276 not in their mode list!). If this fails, fall back to 640x480 as a
18277 safe conservative choice.
18278 (grub_video_vbe_get_edid): New function.
18279 (grub_video_vbe_adapter): Add get_edid.
18280 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
18281 (struct grub_video_adapter): Add get_edid.
18282 (grub_video_edid_checksum): Add prototype.
18283 (grub_video_edid_preferred_mode): Likewise.
18284 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
18285 structure.
18286
18287 * grub-core/commands/videoinfo.c (print_edid): New function.
18288 (grub_cmd_videoinfo): Print EDID if available.
18289
18290 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
18291 is more appropriate on a wider range of platforms than 640x480.
18292 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
18293 documentation.
18294
ca5572a9
VS
182952011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18296
18297 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
18298
e4bcf625
VS
182992011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 * po/POTFILES.in: Regenerate.
18302
c4edd548
VS
183032011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18304
18305 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
18306 incorrect memory usage.
18307
16a2bab0
VS
183082011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18309
18310 * util/grub-install.in: Source grub-mkconfig_lib.
18311
2e418de6
VS
183122011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18313
18314 Remove getroot.c from core on emu platform.
18315
18316 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
18317 kern/emu/raid.c.
18318 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
18319 useless.
18320 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
18321 * util/getroot.c (get_win32_path): ... here.
18322 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
18323 * util/getroot.c (fini_libzfs): ... here.
18324 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
18325 * util/getroot.c (grub_get_libzfs_handle): ... here.
18326 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
18327 Moved from here...
18328 * util/getroot.c (grub_find_zpool_from_dir): ... here.
18329 * grub-core/kern/emu/misc.c
18330 (grub_make_system_path_relative_to_its_root): Moved from here...
18331 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
18332 * grub-core/kern/emu/getroot.c: Moved from here ...
18333 * util/getroot.c: ... here. All users updated.
18334 * grub-core/kern/emu/raid.c: Moved from here ...
18335 * util/raid.c: ... here. All users updated.
18336
def9832a
VS
183372011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18338
18339 * po/POTFILES.in: Regenerate.
18340
cd8fe79a
VS
183412011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18342
18343 Fix compilation on GNU/Linux.
18344
18345 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
18346 Disable geli.
18347 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
18348 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
18349 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
18350
a251b719
VS
183512011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
183522011-07-07 Michael Gorven <michael@gorven.za.net>
183532011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
18354
18355 LUKS and GELI support.
18356
18357 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
18358 grub-core/disk/luks.c, grub-core/disk/geli.c,
18359 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
18360 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
18361 grub-core/lib/arg.c.
18362 (libgrubmods.a): Remove gcrypts cflags and cppflags.
18363 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
18364 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
18365 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
18366 (grub-bin2h): Add libgcry.a.
18367 (grub-mkimage): Likewise.
18368 (grub-mkrelpath): Likewise.
18369 (grub-script-check): Likewise.
18370 (grub-editenv): Likewise.
18371 (grub-mkpasswd-pbkdf2): Likewise.
18372 (grub-pe2elf): Likewise.
18373 (grub-fstest): Likewise.
18374 (grub-mkfont): Likewise.
18375 (grub-mkdevicemap): Likewise.
18376 (grub-probe): Likewise.
18377 (grub-ofpath): Likewise.
18378 (grub-mklayout): Likewise.
18379 (example_unit_test): Likewise.
18380 (grub-menulst2cfg): Likewise.
18381 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
18382 * grub-core/Makefile.core.def (cryptodisk): New module.
18383 (luks): Likewise.
18384 (geli): Likewise.
18385 * grub-core/disk/AFSplitter.c: New file.
18386 * grub-core/disk/cryptodisk.c: Likewise.
18387 * grub-core/disk/geli.c: Likewise.
18388 * grub-core/disk/luks.c: Likewise.
18389 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
18390 grub_util_is_lvm.
18391 (grub_util_get_dm_abstraction): New function.
18392 (grub_util_follow_gpart_up): Likewise.
18393 (grub_util_get_geom_abstraction): Likewise.
18394 (grub_util_get_dev_abstraction): Use new functions.
18395 (grub_util_pull_device): Pull GELI and LUKS.
18396 (grub_util_get_grub_dev): Handle LUKS and GELI.
18397 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
18398 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
18399 (follow_geom_up): Removed.
18400 (grub_util_fd_seek): New function.
18401 (open_device): Use grub_util_fd_seek.
18402 (nread): Rename to ..
18403 (grub_util_fd_read): ... this. All users updated.
18404 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
18405 (grub_crypto_cbc_decrypt): Likewise.
18406 (grub_crypto_hmac_write): Likewise.
18407 (grub_crypto_hmac_buffer): Likewise.
18408 (grub_password_get): Extend to util.
18409 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
18410 New member modname.
18411 (gcry_md_spec) [GRUB_UTIL]: Likewise.
18412 * include/grub/cryptodisk.h: New file.
18413 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
18414 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
18415 LUKS and GELI.
18416 (grub_util_follow_gpart_up): New proto.
18417 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
18418 (grub_util_fd_read): Likewise.
18419 (grub_cryptodisk_cheat_mount): Likewise.
18420 (grub_util_cryptodisk_print_uuid): Likewise.
18421 (grub_util_get_fd_sectors): Likewise.
18422 * util/grub-fstest.c (mount_crypt): New var.
18423 (fstest): Mount crypto if requested.
18424 (options): New option -C.
18425 (argp_parser): Parse -C.
18426 (main): Init and fini gcry.
18427 * util/grub-install.in: Support cryptodisk install.
18428 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
18429 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
18430 cryptodisk.
18431 (prepare_grub_to_access_device): Likewise.
18432 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
18433 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
18434 (probe_cryptodisk_uuid): New function.
18435 (probe_abstraction): Likewise.
18436 (probe): Use new functions.
18437 * util/import_gcry.py: Create Makefile.utilgcry.def.
18438 Add modname member.
18439
9bfdcbbc
VS
184402011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18441
18442 Lazy device scanning.
18443
18444 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
18445 (grub-setup): Remove util/raid.c.
18446 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
18447 * grub-core/disk/lvm.c (scan_depth): New variable.
18448 (grub_lvm_iterate): Rescan if necessary.
18449 (find_lv): New function based on grub_lvm_open.
18450 (grub_lvm_open): Use find_lv. Rescan on error.
18451 (is_node_readable): New function.
18452 (is_lv_readable): Likewise.
18453 (grub_lvm_scan_device): Skip already found disks.
18454 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
18455 Stop if searched device is found and readable.
18456 * grub-core/disk/raid.c (inscnt): New variable.
18457 (scan_depth): Likewise.
18458 (scan_devices): New function based on grub_raid_register. Abort if
18459 looked for device is found.
18460 (grub_raid_iterate): Rescan if needed.
18461 (find_array): NEw function based on -grub_raid_open.
18462 (grub_raid_open): Use find_array and rescan.
18463 (insert_array): Set became_readable_at.
18464 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
18465 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
18466 New function.
18467 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
18468 (grub_util_pull_device): New function.
18469 (grub_util_get_grub_dev): Call grub_util_pull_device.
18470 * util/raid.c: Moved to ..
18471 * grub-core/kern/emu/raid.c: ... here.
18472 (grub_util_raid_getmembers): New parameter "bootable".
18473 All users updated. Support 1.x.
18474 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
18475 All users updated.
18476 * include/grub/disk.h (grub_disk_pull_t): New enum.
18477 (grub_disk_dev): Change iterate prototype.
18478 All users updated.
18479 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
18480 New proto.
18481 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
18482 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
18483 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
18484 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
18485 All users updated.
18486 * include/grub/util/raid.h: Removed.
18487
1c358e59
VS
184882011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18489
18490 * po/POTFILES.in: Regenerate.
18491
abee94ed
VS
184922011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18493
18494 Unify sparc init with other ieee1275.
18495
18496 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
18497 instead of kern/sparc64/ieee1275/init.c.
18498 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
18499 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
18500 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
18501 grub/machine/kernel.h.
18502 (grub_ieee1275_original_stack) [__sparc__]: New variable.
18503 (grub_claim_heap) [__sparc__]: Use sparc version.
18504 (grub_machine_init): Moved args parsing to
18505 (grub_parse_cmdline): ...this.
18506 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
18507 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
18508 New definition.
18509 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
18510
18511 Move BOOTP to separate file.
18512
18513 * grub-core/Makefile.core.def (net): Add net/bootp.c.
18514 * grub-core/net/net.c: Move all BOOTP functions to
18515 * grub-core/net/bootp.c: ... here.
18516
18517 Use frame interface on PXE.
18518
18519 * grub-core/Makefile.core.def (pxecmd): Removed.
18520 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
18521 * grub-core/commands/i386/pc/pxecmd.c: Removed.
18522 * grub-core/i386/pc/pxe.c: Moved from here ...
18523 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
18524 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
18525 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
18526
18527 EFI network support.
18528
18529 * grub-core/Makefile.core.def (efinet): New module.
18530 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
18531 here...
18532 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
18533 All users updated.
18534 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
18535 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
18536 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
18537 * grub-core/net/drivers/efi/efinet.c: New file.
18538 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
18539 (grub_efi_net_config): New extern var.
18540
18541 Various cleanups and bugfixes.
18542
18543 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
18544 error.
18545 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
18546 disk declared as partition.
18547 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
18548 leak on failure.
18549 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
18550 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
18551 (grub_debug_zalloc): Likewise.
18552 (grub_debug_realloc): Likewise.
18553 (grub_debug_memalign): Likewise.
18554 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
18555 Check that target is IPv4.
18556 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
18557 local-mac-address as fallback.
18558 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
18559 memory leak.
18560 * grub-core/net/ip.c (ipchksum): Rename to ...
18561 (grub_net_ip_chksum): ... this. All users updated.
18562 (grub_net_recv_ip_packets): Special handling for DHCP.
18563 * util/grub-mkimage.c (generate_image): Zero-out aout header.
18564
18565 Unify prefix handling
18566
18567 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
18568 (grub_machine_get_bootlocation): ... this.
18569 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
18570 (grub_machine_get_bootlocation): ... this.
18571 (grub_prefix): New variable.
18572 (prefix): Removed.
18573 (root_dev): New variable.
18574 (dir): Likewise.
18575 (main): Use new variables.
18576 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
18577 Revamped into ...
18578 (grub_machine_get_bootlocation): ... this.
18579 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
18580 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
18581 (grub_machine_get_bootlocation): ... this.
18582 (grub_machine_set_prefix): Removed.
18583 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
18584 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
18585 Revamped into ...
18586 (grub_machine_get_bootlocation): ... this.
18587 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
18588 (grub_set_prefix_and_root): ... this. All users updated.
18589 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
18590 Revamped into ...
18591 (grub_machine_get_bootlocation): ... this.
18592 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
18593 (grub_machine_get_bootlocation): New proto.
18594 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
18595
18596 Less intrusive and more reliable seek on network implementation.
18597
18598 * grub-core/kern/file.c (grub_file_net_seek): Removed.
18599 (grub_file_seek): Don't call grub_file_net_seek.
18600 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
18601 (grub_net_fs_read_real): .. this.
18602 (grub_net_seek_real): Use net->offset.
18603 (grub_net_fs_read): Seek if necessary.
18604
18605 Unify IEEE1275 netwotk config with the other platforms.
18606
18607 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
18608 New variable.
18609 (grub_machine_get_bootlocation): Support network.
18610 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
18611 Support type and device parsing.
18612 (grub_ieee1275_get_device_type): New function.
18613 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
18614 into ...
18615 (grub_ieee1275_net_config_real): ... this.
18616 (grub_ofnet_probecards): Removed.
18617 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
18618 * include/grub/ieee1275/ofnet.h: Removed.
18619 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
18620 extern var.
18621 (grub_ieee1275_get_device_type): New function.
18622
18623 Unify network device closing across platforms and make more robust.
18624
18625 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
18626 grub_grubnet_fini.
18627 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
18628 already.
18629 * grub-core/net/net.c (grub_net_network_level_interface_register):
18630 Update num_ifaces.
18631 (grub_net_card_unregister): Close all interfaces.
18632 (receive_packets): Don't poll if no iterfaces are registered.
18633 Open if necessary.
18634 (grub_net_fini_hw): New function.
18635 (grub_net_restore_hw): Likewise.
18636 (fini_hnd): New variable.
18637 (GRUB_MOD_INIT): Register preboot hook.
18638 (GRUB_MOD_FINI): Run and unregister preboot hook.
18639
18640 Poll network cards when idle.
18641
18642 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
18643 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
18644 * grub-core/net/net.c (receive_packets): Save last poll time.
18645 (grub_net_poll_cards_idle_real): New function.
18646 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
18647 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
18648 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
18649
18650 Rename ofnet interfaces.
18651
18652 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
18653 (grub_ofnet_findcards): Use ofnet_%s names.
18654
18655 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
18656
18657 Cleanup socket opening.
18658
18659 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
18660 (grub_net_fs_close): Likewise.
18661 (grub_net_fs_read_real): Use eof member.
18662 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
18663 (+grub_net_udp_close): New inline function.
18664
18665 * include/grub/net/tftp.h: Moved to the top of ...
18666 * grub-core/net/tftp.c: ... here.
18667 * include/grub/net/ip.h: Moved mostly to the top of ...
18668 * grub-core/net/ip.c: ... here.
18669 * include/grub/net/ethernet.h: Moved mostly to the top of ...
18670 * grub-core/net/ethernet.c: ... here.
18671
18672 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
18673
18674 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
18675 FS name.
18676
18677 * include/grub/net/ip.h (ipv4_ini): Removed.
18678 (ipv4_fini): Likewise.
18679
18680 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
18681 (grub_net_send_ip_packets): Likewise.
18682
cf1337aa
VS
186832011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18684
18685 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
18686 grub_read_cmos prototype.
18687
93c06ff9
VS
186882011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18689
18690 VGA text support in qemu-mips
18691
18692 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
18693 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
18694 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
18695 text.
18696 * grub-core/kern/i386/qemu/init.c: Renamed to ...
18697 * grub-core/kern/vga_init.c: ... this.
18698 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
18699 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
18700 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
18701 Adjust.
18702 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
18703 GRUB_MACHINE_PCI_IO_BASE.
18704
748ccabe
VS
187052011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18706
18707 MIPS qemu flash support.
18708
18709 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
18710 magic.
18711 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
18712 (grub_machine_init): Probe memory if its size isn't known.
18713 * util/grub-mkimage.c (image_targets): Add flash targets.
18714 (generate_image): Handle flash targets.
18715
d7345994
VS
187162011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18717
18718 MIPS qemu at_keyboard support.
18719
18720 * gentpl.py (videoinkernel): Add qemu-mips.
18721 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
18722 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
18723 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
18724 modules.
18725 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
18726 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
18727 * grub-core/term/serial.c (grub_serial_register)
18728 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
18729
a07a81b3
VS
187302011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18731
18732 CMOS support on sparc.
18733
18734 * gentpl.py (cmos): Add powerpc and sparc.
18735 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
18736 powerpc and sparc.
18737 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
18738 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
18739 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
18740 grub_set_datetime_cmos.
18741 * grub-core/lib/ieee1275/cmos.c: New file.
18742 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
18743 (find_rtc): Set no_ieee1275_rtc on error.
18744 (grub_get_datetime): Call grub_get_datetime_cmos on error.
18745 (grub_set_datetime): Call grub_set_datetime_cmos on error.
18746 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
18747 fail. Move value to argument. All users updated
18748 (grub_cmos_write): Likewise.
18749 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
18750 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
18751 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
18752 grub_get_datetime_cmos and grub_set_datetime_cmos.
18753
77546584
GS
187542011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18755
18756 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
18757 sourcing grub-mkconfig_lib.
18758 * util/update-grub_lib.in: Likewise.
18759 * util/grub.d/00_header.in: Likewise.
18760 * util/grub.d/10_hurd.in: Likewise.
18761 * util/grub.d/10_kfreebsd.in: Likewise.
18762 * util/grub.d/10_linux.in: Likewise.
18763 * util/grub.d/10_netbsd.in: Likewise.
18764 * util/grub.d/10_windows.in: Likewise.
18765 * util/grub.d/20_linux_xen.in: Likewise.
18766 * util/grub.d/30_os-prober.in: Likewise.
18767
54894791
CW
187682011-06-28 Colin Watson <cjwatson@ubuntu.com>
18769
18770 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
18771 default_bg_color rather than black.
18772 (grub_gfxterm_fullscreen): Likewise.
18773 (grub_gfxterm_background_color_cmd): Save new background color in
18774 default_bg_color.
18775
8d5d8444
VS
187762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18777
18778 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
18779
5afeb5bd
VS
187802011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18781
18782 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
18783 mismerge.
18784
ba7df45e
VS
187852011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18786
18787 Chainloading on coreboot support.
18788
18789 * grub-core/Makefile.core.def (chain): Add coreboot.
18790 * grub-core/loader/i386/coreboot/chainloader.c: New file.
18791
d0b526b2
VS
187922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18793
18794 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
18795 if it happens.
18796
5ff1d945
VS
187972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18798
18799 Implement time command.
18800
18801 * grub-core/Makefile.core.def (time): New module.
18802 * grub-core/commands/time.c: New file.
18803 * grub-core/script/parser.y: Remove "time" keyword.
18804 * grub-core/script/yylex.l: Likewise.
18805
5ebaad7e
VS
188062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18807
18808 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
18809
bdea3798
VS
188102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18811
18812 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
18813 when handling leftovers.
18814
b28c5655
VS
188152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18816
18817 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
18818 so that help2man doesn't fail.
18819
b6f945dc
VS
188202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
18823 type in pointers on sparc64.
18824 (get_card_packet): Likewise.
18825
f9b75e8a
CW
188262011-06-27 Colin Watson <cjwatson@ubuntu.com>
18827
18828 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
18829 with `*'.
18830 (grub_cmd_videoinfo): Fetch current video mode.
18831
1e3d9b86
VS
188322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
18835 because of underlying system restrictions.
18836
efff4b1c
VS
188372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18838
18839 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
18840 necessary.
18841
9fc9ce37
VS
188422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18843
18844 Coreboot video support.
18845
18846 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
18847 (vbe): Likewise.
18848 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
18849 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
18850 here ...
18851 * grub-core/kern/i386/int.S: ... here.
18852 * grub-core/video/i386/pc/vbe.c: Updated includes.
18853 * grub-core/video/i386/pc/vga.c: Likewise.
18854 * include/grub/i386/coreboot/memory.h
18855 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
18856 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
18857 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
18858 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
18859 Disable interrupts.
18860 * include/grub/i386/pc/vga.h: Removed. All users updated.
18861
41bec7fe
VS
188622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18863
18864 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
18865 definitions for dprintf.
18866 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
18867
ca80309d
VS
188682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18869
18870 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
18871 prototype.
18872 (get_card_packet): Likewise.
18873
9e322ce8
YB
188742011-06-26 Yves Blusseau <blusseau@zetam.org>
18875
18876 Display the path of the file when file is not found
18877
18878 * grub-core/fs/fat.c: Display the filename when file is not found.
18879 * grub-core/fs/fshelp.c: Likewise.
18880 * grub-core/fs/hfs.c: Likewise.
18881 * grub-core/fs/jfs.c: Likewise.
18882 * grub-core/fs/minix.c: Likewise.
18883 * grub-core/fs/ufs.c: Likewise.
18884 * grub-core/fs/btrfs.c: Likewise.
18885 * grub-core/commands/i386/pc/play.c: Likewise.
18886
cbf597af
SJ
188872011-06-26 Szymon Janc <szymon@janc.net.pl>
18888
18889 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
18890 pointer checks before calling grub_free().
18891 * grub-core/commands/wildcard.c (match_devices): Likewise.
18892 * grub-core/commands/wildcard.c (match_files): Likewise.
18893 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
18894 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
18895 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
18896 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
18897 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
18898 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
18899 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
18900 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18901 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
18902
6295b32f
P
189032011-06-25 Patrick <p55@mailinator.com>
18904
18905 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
18906
77c0840b
VS
189072011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
18908
18909 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
18910 (grub_pxe_send): Likewise.
18911 (GRUB_MOD_INIT): Fix types.
18912
40ea05de
SJ
189132011-06-24 Szymon Janc <szymon@janc.net.pl>
18914
18915 * grub-core/io/xzio.c: Fix code style issues
18916
90162423
MRA
189172011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
189182011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
18919
18920 Network infrastructure.
18921 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
18922
18923 * include/grub/net/arp.h: New file.
90162423
MRA
18924 * include/grub/net/device.h: Likewise.
18925 * include/grub/net/ethernet.h: Likewise.
18926 * include/grub/net/ip.h: Likewise.
18927 * include/grub/net/netbuff.h: Likewise.
18928 * include/grub/net/tftp.h: Likewise.
18929 * include/grub/net/udp.h: Likewise.
18930 * include/grub/ieee1275/ofnet.h: Likewise.
18931 * include/grub/emu/export.h: Likewise.
18932 * include/grub/net.h: Likewise.
18933 * grub-core/net/arp.c: Likewise.
18934 * grub-core/net/ethernet.c: Likewise.
18935 * grub-core/net/ip.c: Likewise.
18936 * grub-core/net/udp.c: Likewise.
18937 * grub-core/net/tftp.c: Likewise.
18938 * grub-core/net/netbuff.c: Likewise.
18939 * grub-core/net/net.c: Likewise.
18940 * grub-core/net/drivers/emu/emunet.c: Likewise.
18941 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
18942 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
18943 export.h.
18944 * grub-core/Makefile.core.def (net): New module.
18945 (tftp): Likewise.
18946 (ofnet): Likewise.
18947 (emunet): Likewise.
18948 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
18949 network protocols.
18950 * grub-core/kern/device.c (grub_net_open) : New variable.
18951 (grub_device_open): Handle network device.
18952 (grub_device_close): Likewise.
18953 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
18954 (grub_grubnet_fini): Likewise.
18955 (grub_file_seek): Seek in network device.
18956 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
18957 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
18958 network root.
18959 (grub_machine_fini): Call grub_grubnet_fini.
18960 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
18961 network.
18962 (grub_ieee1275_get_aliasdevname): New function.
18963 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18964 Add unofficial Solaris network info.
18965 (grub_multiboot_make_mbi): Likewise.
18966 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
18967 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
18968 * include/grub/device.h (grub_fs): Removed.
18969 * include/grub/err.h (grub_err_t): Add network-related values.
18970 * include/grub/i386/pc/pxe.h: Removed bootp parts.
18971 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
18972 (grub_ieee1275_get_aliasdevname): New proto.
18973 * include/grub/net.h: Rewritten.
423a1849 18974
031f22a0
VS
189752011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18976
18977 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
18978 names.
18979
4388ca72
VS
189802011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18981
18982 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
18983 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
18984 it truncates the output.
18985 Reported by: Ximin Luo.
18986
98e2f506
VS
189872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18988
18989 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
18990
2a5e94d8
VS
189912011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18992
18993 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18994 partmap before abstraction.
18995
535c1910
AK
189962011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
18997
18998 * util/grub-mkconfig_lib.in: Add missing quotes.
18999
bc09e1a2
VS
190002011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19001
19002 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
19003 old method if mountinfo would return /dev/root and /dev/root doesn't
19004 exist.
19005
290766fb
VS
190062011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19007
19008 ZFS zlib support
19009
19010 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
19011 (decomp_table): Add zlib entries.
19012 (zio_read): USe 8 bits for compression function rather than 3.
19013 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
19014
190152011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
19016
19017 * grub-core/disk/ahci.c: Add missing license statements.
19018 * grub-core/fs/romfs.c: Likewise.
19019 * grub-core/lib/ia64/setjmp.S: Likewise.
19020 * grub-core/loader/i386/pc/freedos.c: Likewise.
19021 * grub-core/loader/ia64/efi/linux.c: Likewise.
19022 * grub-core/video/colors.c: Likewise.
19023 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
19024
5ab3f48a
VS
190252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19026
19027 AHCI support.
19028
19029 * grub-core/Makefile.core.def (ata_pthru): Removed.
19030 (ahci): New module.
19031 (pata): Likewise.
19032 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
19033 on unload.
19034 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
19035 readwrite.
19036 (grub_hdparm_do_check_powermode_cmd): Likewise.
19037 (grub_hdparm_do_smart_cmd): Likewise.
19038 (grub_hdparm_set_val_cmd): Likewise.
19039 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
19040 * grub-core/disk/ahci.c: New file.
19041 * grub-core/disk/ata.c: Factor out the low-level part into ...
19042 * grub-core/disk/pata.c: ... here.
19043 * grub-core/disk/ata_pthru.c: Contents moved to ...
19044 * grub-core/disk/pata.c: ... here.
19045 * grub-core/disk/scsi.c (grub_scsi_names): New array.
19046 (grub_scsi_iterate): Use grub_scsi_names.
19047 (grub_scsi_open): Likewise.
19048 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
19049 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
19050 (grub_ata_regs_t): New struct.
19051 (grub_disk_ata_pass_through_parms): Likewise.
19052 (grub_ata_device): Renamed to ...
19053 (grub_ata): ... this.
19054 (grub_ata_dev): New struct.
19055 Removed all low-level inline functions.
19056 * include/grub/scsi.h: Add PATA and AHCI subsystems.
19057 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
19058 iterate hooks and open. All users updated.
19059 * util/grub-install.in: Handle AHCI disk module.
19060
c31dc5f5
SJ
190612011-06-23 Szymon Janc <szymon@janc.net.pl>
19062
19063 Add support for DRI and RSTn markers in JPEG files.
19064
19065 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
19066 (JPEG_MARKER_RST0): Likewise.
19067 (JPEG_MARKER_RST1): Likewise.
19068 (JPEG_MARKER_RST2): Likewise.
19069 (JPEG_MARKER_RST3): Likewise.
19070 (JPEG_MARKER_RST4): Likewise.
19071 (JPEG_MARKER_RST5): Likewise.
19072 (JPEG_MARKER_RST6): Likewise.
19073 (JPEG_MARKER_RST7): Likewise.
19074 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
19075 (grub_jpeg_decode_dri): New function.
19076 (grub_jpeg_decode_sos): Move image data related part into
19077 grub_jpeg_decode_data function.
19078 (grub_jpeg_decode_data): New function.
19079 (grub_jpeg_reset): New function.
19080 (grub_jpeg_decode_jpeg): Handle new markers.
19081
fe12fd5b
VS
190822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19083
19084 * util/ieee1275/ofpath.c (check_sas): Close fd.
19085 (main): Free of_path.
19086 Reported by: David Volgyes <dvolgyes>.
19087
03147f46
VS
190882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19089
19090 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
19091 Reported by: David Volgyes <dvolgyes>.
19092
cad3237f
VS
190932011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19094
19095 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
19096 file after stat.
19097 Reported by: David Volgyes <dvolgyes>.
19098
13548d26
VS
190992011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19100
19101 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
19102
19103 Reported by: David Volgyes <dvolgyes>.
19104
e061a1b5
VS
191052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19106
19107 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
19108 Prevent memory leak.
19109
1abe47dc
VS
191102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19111
19112 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
19113 (main): Close file.
e061a1b5 19114 Reported by: David Volgyes <dvolgyes>.
1abe47dc 19115
fbc62666
VS
191162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19117
19118 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
19119 to continue if allocation is failed.
19120
19121 Reported by: David Volgyes <dvolgyes>.
19122
e98c83e9
DV
191232011-06-23 David Volgyes <dvolgyes>
19124
19125 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
19126 dereference.
19127
a199a8cd
VS
191282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19129
19130 Fix spurious warning.
19131
19132 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
19133 (acorn_partition_map_find): Use .bin member.
19134
e2d1dba0
VS
191352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19136
19137 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
19138 /dev/root as a valid device.
19139
8a5d6919
JM
191402011-06-23 Jim Meyering <meyering@redhat.com>
19141
e2d1dba0
VS
19142 Avoid NULL deref in grub_device_open.
19143
8a5d6919
JM
19144 * grub-core/kern/device.c (grub_device_open): Don't dereference
19145 a NULL pointer upon failed grub_env_get.
19146
f7db6f4a
VS
191472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19148
19149 Support non-512B sectors and agglomerate reads.
19150
19151 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
19152 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
19153 (disk_io_guid): Removed.
19154 (make_devices): Locate solely by BlockIO.
19155 (grub_efidisk_open): Fill log_sector_size and total_sectors.
19156 (grub_efidisk_read): Use read_blocks.
19157 (grub_efidisk_write): Use write_blocks.
19158 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
19159 log_sector_size.
19160 (get_safe_sectors): Handle non-512B sectors.
19161 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
19162 sectors.
19163 (grub_biosdisk_write): Handle non-512B sectors.
19164 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
19165 (grub_scsi_read): Remove special non-512B block handling (now handled
19166 one level up).
19167 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
19168 and do sanity checks.
19169 (grub_disk_adjust_range): Handle non-512B sectors.
19170 (transform_sector): New function.
19171 (grub_disk_read_small): Likewise.
19172 (grub_disk_read): Rewritten.
19173 (grub_disk_write): Handle non-512B sectors.
19174 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
19175 log_sector_size.
19176 (open_device): Use log_sector_size.
19177 (grub_util_biosdisk_read): Likewise.
19178 (grub_util_biosdisk_write): Likewise.
19179 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
19180 non-512B sectors.
19181 (pc_partition_map_embed): Likewise.
19182 * include/grub/disk.h (grub_disk): New field log_sector_size.
19183 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
19184 (GRUB_DISK_CACHE_BITS): Increased to 6.
19185 * util/grub-fstest.c (fstest): New command testload.
19186 (argp_parser): Likewise.
19187
881ac815
RM
191882011-06-16 Robert Millan <rmh@gnu.org>
19189
19190 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
19191 `ata' driver on kernel of FreeBSD 9.
19192
19193 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
19194 (get_ataraid_disk_name): New functions.
19195 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
19196 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
19197 get_ataraid_disk_name() and get_ada_disk_name().
19198
1e9aef7d
CW
191992011-06-13 Colin Watson <cjwatson@ubuntu.com>
19200
19201 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
19202 input format.
19203
351c7c8a
CW
192042011-05-29 Colin Watson <cjwatson@ubuntu.com>
19205
19206 * docs/grub.texi (Obtaining and Building GRUB): Substitute
19207 `ftp.gnu.org' for `alpha.gnu.org'.
19208
6b4e6430
CW
192092011-05-27 Colin Watson <cjwatson@ubuntu.com>
19210
19211 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
19212 partitions under /dev/disk/by-id/.
19213
c64db050
CW
192142011-05-27 Colin Watson <cjwatson@ubuntu.com>
19215
19216 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
19217 after ten consecutive open failures. Scanning all the way up to
19218 10000 is excessive and can cause serious performance problems in
19219 some configurations.
19220 Fixes Ubuntu bug #787461.
19221
245f4aba
VS
192222011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19223
19224 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
19225 opening new one.
19226
f767c929
VS
192272011-05-21 Colin Watson <cjwatson@ubuntu.com>
192282011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19229
19230 Don't stat devices unless we have to.
19231
19232 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
19233 dir == /dev/mapper.
19234 (grub_guess_root_device): Use already known os_dev if possible.
19235 * grub-core/kern/emu/hostdisk.c
19236 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
19237 if device is known to be a dm one.
19238
f35fa3a6
CW
192392011-05-20 Colin Watson <cjwatson@ubuntu.com>
19240
19241 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
19242 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
19243 Reported by: Pawel Tecza.
19244
9a79fcf2
VS
192452011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
19246
19247 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
19248 (lsefisystab): Likewise.
19249 (lssal): Likewise.
19250 (lsefimmap): Likewise.
19251 (hdparm): Enable on qemu-mips.
19252 (setjmp): Add ia64 nodist.
19253 (serial): Simplify tags.
19254
63e3eea9
CW
192552011-05-18 Colin Watson <cjwatson@ubuntu.com>
19256
19257 * Makefile.util.def (grub-ofpathname): Install manual page.
19258
09728256
CW
192592011-05-18 Colin Watson <cjwatson@ubuntu.com>
19260
19261 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
19262
8b63a142
CW
192632011-05-18 Colin Watson <cjwatson@ubuntu.com>
19264
19265 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
19266
e775d8ed
VS
192672011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19268
19269 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
19270 into dprintf.
19271
bf947d36
VS
192722011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19273
19274 Use full 64-bit division.
19275
19276 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
19277 (grub_divmod64): ... this.
19278 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
19279 version.
19280
b84f26c5
CW
192812011-05-18 Colin Watson <cjwatson@ubuntu.com>
19282
19283 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
19284 `source'.
19285
5626056f
CW
192862011-05-18 Colin Watson <cjwatson@ubuntu.com>
19287
19288 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
19289 to avoid accidents when debugging with 'sh -x'.
19290 * grub-core/gensyminfo.sh.in: Likewise.
19291 * tests/example_scripted_test.in: Likewise.
19292 * tests/grub_cmd_regexp.in: Likewise.
19293 * tests/grub_script_blanklines.in: Likewise.
19294 * tests/grub_script_dollar.in: Likewise.
19295 * tests/grub_script_expansion.in: Likewise.
19296 * tests/grub_script_final_semicolon.in: Likewise.
19297 * tests/partmap_test.in: Likewise.
19298 * tests/util/grub-shell-tester.in: Likewise.
19299 * tests/util/grub-shell.in: Likewise.
19300
e2965f4a
CW
193012011-05-18 Colin Watson <cjwatson@ubuntu.com>
19302
19303 Move gfxmenu color handling to video, so that gfxterm can use it
19304 too.
19305
19306 * grub-core/gfxmenu/named_colors.c: Move to ...
19307 * grub-core/video/colors.c: ... here. Rename
19308 grub_gui_get_named_color to grub_video_get_named_color.
19309 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
19310 * grub-core/video/colors.c (my_isxdigit): ... here.
19311 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
19312 Move to ...
19313 * grub-core/video/colors.c (parse_hex_color_component): ... here.
19314 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
19315 to ...
19316 * grub-core/video/colors.c (grub_video_parse_color): ... here.
19317
19318 * include/grub/gui.h (grub_gui_color_t): Move to ...
19319 * include/grub/video.h (grub_video_rgba_color_t): ... here.
19320 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
19321 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
19322 * include/grub/gui.h (grub_gui_map_color): Move to ...
19323 * include/grub/video.h (grub_video_map_rgba_color): ... here.
19324 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
19325 to ...
19326 * include/grub/video.h (grub_video_get_named_color): ... here.
19327 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
19328 * include/grub/video.h (grub_video_parse_color): ... here.
19329
19330 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
19331 video/colors.c.
19332 (gfxmenu): Remove gfxmenu/named_colors.c.
19333 (video) [videomodules]: Add video/colors.c.
19334
19335 Add a background_color command.
19336
19337 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
19338 function.
19339 (GRUB_MOD_INIT): Register background_color command.
19340 (GRUB_MOD_FINI): Unregister background_color command.
19341 (redraw_screen_rect): Allow blend/replace of text layer to be
19342 controlled independently from whether there is a background bitmap.
19343 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
19344 changing bitmap.
19345
1e4b4390
VS
193462011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19347
26618ff0
VS
19348 Patch BPB in ntldr and chainloader --bpb.
19349
1e4b4390
VS
19350 * grub-core/fs/fat.c: Include grub/fat.h.
19351 (grub_fat_bpb): Moved to ...
19352 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
19353 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
19354 grub/ntfs.h.
19355 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
19356 Moved from here...
19357 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
19358 here.
19359 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
19360 New function.
19361 (grub_chainloader_cmd): Patch BPB if --bpb is given.
19362 (GRUB_MOD_INIT): Show --bpb.
19363 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
19364 * grub-core/normal/main.c (features): New variable.
19365 (GRUB_MOD_INIT): Set feature_* variables.
19366 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
19367 proto.
19368 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
19369
cf02731e
VS
193702011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19371
19372 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
19373 for cleanness.
19374
e3a1073f
VS
193752011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19376
19377 FreeDOS direct loading support.
19378
19379 * docs/grub.texi (Supported OS): Add FreeDOS.
19380 * grub-core/Makefile.core.def (freedos): New module.
19381 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
19382 variable.
19383 (grub_relocator16_boot): Handle %ebx.
19384 * grub-core/lib/i386/relocator16.S: Likewise.
19385 * grub-core/loader/i386/pc/freedos.c: New file.
19386
05caa461
VS
193872011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19388
19389 Long Linux command line support.
19390
19391 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19392 (maximal_cmdline_size): New variable.
19393 (allocate_pages): Use maximal_cmdline_size.
19394 (grub_cmd_linux): Set and use maximal_cmdline_size.
19395 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19396 (allocate_pages): Use maximal_cmdline_size.
19397 (grub_cmd_linux): Set and use maximal_cmdline_size.
19398 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
19399 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
19400 and cmdline_size.
19401
a2491e23
VS
194022011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
194032011-05-18 Colin Watson <cjwatson@ubuntu.com>
19404
19405 Improve devmapper support
19406
19407 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
19408 (grub_util_is_lvm): New function.
19409 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
19410 than lvm if not dmraid.
19411 Handle mapped md nodes.
19412 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
19413 (grub_util_device_is_mapped): ... this. Make always available. All users
19414 updated.
19415 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
19416 (convert_system_partition_to_system_disk): Handle lvm, mpath and
19417 dmraid nodes.
19418 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
19419
6ad6223e
VS
194202011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19421
19422 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
19423
19424 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
19425 * grub-core/modinfo.sh.in: New file.
19426 * grub-core/Makefile.core.def (modinfo.sh): New script.
19427 * util/grub-mknetdir.in: Use modinfo.sh.
19428 * util/grub-mkrescue.in: Likewise.
19429
543a8f6e
VS
194302011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19431
19432 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
19433 Fix potential usage of Elf32 instead of Elf64 when compiling on
19434 32-bit architecture. Add endianness macros while on it.
19435
4959e111
VS
194362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19437
19438 Use mipsel- rather than mips- in directories involving mipsel ports to
19439 allow both endiannesses coexist.
19440
19441 * configure.ac: proparate target_cpu=mipsel rather than resetting to
19442 mips. All conditions adjusted.
19443 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
19444 variable.
19445 * util/grub-install.in: Adjust conditions to take renaming into account.
19446 * util/grub-mkimage.c (image_targets): Likewise. New target
19447 mips-qemu_mips-elf for bigendian mips.
19448
35341bbc
VS
194492011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19450
19451 Avoid unnecessary copying on MIPS.
19452
19453 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
19454 early if src == dest.
19455 * util/grub-mkimage.c (generate_image): Arange for src == dest if
19456 compression is none.
19457
b772baed
VS
194582011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19459
19460 Reduce memory footprint on SGI by putting modules before the kernel
19461 as opposed to after.
19462
19463 * grub-core/Makefile.core.def (kernel): Increase linking address.
19464 (none_decompress): Likewise.
19465 (xz_decompress): Likewise.
19466 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
19467 address.
19468 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
19469 layout change.
19470 (grub_arch_modules_addr): New function.
19471 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
19472 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
19473 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
19474 here.
19475 * grub-core/kern/mips/startup.S (total_size): Rename to ...
19476 (grub_total_modules_size): ... this. Make global.
19477 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
19478 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
19479 New definition.
19480 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
19481 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
19482 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
19483 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
19484 * util/grub-mkimage.c (image_target_desc): New flag
19485 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
19486 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
19487 (generate_image): Handle images with modules before kernel.
19488
566a1917
VS
194892011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19490
19491 Prevent potential loss of memory map by overwrite on qemu-mips.
19492
19493 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19494 Save ram size in $s4.
19495 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
19496 All users changed to grub_arch_memsize.
19497 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
19498 Loongson.
19499 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
19500 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
19501 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
19502 external variable.
19503
5d420cd9
CW
195042011-05-17 Colin Watson <cjwatson@ubuntu.com>
19505
19506 * .bzrignore: Remove grub-dumpbios.
19507
d064b830
CW
195082011-05-17 Colin Watson <cjwatson@ubuntu.com>
19509
19510 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
19511 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
19512 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
19513 existing options which append).
19514 * docs/grub.texi (Simple configuration): Document new options.
19515 Reported by: Ian Jackson. Fixes Debian bug #617538.
19516
3ca2b466
CW
195172011-05-17 Colin Watson <cjwatson@ubuntu.com>
19518
19519 * util/grub-fstest.c (cmd_cat): New function.
19520 (fstest): Handle CMD_CAT.
19521 (options): Add cat.
19522 (argp_parser): Handle cat.
19523
24c9143a
CW
195242011-05-17 Colin Watson <cjwatson@ubuntu.com>
19525
19526 * Makefile.util.def (grub-bin2h): Don't install.
19527 * docs/man/grub-bin2h.h2m: Remove.
19528
90f7ac19
VS
195292011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19530
19531 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
19532 place.
19533
8d4a5178
VS
195342011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 Reenable qemu-mips port.
19537
19538 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
19539 Fix small arc bug while on it.
19540 * gentpl.py: Handle qemu_mips.
19541 * grub-core/Makefile.am: Likewise.
19542 * grub-core/Makefile.core.def: Likewise.
19543 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
19544 inappropriate includes.
19545 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
19546 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
19547 * grub-core/kern/main.c (grub_modules_get_end)
19548 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
19549 * grub-core/kern/mips/qemu-mips: Moved to ..
19550 * grub-core/kern/mips/qemu_mips: ... this.
19551 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
19552 (grub_machine_init): Call terminfo_init and serial_init.
19553 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
19554 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19555 New variable.
19556 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
19557 parameter passing.
19558 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
19559 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
19560 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
19561 * include/grub/mips/qemu_mips/cmos.h: New file.
19562 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
19563 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
19564 Removed.
19565 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
19566 Use correct mips-style address.
19567 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
19568 (GRUB_TICKS_PER_SECOND): Removed.
19569 (grub_get_rtc): Likewise.
19570 (grub_cpu_idle): Likewise.
19571 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
19572 New definition.
19573 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
19574 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
19575 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
19576 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
19577 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
19578 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
19579 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
19580 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
19581
400b9371
VS
195822011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19583
19584 SGI ARCS port.
19585
19586 * Makefile.util.def (libgrubmods.a): Add dvh.c.
19587 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
19588 platforms.
19589 * configure.ac: New target mips-arc.
19590 * gentpl.py: Likewise.
19591 * grub-core/Makefile.am: Likewise.
19592 * grub-core/Makefile.core.def: Likewise.
19593 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
19594 (none_decompress): Likewise.
19595 (lsdev): New module.
19596 (datetime): Use lib/arc/datetime.c on ARC.
19597 (part_dvh): New module.
19598 * grub-core/commands/arc/lsdev.c: New file.
19599 * grub-core/disk/arc/arcdisk.c: Likewise.
19600 * grub-core/kern/mips/arc/init.c: Likewise.
19601 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
19602 aligned addresses.
19603 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
19604 support.
19605 (grub_arch_dl_relocate_symbols): Likewise.
19606 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
19607 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
19608 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
19609 platforms.
19610 * grub-core/lib/arc/datetime.c: New file.
19611 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
19612 pci.h on non-loongson.
19613 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
19614 (grub_linux_boot): Set unused registers to 0.
19615 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
19616 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
19617 * grub-core/mmap/mips/uppermem.c: ...here.
19618 * grub-core/partmap/dvh.c: New file.
19619 * grub-core/term/arc/console.c: Likewise.
19620 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
19621 (grub_terminfo_set_current): Add terminal "arc".
19622 (grub_terminfo_readkey): Support ARC sequences.
19623 * include/grub/arc/arc.h: New file.
19624 * include/grub/arc/console.h: Likewise.
19625 * include/grub/disk.h (grub_disk_dev_id): Add
19626 GRUB_DISK_DEVICE_ARCDISK_ID.
19627 * include/grub/mips/arc/kernel.h: New file.
19628 * include/grub/mips/arc/memory.h: Likewise.
19629 * include/grub/mips/arc/time.h: Likewise.
19630 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
19631 * include/grub/mips/kernel.h (grub_halt): ... here.
19632 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
19633 here...
19634 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
19635 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
19636 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
19637 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
19638 proto.
19639 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
19640 from here ...
19641 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
19642 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
19643 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
19644 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
19645 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
19646 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
19647 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
19648 (grub_phys_addr_t): Moved from here ...
19649 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
19650 (grub_vtop): Moved from here ...
19651 * include/grub/mips/memory.h (grub_vtop): ... here.
19652 (grub_map_memory): Moved from here ...
19653 * include/grub/mips/memory.h (grub_map_memory): ... here.
19654 (grub_unmap_memory): Moved from here ...
19655 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
19656 (grub_machine_mmap_iterate): Moved from here ...
19657 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
19658 (grub_mmap_get_lower): Moved from here ...
19659 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
19660 (grub_mmap_get_upper): Moved from here ...
19661 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
19662 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19663 here ...
19664 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19665 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
19666 here ...
19667 * include/grub/mips/time.h (grub_get_rtc): ... here.
19668 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19669 here ...
19670 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19671 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
19672 here ...
19673 * include/grub/mips/time.h (grub_cpu_idle): ... here.
19674 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
19675 definition.
19676 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
19677 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
19678 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
19679 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
19680 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
19681 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
19682 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
19683 (GRUB_MACHINE_LINK_ADDR): Likewise.
19684 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
19685 to 6.
19686 * util/grub-install.in: Run dvhtool on ARC.
19687 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 19688 (generate_image): Handle ECOFF output for mips-arc.
400b9371 19689
c8ecc840
VS
196902011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19691
19692 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
19693 blocks.
19694
153a4b55
VS
196952011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19696
19697 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
19698 after enabling port.
19699
ff44d107
VS
197002011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19701
19702 Skip incorrect USB devices.
19703
19704 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
19705 configcnt == 0.
19706 * include/grub/usb.h (grub_usb_err_t): New enum value
19707 GRUB_USB_ERR_BADDEVICE.
19708
638dbe4f
VS
197092011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19710
19711 Fuloong video init support.
19712
19713 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
19714 well.
19715 (grub_vga_read_arx): New function.
19716 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
19717 definition.
19718 (framebuffer): New members io, mmioptr and mmiobase.
19719 (read_sis_cmd): New function.
19720 (write_sis_cmd): Likewise.
19721 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
19722 rather than 640x400.
19723 * grub-core/video/sis315_init.c: New file.
19724
c3fc520c
VS
197252011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19726
19727 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
19728 non-loongson.
19729 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
19730 to grub_dl_register_symbol.
19731
67b1e5c9
VS
197322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19733
19734 Fix compilation errors.
19735
19736 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
19737 potentially unused.
19738 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
19739 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
19740 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
19741 to loongson machines.
19742
b756f75f
VS
197432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19744
19745 Several FS mtime support.
19746
19747 * grub-core/fs/affs.c (grub_affs_time): New struct.
19748 (grub_affs_file): New field mtime.
19749 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
19750 type. Removed 'size'. New field 'di'. All users updated.
19751 (grub_affs_mount): Simplify checsum checking.
19752 (grub_affs_iterate_dir): New helper grub_affs_create_node.
19753 (grub_affs_dir): Handle mtime.
19754 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
19755 (grub_cpio_dir): Likewise.
19756 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
19757 (grub_hfs_filerec): New field mtime.
19758 (grub_hfs_dir): Handle mtime.
19759 (grub_hfs_mtime): New function.
19760 (grub_hfs_fs): Register grub_hfs_mtime.
19761 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
19762 (grub_iso9660_dir): New field mtime.
19763 (grub_fshelp_node): New field dirent.
19764 (iso9660_to_unixtime): New function.
19765 (iso9660_to_unixtime2): Likewise.
19766 (grub_iso9660_read_symlink): Use node->dirent.
19767 (grub_iso9660_iterate_dir): Likewise.
19768 (grub_iso9660_dir): Set mtime.
19769 (grub_iso9660_mtime): New function.
19770 (grub_iso9660_fs): Register grub_iso9660_mtime.
19771 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
19772 (grub_jfs_inode): New fields atime, ctime and mtime.
19773 (grub_jfs_dir): Set mtime.
19774 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19775 * grub-core/fs/ntfs.c (list_file): Set mtime.
19776 (grub_ntfs_dir): Likewise.
19777 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
19778 (grub_reiserfs_iterate_dir): Set mtime.
19779 (grub_reiserfs_dir): Likewise.
19780 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
19781 (grub_fshelp_node): Likewise.
19782 (grub_sfs_iterate_dir): Set mtime.
19783 (grub_sfs_dir): Likewise.
19784 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
19785 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
19786 (grub_xfs_inode): New fields atime, mtime, ctime.
19787 (grub_xfs_dir): Set mtime.
19788 * include/grub/datetime.h (grub_datetime2unixtime): New function.
19789 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
19790 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
19791
19792 Support UDF symlinks.
19793
19794 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
19795 (grub_ufs_read_symlink): New function. All users updated.
19796
19797 Check amiga partmap checksum.
19798
19799 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
19800 (grub_amiga_partition): Likewise.
19801 (amiga_partition_map_checksum): New function.
19802 (amiga_partition_map_iterate): Check checksum.
19803
5470225d
VS
198042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19805
19806 ROMFS support.
19807
19808 * Makefile.util.def (libgrubmods.a): Add romfs.
19809 * grub-core/Makefile.core.def (romfs): New module.
19810 * grub-core/fs/romfs.c: New file.
19811
d4680a35
VS
198122011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19813
19814 Squashfs v4 support.
19815
19816 * Makefile.util.def (libgrubmods.a): Add squash4.
19817 * grub-core/Makefile.core.def (squash4): New module.
19818 * grub-core/fs/squash4.c: New file.
19819 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
19820 disk_input_start, disk_input.
19821 (get_byte): Handle disk_input.
19822 (grub_zlib_disk_read): New function.
19823 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
19824
bcb18e74
FZ
198252011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
198262011-05-15 Feiran Zheng <famcool@gmail.com>
19827
19828 * Makefile.util.def (libgrubmods.a): Add minix3.
19829 * grub-core/Makefile.core.def (minix3): New module.
19830 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
19831 (GRUB_MINIX_BSIZE): Removed.
19832 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
19833 (grub_minix_ino_t): New type.
19834 (grub_minix_le_to_cpu_ino): New macro.
19835 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
19836 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
19837 (grub_minix_data): New field block_size.
19838 (grub_minix_read_file): Handle 64-bit correctly.
19839 * grub-core/fs/minix3.c: New file.
19840
32297d5f
TG
198412011-05-15 Tristan Gingold <gingold@free.fr>
198422011-05-15 Robert Millan <rmh.grub@aybabtu.com>
198432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19844
19845 IA64 support.
19846
19847 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
19848 * configure.ac: Add ia64-efi target.
19849 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
19850 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
19851 * gentpl.py: Add ia64_efi platform.
19852 Rename x86_efi to efi and Add ia64-efi. All users updated.
19853 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
19854 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
19855 Remove kern/generic/rtc_get_time_ms.c on EFI.
19856 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
19857 kern/ia64/dl_helper.c on ia64-efi.
19858 Add kern/emu/cache.c on emu.
19859 (linux): Use on loader/ia64/efi/linux.c on ia64.
19860 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
19861 whether symbol is a function.
19862 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
19863 (grub_symbol): New field 'isfunc'.
19864 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
19865 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
19866 (grub_dl_load_segments): Place all sections into the same region.
19867 [__ia64__]: Create trampolines and got.
19868 [GRUB_MACHINE_EMU]: Call mprotect.
19869 (grub_dl_resolve_symbols): Resolve symbol type as well.
19870 [__ia64__]: Create function descriptors.
19871 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
19872 (grub_rtc_get_time_ms): ... this. Expressions simplified.
19873 (grub_get_rtc): New function.
19874 * grub-core/kern/emu/cache.c [__ia64__]: New file.
19875 * grub-core/kern/emu/cache.S: Renamed to ...
19876 * grub-core/kern/emu/cache_s.S: ... this.
19877 [__ia64__]: Add a nop.
19878 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
19879 [__ia64__]: New function.
19880 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
19881 * grub-core/kern/ia64/dl.c: New file.
19882 * grub-core/kern/ia64/dl_helper.c: Likewise.
19883 * grub-core/kern/ia64/efi/init.c: New file.
19884 * grub-core/kern/ia64/efi/startup.S: Likewise.
19885 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
19886 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
19887 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
19888 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
19889 * grub-core/loader/ia64/efi/linux.c: New file.
19890 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
19891 (GRUB_MOD_DEP): Likewise.
19892 (grub_dl) [__ia64__]: New fields got and tramp.
19893 (grub_dl): New field 'base'.
19894 (grub_dl_register_symbol): New argument isfunc. All users updated.
19895 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
19896 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
19897 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
19898 (grub_ia64_dl_get_tramp_got_size): New proto.
19899 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
19900 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
19901 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
19902 * include/grub/efi/api.h: Skip call wrappers on ia64.
19903 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
19904 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
19905 * include/grub/elf.h (ELF_ST_INFO): New definition.
19906 * include/grub/ia64/efi/kernel.h: New file.
19907 * include/grub/ia64/efi/memory.h: Likewise.
19908 * include/grub/ia64/efi/time.h: Likewise.
19909 * include/grub/ia64/kernel.h: Likewise.
19910 * include/grub/ia64/setjmp.h: Likewise (from glibc).
19911 * include/grub/ia64/time.h: New file.
19912 * include/grub/ia64/types.h: Likewise.
19913 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
19914 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
19915 New protos.
19916 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
19917 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
19918 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
19919 * util/grub-mkimage.c (image_target_desc): New field pe_target.
19920 All users updated.
19921 (EFI64_HEADER_SIZE): New definition. All users updated.
19922 (image_targets): Add ia64-efi.
19923 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
19924 jumpers_addr. All users updated.
19925 Create function descriptors.
19926 (count_funcs): New function.
19927 (unaligned_uint32): New struct.
19928 (MASK20): New definition.
19929 (MASK19): Likewise.
19930 (MASKF21): Likewise.
19931 (add_value_to_slot_20b): New function.
19932 (add_value_to_slot_21_real): Likewise.
19933 (add_value_to_slot_21): Likewise.
19934 (ia64_kernel_trampoline): New struct.
19935 (nopm): New variable.
19936 (jump): Likewise.
19937 (make_trampoline): New function.
19938 (relocate_addresses): Handle ia64.
19939 (make_reloc_section): Likewise.
19940 (load_image): Likewise.
19941
983b414d
VS
199422011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19943
19944 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
19945 warning. Move variables before code while on it.
19946
5d063cdc
VS
199472011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19948
19949 Fuloong support.
19950
19951 * configure.ac: Rename yeeloong platform to loongson. All users updated.
19952 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
19953 * grub-core/boot/mips/loongson/fuloong.S: New file.
19954 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
19955 Explicitly init CS5536.
19956 [FULOONG]: Don't use serial until CS5536 is available.
19957 Set GPIO based on dumps.
19958 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
19959 [FULOONG]: Handle GPIO and memory controller differences.
19960 Parse machine type in $a2.
19961 * grub-core/boot/mips/startup_raw.S: Determine and save the
19962 architecture.
19963 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
19964 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
19965 init on architecture type.
19966 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
19967 SIS315E. Don't init at_keyboard on fuloong.
19968 (grub_halt): Support Fuloong.
19969 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
19970 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
19971 (loongson_machtypes): New array.
19972 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
19973 type.
19974 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
19975 config. All users updated. Handle CS5536 serial.
19976 * grub-core/term/serial.c (grub_serial_register): Conditionalise
19977 default port on machine type. Register serial as inactive.
19978 * grub-core/video/sis315pro.c: New file.
19979 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
19980 definition.
19981 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
19982 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
19983 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
19984 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
19985 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
19986 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
19987 to ...
19988 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
19989 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
19990 definition.
19991 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
19992 (grub_arch_machine): New extern var.
19993 * include/grub/mips/loongson/serial.h
19994 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
19995 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
19996 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
19997 (GRUB_MACHINE_SERIAL_PORT0): ... this.
19998 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
19999 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
20000 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
20001 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
20002 * include/grub/term.h (grub_term_register_input_inactive): New inline
20003 function.
20004 (grub_term_register_output_inactive): Likewise.
20005 * include/grub/video.h (grub_video_driver_id): New value
20006 GRUB_VIDEO_DRIVER_SIS315PRO.
20007 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
20008 New field "names". All users updated.
20009 New field value IMAGE_FULOONG_FLASH.
20010 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
20011
6ada82d1
JU
200122011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
20013
20014 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
20015 and add some clarification.
20016
90c571a4
VS
200172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20018
20019 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
20020 platforms if kernel is compressed.
20021
de04eecf
VS
200222011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20023
20024 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
20025 unused modules since currently referrence counter isn't reliable and
20026 there isn't much memory to recover there anyway.
20027
57688121
VS
200282011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20029
20030 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
20031 rather than resetting it to allow modules to reference themselves
20032 in init.
20033
3d2c7e35
VS
200342011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20035
20036 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
20037 counter on dependencies since grub_dl_unref already handles this.
20038
b25db218
VS
200392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20040
20041 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
20042 on error if not already done.
20043
25a45338
VS
200442011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20045
20046 Fix few potential memory misusage.
20047
20048 * grub-core/font/font.c (load_font_index): Don't free char_index to
20049 avoid double free.
b25db218
VS
20050 (grub_font_load): Zero-fill font at alloc for safety.
20051 Close file on error.
20052 (free_font): Free bmp_idx.
25a45338 20053
0cac83df
VS
200542011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20055
20056 * docs/grub.texi (Installation): Fix several outdated claims.
20057
2217a143
VS
200582011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20059
20060 Handle module_license on windows.
20061
20062 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
20063 sections shifted.
20064 (insert_string): Make argument const char * instead of char *.
20065 (write_section_data): Handle long section names.
20066 Handle module_license.
20067
d4de6b01
VS
200682011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20069
20070 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
20071 handle class-free menuentries.
20072 (grub_normal_add_menu_entry): Add a check to be sure.
20073
4c2a3b43
VS
200742011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
20075
20076 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
20077 PgUp and PgDown.
20078
85c6210f
VS
200792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20080
20081 * configure.ac: Bump version to 1.99.
20082
36084912
VS
200832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20084
20085 Give ATA device a bit more time on first try in order to allow disks
20086 to spin up.
20087
20088 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
20089 if dev->present is 1. Reset dev->present on failure.
20090 (grub_ata_device_initialize): Set dev->present to 1.
20091 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
20092 (grub_ata_device): New member 'present'.
20093
bda0e219
VS
200942011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20095
20096 * util/grub-mkimage.c (generate_image): Update hash.
20097
19e1c41b
VS
200982011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20099
20100 Flush caches on DMA memory.
20101
20102 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
20103 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
20104 (grub_dma_free): Likewise.
20105 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
20106
91bbcc0c
VS
201072011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20108
20109 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
20110 to avoid asm treating ld and sd as macros.
20111
60ddfad3
VS
201122011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20113
20114 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
20115 decompressor.
20116
a298aa04
VS
201172011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20118
20119 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
20120 grub_decompress_core since later would fail if grub_decompress_core
20121 is too far.
20122
9b44feca
VS
201232011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20124
20125 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
20126 R_MIPS_JALR since it's used by newer compiler.
20127
56dbe7b4
VS
201282011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
20129
20130 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
20131
52856af2
VS
201322011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20133
20134 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
20135 file_path to 0 for surety.
20136 (grub_chainloader_boot): Set exit_data to NULL.
20137 Unset the loader once done.
20138 (grub_cmd_chainloader): Fix confusing error message if file is empty.
20139
9c9bfc6d
VS
201402011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20141
20142 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
20143 unknown key into a dprintf.
20144
dd94a3df
VS
201452011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20146
20147 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
20148 on first non-existant partition.
20149
fa68d99c
VS
201502011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20151
20152 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
20153 openning fails.
20154 Reported by: Mark Korenberg.
20155
157effb7
VS
201562011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20157
20158 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
20159 overflow.
20160
ea75312f
VS
201612011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20162
20163 * util/grub-mkimage.c (main): Explicitely flush and sync the output
20164 before closing to ensure that it will be readable by grub-setup.
20165
072b5d31
VS
201662011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20167
20168 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
20169 (devpath_1): Use MAKE_PIWG_PATH.
20170 (devpath_2): Likewise.
20171 (devpath_3): Likewise.
20172 (devpath_4): Likewise.
20173 (devpath_5): Likewise.
20174 (devpath_6): Likewise.
20175
20176 The appleldr.mod was checked that to be binary identical to previous
20177 version.
20178
7fae0051
Z
201792011-05-05 Zach <mikezackles>
20180
20181 Support 2010 Macbooks.
20182
20183 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
20184 (devs): Add devpath_6.
20185
7c515bee
VS
201862011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20187
20188 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
20189 /dev/random. /dev/urandom is good enough for our purposes (salting).
20190
ed660bd8
VS
201912011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20192
20193 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
20194
ee5614b7
VS
201952011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20196
20197 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
20198 hexadecimal.
20199
664889a6
VS
202002011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20201
20202 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
20203 and not 0 on failure.
20204
bd405bbc
CW
202052011-05-03 Colin Watson <cjwatson@ubuntu.com>
20206
20207 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
20208 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
20209 disk; otherwise grub_fs_probe will not fall back to the next
20210 filesystem.
20211 (grub_pxefs_open): Likewise, for consistency.
20212 Reported and tested by: Ezekiel Grave.
20213
4ebff753
CW
202142011-05-03 Colin Watson <cjwatson@ubuntu.com>
20215
20216 * tests/partmap_test.in: Don't hardcode path to parted.
20217 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
20218
8f942553
CW
202192011-05-01 Colin Watson <cjwatson@ubuntu.com>
20220
20221 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
20222 of `ls' to find out which devices are available.
20223
3c62402d
VS
202242011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20225
20226 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
20227 than source address for efi mmap buffer.
20228
723f63f2
VS
202292011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20230
20231 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
20232 wrong action on non-detecting the magic.
20233
68797f92
VS
202342011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
20237 already supplied by another part of the module (fixes compilation on
20238 FreeBSD).
20239
6be8715d
VS
202402011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20241
20242 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
20243 match the one used by mdadm.
20244
e91dba5b
CW
202452011-04-21 Colin Watson <cjwatson@ubuntu.com>
20246
20247 * po/README: Add instructions for creating po/LINGUAS.
20248
c85140b3
CW
202492011-04-21 Colin Watson <cjwatson@ubuntu.com>
20250
20251 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
20252 #551428.
20253
20254 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
20255 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
20256 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
20257 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
20258 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
20259 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
20260 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
20261 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
20262 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
20263 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
20264 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
20265 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
20266 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
20267 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
20268 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
20269 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
20270 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
20271 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
20272 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
20273 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
20274 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
20275 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
20276
92051871
CW
202772011-04-21 Colin Watson <cjwatson@ubuntu.com>
20278
20279 * grub-core/kern/emu/getroot.c
20280 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
20281 test that was incorrectly reintroduced in r3214.
20282 Reported by: Ian Dall. Fixes Savannah bug #33133.
20283
b13f79a4
CW
202842011-04-21 Colin Watson <cjwatson@ubuntu.com>
20285
20286 Fix stack pointer handling in 16-bit relocator.
20287
20288 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
20289 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
20290 Fixes Ubuntu bug #683904.
20291
9b710a88
VS
202922011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20293
20294 * configure.ac: Bump version to 1.99~rc2.
20295
d97e7b59
VS
202962011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20297
20298 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
20299 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
20300 * grub-core/lib/x86_64/setjmp.S: Likewise.
20301 * grub-core/lib/mips/setjmp.S: Likewise.
20302 * grub-core/lib/powerpc/setjmp.S: Likewise.
20303 * grub-core/lib/sparc64/setjmp.S: Likewise.
20304
0624551c
VS
203052011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20306
20307 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
20308 * grub-core/lib/efi/datetime.c: Likewise.
20309
e8f28d4c
VS
203102011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20311
20312 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
20313 New function.
20314 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
20315 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
20316 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
20317
bba79a15
VS
203182011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20319
20320 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
20321 bitmap.
20322 (grub_gfxterm_term_init): Likewise.
20323
abc474ef
VS
203242011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20325
20326 Take into account the decorations the computing menu entry width.
20327
20328 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
20329 (grub_gfxmenu_create_box): Register get_border_width.
20330 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
20331 if available.
20332 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
20333 get_border_width.
20334
e74b3947
EP
203352011-04-18 Endres Puschner <code@e7p.de>
20336
20337 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
20338 Don't skip first class.
20339
34faa595
VS
203402011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20341
20342 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
20343 chunks.
20344 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
20345
93a777e3
VS
203462011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20347
20348 Complete 64-bit division support.
20349
20350 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
20351 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
20352 * include/grub/misc.h (grub_divmod64): Rename to ...
20353 (grub_divmod64_full): ... this.
20354 (grub_divmod64): New inline function.
20355
a5102d94
VS
203562011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20357
20358 * util/grub-mkimage.c (generate_image): Add forgotten comma.
20359
f3fb7b36
VS
203602011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20361
20362 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
20363 performing the necessary test.
20364
9ac718b0
VS
203652011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20366
20367 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
20368 (kfreebsd.elf): Likewise.
20369 (pc-chainloader.elf): Likewise.
20370 (ntldr.elf): Likewise.
20371
50d2cc5a
VS
203722011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20373
20374 Identify RAID by its UUID rather than (guessed) name.
20375
20376 * grub-core/disk/raid.c (ascii2hex): New function.
20377 (grub_raid_open): Accept mduuid/%s specification.
20378 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
20379 (get_mdadm_uuid): ... this.
20380 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
20381
e03f7bea
VS
203822011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
20383
20384 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
20385 to negative size.
20386
e74c3112
CW
203872011-04-13 Colin Watson <cjwatson@ubuntu.com>
20388
20389 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
20390 btrfs subvolume.
20391 * util/grub.d/20_linux_xen.in: Likewise.
20392
78fa584f
CW
203932011-04-13 Colin Watson <cjwatson@ubuntu.com>
20394
20395 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
20396 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
20397
20398 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20399 Build a list of relevant visible mounts using the mnt_id and
20400 parent_mnt_id fields, and then scan that list at the end.
20401
9d5f8162
CW
204022011-04-12 Colin Watson <cjwatson@ubuntu.com>
20403
20404 * docs/grub.texi (normal): New section.
20405 (normal_exit): New section.
20406 (Embedded configuration): Add reference to normal.
20407 (GRUB only offers a rescue shell): Likewise.
20408 * docs/grub-dev.texi (Error Handling): Fix typo.
20409
09a9d66f
CW
204102011-04-12 Colin Watson <cjwatson@ubuntu.com>
20411
20412 * NEWS: Drop obsolete entry about probe-only btrfs support.
20413
0c676933
CW
204142011-04-12 Colin Watson <cjwatson@ubuntu.com>
20415
20416 * util/import_gcry.py: Fix typo.
20417
ec9f5e0d
VS
204182011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20419
20420 * NEWS: Add btrfs support.
20421
fe6b2cba
VS
204222011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
204232011-04-11 Colin Watson <cjwatson@ubuntu.com>
20424
20425 BtrFS support. Written by me (Vladimir) with important bugfixes and
20426 even more important testing by Colin.
20427
20428 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
20429 * grub-core/Makefile.core.def (btrfs): Add crc.c.
20430 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
20431 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
20432 mem_input_off and mem_input. All users updated to accept in-RAM input.
20433 (gzio_seek): New function.
20434 (test_zlib_header): Likewise.
20435 (grub_gzio_read): Likewise.
20436 (grub_zlib_decompress): Likewise.
20437 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
20438 Accept partial and non-virtual mounts.
20439 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
20440 avoid receiving /dev/dm-X as device.
20441 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
20442 Handle bind and partial mounts.
20443 * grub-core/lib/crc.c: New file.
20444 * include/grub/deflate.h: Likewise.
20445 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
20446 proto.
20447 * include/grub/lib/crc.h: New file.
20448
e745cf0c
VS
204492011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20450
20451 Implement automatic module license checking according to new GNU
20452 guidelines.
20453
20454 * grub-core/kern/dl.c (grub_dl_check_license): New function.
20455 (grub_dl_load_core): Use grub_dl_check_license.
20456 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
20457 (GRUB_MOD_LICENSE): Likewise.
20458 (GRUB_MOD_DUAL_LICENSE): Likewise.
20459 All modules updated.
20460
2a9bc016
CW
204612011-04-11 Colin Watson <cjwatson@ubuntu.com>
20462
20463 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
20464 reserved_first_sector to 1. btrfs reserves plenty of space for boot
20465 loaders.
20466 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
20467
8a3bc88e
VS
204682011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20469
20470 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
20471
af869a4a
VS
204722011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20473
20474 * util/grub-fstest.c (read_file): Report GRUB error if file opening
20475 failed.
20476
9ee8d94f
VS
204772011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20478
20479 * grub-core/kern/file.c (grub_file_open): Don't take into account the
20480 parenthesis in the middle of the filename.
20481
b01abe3e
VS
204822011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20483
20484 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
20485 rather than trying to put initrd way too high.
20486 Reported by: Ryan Lortie <desrt@desrt.ca>
20487
335bda1e
VS
204882011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20489
20490 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
20491 improperly removed string.
20492
5ca1a64d
VS
204932011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20494
20495 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
20496 is_disk.
20497 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
20498 (open_device) Likewise.
20499 (grub_util_biosdisk_close): Likewise.
d8ce9995 20500 Reported by: Mark Korenberg.
5ca1a64d 20501
cbac5b1e
AK
205022011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
20503
20504 * util/grub-mkconfig_lib.in: Add missing quotes.
20505
088cdb65
CW
205062011-04-10 Colin Watson <cjwatson@ubuntu.com>
20507
20508 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
20509 is NULL.
20510
8b8a81fa
VS
205112011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20512
20513 Dynamically count the number of lines for the lower banner.
20514
20515 * grub-core/normal/menu_entry.c (per_term_screen): New member
20516 num_entries.
20517 (print_down): Use num_entries.
20518 (update_screen): Likewise.
20519 (grub_menu_entry_run): Set num_entries.
20520 * grub-core/normal/menu_text.c (menu_viewer_data): New member
20521 num_entries.
20522 (grub_print_message_indented): Move real part to ...
20523 (grub_print_message_indented_real): ... here. Additional argument
20524 dry_run.
20525 (draw_border): Additional argument num_entries.
20526 (print_message): Additional argument dry_run.
20527 (print_entries): Receive menu viewer data.
20528 (grub_menu_init_page): New argment num_entries.
20529 (menu_text_set_chosen_entry): Use num_entries.
20530 (grub_menu_try_text): Likewise.
20531 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
20532 All users updated.
20533 (grub_ucs4_count_lines): New function.
20534 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
20535 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
20536 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
20537 (grub_term_border_height): Likewise.
20538 (grub_term_num_entries): Likewise.
20539
277f955b
VS
205402011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20541
20542 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
20543 Remove now unused string.
20544
536ce85a
CW
205452011-04-09 Colin Watson <cjwatson@ubuntu.com>
20546
20547 * docs/grub-dev.texi (Finding your way around): Update for 1.99
20548 build system.
20549 (Getting started): GRUB is developed in Bazaar now, not Subversion.
20550
20551 (Comment): Fix typo.
20552 (Getting started): General copy-editing.
20553 (Typical Development Experience): Likewise.
20554 (Error Handling): Likewise.
20555 (Video API): Likewise.
20556
2cf09e32
CW
205572011-04-09 Colin Watson <cjwatson@ubuntu.com>
20558
20559 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
20560 throughout.
20561
1ec652f4
VS
205622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20563
20564 * util/grub-mkimage.c (main): Handle special naming of yeeloong
20565 directory.
20566
2c583728
CW
205672011-04-08 Colin Watson <cjwatson@ubuntu.com>
20568
20569 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
20570 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
20571 "development".
20572
d7a565e9
VS
205732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20574
20575 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
20576 grub_strcpy since the lines aren't necessarily 0-terminated.
20577
7c2e4909
VS
205782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20579
20580 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
20581 root on legacy.
20582
34c09785
VS
205832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20584
20585 * grub-core/commands/probe.c (options): Argument to set isn't optional.
20586 (GRUB_MOD_INIT): DEVICE isn't optional.
20587
6a6f8058
VS
205882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20589
20590 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
20591 word on new line if it's too long anyway. Fixes a hang.
20592
2e335e90
VS
205932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20594
20595 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
20596 const.
20597 * util/grub-setup.c (main): Reuse md device name if available.
20598 * util/raid.c (grub_util_raid_getmembers): Receive device name and
20599 not GRUB name as argument.
20600 Based on patch by: Florian Wagner <fwagner>.
20601
10a7a867
VS
206022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20603
20604 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20605 Place mbi on low memory for better compatibility.
20606
7a3d6cd9
VS
206072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20608
20609 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
20610
18dd6b47
VS
206112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
206122011-04-08 Colin Watson <cjwatson@ubuntu.com>
20613
20614 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 20615 * conf/Makefile.common: Likewise.
18dd6b47 20616
3c0e3f14
VS
206172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20618
f7148863
VS
20619 * grub-core/normal/menu.c: Add missing include.
20620
206212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20622
20623 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 20624
6d1fa41f
MZ
206252011-04-08 Martin Zuther <mzuther@mzuther.de>
20626
20627 * util/grub-mkconfig.in: Ignore emacsen backup.
20628
478182a8
VS
206292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20630
20631 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
20632 on open.
20633 (grub_util_biosdisk_close): Likewise.
20634
72a89a54
VS
206352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20636
20637 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
20638 const attribute and use grub_isdigit.
20639
b5ebecfa
A
206402011-04-06 Andrey <dev_null@ukr.net>
20641
20642 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
20643 gcc warning.
20644
7755f66e
VS
206452011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20646
20647 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
20648 useful grub_dprintf's.
20649
461121ff
VS
206502011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20651
20652 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
20653
2a961775
VS
206542011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20655
20656 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
20657
adf594cc
VS
206582011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20659
20660 Output errors if theme loading failed.
20661
20662 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
20663 grub_gfxterm_fullscreen on error paths to ...
20664 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
20665 theme loading error.
20666
665900a3
VS
206672011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20668
20669 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
20670 space for older compilers.
20671 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20672
a562b479
VS
206732011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20674
20675 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
20676 and report them as not RAID members since they are useless for GRUB.
20677 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20678
850e9373
VS
206792011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20680
20681 Increase LVM implementation robustness in order not to crash on
20682 configurations like pvmove. Previously code assumed that in some places
20683 only lvs or only pvs are used whereas it seems that they are used
20684 interchangeably.
20685
20686 * grub-core/disk/lvm.c (read_node): New function.
20687 (read_lv): Use read_node.
20688 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
20689 Match volumes only at the end when all lvs are found. Take both
20690 pvs (first) and lvs (second) into account.
20691 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
20692 mirror_* into node_*. All users updated.
20693 (grub_lvm_stripe): Merge this ...
20694 (grub_lvm_mirror): ... and this ...
20695 (grub_lvm_node): ... into this. All users updated.
20696
6f332153
VS
206972011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20698
20699 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
20700 of function to allow further scanning for LVMs.
20701
829ea451
VS
207022011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20703
20704 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
20705 on failed seek as it breaks open fd reusage.
20706
09ceb9a5
VS
207072011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20708
20709 * util/grub-install.in: Add a recommendation to use --recheck before
20710 reporting bugs.
20711
67e11623
VS
207122011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20713
20714 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
20715 are obtained.
20716
caee5efd
VS
207172011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20718
20719 GRUB developper manual based on existing Internals section and
20720 contributions by the various authors with active copyright assignment.
20721
20722 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
20723 * docs/font_char_metrics.png: New file.
20724 * docs/font_char_metrics.txt: Likewise.
20725 * docs/grub-dev.texi: Likewise.
20726 * docs/grub.texi (Internals): Move from here ...
20727 * docs/grub-dev.texi: ... here.
20728
2cccc747
CW
207292011-04-01 Colin Watson <cjwatson@ubuntu.com>
20730
20731 Store the loopback device as data on loopback grub_disk structures,
20732 rather than the file it points to. This fixes use of freed memory
20733 if an existing loopback device is replaced.
20734
20735 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
20736 disk->data, not dev->file.
20737 (grub_loopback_read): Adjust file assignment to match.
20738 Fixes Ubuntu bug #742967.
20739
186ae367
CW
207402011-04-01 Colin Watson <cjwatson@ubuntu.com>
20741
20742 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
20743 when replacing an existing device.
20744
cfed2ad0
VS
207452011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
20746
20747 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
20748 memory corruptions.
20749
20750 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
20751 unsigned.
20752 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
20753 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
20754 (grub_jfs_read_inode): Likewise.
20755 (grub_jfs_opendir): Likewise. Remove now useless casts.
20756 (grub_jfs_getent): Likewise.
20757 Make ino a grub_uint32_t rather than int.
20758 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
20759 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
20760 division and module with bit operations.
20761 (grub_jfs_find_file): Make ino a grub_uint32_t.
20762 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
20763
05d2ed32
CW
207642011-04-01 Colin Watson <cjwatson@ubuntu.com>
20765
20766 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
20767 warning. (This was in fact always initialised before use, but GCC
20768 wasn't smart enough to prove that.)
20769 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
20770
91dc6073
VS
207712011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20772
20773 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
20774 stack alignment.
20775 (efi_wrap_1): Likewise.
20776 (efi_wrap_2): Likewise.
20777 (efi_wrap_3): Likewise.
20778 (efi_wrap_4): Likewise.
20779 (efi_wrap_5): Likewise.
20780 (efi_wrap_6): Likewise.
20781 (efi_wrap_10): Likewise.
20782 Based on information by: Red Hat/Peter Jones.
20783
a8afc1d1
CW
207842011-03-31 Colin Watson <cjwatson@ubuntu.com>
20785
20786 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
20787 set-but-not-used variable.
20788
a826cc7d
CW
207892011-03-31 Colin Watson <cjwatson@ubuntu.com>
20790
20791 * docs/grub.texi (Simple configuration): Be more explicit about
20792 GRUB_DEFAULT, and add an example.
20793 Reported by: Leslie Rhorer.
20794
875b67ba
CW
207952011-03-30 Colin Watson <cjwatson@ubuntu.com>
20796
20797 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
20798 shell".
20799
fd7cd914
AS
208002011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20801
20802 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
20803 * util/grub.d/20_linux_xen.in: Likewise.
20804
090b1b6a
VS
208052011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20806
20807 * util/grub.d/10_linux.in: Try alternative config filenames where
20808 we parse config file.
20809 * util/grub.d/20_linux_xen.in: Likewise.
20810
baad885c
AS
208112011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20812
20813 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
20814 * util/grub.d/20_linux_xen.in: Likewise.
20815
241e41f5
VS
208162011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20817
20818 * grub-core/disk/raid.c (insert_array): Add few potentially
20819 useful grub_util_info.
20820 (grub_raid_register): Likewise.
20821
56445fb2
VS
208222011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20823
20824 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
20825 Preserve partition number in mdadm code path.
20826
c871b1c6
VS
208272011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20828
20829 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
20830 few potentially useful grub_util_info.
20831
5e631b4f
CW
208322011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20833
20834 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
20835
2d5d0333
CW
208362011-03-30 Colin Watson <cjwatson@ubuntu.com>
20837
20838 * docs/grub.texi (default): Use @example rather than nested
20839 itemized lists to avoid breaking gendocs.
20840
3d7ed04e
CW
208412011-03-30 Colin Watson <cjwatson@ubuntu.com>
20842
20843 * docs/grub.texi (Future): Update.
20844
abf04200 208452011-03-30 Colin Watson <cjwatson@ubuntu.com>
20846
20847 * docs/grub.texi (Environment): New chapter.
20848 (Changes from GRUB Legacy): Link to "Environment block" section for
20849 details of limitations.
20850 (Simple configuration): Likewise. Link to documentation of gfxmode
20851 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
20852 respectively.
20853 (Shell-like scripting): Note that normal variables are stored in the
20854 environment.
20855 (gettext): Link to documentation of lang and locale_dir.
20856 (list_env): New section.
20857 (load_env): New section.
20858 (save_env): New section.
20859
20860 (Reporting bugs): Fix typo.
20861
e1ad0edd
VS
208622011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20863
20864 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
20865 the example.
20866
5d803174
VS
208672011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20868
20869 * grub-core/term/at_keyboard.c (set_scancodes)
20870 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
20871
2a2da1d0
CW
208722011-03-30 Colin Watson <cjwatson@ubuntu.com>
20873
20874 * docs/grub.texi (Menu-specific commands): Remove some semantics
20875 that were true in GRUB Legacy but not in GRUB 2.
20876 (submenu): New section.
20877 (false): New section.
20878 (read): New section.
20879 (true): New section.
20880
a7527639
CW
208812011-03-30 Colin Watson <cjwatson@ubuntu.com>
20882
20883 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
20884
208852011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
20886
20887 * docs/grub.texi (Simple configuration): Explain some of the
20888 current limitations of grub-mkconfig.
8a748df2 20889 Reported by: Leslie Rhorer.
e30af029 20890
fc858482
VS
208912011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20892
20893 Old macs search for boot.efi rather than for bootia32.efi.
20894
20895 * util/grub-install.in: Copy bootia32.efi to boot.efi.
20896 * util/grub-mkrescue.in: Likewise.
20897 Suggested by: Peter Jones.
20898
e1eb511d
VS
208992011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20900
20901 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
20902
70e75364
VS
209032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20904
20905 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
20906 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
20907 (grub_lvm_mirror): New struct.
20908 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
20909 (grub_lvm_iterate): Iterate only visible volumes.
20910 (grub_lvm_read): Factor out to ..
20911 (read_lv): ... this. Support mirrors.
20912 (grub_lvm_read): New wrapper function.
20913 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
20914 stripped or mirrored.
20915
fc18f6a3
VS
209162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20917
20918 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
20919
5c650f4c
CW
209202011-03-29 Colin Watson <cjwatson@ubuntu.com>
20921
20922 * docs/grub.texi (loopback): New section.
20923
61d7156b
CW
209242011-03-29 Colin Watson <cjwatson@ubuntu.com>
20925
20926 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
20927 removed -p option.
20928
994b8264
CW
209292011-03-29 Colin Watson <cjwatson@ubuntu.com>
20930
20931 * docs/grub.texi (BIOS installation): New section, partly based on
20932 previous text in other sections.
20933 (Installing GRUB using grub-install): Replace BIOS discussion with a
20934 cross-reference.
20935 (Images): Likewise.
20936
9e4d19e0
VS
209372011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20938
20939 * grub-core/kern/emu/hostdisk.c (find_partition_start)
20940 [HAVE_DIOCGDINFO]: Add safety checks.
20941
a307c0b2
VS
209422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20943
20944 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
20945 per default compiled in kernel and prior to 8.0 isn't shipped at all.
20946
b4db4f39
CW
209472011-03-29 Colin Watson <cjwatson@ubuntu.com>
20948
20949 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
20950 real_sb->size is zero (e.g. RAID-0), get the disk size from
20951 real_sb->data_size instead.
20952 Fixes Ubuntu bug #743136.
20953
35e5f84c
VS
209542011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20955
20956 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
20957 printf clauses for printing size and start.
20958
d2e29d81
VS
209592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20960
20961 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
20962 Reported and tested by: Timothy Nikkel.
20963
ed5587af
VS
209642011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20965
20966 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
20967 (dirty_region_add_real): ... this.
20968 (dirty_region_add): Don't discard margin refresh when performing
20969 scheduled repaint.
20970
a1dc717c
VS
209712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20972
20973 * grub-core/lib/relocator.c (allocate_regstart)
20974 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
20975 terminals are capabple of malloc-free operation.
20976 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20977 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20978
9f3677d3
VS
209792011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
20980
20981 * util/grub-setup.c: Copy the partition table zone if floppy support
20982 is disabled, even if no partition table is found.
20983
20984 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
20985 during POST if an invalid partition table is contained in the PBR
20986 of the active partition when GRUB is installed to a partition.
20987
24148725
CW
209882011-03-28 Colin Watson <cjwatson@debian.org>
20989
20990 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
20991 comment.
20992
f329eda7
CW
209932011-03-28 Colin Watson <cjwatson@debian.org>
20994
20995 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
20996 to be specific about what kind of RAID device we're scanning for.
20997
c482ad98
SG
209982011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
20999
21000 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
21001 return freed string.
21002
5ee04984
VS
210032011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21004
21005 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
21006
f4727da9
VS
210072011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21008
21009 Use libgeom on FreeBSD to detect partitions.
21010
21011 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
21012 (grub-mkrelpath): Likewise.
21013 (grub-script-check): Likewise.
21014 (grub-editenv): Likewise.
21015 (grub-mkpasswd-pbkdf2): Likewise.
21016 (grub-fstest): Likewise.
21017 (grub-mkfont): Likewise.
21018 (grub-mkdevicemap): Likewise.
21019 (grub-probe): Likewise.
21020 (grub-setup): Likewise.
21021 (grub-ofpathname): Likewise.
21022 (grub-mklayout): Likewise.
21023 (example_unit_test): Likewise.
21024 (grub-menulst2cfg): Likewise.
21025 * grub-core/Makefile.core.def (grub-emu): Likewise.
21026 (grub-emu-lite): Likewise.
21027 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
21028 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
21029 define HAVE_DIOCGDINFO.
21030 (follow_geom_up) [FreeBSD]: New function.
21031 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
21032 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
21033 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
21034 unconditionally of HAVE_DIOCGDINFO.
21035
82fe6c75
VS
210362011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21037
21038 Fix FreeBSD compilation problem.
21039
21040 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
21041 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
21042
4c6c9431
CW
210432011-03-24 Colin Watson <cjwatson@ubuntu.com>
21044
21045 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
21046 Switch back to page zero before loading a kernel, since some kernel
21047 drivers expect that.
21048 Thanks to: Felix Kuehling.
21049
c7064d94
VS
210502011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21051
21052 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
21053 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
21054 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
21055
3f71cded
VS
210562011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21057
21058 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
21059 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
21060
ef6de21a
VS
210612011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21062
21063 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
21064 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
21065 malloc is disabled.
21066
8bc66a2c
VS
210672011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
21068
21069 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
21070 for modules headers when counting the needed allocation size.
21071
5657722c
VS
210722011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21073
21074 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
21075 if no ASCII character is found to prevent crash.
21076
41a85f55
AK
210772011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
21078
21079 * grub-core/video/bitmap.c (match_extension): Ignore case.
21080
59e1e5f1
VS
210812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21082
21083 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
21084
bd4d051a
VS
210852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21086
21087 * grub-core/script/parser.y: Declare "time" as valid argument.
21088
bae7fcc1
PJ
210892011-03-23 Peter Jones <pjones@redhat.com>
21090
21091 Fix incorrect assert failure reporting.
21092
21093 * grub-core/tests/example_functional_test.c (example_test): Add
21094 a failure comment.
21095 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
21096 (failure_start): ...this. Check that malloc succeeded.
21097 Don't call xvasprintf. Return failure struct.
21098 (failure_append_vtext): New function.
21099 (failure_append_text): Likewise.
21100 (add_failure): Likewise.
21101 (grub_test_assert_helper): Likewise.
21102 * include/grub/test.h (grub_test_assert_helper): New declaration.
21103 (grub_test_assert): Macro rewritten.
21104
537dc9be
VS
211052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21106
21107 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
21108
fa3e01bf
VS
211092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
21112
b1d28404
VS
211132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
21116 into GRUB-style one.
21117
2e3e2e09
VS
211182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21119
21120 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
21121 error and not grub_errno.
21122 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
21123
ed57e557
VS
211242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21125
21126 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
21127 GRUB_USB_SPEED_NONE in case of failure and not the error code.
21128
d1611f01
VS
211292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21130
21131 * grub-core/efiemu/i386/pc/cfgtables.c
21132 (grub_machine_efiemu_init_tables): Make declaration a prototype.
21133 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
21134 (grub_xnu_unlock): Likewise.
21135 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
21136
7d4e39d6
VS
211372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21138
21139 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
21140 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
21141 * grub-core/commands/hashsum.c (aliases): Likewise.
21142 * grub-core/commands/setpci.c (pci_registers): Likewise.
21143 * grub-core/disk/usbms.c (attach_hook): Likewise.
21144 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
21145 (zio_checksum_table): Likewise.
21146 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
21147 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
21148 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
21149 * grub-core/lib/relocator.c (leftovers): Likewise.
21150 (extra_blocks): Likewise.
21151 * grub-core/loader/i386/bsd.c (relocator): Likewise.
21152 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
21153 (modules_last): Likewise.
21154 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
21155 (devices): Likewise.
21156 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
21157 (modules_last): Likewise.
21158 * grub-core/normal/auth.c (users): Likewise.
21159 * grub-core/normal/context.c (initial_menu): Likewise.
21160 (current_menu): Likewise.
21161 * grub-core/normal/crypto.c (crypto_specs): Likewise.
21162 * grub-core/term/serial.c (grub_serial_ports): Likewise.
21163 (grub_serial_terminfo_input_template): Likewise.
21164 (grub_serial_terminfo_output_template): Likewise.
21165 (grub_serial_terminfo_input): Likewise.
21166 (grub_serial_terminfo_output): Likewise.
21167 (registered): Likewise.
21168 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
21169
40fc4659
VS
211702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21171
21172 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
21173 grub_video_mode_type_t.
21174 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
21175 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
21176 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
21177
2da48d28
VS
211782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21179
21180 * util/grub-install.in: Correct the x86-64 name as x86_64.
21181
9b43bf39
CW
211822011-03-11 Colin Watson <cjwatson@ubuntu.com>
21183
21184 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
21185 initial chunk read from the kernel always includes GRUB's multiboot
21186 header, which is now outside the first sector.
21187
be1a7ce0
CW
211882011-03-09 Colin Watson <cjwatson@ubuntu.com>
21189
21190 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
21191 cached mmap_size, so that this works correctly when called multiple
21192 times.
21193 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
21194
83a3c48d
CW
211952011-03-09 Colin Watson <cjwatson@ubuntu.com>
21196
21197 * docs/grub.texi (Simple configuration): Tidy up formatting.
21198
57d75699
SJ
211992011-03-07 Szymon Janc <szymon@janc.net.pl>
21200
21201 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
21202 Set-but-not-used variable removed.
21203
028501a0
VS
212042011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21205
21206 Workaround yet another IEEE1275 bug.
21207
21208 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
21209 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
21210 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
21211 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
21212 is set.
21213 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21214 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
21215
d998657d
VS
212162011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21217
21218 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
21219 error.
21220
fee7cdd4
CW
212212011-02-11 Colin Watson <cjwatson@ubuntu.com>
21222
21223 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
21224 empty, since in that case we can only generate either nothing or a
21225 syntactically invalid configuration file.
21226 Reported by: Michal Suchanek. Fixes Debian bug #612898.
21227
97286eb5
CW
212282011-02-09 Colin Watson <cjwatson@ubuntu.com>
21229
21230 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
21231 (Making a GRUB bootable CD-ROM): Likewise.
21232 (Invoking grub-mkrescue): New section.
21233 Reported by: Yann Dirson. Fixes Debian bug #612585.
21234
22b28eb3
CW
212352011-02-09 Colin Watson <cjwatson@ubuntu.com>
21236
21237 * util/grub-install.in: Remove unnecessary brackets from tr
21238 arguments.
21239 * util/grub.d/10_hurd.in: Likewise.
21240 * util/grub.d/10_kfreebsd.in: Likewise.
21241 * util/grub.d/10_linux.in: Likewise.
21242 * util/grub.d/20_linux_xen.in: Likewise.
21243 Reported by: Jamie Heilman. Fixes Debian bug #612564.
21244
7e735e43
CW
212452011-02-08 Colin Watson <cjwatson@ubuntu.com>
21246
21247 * include/grub/file.h (not_easly_seekable): Rename to ...
21248 (not_easily_seekable): ... this. Update all users.
21249
800f1881
CW
212502011-01-28 Colin Watson <cjwatson@ubuntu.com>
21251
21252 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
21253 grub-mkrescue.
21254
3281d3d6
VS
212552011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
21256
21257 * util/grub-mkimage.c (generate_image): Refuse to create the images
21258 bigger than the actual flash (512K) in Loongson machines. 512K is also
21259 the biggest chip supported by them.
21260
3533413c
VS
212612011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21262
21263 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
21264
73ae4f4f
VS
212652011-01-22 Anthony DeRobertis <anthony@derobert.net>
21266
21267 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
21268 super_offset field.
21269
37f4f608
VS
212702011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21271
21272 * util/grub-install.in: Ignore install device on platforms
21273 where it doesn't make sense. Always use UUIDs except on pc, efi and
21274 sparc64.
21275 Reported by: Daniel Kahn Gillmor.
21276
03a4ccb5
VS
212772011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21278
21279 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
21280
ffc8f4d8
VS
212812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21282
21283 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
21284 (iterate_real): Don't rely on partition being non-NULL.
21285
80f23be7
VS
212862011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21287
21288 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
21289 supported platforms. Put a compile time assert for this rather than
21290 generate a warning with 32-bit shift.
21291
5d4f4dd5
VS
212922011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21293
21294 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
21295 logical expression more readable.
21296
e489601a
VS
212972011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21298
21299 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
21300 even if some elements have a name.
21301 Reported by: Alexander GQ Gerasiov.
21302
96e0a6ea
CW
213032011-01-22 Colin Watson <cjwatson@ubuntu.com>
21304
21305 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
21306 path unreadable if `grub-probe -t abstraction' fails, for example if
21307 memberlist fails on an LVM volume group.
21308 Reported by: Darius Jahandarie.
21309
81431e2b
CW
213102011-01-22 Colin Watson <cjwatson@ubuntu.com>
21311
21312 * docs/grub.texi (Simple configuration): Document
21313 GRUB_PRELOAD_MODULES.
21314
5e79d66a
CW
213152011-01-17 Colin Watson <cjwatson@ubuntu.com>
21316
21317 * .bzrignore: Remove nonexistent grub-pbkdf2.
21318
646ada34
VS
213192011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
21320
21321 * configure.ac: Bump version to 1.99~rc1.
21322
04360337
VS
213232011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21324
21325 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
21326 for safety.
21327
46c9db88
VS
213282011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21329
21330 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
21331 module.
21332
213332011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
21334
21335 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
21336
4fbf1852
VS
213372011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21338
21339 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
21340 diskdevid.
21341
f1632d4d
VS
213422011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21343
21344 Fix compilation on cygwin.
21345
21346 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
21347 -R .drectve on cygwin.
21348 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
21349 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
21350 (COND_CYGWIN): New condition.
21351 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
21352 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
21353 not @TARGET_OBJ2ELF@.
21354 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
21355 type to determine whether aux is to be used.
21356
0b5e127b
VS
213572011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21358
21359 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
21360 realpath'ed device string.
21361 Handle floppy (somewhat).
21362 Issue error in unknown case rather than garbage.
21363 Reported by: Axel Beckert.
21364
173b71e9
VS
213652011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21366
21367 * util/grub.d/00_header.in (load_video): Handle the case when no video
21368 drivers available.
21369 Thanks to: Axel Beckert.
21370
f8f479db
VS
213712011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21372
21373 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
21374 variable. Fixes problem on big endian platforms.
21375
8fc0a245
VS
213762011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21377
21378 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
21379 It doesn't work well there.
21380
b8494fbe
VS
213812011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21382
21383 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
21384 warning.
21385 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
21386 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
21387 counter.
21388
b44a558c
VS
213892011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21390
21391 Use alias->path rather than buggy "canon".
21392
21393 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
21394 (ofdisk_hash_add): New argument curcan. All users updated.
21395
51fa856c
CW
213962011-01-11 Colin Watson <cjwatson@ubuntu.com>
21397
21398 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
21399
9da068a5
VS
214002011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21401
21402 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
21403 loadmask before doing any calculations. Use correct type for offset.
21404 (grub_linux_load64): Likewise.
21405
86205c94
CW
214062011-01-11 Colin Watson <cjwatson@ubuntu.com>
21407
21408 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
21409 with NULL.
21410 (console_grub_equivalences_unshift): Likewise.
21411 Reported by: Daniel Dehennin.
21412
4531a206
VS
214132011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21414
21415 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
21416 (set_env_limn_ro): Likewise.
21417 (GRUB_MOD_INIT): Likewise.
21418 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
21419 ARRAY_SIZE while on it.
21420 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
21421 * grub-core/normal/context.c (grub_env_export): Move from here ...
21422 * grub-core/kern/env.c (grub_env_export): ... here.
21423 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
21424 prefix.
21425 * grub-core/kern/main.c (grub_main): Export root and prefix.
21426 * include/grub/env.h (grub_env_export): Export.
21427 Reported by: Seth Goldberg.
21428
45146057
VS
214292011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21430
21431 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21432 Take into account space used by ELF sections and multiboot palette.
21433 Reported by: Grégoire Sutre.
21434
f093110b
VS
214352011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21436
21437 * BUGS: New file.
21438
3395fe52
VS
214392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21440
21441 Pass more appropriate video id to Linux.
21442
21443 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
21444 grub_video_get_driver_id and variable gfxpayloadforcelfb to
21445 fill have_vga.
21446 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
21447 shift params->lfb_size.
21448 * include/grub/i386/linux.h: Make an enume out of have_vga values.
21449
c2fa6cbb
VS
214502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21451
21452 * util/grub-menulst2cfg.c: Add missing include of misc.h.
21453
b3ff6ff0
VS
214542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21455
21456 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
21457 separator and pass bootpath/devid even if only one of them is available.
21458 Reported by: Seth Goldberg.
21459
ae67942e
VS
214602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21461
21462 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
21463 implementations bug on them.
21464
21465 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
21466 memory.
21467 (filter_memory_map): Likewise.
21468
d570097a
VS
214692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21470
21471 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
21472 Reported by: nebuchadnezzar.
21473
a508e776
VS
214742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21475
21476 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
21477 Reported by: nebuchadnezzar.
21478
dcb883b1
VS
214792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21480
21481 Submenu default support.
21482
21483 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
21484 auto_boot. All users updated.
21485 Declared static.
21486 Handle chosen and default with submenus.
21487 (grub_menu_execute_with_fallback): Declared static.
21488 Don't notify failure if autobooted. Upper level does it.
21489 (menuentry_eq): New function.
21490 (get_entry_number): Use menuentry_eq.
21491 (show_menu): New parameter "autobooted". All users updated.
21492 (grub_show_menu): Likewise.
21493 * include/grub/normal.h (grub_show_menu): Likewise.
21494 * include/grub/menu.h (grub_menu_execute_entry): Removed.
21495 (grub_menu_execute_with_fallback): Likewise.
21496
6fef99b4
VS
214972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21498
21499 * util/grub-mklayout.c (usage): Update help text.
21500
47a77af5
VS
215012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21502
21503 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
21504
ce6bb3ee
VS
215052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21506
21507 * util/grub-menulst2cfg.c (main): Trim the line.
21508
db87be2a
VS
215092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21510
21511 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
21512 (grub_machine_init): Don't check amount of low memory as reportedly
21513 INT 12h can be broken and if low memory is too low we wouldn't have
21514 gotten into grub_machine_init anyway.
21515
c49849cc
VS
215162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21517
21518 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
21519 (grub_machine_mmap_iterate): Take low memory into account
21520
b1969b30
VS
215212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21522
21523 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
21524 badfs.
21525 Reported by: TiCPU.
21526
cf0eaf13
VS
215272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21528
21529 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
21530 members errors.
21531
1f060f39
GS
215322011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21533
21534 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
21535 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
21536
a21e5672
GS
215372011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21538
21539 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
21540 openbsd and netbsd types being in part_bsd module.
21541
c88172fa
VS
215422011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21543
21544 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
21545 (_FILE_OFFSET_BITS): Likewise.
21546 Reported by: Seth Goldberg.
21547
53798c4b
GS
215482011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21549
21550 * configure.ac: Check for libdevmapper header.
21551
e7121b69
VS
215522011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21553
21554 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
21555 avoid aliasing.
21556 (fzap_lookup): Likewise.
21557 (dnode_get): Likewise.
21558 (make_mdn): Likewise.
21559 (zfs_mount): Likewise.
21560 (fzap_iterate): Use temporary pointer to avoid aliasing.
21561 (grub_zfs_read): Likewise.
21562 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
21563 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
21564 pointers to avoid aliasing.
21565 (grub_cmd_xnu_kernel64): Likewise.
21566 (grub_xnu_load_driver): Likewise.
21567
fc836af9
VS
215682011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21569
21570 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
21571 aliasing warning.
21572 (grub_cmd_terminal_output): Likewise.
21573 Reported and tested by: Grégoire Sutre.
21574
f9f37648
VS
215752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21576
21577 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
21578 warning.
21579 Reported and tested by: Grégoire Sutre.
21580
ec1dfd63
VS
215812011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21582
21583 * configure.ac: Do CPU substitution even if it's specified explicitly.
21584 Reported and tested by: Alain Greppin.
21585
9462775a
VS
215862011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21587
21588 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
21589 Reported and tested by: Alain Greppin.
21590
0fd48e35
VS
215912011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21592
21593 Satisfy some bison versions need for inttypes.h.
21594
21595 * grub-core/lib/posix_wrap/inttypes.h: New file.
21596 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
21597 (int16_t): Likewise.
21598 (int32_t): Likewise.
21599 (int64_t): Likewise.
21600 Reported and tested by: Alain Greppin.
21601
43f1bc83
VS
216022011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21603
21604 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
21605 Silence spurious warning.
21606 Reported and tested by: Alain Greppin.
21607
64d1f041
SJ
216082011-01-07 Szymon Janc <szymon@janc.net.pl>
21609
21610 * docs/grub.texi (Support automatic decompression): Update with xz
21611 decompression support.
21612
25953e10
SJ
216132011-01-07 Szymon Janc <szymon@janc.net.pl>
21614
21615 Improve loaders' kernel command line handling.
21616
21617 * grub-core/lib/cmdline.c: New file.
21618 * include/grub/lib/cmdline.h: Likewise.
21619 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
21620 grub_create_loader_cmdline to create kernel command line.
21621 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21622 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
21623 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
21624 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
21625 (linux): Add lib/cmdline.c on common.
21626
e72d259f
VS
216272011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21628
21629 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
21630 inopos might be unaligned.
21631
c0cf26da
VS
216322011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21633
21634 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
21635 endian transformations.
21636 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21637 Based on report by: Doug Nazar.
21638
0ca09e6c
DN
216392011-01-07 Doug Nazar <nazard.michi@gmail.com>
21640
21641 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
21642 array->members[i].start_sector.
21643 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
21644
014b6806
VS
216452011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21646
21647 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
21648 Reported and tested by: Grégoire Sutre.
21649
415502c2
CW
216502011-01-06 Colin Watson <cjwatson@ubuntu.com>
21651
21652 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
21653 avoid causing test failures by clearing the screen.
21654
71b6a2b7
CW
216552011-01-06 Colin Watson <cjwatson@ubuntu.com>
21656
21657 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
21658 Fix prefix check to handle the case where dir ends with a slash
21659 (most significantly, "/" itself).
21660 Reported by: Michael Vogt.
21661
b3f8d28a
VS
216622011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21663
21664 Run terminfo_cls on initing terminfo output to clear the screen and
21665 move the cursor to (0,0).
21666
21667 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
21668 Call grub_terminfo_output_init.
21669 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
21670 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
21671 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
21672
4c3e4f37
VS
216732011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21674
21675 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
21676 only when needed.
21677
488f71f1
VS
216782011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21679
21680 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
21681 CTRL.
21682
18a38098
VS
216832011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21684
21685 The E820 type 5 is BADRAM, not EXEC_CODE.
21686
21687 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21688 (GRUB_E820_BADRAM): New define.
21689 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
21690 into reserved. Propagate BADRAM.
21691 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21692 (GRUB_E820_BADRAM): New define.
21693
9eae2084
VS
216942011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21695
21696 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
21697 Ignore the memory post-4G.
21698 (grub_relocator_firmware_alloc_region): Additional debug statement.
21699
ebc71d28
VS
217002011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21701
21702 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
21703 names.
21704 Reported by: David Pravec.
21705
446fa400
VS
217062011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21707
21708 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
21709 BIOSes.
21710
a0159f37
VS
217112011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21712
21713 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
21714 Prevent overflow.
21715 (grub_reed_solomon_recover): Likewise.
21716
e5146ca1
VS
217172011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21718
21719 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
21720
217212011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
21722
21723 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
21724 variable.
21725
5b1bdf12
CW
217262011-01-04 Colin Watson <cjwatson@ubuntu.com>
21727
21728 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
21729 descriptions of extract_legacy_entries_source and
21730 extract_legacy_entries_configfile.
21731 Reported by: Seung Soo, Ha.
21732
99d925aa
CW
217332011-01-03 Colin Watson <cjwatson@ubuntu.com>
21734
21735 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
21736 on devices that do not implement function 0.
21737
4af0504b
DV
217382011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
21739
21740 * grub-core/fs/hfsplus.c: Make parent unsigned.
21741 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
21742 overflows.
21743 (grub_hfsplus_cmp_extkey): Likewise
21744
469ee10a
VS
217452011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21746
21747 * util/grub-install.in: Correctly use bootloader_id and not
21748 GRUB_DISTRIBUTOR on efibootmgr line.
21749
323a8e9c
VS
217502011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21751
21752 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
21753
1b394975
IC
217542010-12-31 Ian Campbell <ijc@hellion.org.uk>
21755
21756 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
21757 Xen and reorder menu item wording to make it clearer that this entry
21758 will launch Xen. Print separate messages when loading Xen and
21759 Linux.
21760
275bff5f
VS
217612010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21762
21763 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
21764 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
21765 loop in case of incorrect amiga partmap.
21766
307806cb
VS
217672010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21768
21769 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
21770 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
21771 Reported by:EHeM.
21772
b12b923e
VS
217732010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21774
21775 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
21776 spurious warning.
21777 Reported by: crocket
21778
14b48a19
VS
217792010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21780
21781 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
21782 Preload EFIemu.
21783 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
21784
693db2df
VS
217852010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21786
21787 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
21788 is loaded
21789 (grub_cmd_xnu_kextdir): Likewise.
21790 (grub_cmd_xnu_splash): Likewise.
21791
c7638645
VS
217922010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21793
21794 Avoid using Reed-Solomon with 0 redundancy.
21795
21796 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
21797 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
21798 or 0 redundancy.
21799 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
21800 (grub_reed_solomon_recover): Likewise.
21801
25dd4780
VS
218022010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21803
21804 Don't use disk subsystem in freebsd_boot.
21805
21806 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
21807 (freebsd_biosdev): Likewise.
21808 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
21809 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
21810
0b2db943
VS
218112010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
21812
21813 Handling of files of unknown size is currently limited. They can't be
21814 used e.g. for initrd or modules. Moreover gzip handling of not
21815 easily seekable files is buggy. Disable unknown file size for now. May
21816 be inefficient but works.
21817
21818 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
21819 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
21820
5c408d0f
MP
218212010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
21822
21823 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
21824 floppy probe.
21825
190a011a
JD
218262010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
21827
21828 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
21829
022d01b8
SL
218302010-12-25 Shea Levy <shlevy>
21831
21832 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
21833
c4855fdc
VS
218342010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21835
21836 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
21837 Windows Server 2008.
21838 Reported by: Devin Giddings.
21839
0354b867
VS
218402010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21841
21842 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
21843 writing an error message because of async power management.
21844 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
21845 (grub_reboot): Likewise.
21846
ab66c69f
JU
218472010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
21848
21849 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
21850 keep unit tests from failing when they shouldn't.
21851
1426ef35
CW
218522010-12-21 Colin Watson <cjwatson@ubuntu.com>
21853
21854 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
21855 previous patch increased the size of the RS code by 20 bytes (at
21856 least with gcc-4.4), so increase this by 20 bytes to match.
21857 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
21858
20641b6b
CW
218592010-12-21 Colin Watson <cjwatson@ubuntu.com>
21860
21861 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
21862 scratch area. Make sure to initialise chosen in standalone mode as
21863 well as non-standalone.
21864 Reported by: Robert Hooker and Andy Whitcroft.
21865 Tested by: Andy Whitcroft.
21866
d060ad60
CW
218672010-12-21 Colin Watson <cjwatson@ubuntu.com>
21868
21869 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
21870 constructing a new unescaped string and passing it to grub_xputs in
21871 one go, rather than passing characters to grub_printf one at a time.
21872
b889cfad
CW
218732010-12-21 Colin Watson <cjwatson@ubuntu.com>
21874
21875 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
21876 initialising utf16.
21877
4e01b6c8
CW
218782010-12-21 Colin Watson <cjwatson@ubuntu.com>
21879
21880 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
21881 comment. Add an extra layer of quotation, requiring the output of
21882 this function to be used in a printf format string.
21883 (gettext_printf): New function.
21884 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
21885 Extract translatable strings from here-documents and use a temporary
21886 variable instead, so that xgettext can find them.
21887 * util/grub.d/10_kfreebsd.in: Likewise.
21888 * util/grub.d/10_linux.in: Likewise.
21889 * util/grub.d/20_linux_xen.in: Likewise.
21890
21891 * po/grub.d.sed: New file.
21892 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
21893 arguments. Set c-format flags on all strings extracted from
21894 util/grub.d/ (xgettext refuses to include these itself for strings
21895 it extracted from a shell file, but these really are c-format).
21896
5318fe98
VS
218972010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21898
21899 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
21900 Avoid next pointing to nowhere.
21901
6c85b743
VS
219022010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21903
21904 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
21905 rather than assuming than rootblock is exactly in the middle.
21906 (grub_affs_label): Likewise.
21907
a2a08a35
VS
219082010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21909
21910 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
21911 reserved_first_sector to 0.
21912 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
21913 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
21914 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
21915
7059d1ec
VS
219162010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21917
21918 Fix handling of UTF-16 UDF labels.
21919
21920 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
21921 (read_string): .. here.
21922 (grub_udf_label): Use read_string.
21923
30aff4cb
BC
219242010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
21925
21926 * grub-core/normal/menu_entry.c (run): Execute commands from menu
21927 editor under argument scope.
21928 Reported by: Jordan Uggla
21929
5cf86f4b
VS
219302010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21931
21932 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
21933
32570200
CW
219342010-12-18 Colin Watson <cjwatson@ubuntu.com>
21935
21936 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
21937 line, and other keys scroll an entire page (previous handling was
21938 for \r and \n to scroll a page and other keys to scroll two lines).
21939
e1dffcf2
VS
219402010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21941
21942 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21943 Set ptrdest to correct get_physical_target_address rather than
21944 incorrect get_virtual_current_address.
21945
b04298cf 219462010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
21947
21948 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
21949 correct cat to grub_uint8_t * rather than grub_uint32_t *.
21950
5367ecd3
CW
219512010-12-10 Colin Watson <cjwatson@ubuntu.com>
21952
21953 * .bzrignore: Ignore grub-core/rs_decoder.S.
21954
1fb430f8
CW
219552010-12-10 Colin Watson <cjwatson@ubuntu.com>
21956
21957 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
21958 .mo/.mo.gz opening sequence to ...
21959 (grub_mofile_open_lang): ... here.
21960 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
21961 * util/grub.d/00_header.in (grub_lang): Include country part of
21962 locale.
21963 Reported by: Mario Limonciello.
21964
a94a6671
RM
219652010-12-09 Robert Millan <rmh@gnu.org>
21966
21967 * NEWS: Document addition of ZFS support.
21968
24b7938b
CW
219692010-12-04 Colin Watson <cjwatson@ubuntu.com>
21970
21971 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
21972 rather than `/ 2', as the latter requires -Wa,--divide which would
21973 require bumping our minimum binutils version.
21974
bddc3ef6
BC
219752010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
21976
21977 * util/grub-script-check.c (main): Print script line number on
21978 error.
21979
bf78d5b2
RM
219802010-12-01 Robert Millan <rmh@gnu.org>
21981
21982 * grub-core/fs/zfs/zfs.c: New file.
21983 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
21984 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
21985 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
21986 * grub-core/fs/zfs/zfsinfo.c: Likewise.
21987
21988 * include/grub/zfs/dmu.h: Likewise.
21989 * include/grub/zfs/dmu_objset.h: Likewise.
21990 * include/grub/zfs/dnode.h: Likewise.
21991 * include/grub/zfs/dsl_dataset.h: Likewise.
21992 * include/grub/zfs/dsl_dir.h: Likewise.
21993 * include/grub/zfs/sa_impl.h: Likewise.
21994 * include/grub/zfs/spa.h: Likewise.
21995 * include/grub/zfs/uberblock_impl.h: Likewise.
21996 * include/grub/zfs/vdev_impl.h: Likewise.
21997 * include/grub/zfs/zap_impl.h: Likewise.
21998 * include/grub/zfs/zap_leaf.h: Likewise.
21999 * include/grub/zfs/zfs.h: Likewise.
22000 * include/grub/zfs/zfs_acl.h: Likewise.
22001 * include/grub/zfs/zfs_znode.h: Likewise.
22002 * include/grub/zfs/zil.h: Likewise.
22003 * include/grub/zfs/zio.h: Likewise.
22004 * include/grub/zfs/zio_checksum.h: Likewise.
22005
22006 * Makefile.util.def: Build ZFS into libgrubmods.
22007 * grub-core/Makefile.core.def: Build zfs.mod.
22008
3f0f3831
SJ
220092010-11-30 Szymon Janc <szymon@janc.net.pl>
22010
22011 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
22012 variable.
22013 * grub-core/commands/wildcard.c (match_files): Likewise.
22014
3a4253b2
RM
220152010-11-30 Robert Millan <rmh@gnu.org>
22016
22017 * grub-core/loader/i386/bsd.c
22018 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
22019 whether kernel is loaded using grub_loader_is_loaded(), rather
22020 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
22021 certain error conditions.
22022
8c317b27
RM
220232010-11-30 Robert Millan <rmh@gnu.org>
22024
c5c9cd3e
RM
22025 * grub-core/commands/echo.c: Include `<grub/term.h>'.
22026 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 22027
49d3ab46
VS
220282010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
22029
22030 Avoid using tricks for initialising endian variables.
22031
22032 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
22033 Make const.
22034 (GRUB_MOD_INIT): Don't byte-swap.
22035 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
22036 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
22037 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
22038 (grub_swap_bytes32_compile_time): Likewise.
22039 (grub_cpu_to_le32_compile_time): Likewise.
22040 (grub_cpu_to_le16_compile_time): Likewise.
22041
f420a804
VS
220422010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
22043
22044 * util/grub-setup.c (setup): Stop recommending --force. People who
22045 understand the dangers of blocklists are able to find this option
22046 anyway and the ones who don't shouldn't use it anyway.
22047
4e7db17b
RM
220482010-11-26 Robert Millan <rmh@gnu.org>
22049
22050 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
22051 Update all users.
22052
9be57a0d
CW
220532010-11-26 Colin Watson <cjwatson@ubuntu.com>
22054
22055 Fix LVM-on-RAID probing.
22056
22057 * util/grub-probe.c (probe): Remember which disk was detected as
22058 RAID (perhaps an LVM physical volume). Use that disk's raidname
22059 rather than that of the top-level disk.
22060
2c7859b3 220612010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 22062
d7647bb6
BC
22063 Fix cmdline argument quotes for setparams command of menuentry
22064 definitions.
7e623b0d
BC
22065
22066 * grub-core/commands/menuentry.c (setparams_prefix): Use single
22067 quotes for arguments.
f866fe80 22068 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 22069 grub_strchrsub function instead.
f866fe80 22070
7955bea0 22071 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 22072
74f72a64
CW
220732010-11-24 Colin Watson <cjwatson@ubuntu.com>
22074
22075 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
22076 effort by skipping "." and ".." entries up-front.
22077 Suggested by: Michael Lazarev.
22078
5a407278
CW
220792010-11-24 Colin Watson <cjwatson@ubuntu.com>
22080
22081 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
22082 ldflags to ldadd, to fix link line ordering.
22083 (none_decompress): Likewise.
22084
3030d8ec
CW
220852010-11-24 Colin Watson <cjwatson@ubuntu.com>
22086
22087 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
22088 platforms.
22089 (grub-emu-lite): Remove kern/emu/cache.S.
22090
b7fbac12
CW
220912010-11-23 Colin Watson <cjwatson@ubuntu.com>
22092
22093 * util/deviceiter.c (compare_devices): If the by-id link for a
22094 device couldn't be resolved, fall back to sorting by the by-id link
22095 rather than segfaulting.
22096 Reported and tested by: Daniel Mierswa.
22097
5225f328
CW
220982010-11-23 Colin Watson <cjwatson@ubuntu.com>
22099
22100 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
22101 ldflags, to fix link line ordering.
22102
038b3ce8
CW
221032010-11-23 Colin Watson <cjwatson@ubuntu.com>
22104
22105 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
22106 linkers are picky about this.
22107
bf16e98e
CW
221082010-11-23 Colin Watson <cjwatson@ubuntu.com>
22109
22110 * grub-core/Makefile.am (command.lst): Adjust sed expression
22111 ordering so that extended and priority commands aren't treated as
22112 ordinary commands.
22113
7242bab6
CW
221142010-11-23 Colin Watson <cjwatson@ubuntu.com>
22115
22116 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
22117 Remove byte-swapping function calls, which are not valid in
22118 structure initialisers.
22119 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
22120 non-const.
22121 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
22122 grub_gpt_partition_type_bios_boot.
22123
14e8b279
CW
221242010-11-22 Colin Watson <cjwatson@ubuntu.com>
22125
22126 Fix test program build on GNU/kFreeBSD.
22127
22128 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
22129 $(LIBNVPAIR)' library dependencies.
22130
e6f63338 221312010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
22132
22133 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
22134
cf8ffc38
CW
221352010-11-22 Colin Watson <cjwatson@ubuntu.com>
22136
22137 * util/grub-install.in: Remove excessive quoting that broke
22138 installations to RAID devices.
22139
7f8b0fd7
VS
221402010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22141
22142 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
22143 bootloader version instead of 0.
22144
dfd240b1
VS
221452010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22146
22147 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
22148 warning.
22149
7b61e609
VS
221502010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22151
22152 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
22153 retrieve the metadat sector if size isn't known.
22154 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22155
9dfe92d0
RM
221562010-11-18 Robert Millan <rmh@gnu.org>
22157
22158 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
22159 with grub_memcmp().
22160
41cc919e
VS
221612010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
22162
22163 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
22164 arrow.
22165 Reported by: Jordan Uggla.
22166
1afcc914
VS
221672010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22168
22169 Make better UTF compliant.
22170
22171 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
22172 sequences as incorrect.
22173 (grub_is_valid_utf8): Likewise.
22174 (grub_utf8_to_ucs4): Likewise.
22175 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
22176 (grub_ucs4_to_utf8_alloc): Likewise.
22177 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
22178
f1808884
VS
221792010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22180
22181 Make legacy_source behave like source.
22182
22183 * grub-core/commands/legacycfg.c (legacy_file): Don't call
22184 grub_show_menu.
22185 (grub_cmd_legacy_source): Call grub_show_menu if needed.
22186
24ec575b
CW
221872010-11-16 Colin Watson <cjwatson@debian.org>
22188
22189 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
22190 (-Wunused implies -Wunused-parameter, but not vice versa).
22191
72b7c7aa
CW
221922010-11-16 Colin Watson <cjwatson@ubuntu.com>
22193
22194 * configure.ac: Make error messages less confusing by testing for
22195 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
22196 accepted, but produces a diagnostic if something else is wrong).
22197
e98937aa
VS
221982010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22199
22200 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
22201 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
22202 (now unused).
22203 (grub_keyboard_controller_init)
22204 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
22205 read the initial state since controller isn't inited yet.
22206
f6bbabc3
VS
222072010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22208
22209 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
22210 allocate_regbeg may need to create new chunk header.
22211
22e7dbb2
VS
222122010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22213
22214 Fix quoting in legacy parser.
22215
22216 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
22217 single quotes.
22218 (grub_legacy_parse): Likewise.
22219 Reported by: Jordan Uggla.
22220 Tested by: Jordan Uggla.
22221
03f80960
VS
222222010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22223
22224 Don't add -lgcc on i386 and x86_64.
22225
22226 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
22227 * conf/Makefile.common (LDADD_KERNEL): Likewise.
22228 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
22229
779dc15b
VS
222302010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22231
22232 * configure.ac: Add -Wno-trampolines when supported.
22233
d20a3b37
MV
222342010-11-14 Modestas Vainius <modax@debian.org>
22235
22236 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
22237 fakeraid.
22238
e5360933
GC
222392010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22240
22241 Add generic logical block size support for UDF.
22242
22243 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
22244 (GRUB_UDF_BLKSZ): Removed.
22245 (struct grub_udf_data): New field "lbshift" to hold the logical block
22246 size of the file system in log2 format. All users updated.
22247 (sblocklist): Change type to unsigned.
22248 (grub_udf_mount): Change type of "sblklist" to unsigned.
22249 Move AVDP search before VRS recognition, because the latter requires
22250 knowledge of the logical block size, which is detected during the
22251 former.
22252 Detect and validate logical block size during AVDP search, adding
22253 support for block sizes 512, 1024 and 4096.
22254 Make VRS recognition independent of block size.
22255
cb0229c5
GC
222562010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22257
22258 Properly handle deleted files on UDF.
22259
22260 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
22261 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
22262 set.
22263
406858a8
GC
222642010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22265
22266 Support reading files larger than 2 GiB.
22267
22268 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
22269 "offset" to grub_off_t.
22270 (grub_udf_read_file): Likewise for parameter "pos".
22271
130da6a7
VS
222722010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22273
22274 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
22275 unavailable.
22276 (Simple configuration): Refer to Changes from GRUB Legacy about
22277 save_env availability.
22278
65e93f6b
VS
222792010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22280
22281 * util/grub-install.in: Ignore empty partition table detection
22282 instead of trying to include part_ module.
22283
1fd08bf1
VS
222842010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22285
22286 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
22287 LVM on RAID support.
22288
de1a024f
VS
222892010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22290
22291 Properly define WORDS_BIGENDIAN in wrapped environments.
22292
22293 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
22294 definition.
22295 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
22296
22297 Reported by: Manoel Rebelo Abranches.
22298 Tested by: Manoel Rebelo Abranches.
22299
bc5dd0b9
VS
223002010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22301
22302 * util/grub-mkconfig.in: Fix quoting.
22303
58c184be
VS
223042010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22305
22306 Support big ext2 files.
22307
22308 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
22309 (grub_ext2_read_block): Support triple indirect blocks.
22310 (grub_ext2_read_file): Use 64-bit types and read size_high.
22311 (grub_ext2_open): Read size_high.
22312 Reported by: Ximin Luo.
22313 Tested by: Manoel Rebelo Abranches.
22314
5f0c02b3
VS
223152010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22316
22317 * util/grub-install.in: Handle filenames containing spaces.
22318 Reported by: Jordan Uggla.
22319 Tested by: Jordan Uggla.
22320
4417aae6
VS
223212010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22322
22323 * util/grub-mkconfig.in (grub_script_check): New variable.
22324 Use grub_script_check instead of grub-script-check.
22325 Reported by: Barry Jackson.
22326
7625a68e
VS
223272010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22328
22329 * docs/grub.texi (menu): Correct the order.
22330 Reported by: D. Hugh Redelmeier.
22331
10001ac5
VS
223322010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
22333
22334 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
22335 jump.
22336
9c4cf53b
MRA
223372010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22338
10001ac5
VS
22339 * include/grub/elfload.h (grub_elf32_size): New parameter.
22340 All users updated.
9c4cf53b
MRA
22341 Return maximum segments alignment.
22342 (grub_elf64_size): Likewise.
22343 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
22344 Return maximum segments alignment.
22345 (grub_elf64_size): Likewise.
22346 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
22347 (grub_linux_claimmap_iterate): New function. Uses the
22348 "available" property in the "memory" node for memory allocation
22349 for kernel in the PowerPC loader.
9c4cf53b
MRA
22350 (grub_linux_load32): Correctly find linux entry point offset.
22351 (grub_linux_load64): Likewise.
22352
d2bf06bf
RM
223532010-11-07 Robert Millan <rmh@gnu.org>
22354
22355 On mips-yeeloong, build with -march=loongson2f when this flag is
22356 available (GCC >= 4.4).
22357 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
22358 `-march=mips3'.
22359 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
22360 or otherwise add -march=mips3.
22361
898c99a2
BC
223622010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
22363
87220a68
BC
22364 Suppress shell expansion on echo '*' and echo "*" like cases.
22365 Reported by: Jordan Uggla.
898c99a2
BC
22366
22367 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
22368 string arguments before shell expansion.
22369 * tests/grub_cmd_echo.in: New testcases.
22370
4f9b406a
RM
223712010-11-07 Robert Millan <rmh@gnu.org>
22372
22373 * conf/mips-qemu-mips.rmk: Remove stale file from previous
22374 transition.
22375
80c6d25e
VS
223762010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
22377
22378 * grub-core/kern/emu/hostdisk.c
22379 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
22380
4a1a0153
VS
223812010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22382
22383 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
22384 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
22385 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
22386
34706ddc
VS
223872010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22388
22389 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
22390
6972dea9
VS
223912010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22392
22393 * util/grub-install.in: Replace useless recomendation to pass
22394 --modules with a recomendation to report a bug.
22395
9c693bd6
VS
223962010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22397
22398 Properly register serial terminfo.
22399 Reported by: Jordan Uggla
22400
22401 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
22402 const.
22403 (grub_serial_terminfo_output_template): Likewise.
22404 (grub_cmd_serial): Register "serial" with terminfo.
22405 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
22406 grub_serial_terminfo_output.
22407
6c9e4c0c
RM
224082010-11-05 Robert Millan <rmh@gnu.org>
22409
22410 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
22411 needed).
22412
b9b3839f
RM
224132010-11-05 Robert Millan <rmh@gnu.org>
22414
22415 On Yeeloong, pass machine type information to Linux.
22416
22417 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
22418 (LOONGSON_MACHTYPE): New macro, set to
22419 "machtype=lemote-yeeloong-2f-8.9inches".
22420 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
22421 additional argument to Linux.
22422
1a3aaff4
RM
224232010-11-04 Robert Millan <rmh@gnu.org>
22424
22425 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
22426 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
22427 (its SATA disks are detected as slaveless IDE master drives on
22428 kFreeBSD).
22429 Reported by Carsten Aulbert.
22430
a75f4f62
CW
224312010-11-02 Colin Watson <cjwatson@ubuntu.com>
22432
22433 * util/bin2h.c (main): Fix spelling error in generated output.
22434
33b4b0c6
GS
224352010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
22436
22437 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
22438
2b36fbf4
VS
224392010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22440
22441 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
22442 vga= option is supplied.
22443
74aaf558
VS
224442010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22445
22446 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
22447 * util/grub.d/10_kfreebsd.in: Likewise.
22448 * util/grub.d/10_linux.in: Likewise.
22449 * util/grub.d/20_linux_xen.in: Likewise.
22450
6428dec3
VS
224512010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22452
22453 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
22454 argument as an argument to no-argument option.
22455
f8729d98
VS
224562010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22457
22458 * util/grub.d/10_linux.in: Add missing load_video with explicit
22459 GRUB_GFXPAYLOAD_LINUX.
22460
89d68fa6
VS
224612010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22462
22463 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
22464
3a1197cd
VS
224652010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22466
22467 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
22468 elements with invlid index.
22469 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22470 * grub-core/disk/raid.c (insert_array): Automatically reallocate
22471 members.
22472 * include/grub/raid.h (grub_raid_member): New struct.
22473 (grub_raid_array): Transform devices and start_sector into usage of
22474 grub_raid_member. All users updated
22475 (allocated_devs): New member.
22476
71574288
VS
224772010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22478
22479 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
22480 is modified
22481
8d40ec65
BC
224822010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
22483
22484 NetBSD build fix for getline function conflict from gnulib.
22485
22486 * Makefile.util.def (libgrubkern.a): New library for grub kernel
22487 components that depend on gnulib headers.
22488 (libgrubmods.a): Renamed from earlier libgrub.a.
22489 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
22490
95b9257e
VS
224912010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22492
22493 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
22494 install rather than creating a broken install.
22495
26c53dc6
VS
224962010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22497
22498 * util/grub-setup.c (argp): Remove misleading example of installing to
22499 a partition.
22500
4171b3c5
VS
225012010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22502
22503 * util/grub-setup.c (setup): Clarify the error message.
22504
18568d18
VS
225052010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22506
22507 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
22508
4f6a2e21
VS
225092010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22510
22511 * grub-core/kern/emu/misc.c
22512 (grub_make_system_path_relative_to_its_root)
22513 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
22514
225152010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
22516
22517 * grub-core/kern/emu/misc.c
22518 (grub_make_system_path_relative_to_its_root): Revert r2882.
22519
e138c458
VS
225202010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
22521
22522 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
22523 useless field head. All users updated.
22524 (free_subchunk): Correct handling of IN_REGION subchunk.
22525
0cbcdf0e
CW
225262010-10-22 Colin Watson <cjwatson@ubuntu.com>
22527
22528 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
22529 (Supported kernels): Likewise.
22530
b65ea155
GS
225312010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22532
22533 Make mktemp invocations portable.
22534
22535 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
22536 exit if mktemp fails.
22537 * tests/grub_script_blockarg.in: Likewise.
22538 * tests/partmap_test.in: Likewise.
22539 * tests/util/grub-shell-tester.in: Likewise.
22540 * tests/util/grub-shell.in: Likewise.
22541 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22542 * Makefile.am: Likewise, and chain shell commands with `&&'
22543 instead of ';'.
22544 * util/grub-mkrescue.in: Use the same explicit template as above, and
22545 exit if mktemp fails.
22546
05f43cdd
BC
225472010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
22548
22549 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
22550 Linux kernel, reported by Dennis Schridde.
22551
800e6a9b
SJ
225522010-10-17 Szymon Janc <szymon@janc.net.pl>
22553
22554 * grub-core/normal/auth.c (grub_auth_check_authentication):
22555 Set-but-not-used variable removed.
22556
d82df574
VS
225572010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22558
22559 * docs/grub.texi (GNU/Linux): Document APM unavailability with
22560 32-bit linux protocol.
22561
7bced458
VS
225622010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22563
22564 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
22565 cursor shape for sanity.
22566
5b027690
VS
225672010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22568
22569 * docs/grub.texi (Installation): Document buggy BIOS install.
22570
ba5f65cf
VS
225712010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22572
22573 * docs/grub.texi (Installation): Indent.
22574
fdf2ec9c
VS
225752010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22576
22577 * util/grub-setup.c (setup): New parameter allow_floppy.
22578 (arguments): New member allow_floppy.
22579 (argp_parser): Handle --allow-floppy.
22580 (main): Pass allow_floppy.
22581 * util/grub-install.in: New option --allow-floppy passed though to
22582 grub-setup.
22583
861dfd4c
VS
225842010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22585
22586 * util/grub-install.in: Handle partitionless disks.
22587
f77a8c24
VS
225882010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22589
22590 * util/grub-setup.c (setup): Don't clean blocklists before readability
22591 verfification.
22592
27d9ee32
VS
225932010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22594
22595 * docs/grub.texi (Installation): Document embedding zone. Remove
22596 obsolete grub-install example.
22597
6bdda8f8
SJ
225982010-10-16 Szymon Janc <szymon@janc.net.pl>
22599
22600 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
22601 Set-but-not-used variable ifdef'ed.
22602 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
22603 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
22604 variable removed.
22605 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
22606 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
22607 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
22608 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
22609 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
22610 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22611 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
22612 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
22613 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
22614 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
22615 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
22616 Likewise.
22617
e19b016b
VS
226182010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22619
22620 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
22621 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
22622 enum value.
22623
6c8d3002
VS
226242010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22625
22626 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
22627 synonym to _S5_. Needed for some DSDTs.
22628
c32b51c9
VS
226292010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22630
22631 Userspace ACPI parser debugging.
22632
22633 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
22634 headers and add relevant defines. Don't include standard headers.
22635 (main) [GRUB_DSDT_TEST]: New function.
22636 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
22637 Don't declare functions.
22638
fbfbeb39
VS
226392010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22640
22641 Remove dead grub_efi_mm_fini.
22642
22643 * grub-core/kern/efi/mm.c (allocated_page): Removed.
22644 (ALLOCATED_PAGES_SIZE): Likewise.
22645 (MAX_ALLOCATED_PAGES): Likewise.
22646 (allocated_pages): Likewise.
22647 (grub_efi_allocate_pages): Don't record allocated pages.
22648 (grub_efi_free_pages): Likewise.
22649 (grub_efi_mm_init): Likewise.
22650 (grub_efi_mm_fini): Removed.
22651
65f7ed7c
VS
226522010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22653
22654 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
22655 (grub_efi_mm_init): Take into account the memory map size increase.
22656
24977b44
VS
226572010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22658
22659 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
22660 (serial_hw_put): Wait based on real time rather than port reads. Don't
22661 roken ports.
22662 * include/grub/serial.h (grub_serial_port): New field broken.
22663
1eb01cd2
RM
226642010-10-16 Robert Millan <rmh@gnu.org>
22665
22666 * grub-core/kern/emu/misc.c
22667 (grub_make_system_path_relative_to_its_root): Fix premature return
22668 when processing non-root ZFS filesystems.
5f8b440b 22669 Reported by Sergio Talens-Oliag.
1eb01cd2 22670
2d5fed60
RM
226712010-10-15 Robert Millan <rmh@gnu.org>
22672
22673 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
22674 guarantee compressed ones are processed first.
22675
d0f4c1ea
VS
226762010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22677
22678 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
22679 grub_efiemu_autocore.
22680
d87c681f
VS
226812010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22682
22683 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
22684 rather than 0x1b.
22685 (grub_console_getkey): Use correct jae opcode rather than ja.
22686
219b3564
RM
226872010-10-12 Robert Millan <rmh@gnu.org>
22688
22689 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
22690 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
22691 variable. All references updated.
22692
22693 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
22694
20c6bb7e
VS
226952010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
22696
22697 Correctly distinguish mdraid flavours.
22698
22699 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
22700 (insert_array): New argument raid.
22701 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
22702 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
22703 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
22704
74baff84
VS
227052010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
22706
22707 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
22708 handling of special keys.
22709
3ef068df 227102010-10-02 Aleš Nesrsta <starous@volny.cz>
22711
c7980ad9
VS
22712 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
22713 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 22714
a9455194 227152010-10-02 Aleš Nesrsta <starous@volny.cz>
22716
c7980ad9
VS
22717 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
22718 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
22719 users updated.
a9455194 22720 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 22721 Use right endpoint when querying descriptor.
a9455194 22722
441cfe65
VS
227232010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22724
22725 Clear out 0x80 color bit on EFI.
22726 Tested by: decoder
22727 Reported by: decoder and meta tech.
22728
22729 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
22730 (grub_console_setcolorstate): Clear out 0x80 bit.
22731 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
22732 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
22733 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
22734
bf26bcc4
VS
227352010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22736
22737 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
22738 Set to "auto".
22739
6e3c515d
VS
227402010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22741
22742 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
22743 mo_file after freeing.
22744
e6d983ba
VS
227452010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22746
22747 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
22748
74ccb5b5
VS
227492010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22750
22751 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
22752 flags.
22753
17821956
VS
227542010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22755
22756 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
22757 usage.
22758
ee74fa48
VS
227592010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22760
22761 Put terminfo into core on ieee1275 and yeeloong (needed for console).
22762
22763 * gentpl.py: New groups terminfoinkernel and terminfomodule.
22764 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
22765 and terminfo.h when needed.
22766 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
22767 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
22768 (terminfo): Enable only on terminfokernel.
22769 (extcmd): Likewise.
22770 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
22771 * include/grub/lib/arg.h: Likewise.
22772 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
22773 incorrect usage of ->.
22774
aa438e68
VS
227752010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22776
22777 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
22778 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
22779
57994012
VS
227802010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22781
22782 Fix coreboot compilation.
22783
22784 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22785 Take VBE info into account even if only text is supported.
22786 (fill_vbe_info): Take into account the case when only VGA text
22787 is supported.
22788 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
22789 on coreboot, multiboot and qemu.
22790
2a406611
VS
227912010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22792
22793 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
22794 debug messages.
22795 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
22796
d33613fc
VS
227972010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22798
22799 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
22800 parameters.
22801
44a1b432
VS
228022010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22803
22804 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
22805 if they were BSD-style.
22806
edde54e6
VS
228072010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22808
22809 * grub-core/boot/i386/pc/lnxboot.S: Replace
22810 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
22811 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
22812
b65830fa
VS
228132010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22814
22815 Write embedding zone using Reed-Solomon.
22816
22817 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
22818 * grub-core/Makefile.am (rs_decoder.S): New target.
22819 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
22820 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
22821 (multiboot): Move to RS part.
22822 (post_reed_solomon): New label.
22823 (grub_boot_drive): Move to non-RS part since it's modified in memory
22824 on boot.
22825 Include rs_decoder.S.
22826 * grub-core/lib/reed_solomon.c: New file.
22827 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
22828 New definition.
22829 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
22830 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
22831 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
22832 * include/grub/partition.h (grub_partition_map): Change prototype of
22833 embed to allow returning additional sectors.
22834 * include/grub/reed_solomon.h: New file.
22835 * util/grub-setup.c (setup): Handle Reed-Solomon.
22836
0b4b227f
CW
228372010-09-28 Colin Watson <cjwatson@ubuntu.com>
22838
22839 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22840 i386 and x86-64 definedness tests.
22841
f772623b
YB
228422010-09-27 Yves Blusseau <blusseau@zetam.org>
22843
22844 Fix generation of kernel_syms.lst
22845
22846 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
22847 ASM_PREFIX
22848
8e57a6ca
RM
228492010-09-26 Robert Millan <rmh@gnu.org>
22850
22851 Support degraded ZFS arrays in "grub-probe -t device" resolution.
22852
22853 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
22854 the pool is an array of devices, iterate through it and return the
22855 first device that passes a stat() test (instead of blindly returning
22856 the first one).
22857
f9130836
RM
228582010-09-26 Robert Millan <rmh@gnu.org>
22859
22860 Build fixes for GNU/kFreeBSD.
22861
22862 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
22863 to programs that require ZFS conversion.
22864 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
22865 kernels that don't have FLOPPY_MAJOR.
22866
96510faf
BC
228672010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22868
22869 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
22870
449333eb
BC
228712010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22872
22873 Fix grub-emu build.
22874
22875 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
22876 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
22877 mdraid09 and mdraid1x.
22878
e1fd1939
CW
228792010-09-24 Colin Watson <cjwatson@ubuntu.com>
22880
22881 Re-enable grub-extras.
22882
22883 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
22884 avoid confusing Automake. Run autogen only twice, once for the top
22885 level and once for grub-core. Add Makefile.util.def and
22886 Makefile.core.def from extra modules to the appropriate autogen
22887 invocations. If Makefile.common exists in an extra module, include
22888 it in both Makefile.util.am and grub-core/Makefile.core.am;
22889 similarly, include any Makefile.util.common file in Makefile.util.am
22890 and any Makefile.core.common file in grub-core/Makefile.core.am.
22891 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
22892 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
22893 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
22894 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
22895
22896 * gentpl.py (gvar_add): Turn GVARS into a set.
22897 (global_variable_initializers): Sort global variables on output.
22898 (vars_init): New function.
22899 (first_time): Likewise.
22900 (library): Ensure that non-global variable initialisations are
22901 emitted before the first time we emit code for a library block.
22902 Append to variables rather than setting them. Only emit
22903 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
22904 each conditional path.
22905 (program): installdir() emits an Autogen macro, so must be passed to
22906 var_add rather than gvar_add.
22907 (data): Likewise.
22908 (script): Likewise.
22909 (rules): New function, centralising handling for different target
22910 types. Set up Guile association lists for first_time and vars_init,
22911 and send most output to a diversion so that variable initialisations
22912 can be emitted first.
22913 (module_rules): Use new rules function.
22914 (kernel_rules): Likewise.
22915 (image_rules): Likewise.
22916 (library_rules): Likewise.
22917 (program_rules): Likewise.
22918 (script_rules): Likewise.
22919 (data_rules): Likewise.
22920
22921 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
22922
22923 * .bzrignore: Add contrib and grub-core/contrib. Remove
22924 grub-core/Makefile.gcry.am.
22925
1d12cf29
YB
229262010-09-24 Yves Blusseau <blusseau@zetam.org>
22927
22928 * grub-core/lib/LzFind.c: Add missing include.
22929 * grub-core/lib/LzmaEnc.c: Likewise.
22930 * grub-core/script/lexer.c: Likewise.
22931 * grub-core/script/yylex.l: Likewise.
22932 * util/grub-macho2img.c: Likewise.
22933 * util/grub-menulst2cfg.c: Likewise.
22934 * util/grub-mklayout.c: Likewise.
22935 * util/grub-mkpasswd-pbkdf2.c
22936 * util/grub-mkrelpath.c: Likewise.
22937 * util/resolve.c: Likewise.
22938
dd363028
BC
229392010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
22940
22941 * Makefile.util.def (example_unit_test): Add
22942 grub-core/gnulib/libgnu.a.
22943
f5a109e2
GS
229442010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
22945
22946 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
22947
6d0fa83c
VS
229482010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
22949
22950 Support xz compression on yeeloong.
22951
22952 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
22953 * configure.ac: Check for LZMA.
22954 * grub-core/Makefile.core.def (xz_decompress): New target.
22955 (none_decompress): Likewise.
22956 * grub-core/boot/decompressor/minilib.c: New file.
22957 * grub-core/boot/decompressor/none.c: Likewise.
22958 * grub-core/boot/decompressor/xz.c: Likewise.
22959 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
22960 * grub-core/kern/mips/cache_flush.S: Likewise.
22961 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
22962 * grub-core/kern/mips/startup.S: Move first stage to ...
22963 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
22964 nomacro.
22965 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
22966 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
22967 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
22968 Allocate statically.
22969 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
22970 Allocate statically or use scratch. Don't check CRC32.
22971 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
22972 Allocate statically. Don't check CRC32.
22973 * include/grub/decompressor.h: New file.
22974 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
22975 Removed.
22976 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
22977 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
22978 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
22979 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
22980 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
22981 * util/grub-mkimage.c (grub_compression_t): New type.
22982 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
22983 (image_target_desc): New field default_compression.
22984 (image_targets): Adjust yeeloong targets.
22985 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
22986 (compress_kernel): New parameter comp.
22987 (generate_image): Likewise. Handle new compression case.
22988 (options): New option --compression
22989 (help): Likewise.
22990 (main): Handle new option.
22991
1b655af6
GS
229922010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
22993
22994 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
22995
8f03f0b5
CW
229962010-09-22 Colin Watson <cjwatson@ubuntu.com>
22997
22998 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22999 typo in __i386__ conditional.
23000
7835dfd3
VS
230012010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
23002
23003 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
23004 include.
23005
e255597e
VS
230062010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
23007
6d0fa83c 23008 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
23009
23010 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
23011 new tags as supported.
23012 (acpiv2_size): New function.
23013 (grub_multiboot_get_mbi_size): Take new tags into account.
23014 (grub_multiboot_make_mbi): Add new tags.
23015 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 23016
6cc14051 230172010-09-21 Aleš Nesrsta <starous@volny.cz>
23018
23019 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
23020 Added missing configuration of USB device.
23021
df7769d8
CW
230222010-09-21 Colin Watson <cjwatson@ubuntu.com>
23023
23024 * grub-core/normal/menu_entry.c (run): Make sure we always return
23025 a value.
23026
b031012d
CW
230272010-09-21 Colin Watson <cjwatson@ubuntu.com>
23028
23029 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
23030 NumberOfPages is UINT64 according to the UEFI specification, not
23031 UINTN. Fix printf format.
23032
174de8f3
CW
230332010-09-21 Colin Watson <cjwatson@ubuntu.com>
23034
23035 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
23036 `err' to grub_usb_err_t.
23037 Reported and tested by: KESHAV P.R.
23038
d7dbe923
CW
230392010-09-21 Colin Watson <cjwatson@ubuntu.com>
23040
23041 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
23042 tpart non-const, so that we can assign to it. (Since this is a
23043 typedef, the constness refers to the pointer rather than what it
23044 points to.)
23045
8d5e2af3
CW
230462010-09-21 Colin Watson <cjwatson@ubuntu.com>
23047
23048 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
23049 $(top_srcdir)/grub-core/gnulib as well as
23050 $(top_builddir)/grub-core/gnulib.
23051 Reported by: KESHAV P.R.
23052
5c527783
CW
230532010-09-21 Colin Watson <cjwatson@ubuntu.com>
23054
23055 * util/grub-install.in: Fix the bootloader ID option to be
23056 consistently --bootloader-id, not --bootloader_id.
23057 Reported by: KESHAV P.R.
23058
d309a16e
CW
230592010-09-21 Colin Watson <cjwatson@ubuntu.com>
23060
23061 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
23062 check hash checksum." consistently translatable.
23063
b830cd16
YB
230642010-09-21 Yves Blusseau <blusseau@zetam.org>
23065
23066 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
23067 $(top_builddir).
23068
c4fe27a8
CW
230692010-09-21 Colin Watson <cjwatson@ubuntu.com>
23070
23071 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
23072 (GRUB_MOD_INIT): Register sha1sum command.
23073 (GRUB_MOD_FINI): Unregister sha1sum command.
23074
a4c1d277
YB
230752010-09-21 Yves Blusseau <blusseau@zetam.org>
23076
23077 Keep boot and grub directory names in sync with utils scripts
23078
23079 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
23080 * config.h.in: Add previous macros.
23081 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
23082 * util/grub-install.in: Use $bootdir and $grubdir variables.
23083
4eff79d2
CW
230842010-09-21 Colin Watson <cjwatson@ubuntu.com>
23085
23086 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
23087 convert partition names to disk names if the new `convert' parameter
23088 is set.
23089 (grub_util_biosdisk_get_grub_dev): If opening the disk device
23090 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
23091 disk in its own right. This can happen with Xen disk images.
23092
934d7e44
YB
230932010-09-21 Yves Blusseau <blusseau@zetam.org>
23094
23095 * util/grub-editenv.c: Update strings to avoid warnings when generating
23096 grub.pot file.
23097 * util/grub-setup.c: Likewise.
934d7e44 23098
df3367cc
VS
230992010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
23100
23101 * configure.ac: Change version to 1.99~beta0.
23102
77a94e98
VS
231032010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
23104
23105 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
23106 Add BADRAM.
23107 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
23108 Likewise.
23109 * include/multiboot.h: Resynced with specification.
23110 * include/multiboot2.h: Likewise.
23111
269004c1
CW
231122010-09-21 Colin Watson <cjwatson@ubuntu.com>
23113
23114 Fix po directory handling.
23115
23116 * configure.ac: Create po/Makefile.in rather than po/Makefile.
23117 * grub-core/gnulib/Makefile.am: Import gettext module.
23118 * m4/gnulib-cache.m4: Likewise.
23119 * m4/gnulib-comp.m4: Likewise.
23120 * m4/gettext.m4: New file, from gnulib.
23121 * m4/glibc2.m4: Likewise.
23122 * m4/iconv.m4: Likewise.
23123 * m4/intdiv0.m4: Likewise.
23124 * m4/intl.m4: Likewise.
23125 * m4/intldir.m4: Likewise.
23126 * m4/intlmacosx.m4: Likewise.
23127 * m4/intmax.m4: Likewise.
23128 * m4/inttypes-pri.m4: Likewise.
23129 * m4/lcmessage.m4: Likewise.
23130 * m4/lib-ld.m4: Likewise.
23131 * m4/lib-link.m4: Likewise.
23132 * m4/lib-prefix.m4: Likewise.
23133 * m4/lock.m4: Likewise.
23134 * m4/nls.m4: Likewise.
23135 * m4/po.m4: Likewise.
23136 * m4/printf-posix.m4: Likewise.
23137 * m4/progtest.m4: Likewise.
23138 * m4/threadlib.m4: Likewise.
23139 * m4/uintmax_t.m4: Likewise.
23140 * m4/visibility.m4: Likewise.
23141 * po/Makefile.am: Remove.
23142 * po/Makefile.in.in: New file, from gettext.
23143 ($(DOMAIN).pot-update): Support POTFILES-shell.
23144 * po/Makevars: New file.
23145 * po/POTFILES-shell: Rename to ...
23146 * po/POTFILES-shell.in: ... this. Update.
23147 * po/POTFILES: Rename to ...
23148 * po/POTFILES.in: ... this. Update.
23149 * po/Rules-quot: New file, from gettext.
23150 * po/boldquot.sed: Likewise.
23151 * po/en@boldquot.header: Likewise.
23152 * po/en@quot.header: Likewise.
23153 * po/insert-header.sin: Likewise.
23154 * po/quot.sed: Likewise.
23155 * po/remove-potcdate.sin: Likewise.
23156
3e0fa5d0
VS
231572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23158
23159 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
23160
ade9bd66
VS
231612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23162
23163 * util/grub.d/20_linux_xen.in: Use submenus.
23164
fc55cc4c
VS
231652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23166
23167 Support submenus.
23168
23169 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
23170 parameter submenu. All users updated.
23171 * grub-core/normal/main.c (free_menu): Rename to ...
23172 (grub_normal_free_menu): ... this. Made global.
23173 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
23174 if requested.
23175 * grub-core/normal/menu_entry.c (screen): New field submenu.
23176 (make_screen): Set submenu.
23177 (run): Open new context if requested.
23178 * include/grub/menu.h (grub_menu_entry): New field submenu.
23179 * include/grub/normal.h (grub_normal_free_menu): New proto.
23180
600cedf7
VS
231812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23182
23183 Menu entries extractor.
23184
23185 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
23186 variants.
23187 (GRUB_MOD_INIT): Register new variants.
23188 (GRUB_MOD_FINI): Unregister new variants.
23189 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
23190 into grub_cmd_legacy_source.
23191 (grub_cmd_legacy_source): Implement extractor variants.
23192 (GRUB_MOD_INIT): Register new variants.
23193 (GRUB_MOD_FINI): Unregister new variants.
23194 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
23195 as an extractor.
23196 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
23197 search as an extractor.
23198 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
23199 test as an extractor.
23200 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
23201 as an extractor.
23202 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
23203 (grub_env_new_context): New function.
23204 (grub_env_context_open): Likewise.
23205 (grub_env_extractor_open): Likewise.
23206 (grub_env_extractor_close): Likewise.
23207 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23208 grub_extractor_level.
23209 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
23210 * include/grub/env.h (grub_env_extractor_open): New proto.
23211 (grub_env_extractor_close): Likewise.
23212 * include/grub/normal.h (grub_extractor_level): New external variable.
23213
7bda3a87
VS
232142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23215
23216 Make cutmem accept a region specification.
23217 Suggested by: Samuel Thibault
23218
23219 * grub-core/mmap/mmap.c (parsemem): New function.
23220 (grub_cmd_cutmem): Handle new arguments.
23221
2ea57f88
VS
232222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23223
23224 New command cutmem.
23225
23226 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
23227 (GRUB_MOD_INIT): Register new command.
23228 (GRUB_MOD_FINI): Unregister new command.
23229
74342e31
VS
232302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23231
23232 Support some annoying BSD and Minix subpartitions.
23233
23234 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
23235 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
23236 Properly handle concatenation.
23237 * grub-core/kern/device.c (grub_device_iterate): Likewise.
23238 * grub-core/normal/completion.c (iterate_partition): Likewise.
23239 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
23240 contain partition. All users updated.
23241 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
23242 struct.
23243 (grub_openbsdlabel_partition_map): Likewise.
23244 (bsdlabel_partition_map_iterate): Rename to ..
23245 (iterate_real): ... this. New arguments sector, freebsd and pmap.
23246 (bsdlabel_partition_map_iterate): New function.
23247 (netopenbsdlabel_partition_map_iterate): Likewise.
23248 (netbsdlabel_partition_map_iterate): Likewise.
23249 (openbsdlabel_partition_map_iterate): Likewise.
23250 (GRUB_MOD_INIT): Register new partmaps.
23251 (GRUB_MOD_FINI): Unregister new partmaps.
23252 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
23253 (grub_partition_msdos_iterate): ... this. All users updated.
23254 Don't support embedding other than in a minix partition.
23255 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
23256 proto.
23257 * include/grub/partition.h (grub_partition): New field msdostype.
23258 * util/grub-install.in: Handle openbsd and netbsd types being in
23259 part_bsd module.
23260
1e8d555b
VS
232612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23262
23263 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
23264
23265 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
23266 * grub-core/Makefile.core.def (mdraid): Renamed to ...
23267 (mdraid09): ... this.
23268 (mdraid1x): New module.
23269 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
23270 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
23271
899d8af4
VS
232722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23273
23274 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
23275 vsprintf.
23276
40901acd
CW
232772010-09-20 Colin Watson <cjwatson@ubuntu.com>
23278
23279 * grub-core/commands/efi/lsefimmap.c: Correct header.
23280 * NEWS: Update.
23281
dfe3b247
CW
232822010-09-20 Colin Watson <cjwatson@ubuntu.com>
23283
23284 * util/grub-editenv.c (argp_parser): Don't pass translated strings
23285 as printf format strings; the translations might contain '%' which
23286 could cause a crash.
23287 (main): Likewise.
23288 * util/grub-fstest.c (argp_parser): Likewise.
23289 * util/grub-setup.c (argp_parser): Likewise.
23290 (main): Likewise.
23291
3286a4b4
VS
232922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23293
23294 Use argp in grub-fstest.
23295
23296 * util/grub-fstest.c: Don't include getopt.h.
23297 Include argp.h.
23298 (root): New variable.
23299 (args_count): Likewise.
23300 (nparm): Likewise.
23301 (num_disks): Likewise.
23302 (images): Likewise.
23303 (cmd): Likewise.
23304 (debug_str): Likewise.
23305 (args): Likewise.
23306 (options): Transformed to argp.
23307 (usage): Removed.
23308 (main): Split argument parsing into ...
23309 (argp_parser): ... this. Changed to argp format.
23310 (argp): New variable.
23311 (main): Use argp_parse.
23312
3dccbe4b
TG
233132010-09-20 Tristan Gingold <gingold@free.fr>
233142010-09-20 Robert Millan <rmh.grub@aybabtu.com>
233152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23316
23317 * grub-core/commands/efi/lsefimmap.c: New file.
23318 * grub-core/Makefile.core.def (lsefimmap): New module.
23319 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
23320
38c259a7
VS
233212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23322
23323 Pause the execution (10s max) if any errors are displayed so the user
23324 has a chance to see them.
23325
23326 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
23327 (grub_print_error): Increment grub_err_printed_errors.
23328 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
23329 execution if any errors were displayed.
23330 (show_menu): Remove old code for pause.
23331 * grub-core/normal/menu_entry.c (run): Likewise.
23332 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
23333 users updated.
23334 (grub_normal_get_char_counter): Likewise.
23335 * include/grub/err.h (grub_err_printed_errors): New external variable.
23336 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
23337
f218b09c
VS
233382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23339
23340 Support multiboot VBE info.
23341
23342 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
23343 Take VBE info into account.
23344 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
23345 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23346 Call fill_vbe_info when appropriate.
23347 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
23348 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
23349 as supported.
23350 (grub_multiboot_get_mbi_size): Take new tags into account.
23351 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
23352 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23353 Call fill_vbe_tag when appropriate.
23354 (grub_multiboot_make_mbi): Properly align tags.
23355 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
23356 function.
23357 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
23358 proto.
23359 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
23360
a9cc5438
VS
233612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23362
23363 Suport manual terminal geometry specification.
23364
23365 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
23366 Save state in grub_ofconsole_terminfo_output.
23367 (grub_ofconsole_term): Use grub_terminfo_getwh.
23368 (grub_ofconsole_getwh): Removed.
23369 * grub-core/term/serial.c (grub_serial_getwh): Removed.
23370 (grub_serial_term): Use grub_terminfo_getwh.
23371 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
23372 (options): New struct.
23373 (OPTION_*): New enum.
23374 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
23375 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
23376 width and height.
23377 (grub_terminfo_getwh): New proto.
23378 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
23379
1a8fed20
VS
233802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23381
23382 Handle legacy "terminal" command.
23383
23384 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
23385 and FLAG_TERMINAL.
23386 (legacy_commands): Add terminal and title.
23387 (grub_legacy_parse): Handle terminal. Simplify title handling.
23388
41e9c57d
VS
233892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23390
23391 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
23392 parameters overflow.
23393
61c874c5
CW
233942010-09-20 Colin Watson <cjwatson@ubuntu.com>
23395
23396 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
23397 widthspec.h.
23398
23399 * docs/grub.texi (Shell-like scripting): Document `!'.
23400 (Network): Simplify using new i386-pc-pxe format. Mention
23401 grub-mknetdir.
23402
23403 * NEWS: Update.
23404
943682b4
CW
234052010-09-20 Colin Watson <cjwatson@ubuntu.com>
23406
23407 * Makefile.am (SUBDIRS): Restore "."; it's important to force
23408 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
23409 when needed.
23410
6d3d698d
CW
234112010-09-20 Colin Watson <cjwatson@ubuntu.com>
23412
23413 * grub-core/commands/efi/lsefisystab.c: Correct header.
23414 * grub-core/commands/efi/lssal.c: Likewise.
23415 * grub-core/commands/testload.c: Likewise.
23416
c982589f
CW
234172010-09-20 Colin Watson <cjwatson@ubuntu.com>
23418
23419 * util/grub-mkrescue.in: Add explicit root argument to --set to
23420 prevent the UUID being interpreted as an argument to --set (matches
23421 previous change to prepare_grub_to_access_device).
23422
a63c31b6
CW
234232010-09-20 Colin Watson <cjwatson@ubuntu.com>
23424
23425 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
23426 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
23427 the verbosity of later #ifs.
23428 (find_partition_start): Define this function on FreeBSD too.
23429 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
23430 function.
23431 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
23432 on FreeBSD.
23433
6439b8ee
YB
234342010-09-20 Yves Blusseau <blusseau@zetam.org>
23435
23436 * util/grub-editenv.c: Use argp instead of getopt.
23437
c5930ec8
YB
234382010-09-20 Yves Blusseau <blusseau@zetam.org>
23439
23440 * util/grub-setup.c: Use argp instead of getopt.
23441
15c69261
YB
234422010-09-20 Yves Blusseau <blusseau@zetam.org>
23443
23444 Use gnulib-tool to create gnulib source files.
23445
23446 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
23447 grub-core/gnulib directories
23448 * .bzignore: Add **/.deps and autogenerated gnulib files
23449 * configure.ac: Assign auxiliary directory to build-aux, add invocation
23450 of gnulib macros, add grub-core/gnulib/Makefile
23451 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
23452 include m4 directory to aclocal.
23453 * Makefile.util.def: Remove direct compilation of gnulib source files
23454 and use the new grub-core/gnulib/libgnu.a.
23455 * build-aux/config.rpath: move config.rpath from top directory to
23456 build-aux
23457 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
23458 in gnulib headers
23459 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
23460 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
23461 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
23462 header.
23463 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
23464 string.
23465
e511c9f5
YB
234662010-09-20 Yves Blusseau <blusseau@zetam.org>
23467
23468 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
23469 grub-core/genmod.sh and grub-core/gensyminfo.sh
23470
c2dede05
BC
234712010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
23472
23473 Add a test for echo command options.
23474
23475 * tests/grub_cmd_echo.in: New test.
23476 * Makefile.util.def: Rules for new test.
23477
c55f5018
SJ
234782010-09-20 Szymon Janc <szymon@janc.net.pl>
23479
23480 Remove crc.mod and move crc command to hashsum.mod.
23481 Remove lib/crc.c - users updated to use gcrypt implementation.
23482
23483 * grub-core/commands/crc.c: Removed.
23484 * grub-core/Makefile.core.def (crc): Module removed.
23485 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
23486 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
23487 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
23488 * grub-core/lib/crc.c: Removed.
23489 * include/grub/lib/crc.h: Removed.
23490 * Makefile.util.def (crc): Remove lib/crc.c
23491 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
23492 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
23493 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
23494 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
23495 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
23496 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
23497
e0337366
VS
234982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23499
23500 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
23501
742f9232
VS
235022010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23503
23504 Split config.h for util and core.
23505
23506 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
23507 (ADDR32): Likewise.
23508 (DATA32): Likewise.
23509 (BSS_START_SYMBOL): Likewise.
23510 (END_SYMBOL): Likewise.
23511 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
23512 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
23513 * config.h.in: New file.
23514 * configure.ac: Use config-util.h as config define file.
23515 Rename MACHINE into GRUB_MACHINE. All users updated.
23516 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
23517 updated.
23518 (NESTED_FUNC_ATTR): Likewise.
23519 Substitue new variables.
23520 (COND_HAVE_ASM_USCORE): New conditional.
23521 * grub-core/Makefile.am (ASM_PREFIX): New variable.
23522 (kernel_syms.lst): Use ASM_PREFIX.
23523 * grub-core/kern/emu/console.c: Include config-util.h.
23524 * grub-core/kern/emu/misc.c: Likewise.
23525 * grub-core/kern/emu/mm.c: Likewise.
23526 * include/grub/emu/misc.h: Likewise.
23527 * include/grub/libgcc.h: Likewise.
23528
39feb0e8
VS
235292010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23530
23531 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
23532 constants usage.
23533 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
23534 Fix GRUB_TERM_KEY_* constants usage.
23535 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
23536
9af6dac3
VS
235372010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23538
23539 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
23540 print pointer.
23541 * grub-core/bus/usb/uhci.c: Remove empty define.
23542 (grub_uhci_check_transfer): Add missing cast.
23543 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
23544 print pointer.
23545 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
23546 PRIuGRUB_SIZE.
23547 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
23548
d6d94820
VS
235492010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23550
23551 * grub-core/Makefile.core.def (legacycfg): Add
23552 lib/i386/pc/vesa_modes_table.c on emu.
23553
3572f2b6
BC
235542010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23555
23556 Reduce number of temporary files generated by build system.
23557
23558 * grub-core/gencmdlist.sh: Removed.
23559 * grub-core/genfslist.sh: Removed.
23560 * grub-core/genhandlerlist.sh: Removed.
23561 * grub-core/genmodsrc.sh: Removed.
23562 * grub-core/genpartmaplist.sh: Removed.
23563 * grub-core/genparttoollist.sh: Removed.
23564 * grub-core/gentermiinallist.sh: Removed.
23565 * grub-core/genvideolist.sh: Removed.
23566
23567 * grub-core/genmod.sh.in: New file.
23568 * grub-core/gensyminfo.sh.in: New file.
23569
23570 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
23571 * conf/Makefile.extra-dist: Update with new files.
23572 * gentpl.py: Remove rules related to unnecessary temporary files.
23573 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
23574 and und-* files.
23575 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
23576 genmod.sh scripts.
23577 * grub-core/bus/usb/uhci.c: Remove empty #define.
23578 * grub-core/genmoddep.awk: Updated with new syminfo format.
23579 * util/bash-completion.d/Makefile.am: Add config.log to
23580 CLEANFILES.
23581
c836b030
YB
235822010-09-19 Yves Blusseau <blusseau@zetam.org>
23583
23584 * Makefile.util.def: Add forgotten $(LIBINTL) library.
23585
2f4e8053
BC
235862010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23587
23588 * util/grub-mkconfig.in: Check the config script for syntax errors
23589 before saving.
23590
75831c34
CW
235912010-09-19 Colin Watson <cjwatson@ubuntu.com>
235922010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23593
23594 * Makefile.util.def (grub-install): Use util/grub-install.in on all
23595 platforms.
23596 * util/grub-install.in: Add EFI and IEEE1275 support.
23597 * util/i386/efi/grub-install.in: Removed.
23598 * util/ieee1275/grub-install.in: Likewise.
23599
eaf41b25
VS
236002010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23601
23602 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
23603 (grub_cmd_cmosclean): Likewise.
23604 (GRUB_MOD_INIT): Register command cmosclean.
23605 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
23606 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
23607
1a9130dd
CPE
236082010-09-18 Carles Pina i Estany <carles@pina.cat>
236092010-09-18 Aleš Nesrsta <starous@volny.cz>
236102010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23611
23612 Add keyboard layouts support.
23613
23614 * Makefile.util.def (grub-mklayout): New file.
23615 (grub-kbdcomp): New script.
23616 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
23617 Add keyboard_layouts.h.
23618 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
23619 commands/boot.c on yeeloong.
23620 (keylayouts): New module.
23621 * grub-core/bus/usb/ohci.c
23622 * grub-core/bus/usb/uhci.c
23623 * grub-core/bus/usb/usbhub.c (rescan): New variable.
23624 (grub_usb_add_hub): Poll interrupt pipe for device handling.
23625 (attach_root_port): Likewise.
23626 (poll_nonroot_hub): Likewise.
23627 (grub_usb_poll_devices): Likewise.
23628 (detach_device): Close transfer.
23629 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
23630 function.
23631 (grub_usb_bulk_setup_readwrite): Likewise.
23632 (grub_usb_bulk_finish_readwrite): Likewise.
23633 * grub-core/commands/keylayouts.c: New file.
23634 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
23635 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
23636 aliases.
23637 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
23638 support scancode 2.
23639 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
23640 * include/grub/keyboard_layouts.h: New file.
23641 * util/grub-mklayout.c: New file.
23642 * util/grub-kbdcomp.in: Likewise.
23643
a1d84a5e
VS
236442010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23645
23646 Unify memory types.
23647
23648 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
23649 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
23650 types.
23651 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
23652 (grub_upper_mem): Likewise.
23653 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
23654 * include/grub/memory.h (grub_memory_type_t): New enum.
23655 All users updated.
23656
9696382e
VS
236572010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23658
23659 * grub-core/Makefile.core.def (lsapm): New module.
23660 * grub-core/commands/i386/pc/lsapm.c: New file.
23661 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
23662 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
23663 Likewise.
23664 * include/grub/i386/pc/apm.h: New file.
23665 * include/multiboot.h (multiboot_apm_info): New struct.
23666
236672010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23668
23669 GRUB-legacy configuration file support.
23670
23671 * Makefile.util.def (grub-menulst2cfg): New util.
23672 * docs/man/grub-menulst2cfg.h2m: New file.
23673 * grub-core/Makefile.core.def (legacycfg): New module.
23674 * grub-core/commands/legacycfg.c: New file.
23675 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
23676 (grub_normal_add_menu_entry): ... this.
23677 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
23678 (grub_normal_set_password): ...this.
23679 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
23680 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
23681 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
23682 * grub-core/lib/legacy_parse.c: New file.
23683 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
23684 * include/grub/i386/pc/vesa_modes_table.h: New file.
23685 * include/grub/legacy_parse.h: Likewise.
23686 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
23687 * util/grub-menulst2cfg.c: New file.
23688
bf8d1338
CW
236892010-09-17 Colin Watson <cjwatson@ubuntu.com>
23690
23691 * grub-core/kern/emu/hostdisk.c
23692 (convert_system_partition_to_system_disk): Initialise node.
23693
9c0bad2e
CW
236942010-09-17 Colin Watson <cjwatson@ubuntu.com>
23695
23696 * grub-core/kern/emu/hostdisk.c
23697 (convert_system_partition_to_system_disk): Fix devmapper memory pool
23698 leak.
23699 Reported and based on patch by: Modestas Vainius.
23700
a939d135
CW
237012010-09-17 Colin Watson <cjwatson@ubuntu.com>
23702
23703 Fix DM-RAID probing with recent versions of device-mapper udev
23704 rules.
23705
23706 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
23707 canonicalise device paths under /dev/mapper/.
23708 (convert_system_partition_to_system_disk): Compare the
23709 uncanonicalised path to /dev/mapper/ rather than the canonicalised
23710 path, since device nodes under /dev/mapper/ are often symlinks.
23711
0f7ee3c9
YB
237122010-09-17 Yves Blusseau <blusseau@zetam.org>
23713
23714 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
23715
10854d0d
YB
237162010-09-16 Yves Blusseau <blusseau@zetam.org>
23717
23718 * configure.ac: Avoid some annoying error messages if freetype-config
23719 program is not found.
23720
108538d8
CW
237212010-09-16 Colin Watson <cjwatson@ubuntu.com>
23722
23723 Support RAID on virtio devices, and others.
23724
23725 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
23726 Rename to ...
23727 [__MINGW32__] (grub_find_device): ... this.
23728 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
23729 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
23730 reasonable default if dir is NULL.
23731 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
23732 ...
23733 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
23734 (grub_guess_root_device): Update callers.
23735 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
23736
23737 * util/raid.c (grub_util_getdiskname): Remove.
23738 (grub_util_raid_getmembers): Use grub_find_device rather than
23739 grub_util_getdiskname.
23740
e5bfc130
CW
237412010-09-16 Colin Watson <cjwatson@ubuntu.com>
23742
23743 * docs/grub.texi (serial): Remove obsolete comment about GRUB
23744 needing to be compiled with serial support.
23745 (ls): Indicate that multiple files are accepted.
23746 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
23747 indicate that multiple files are accepted.
23748
be458ae2
CW
237492010-09-16 Colin Watson <cjwatson@ubuntu.com>
23750
23751 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
23752 libgrub_a_init.c, and util/bash-completion.d/grub.
23753
cb731b5e
VS
237542010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23755
23756 * util/grub-setup.c (setup): Fix incorrect container semantics.
23757
35139e8a
VS
237582010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23759
23760 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
23761 misusage.
23762 Reported by: J. Nick Terry
23763
e50fca4a
VS
237642010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23765
23766 Move embedding routines to partmap sources files.
23767
23768 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
23769 [GRUB_UTIL]: New variable.
23770 (gpt_partition_map_iterate): Set part.parent.
23771 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
23772 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
23773 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
23774 New function.
23775 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
23776 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
23777 (grub_partition_map) [GRUB_UTIL]: New field embed.
23778 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
23779 (setup): Use ->embed.
23780
f00478b7
VS
237812010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
23784 function.
23785 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
23786 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
23787
2b94e3ff
YB
237882010-09-15 Yves Blusseau <blusseau@zetam.org>
23789
23790 Add function to get completions from usage.
23791
23792 * util/bash-completion.d/grub-completion.bash.in: Add function to get
23793 completions from usage. Use LC_ALL=C to get options properly.
23794
2e04a006
VS
237952010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23796
23797 * grub-core/gnulib/basename-lgpl.c: Imported.
23798 * grub-core/gnulib/basename.c: Likewise.
23799 * grub-core/gnulib/dirname-lgpl.c: Likewise.
23800 * grub-core/gnulib/dirname.c: Likewise.
23801 * grub-core/gnulib/dirname.h: Likewise.
23802 * grub-core/gnulib/stripslash.c: Likewise.
23803
5dcdf93a
VS
238042010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23805
23806 * grub-core/gnulib/error.c: Resynced.
23807 * grub-core/gnulib/getopt.c: Likewise.
23808 * grub-core/gnulib/getopt_int.h: Likewise.
23809 * grub-core/gnulib/regex.h: Likewise.
23810 * grub-core/gnulib/regex_internal.c: Likewise.
23811 * grub-core/gnulib/regex_internal.h: Likewise.
23812
014f47b7
SJ
238132010-09-15 Szymon Janc <szymon@janc.net.pl>
23814
23815 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
23816 CRC calculations and validity checks.
23817 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
23818 calculations.
23819
dd521a4a
SJ
238202010-09-15 Szymon Janc <szymon@janc.net.pl>
23821
23822 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
23823
79c4eeb9
VS
238242010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23825
23826 Fix incorrect echo options handling.
23827 Reported by: Yves Blusseau.
23828
23829 * include/grub/command.h (grub_command_flags_t): New flags
23830 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
23831 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
23832 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
23833
ed80f7d5
VS
238342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23835
23836 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
23837 users updated.
23838 (GRUB_COMMAND_FLAG_MENU): Likewise.
23839 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23840 (GRUB_COMMAND_FLAG_TITLE): Removed.
23841 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23842 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
23843 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
23844 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
23845 (grub_command_flags_t): New enum. All users updated.
23846
5fe7620a
SG
238472010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
23848
23849 Fix solaris compilation.
23850
23851 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
23852 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
23853 (grub-emu-list): Likewise.
23854
545b752f
VS
238552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23856
23857 Remove deprecated root command.
23858
23859 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
23860 updated.
23861
6c1a338c
VS
238622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23863
23864 * util/i386/pc/grub-setup.c: Merge this ...
23865 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
23866 * util/grub-setup.c: ... into this.
23867 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
23868 New struct.
23869
238702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23871
23872 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
23873 possible.
23874
d2ea4551
VS
238752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23876
23877 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
23878 allocate p.
23879
3c3b5040
VS
238802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23881
23882 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
23883 explicit root argument to set to prevent UUID to be interpreted as
23884 argument to set.
23885
b71c3fae
VS
238862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23887
23888 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
23889
275433e6
VS
238902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23891
23892 Don't export grub_gate_a20.
23893
23894 * grub-core/kern/i386/pc/init.c: Remove leftovers.
23895 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
23896 to ...
23897 (grub_gate_a20): ... this. All users updated.
23898 * include/grub/i386/pc/init.h: Removed. All users updated.
23899
a5dbb1f1
VS
239002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23901
23902 Create euro.pf2 which supports most European languages.
23903
23904 * Makefile.am (grubdata_DATA): Add euro.pf2.
23905 (euro.pf2): New target.
23906 (CLEANFILES): Add euro.pf2.
23907
62a747cb
VS
239082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23909
23910 * configure.ac: Disable emu-usb by default to prevent inadvertent
23911 device takeover.
23912
608e43b1
VS
239132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23914
23915 Disable usbserial on grub-emu since our libusb code isn't good enough
23916 yet.
23917
23918 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
23919 (usbserial_pl2303): Likewise.
23920 (usbserial_ftdi): Likewise.
23921
94564f81
VS
239222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23923
23924 * include/grub/disk.h (grub_disk): Remove has_partitions.
23925 All users updated.
23926 * disk/loopback.c (grub_loopback): Remove has_partitions.
23927 All users updated.
23928 (options): Remove partitions. All users updated.
23929 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
23930 * util/i386/pc/grub-setup.c (setup): copy partition table only when
23931 actual partition table is found.
23932
3352800b
VS
239332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23934
23935 Remove readability checks (too many false negatives).
23936
23937 * util/grub-install.in: Remove readability checks.
23938 * util/grub-mkconfig.in: Likewise.
23939 * util/grub.d/10_hurd.in: Likewise.
23940 * util/grub.d/10_kfreebsd.in: Likewise.
23941 * util/grub.d/10_linux.in: Likewise.
23942 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
23943 way.
23944
2419f17a
VS
239452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23946
23947 Enable acpi shutdown on all ACPI platforms.
23948
23949 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
23950 on coreboo, multiboot and EFI.
23951 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
23952 (grub_acpi_halt): Likewise.
23953 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
23954 (grub_cmd_halt): Don't call grub_acpi_halt directly.
23955 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
23956 * grub-core/lib/i386/halt.c (grub_halt)
23957 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
23958
0575c7c3
VS
239592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23960
23961 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
23962 context.
23963
54ac3cd1
VS
239642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23965
23966 * grub-core/video/efi_gop.c: Fix over-80-chars line.
23967 * grub-core/video/efi_uga.c: Likewise.
23968
b2a30ac5
VS
239692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23970
23971 Filter devaliases and never open same device twice.
23972
23973 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
23974 (last_ihandle): Likewise.
23975 (ofdisk_hash_ent): New member shortest.
23976 (ofdisk_hash_add): Add canonical path too.
23977 (scan): New function.
23978 (grub_ofdisk_iterate): Iterate over hashed entries.
23979 (compute_dev_path): Don't add :0.
23980 (grub_ofdisk_open): Don't really open the disk.
23981 (grub_ofdisk_close): Avoid closing unrelated disk.
23982 (grub_ofdisk_read): Implement reopen logic.
23983 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
23984 New function.
23985 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
23986 New proto.
23987
fb53b340
VS
239882010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23989
23990 Fix sparc64.
23991
23992 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
23993 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
23994 right address. Add sparc64_ieee1275_ldflags.
23995 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
23996 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
23997 to grub_host_to_target_addr
23998 (load_image): Likewise.
23999
f452b040
VS
240002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24001
24002 * grub-core/normal/completion.c (complete_file): Handle device
24003 containing slash.
24004 Fix based on patch by Doug Nazar.
24005
9b5b2541
VS
240062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24007
24008 grub-mknetdir script.
24009
24010 * Makefile.util.def (grub-mknetdir): New module.
24011 * tests/util/grub-shell.in: Support boot=net
24012 * util/grub-mknetdir.in: New file.
24013
9d2be652
VS
240142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24015
24016 videoinfo on non-vbe.
24017
24018 * grub-core/Makefile.core.def (vbeinfo): Removed.
24019 (vbetest): Removed.
24020 (videoinfo): New module.
24021 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
24022 * grub-core/commands/i386/pc/vbetest.c: Removed.
24023 * grub-core/commands/videoinfo.c: New file.
24024 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
24025 specification.
24026 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
24027 as vbetest.
24028 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
24029 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
24030 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
24031 mode_number. New parameter mode. All users updated.
24032 (grub_video_gop_iterate): New function.
24033 (grub_video_efi_gop): New member iterate.
24034 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
24035 (grub_vbe_set_video_mode): Remove setting useless fields.
24036 (vbe2videoinfo): New function.
24037 (grub_video_vbe_iterate): Likewise.
24038 (grub_video_vbe_setup): Use vbe2videoinfo.
24039 (grub_video_vbe_print_adapter_specific_info): New function.
24040 (grub_video_vbe_adapter): New fields iterate and
24041 print_adapter_specific_info.
24042 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
24043 All users updated.
24044 (grub_video_mode_info): New field mode_number.
24045 (grub_video_adapter): New fields iterate and
24046 print_adapter_specific_info.
24047
179503f5
TG
240482010-09-13 Tristan Gingold <gingold@free.fr>
240492010-09-13 Robert Millan <rmh.grub@aybabtu.com>
240502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24051
24052 * grub-core/commands/efi/lsefisystab.c: New file.
24053 * grub-core/commands/efi/lssal.c: Likewise.
24054 * grub-core/Makefile.core.def (lsacpi): New module.
24055 (lsefisystab): Likewise.
24056 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
24057 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
24058 (grub_efi_sal_system_table): New struct.
24059 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
24060 (grub_efi_sal_system_table_memory_descriptor): Likewise.
24061 (grub_efi_sal_system_table_platform_features): Likewise.
24062 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
24063 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
24064 (grub_efi_sal_system_table_ap_wakeup): Likewise.
24065 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
24066
cf9827de
VS
240672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24068
24069 Support explicit user claim that a device is BIOS-visible.
24070
24071 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
24072 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
24073 * grub-core/kern/emu/hostdisk.c
24074 (convert_system_partition_to_system_disk): Support mdX.
24075 (find_system_device): New parameter add. All users updated.
24076 (grub_util_biosdisk_is_present): New function.
24077 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
24078 proto.
24079
53f0eb1f
VS
240802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
24081
24082 Search hints support.
24083
24084 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
24085 All users updated.
24086
b23ffd70
YB
240872010-09-13 Yves Blusseau <blusseau@zetam.org>
24088
24089 Bash completion script for util commands
24090
24091 * Makefile.am: Add util/bash-completion.d directory
24092 * configure.ac: Likewise.
24093 * util/bash-completion.d/Makefile.am: New file.
24094 * util/bash-completion.d/grub-completion.bash.in: Likewise.
24095
d547dc28
VS
240962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24097
24098 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
24099 (print_backlog): set backlog_ucs4 and backlog_glyphs.
24100 Reported by: Yves Blusseau.
24101
2fc8ccb9
VS
241022010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24103
24104 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
24105 partition size and offset.
24106
d8a84076
VS
241072010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24108
24109 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
24110
84fb3b3d
VS
241112010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24112
24113 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
24114
768ec2e2
VS
241152010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24116
24117 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
24118 (grub_xvasprintf): Likewise.
24119
4870900f
VS
241202010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24121
24122 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
24123
faca6bec
VS
241242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24125
24126 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
24127 args ending with NULL.
24128
241292010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
24130
24131 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
24132 pointer.
24133
3c70f225
SJ
241342010-09-11 Szymon Janc <szymon@janc.net.pl>
24135
24136 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
24137
4df7996d
VS
241382010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24139
24140 Shutdown using ACPI.
24141
24142 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
24143 * grub-core/commands/acpihalt.c: New file.
24144 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
24145 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
24146 (grub_acpi_halt): New proto.
24147 (GRUB_ACPI_SLP_EN): New const.
24148 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
24149 (GRUB_ACPI_OPCODE_*): New enum.
24150 (GRUB_ACPI_EXTOPCODE_*): Likewise.
24151
126b4c32
TG
241522010-09-11 Tristan Gingold <gingold@free.fr>
241532010-09-11 Robert Millan <rmh.grub@aybabtu.com>
241542010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24155
24156 * commands/lsacpi.c: New file.
24157 * grub-core/Makefile.core.def (lsacpi): New module.
24158 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
24159 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
24160 (grub_acpi_madt_entry_header): New struct.
24161 (grub_acpi_madt): Likewise.
24162 (grub_acpi_madt_entry_interrupt_override): Likewise.
24163 (grub_acpi_madt_entry_sapic): Likewise.
24164 (grub_acpi_madt_entry_lsapic): Likewise.
24165 (grub_acpi_madt_entry_platform_int_source): Likewise.
24166 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
24167 (PRIuGRUB_UINT32_T): Likewise.
24168 (PRIxGRUB_UINT64_T): Likewise.
24169
1aa4fe88
VS
241702010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24171
24172 Implement loading palette on ieee1275_fb.
24173
24174 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
24175 (have_setcolors): Likewise.
24176 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
24177 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
24178 (grub_video_ieee1275_set_palette): Implement.
24179
25761e13
VS
241802010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
241812010-09-11 Colin Watson <cjwatson@ubuntu.com>
24182
24183 * util/grub-install.in (grub_partition): New variable.
24184 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
24185 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
24186 Fixes a bug reported by Yves Blusseau.
24187
050abaea
VS
241882010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24189
24190 Fix emu on mipsel.
24191
24192 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
24193 =grub_cpu_flush_cache on all mips and not only yeeloong.
24194 * configure.ac (COND_mips): New conditional.
24195 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
24196 platforms.
24197 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
24198 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
24199 [GRUB_LINKER_HAVE_INIT]: New function.
24200 (grub_emu_post_init): Likewise.
24201 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
24202 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
24203 * include/grub/cache.h (_mips): Include mips/cache.h.
24204 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
24205 LVM and RAID prototypes.
24206 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
24207 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
24208 function.
24209
5ed7d816
CW
242102010-09-10 Colin Watson <cjwatson@ubuntu.com>
24211
24212 * util/grub-install.in: Don't try to verify core.img until after
24213 running grub-mkimage to create it.
24214
90367e04
RM
242152010-09-10 Robert Millan <rmh@gnu.org>
24216
24217 * util/grub.d/10_hurd.in: Add misc readability checks.
24218 * util/grub.d/10_kfreebsd.in: Likewise.
24219 * util/grub.d/10_linux.in: Likewise.
24220
c452fa66
CW
242212010-09-10 Colin Watson <cjwatson@ubuntu.com>
24222
24223 * util/grub-install.in: ${imgext} won't be defined here until the
24224 install branch is merged. For the meantime, only verify core.img on
24225 i386-pc and sparc64-ieee1275 platforms.
24226
c38fe9f4
RM
242272010-09-10 Robert Millan <rmh@gnu.org>
24228
24229 Solaris support in grub_find_zpool_from_dir(). Thanks
24230 Seth Goldberg for referring to getextmntent() facility.
24231
24232 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
24233 `sys/mkdev.h'.
24234 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
24235 `<sys/mnttab.h>'.
24236 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
24237 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
24238 method for finding zpool name.
24239
905f7773
CW
242402010-09-10 Colin Watson <cjwatson@ubuntu.com>
24241
24242 grub-fstest needs the host and hostfs modules while other utilities
24243 actively require those modules to be absent, so grub-fstest needs
24244 its own initialisation and finalisation code.
24245
24246 * Makefile.am (grub_fstest.pp): New target.
24247 (grub_fstest_init.lst): Likewise.
24248 (grub_fstest_init.c): Likewise.
24249 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
24250
fb90b546
RM
242512010-09-10 Robert Millan <rmh@gnu.org>
24252
24253 * configure.ac: Check for `struct statfs.f_fstypename' and
24254 `struct statfs.f_mntfromname'.
24255
24256 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
24257 kFreeBSD-specific code.
24258
66d4bea5
RM
242592010-09-10 Robert Millan <rmh@gnu.org>
24260
24261 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
24262 on ZFS. Now non-main filesystems are supported as / too.
24263
b6a690ee
CW
242642010-09-09 Colin Watson <cjwatson@ubuntu.com>
24265
24266 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
24267 and grub-core/disk/host.c to ...
24268 (grub-fstest): ... here. Having the host disk implementation
24269 present confuses grub-probe and other utility programs.
24270
24271 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
24272 when writing to a file, not when writing to stdout.
24273
8901b00c 242742010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
24275
24276 * tests/partmap_test.in: New test for partitions.
24277 * Makefile.util.def: Rules for new test.
24278
7bf45fdd
RM
242792010-09-09 Robert Millan <rmh@gnu.org>
24280
24281 * util/grub-probe.c (probe): Fix a pair of unhandled error
24282 conditions.
24283
4dfbc574
RM
242842010-09-09 Robert Millan <rmh@gnu.org>
24285
24286 Basic Btrfs support (detection and UUID).
24287
24288 * grub-core/fs/btrfs.c: New file.
24289 * Makefile.util.def (library): Register btrfs.c.
24290 * grub-core/Makefile.core.def: Likewise.
24291
6b8e78ae
RM
242922010-09-08 Robert Millan <rmh@gnu.org>
24293
24294 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
24295 with (optional) parameters to specify device and relative path.
24296 * util/grub-install.in: Use is_path_readable_by_grub() to
24297 verify readability of a few critical files.
24298 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
24299 verify readability of grub.cfg.new.
24300
27f21a8b
VS
243012010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24302
24303 Split minix.mod into minix.mod and minix2.mod.
24304
24305 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
24306 * grub-core/Makefile.core.def (minix2): New module.
24307 * grub-core/fs/minix.c: Use definitions instead of runtime version
24308 checking.
24309 * grub-core/fs/minix2.c: New file.
24310
c0e53ea5
YB
243112010-09-08 Yves Blusseau <blusseau@zetam.org>
24312
24313 Add new --boot-directory option to replace --root-directory
24314
24315 * util/grub-install.in: Add new --boot-directory option
24316 * util/grub-reboot.in: Likewise.
24317 * util/grub-set-default.in: Likewise.
24318
b9fe6ea2
YB
243192010-09-08 Yves Blusseau <blusseau@zetam.org>
24320
24321 * util/grub-mkconfig.in: Use new variable.
24322
d87aedff
YB
243232010-09-08 Yves Blusseau <blusseau@zetam.org>
24324
24325 * configure.ac: Define some useful variables.
24326
e55e8495
VS
243272010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24328
24329 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24330 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
24331 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
24332 Use terminfo and don't use cursor-on/cursor-off unless it's known
24333 to work.
24334 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
24335 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
24336
6fa6d675
CW
243372010-09-08 Colin Watson <cjwatson@ubuntu.com>
24338
24339 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
24340 starts with "(,", fill the drive containing the loaded image in
24341 between those two characters, but expect that a full partition
24342 specification including partition map names will follow.
24343
92f2aef0
RM
243442010-09-08 Robert Millan <rmh@gnu.org>
24345
24346 * configure.ac: Remove `--enable-grub-fstest' option.
24347 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
24348
24349 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
24350 `grub-fstest' instead of `grub-probe' for readability verification.
24351 * util/grub-probe.c (probe): Remove readability verification kludge.
24352
99fd620d
RM
243532010-09-08 Robert Millan <rmh@gnu.org>
24354
24355 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
24356 initializing `GRUB_FS'.
24357
058e30ac 243582010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
24359
24360 Not command (!) support to GRUB script.
24361
24362 * tests/grub_script_not.in: New test.
24363 * Makefile.util.def: Rules for new test.
24364
24365 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
24366 ! command as a special case.
24367 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
24368
b61d05ed 243692010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24370
058e30ac 24371 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
24372 grub_free.
b61d05ed 24373
4d69c786 243742010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24375
24376 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
24377
aa3119c4 243782010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24379
24380 * docs/grub.texi (Shell-like scripting): Documentation for break,
24381 continue, shift and return commands.
24382
db0f7e3d
VS
243832010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
24384
24385 Rename CD-ROM to cd on BIOS.
24386
24387 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
24388 "cd".
24389 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
24390
88b87c93
VS
243912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24392
24393 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
24394 * util/grub-probe.c (main): Likewise.
24395 * util/i386/pc/grub-setup.c (main): Likewise.
24396 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24397 Reported and debugged by: alexxy
24398
294f324d
VS
243992010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24400
24401 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
24402 diagnostic info.
24403
d7ee3441
JS
244042010-09-05 Jo Shields <directhex@apebox.org>
24405
24406 * util/grub.d/30_os-prober.in: Add missing classes.
24407
d7e06c1f
VS
244082010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24409
24410 * docs/grub.texi (Theme file format): Document new position format.
24411
fc157e53
VS
244122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24413
24414 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
24415 a table. Use @code instead of @verbatim.
24416
506e9a1c
CB
244172010-09-05 Colin D Bennett <colin@gibibit.com>
24418
24419 Gfxmenu documentation.
24420
24421 * docs/grub.texi (Theme file format): New chapter.
24422
f0aff67c
SJ
244232010-09-05 Szymon Janc <szymon@janc.net.pl>
24424
24425 * grub-core/Makefile.core.def (xzio): New module.
24426 * grub-core/io/xzio.c: New file.
24427 * grub-core/lib/xzembed/xz.h: New file (from xembed).
24428 * grub-core/lib/xzembed/xz_config.h: Likewise.
24429 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
24430 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
24431 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
24432 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
24433 * grub-core/lib/xzembed/xz_private.h: Likewise.
24434 * grub-core/lib/xzembed/xz_stream.h: Likewise.
24435 * include/grub/file.h (grub_file_filter_id): New compression filter
24436 GRUB_FILE_FILTER_XZIO.
24437
82a85062
VS
244382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24439
24440 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
24441 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
24442 size.
24443
3579415d
VS
244442010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24445
24446 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
24447 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
24448
5124ae6d
VS
244492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24450
24451 Uncompressed checksum support.
24452
24453 * grub-core/commands/hashsum.c (options): Add option --uncompress.
24454 (check_list): New parameter uncompress.
24455 (grub_cmd_hashsum): Handle --uncompress.
24456
9aadb3d1
VS
244572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24458
24459 Reintroduce testload.
24460
24461 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
24462 from here ...
24463 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
24464 (GRUB_MOD_INIT): New function.
24465 (GRUB_MOD_FINI): Likewise.
24466 * grub-core/Makefile.core.def (testload): New module.
24467
a17792c3
SJ
244682010-09-05 Szymon Janc <szymon@janc.net.pl>
24469
24470 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
24471 (uint8_t): New type.
24472 (uint16_t): Likewise.
24473 (uint32_t): Likewise.
24474 (uint64_t): Likewise.
24475
b81e40a3
SJ
244762010-09-05 Szymon Janc <szymon@janc.net.pl>
24477
24478 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
24479
fc2ef117
VS
244802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24481
24482 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
24483 Made static.
24484 (grub_gzfile_open): Removed. All users updated.
24485 (GRUB_MOD_INIT): New function.
24486 (GRUB_MOD_FINI): Likewise.
24487 * grub-core/kern/file.c (grub_file_filters_all): New variable.
24488 (grub_file_filters_enabled): Likewise.
24489 (grub_file_open): Handle filters.
24490 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
24491 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
24492 * include/grub/file.h (grub_file_filter_id_t): New type.
24493 (grub_file_filter_t): Likewise.
24494 (grub_file_filters_all): New extern variable.
24495 (grub_file_filters_enabled): Likewise.
24496 (grub_file_filter_register): New inline function.
24497 (grub_file_filter_unregister): Likewise.
24498 (grub_file_filter_disable): Likewise.
24499 (grub_file_filter_disable_compression): Likewise.
24500 * include/grub/gzio.h: Removed.
24501
35ee15e0
BC
245022010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24503
24504 Filename expansion support for wildcards in GRUB script.
24505
24506 * tests/grub_script_expansion.in: New test.
24507 * Makefile.util.def: Rule for new test.
24508
24509 * grub-core/commands/wildcard.c: New file, implements filename
24510 expansion support for GRUB script.
24511 * grub-core/Makefile.core.def: Rule update for regexp.mod.
24512 * grub-core/script/argv.c: Cosmetic changes.
24513 * grub-core/script/execute.c (grub_script_arglist_to_argv):
24514 Refactored to perform wildcard expansion on arguments.
24515 * include/grub/script_sh.h (grub_script_wildcard_translator): New
24516 struct.
24517
24518 * tests/util/grub-shell.in: Fix quoting for read input.
24519
5f0c4aca
BC
245202010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24521
24522 Support for updating environment variables with matched substrings
24523 of regexp.
24524
24525 * tests/grub_cmd_regexp.in: New test.
24526 * Makefile.util.def: Rule for new test.
24527
24528 * grub-core/commands/regexp.c: New option -s to update environment
24529 variables with regexp matches.
24530
3759a35f
SJ
245312010-09-04 Szymon Janc <szymon@janc.net.pl>
24532
24533 * include/grub/file.h (grub_file): New member not_easly_seekable.
24534 (grub_file_seekable): New inline function.
24535 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
24536 easily seekable.
24537 (grub_gzio_open): Set not_easly_seekable.
24538 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
24539 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
24540
ed8c6dec
BC
245412010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24542
24543 Support for options to appear multiple times on cmdline.
24544
24545 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
24546 * grub-core/commands/extcmd.c: Support for repeatable option.
24547 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
24548 repeatable option support.
24549
24550 Refactor menuentry into a regular command.
24551
24552 * grub-core/commands/menuentry.c: New file, menuentry command
24553 implementation.
24554 * grub-core/Makefile.core.def: Rule update for normal.mod.
24555 * grub-core/normal/main.c: Moved menuentry creation to
24556 grub-core/commands/menuentry.c.
24557 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
24558 (grub_menu_execute_entry_real): Removed.
24559 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
24560 function.
24561 (grub_script_execute_menuentry): Removed.
24562 * grub-core/script/parser.y (menuentry): Removed.
24563 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
24564 * grub-core/script/yylex.l (menuentry): Removed.
24565 * include/grub/menu.h (grub_menu_init): New prototype.
24566 (grub_menu_fini): New prototype.
24567 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
24568 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
24569 (grub_script_execute_sourcecode): New prototype.
24570
dacd0cf0
BC
245712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24572
24573 "return" command for GRUB script functions.
24574
24575 * tests/grub_script_return.in: New test.
24576 * Makefile.util.def: Rules for new test.
24577
24578 * grub-core/script/execute.c (grub_script_return): New function.
24579 * grub-core/script/main.c: Register/unregister return commaond.
24580 * include/grub/script_sh.h (grub_script_return): New prototype.
24581
52e72f9d
BC
245822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24583
24584 "setparams" command to update positional parameters.
24585
24586 * tests/grub_script_setparams.in: New test.
24587 * Makefile.util.def: Rules for new test.
24588
24589 * grub-core/script/argv.c (grub_script_argv_make): New function.
24590 * grub-core/script/execute.c (replace_scope): New function.
24591 (grub_script_setparams): New function.
24592 * grub-core/script/lexer.c: Remove unused variables.
24593 * grub-core/script/main.c: Register/unregister setparams command.
24594 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
24595 (grub_script_setparams): New prototype.
24596
25b60c91
BC
245972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24598
24599 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
24600 grub_free order.
24601
37e7bf68
BC
246022010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24603
24604 Support for passing block of commands as an argument to extcmds.
24605
24606 * Makefile.util.def: Rules for new test.
24607 * tests/grub_script_blockarg.in: New test.
24608 * grub-core/tests/test_blockarg.c: New file, block argument
24609 command used in the test.
24610
24611 * include/grub/extcmd.h (grub_extcmd_context): New struct.
24612 (grub_register_extcmd_prio): New function prototype.
24613 (grub_extcmd_dispatcher): New function prototype.
24614 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
24615 type.
24616 * include/grub/script_sh.h (struct grub_script): New members
24617 `children', `next_siblings' and `refcnt' for block arguments and
24618 reference counting.
24619 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
24620 (grub_script_arg): New member `script' for block argument.
24621 (grub_script_argv): New member `script' for block argument.
24622 (grub_parser_param): New member `scripts' for block argument.
24623 (grub_script_mem_free): New extern function prototype.
24624 (grub_script_ref): New function prototype.
24625 (grub_script_unref): New function prototype.
24626
24627 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
24628 extcmd form to support block arguments.
24629 * grub-core/script/argv.c: Block arguments support.
24630 * grub-core/script/execute.c: Likewise.
24631 * grub-core/script/lexer.c: Likewise.
24632 * grub-core/script/main.c: Likewise.
24633 * grub-core/script/script.c: Likewise.
24634 * grub-core/script/parser.y: Likewise. New `block' and `block0'
24635 non-terminals.
24636
24637 * grub-core/commands/acpi.c: Update extcmd implementations with
24638 grub_extcmd_context_t.
24639 * grub-core/commands/cat.c: Likewise.
24640 * grub-core/commands/echo.c: Likewise.
24641 * grub-core/commands/extcmd.c: Likewise.
24642 * grub-core/commands/hashsum.c: Likewise.
24643 * grub-core/commands/hdparm.c: Likewise.
24644 * grub-core/commands/help.c: Likewise.
24645 * grub-core/commands/hexdump.c: Likewise.
24646 * grub-core/commands/i386/cpuid.c: Likewise.
24647 * grub-core/commands/i386/pc/drivemap.c: Likewise.
24648 * grub-core/commands/i386/pc/halt.c: Likewise.
24649 * grub-core/commands/i386/pc/sendkey.c: Likewise.
24650 * grub-core/commands/iorw.c: Likewise.
24651 * grub-core/commands/keystatus.c: Likewise.
24652 * grub-core/commands/loadenv.c: Likewise.
24653 * grub-core/commands/ls.c: Likewise.
24654 * grub-core/commands/lspci.c: Likewise.
24655 * grub-core/commands/memrw.c: Likewise.
24656 * grub-core/commands/probe.c: Likewise.
24657 * grub-core/commands/search_wrap.c: Likewise.
24658 * grub-core/commands/setpci.c: Likewise.
24659 * grub-core/commands/sleep.c: Likewise.
24660 * grub-core/disk/loopback.c: Likewise.
24661 * grub-core/hello/hello.c: Likewise.
24662 * grub-core/loader/i386/bsd.c: Likewise.
24663 * grub-core/loader/xnu.c: Likewise.
24664 * grub-core/term/gfxterm.c: Likewise.
24665 * grub-core/term/serial.c: Likewise.
24666 * grub-core/tests/lib/functional_test.c: Likewise.
24667
888d1500
BC
246682010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24669
24670 Multi-line quoted strings support.
24671
24672 * grub-core/script/lexer.c (append_newline): Removed.
24673 (grub_script_lexer_yywrap): Refactored.
24674 (grub_script_lexer_init): Refactored.
24675 * grub-core/script/yylex.l (yywrap): New function.
24676 (grub_lexer_resplit): New function.
24677 (grub_lexer_unput): New function.
24678 * include/grub/script_sh.h (grub_lexer_param): New members, unput
24679 and resplit.
24680 * tests/grub_script_echo1.in: Added few more testcases.
24681
dda060dd
VS
246822010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24683
24684 * grub-core/kern/misc.c: Don't add abort alias in utils.
24685 Reported by: echoline.
24686
6556eba9
BC
246872010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
24688
24689 Add missing files into "make dist" tarball for other platforms.
24690
24691 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
24692 * conf/Makefile.common (dist_noinst_DATA): New variable.
24693 * conf/Makefile.extra-dist: Added missing make dist files.
24694 * grub-core/Makefile.core.def: Likewise.
24695
c8e7bf5f
VS
246962010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24697
24698 Compress grub_prefix.
24699
24700 * grub-core/boot/i386/pc/lnxboot.S: Use
24701 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
24702 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
24703 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
24704 GRUB_MACHINE_PREFIX_END. All users updated.
24705 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
24706 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
24707 + 0x40.
24708 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
24709 * util/grub-mkimage.c (image_target_desc): Change data_end to
24710 prefix_end. All users updated.
24711
a7c00cdb
VS
247122010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24713
24714 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
24715 value.
24716 (grub_openbsd_boot): Likewise.
24717 (grub_netbsd_boot): Likewise.
24718 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
24719 (grub_xnu_boot): Likewise.
24720
9f915872
VS
247212010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24722
24723 * configure.ac: Clean LIBS variable after tests.
24724
efa1bee7
CW
247252010-09-02 Colin Watson <cjwatson@ubuntu.com>
24726
24727 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
24728
61d720e5
VS
247292010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24730
24731 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
24732 echo if libdevmapper will be used.
24733
ef8e0ec8
IT
247342010-09-02 Ian Turner <Ian.Turner@deshaw.com>
24735
24736 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
24737 constant for the same file.
24738
03e261d8
VS
247392010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24740
24741 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
24742
c2a4eba6
CW
247432010-09-02 Colin Watson <cjwatson@ubuntu.com>
24744
24745 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
24746 grub-core/*.pp.
24747
9056cbf3
CW
247482010-09-02 Colin Watson <cjwatson@ubuntu.com>
24749
24750 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
24751 required by the boot protocol.
24752
24753 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
24754 ebp and edi members.
24755 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
24756 state.ebp and state.edi.
24757 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
24758 %ebp and %edi according to grub_relocator32_ebp and
24759 grub_relocator32_edi respectively.
24760 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
24761 and state.edi.
24762
529cc99a
VS
247632010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24764
24765 Add i386-pc-pxe image target.
24766
24767 * util/grub-mkimage.c (image_target_desc): New enum value
24768 IMAGE_I386_PC_PXE.
24769 (image_targets): New target i386-pc-pxe.
24770 (generate_image): Handle i386-pc-pxe image.
24771
9a093920
VS
247722010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24773
24774 Fix grub_pxe_scan.
24775
24776 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
24777 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
24778 All users updated.
24779 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
24780 (grub_pxe_pxenv): Correct type.
24781
f9cefc4e
CW
247822010-09-01 Colin Watson <cjwatson@ubuntu.com>
24783
24784 * NEWS: Document most of the important changes since 1.98.
24785
4066f57f
CW
247862010-09-01 Colin Watson <cjwatson@ubuntu.com>
24787
24788 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
24789 generated manual page) a little.
24790
da2891f9
CW
247912010-09-01 Colin Watson <cjwatson@ubuntu.com>
24792
24793 * docs/grub.texi: Add myself as an author.
24794
ad717fae
VS
247952010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24796
24797 * Makefile.util.def (libgrub.a): Add missing sunpc.
24798 Reported by: Seth Goldberg.
24799
eefe8abd
VS
248002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24801
24802 Interrupt wrapping and code simplifications.
24803
9494ef9a
VS
24804 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
24805 x86_noieee1275 which are functionaly equivalent in this case.
24806 (grub-install): Make source on each platform explicit. Enable on
24807 all noemu.
24808 * gentpl.py (x86_efi_pc): Removed group.
24809 (x86_noefi): Likewise.
24810 (i386_noefi): Likewise.
24811 (x86_noieee1275): Likewise.
24812 (i386_noieee1275): Likewise.
24813 (i386_noefi_noieee1275): Likewise.
24814 (i386_pc_qemu_coreboot): Likewise.
24815 (i386_coreboot_multiboot): Likewise.
24816 (i386_pc_coreboot_multiboot_qemu): Likewise.
24817 (x86_noefi_mips): Likewise.
24818 (noieee1275): Likewise.
24819 (ieee1275_mips): Likewise.
24820 (noemu_noieee1275): Likewise.
24821 (cmos): New group.
24822 (usb): Likewise.
24823 (videoinkernel): Likewise.
24824 (videomodules): Likewise.
eefe8abd 24825 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
24826 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
24827 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
24828 include/grub/loader.h, include/grub/msdos_partition.h,
24829 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
24830 include/grub/machine/console.h, include/grub/machine/vga.h,
24831 include/grub/machine/vbe.h, include/grub/machine/init.h,
24832 include/grub/machine/kernel.h, include/grub/cpu/time.h,
24833 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 24834 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
24835 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
24836 * grub-core/Makefile.core.def (kernel): Explicit the source for
24837 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
24838 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
24839 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
24840 Use videoinkernel tag.
24841 (usb): Enable on all usb.
24842 (usbserial_common): Likewise.
24843 (usbserial_pl2303): Likewise.
24844 (usbserial_ftdi): Likewise.
24845 (uhci): Enable on all x86.
24846 (ohci): Enable on all pci.
24847 (cmostest): Enable on all CMOS.
24848 (acpi): Include commands/acpi.c on all platforms.
24849 (halt): Add relevant lib/*/halt.c.
24850 (hdparm): Enable on all pci.
24851 (lspci): Likewise.
24852 (usbtest): Enable on all usb.
24853 (ata): Enable on all pci.
24854 (ata_pthru): Likewise.
24855 (usbms): Enable on all usb.
24856 (usb_keyboard): Likewise.
24857 (font): Use tag videomodules.
24858 (bufio): Likewise.
24859 (datetime): Use tag cmos. Enable on all noemu.
24860 (mmap): Use tags common and x86.
24861 (gfxterm): Use tag videomodules.
24862 (bitmap): Likewise.
24863 (bitmap_scale): Likewise.
24864 (video_fb): Likewise.
24865 (video): Likewise.
24866 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
24867 adjust padding accordingly. All users updated.
24868 (grub_ohci_transaction): Fix bad format specification.
24869 (GRUB_MOD_INIT): Add asserts for struct size.
24870 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
24871 (grub_alloc_td): Likewise.
24872 (grub_free_queue): Likewise.
24873 (grub_uhci_transfer): Likewise.
24874 (grub_uhci_transaction): Fix bad format specification.
24875 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24876 (grub_usb_bulk_readwrite): Likewise.
24877 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
24878 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
24879 Made static.
24880 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
24881 Made static.
24882 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
24883 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
24884 Transformed into C.
24885 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
24886 Moved from here ...
24887 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
24888 ... here. Transformed into C. Made static.
24889 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
24890 Moved from here ...
24891 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
24892 ... here. Transformed into C. Made static.
24893 * grub-core/kern/i386/pc/startup.S
24894 (grub_biosdisk_check_int13_extensions): Moved from here ...
24895 * grub-core/disk/i386/pc/biosdisk.c
24896 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
24897 Made static.
24898 * grub-core/kern/i386/pc/startup.S
24899 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
24900 * grub-core/disk/i386/pc/biosdisk.c
24901 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
24902 Transformed into C. Made static.
24903 * grub-core/kern/i386/pc/startup.S
24904 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
24905 * grub-core/disk/i386/pc/biosdisk.c
24906 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
24907 Transformed into C. Made static.
24908 * grub-core/kern/i386/pc/startup.S
24909 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
24910 * grub-core/disk/i386/pc/biosdisk.c
24911 (grub_biosdisk_get_diskinfo_standard): ... here.
24912 Transformed into C. Made static.
24913 * grub-core/kern/i386/pc/startup.S
24914 (grub_biosdisk_get_num_floppies): Moved from here ...
24915 * grub-core/disk/i386/pc/biosdisk.c
24916 (grub_biosdisk_get_num_floppies): ... here.
24917 Transformed into C. Made static.
24918 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
24919 New function.
24920 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
24921 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
24922 Transformed into C. Made static.
24923 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
24924 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
24925 Transformed into C. Made static.
24926 * grub-core/kern/i386/ieee1275/init.c: Removed.
24927 * grub-core/kern/i386/misc.S: Likewise.
24928 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
24929 Splitted from here ...
24930 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
24931 Transformed into C. Made static. All users updated.
24932 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
24933 Transformed into C. Made static. All users updated.
24934 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
24935 Moved from here...
24936 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
24937 Transformed into C. Made static. All users updated.
24938 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
24939 Moved from here...
24940 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
24941 Transformed into C. Made static. All users updated.
24942 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
24943 Removed (replaced by C version).
24944 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
24945 Moved from here...
24946 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
24947 Transformed into C. Made static.
24948 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
24949 Moved from here...
24950 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
24951 ... here. Transformed into C.
24952 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
24953 Moved from here...
24954 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
24955 ... here. Transformed into C.
24956 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
24957 Moved from here...
24958 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
24959 ... here. Transformed into C. Made static.
24960 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
24961 Moved from here...
24962 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
24963 ... here. Transformed into C.
21ed554b
VS
24964 * grub-core/kern/i386/pc/startup.S
24965 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
24966 * grub-core/video/i386/pc/vbe.c
24967 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
24968 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
24969 Moved from here...
24970 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
24971 ... here. Transformed into C.
24972 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
24973 Moved from here...
24974 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
24975 ... here. Transformed into C.
24976 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
24977 Moved from here...
24978 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
24979 ... here. Transformed into C.
24980 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
24981 Moved from here...
24982 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
24983 ... here. Transformed into C.
24984 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
24985 Moved from here...
24986 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
24987 ... here. Transformed into C. Made static.
24988 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
24989 Moved from here...
24990 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
24991 ... here. Transformed into C. Made static.
24992 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
24993 Moved from here...
24994 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
24995 ... here. Transformed into C. Made static.
24996 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
24997 pxe_rm_entry as third argument.
24998 (grub_bios_interrupt): New function.
24999 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
25000 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
25001 of calling grub_stop.
25002 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
25003 * grub-core/lib/efi/halt.c (grub_halt): ...here.
25004 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
25005 * grub-core/lib/emu/halt.c (grub_halt): ... here.
25006 * grub-core/lib/i386/halt.c: Moved from here ...
25007 * grub-core/lib/i386/halt.c: ... here.
25008 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
25009 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
25010 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
25011 grub_stop_floppy.
25012 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
25013 * include/grub/i386/coreboot/init.h: Removed.
25014 * include/grub/i386/multiboot/init.h: Likewise.
25015 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
25016 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
25017 * include/grub/i386/pc/int.h: New file.
25018 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
25019 (grub_pxe_scan): Removed.
25020 (grub_pxe_call): Update prototype.
25021 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
25022 prototypes.
25023 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
25024 * include/grub/i386/qemu/init.h: Removed.
25025 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
25026 noreturn.
25027 (grub_halt): Likewise.
25028 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
25029 (grub_reboot): Likewise.
25030 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
25031 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
25032 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
25033
215dd471
RM
250342010-08-30 Robert Millan <rmh@gnu.org>
25035
25036 * NEWS: Document addition of ZFS support in `grub-install' and
25037 `grub-mkconfig'.
25038
ebd65b82
BC
250392010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
25040
25041 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
25042 dprintf output.
25043
11721d19
VS
250442010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25045
25046 Remove leftover embedding of font objects.
25047
25048 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
25049 * util/grub-install.in (font): Removed.
25050 * util/grub-mkimage.c (generate_image): Remove font support. All users
25051 updated.
25052
37837d4e
VS
250532010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25054
25055 Remove leftover embedding of font objects.
25056
25057 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
25058 * util/grub-install.in (font): Removed.
25059 * util/grub-mkimage.c (generate_image): Remove font support. All users
25060 updated.
25061
b4c1aae0
VS
250622010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25063
25064 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 25065 Reported by: Ian Turner
b4c1aae0 25066
8920a08d
VS
250672010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25068
25069 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
25070 timeout to avoid indefinite boot stalling.
25071
f21db033
VS
250722010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25073
25074 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
25075 (grub_env_write_color_highlight): Likewise.
25076
9a9de209
VS
250772010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25078
25079 * grub-core/normal/term.c (print_more): Return to normal and not
25080 to standard state after printing "---MORE---".
25081
3dca01d7
VS
250822010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25083
25084 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
25085 Mask out the bit 0x80 since it has other meaning that specifiing color.
25086
0b986c40
VS
250872010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25088
25089 New relocator. Allows for more kernel support and more straightforward
25090 loader writing.
25091
25092 * Makefile.am (BOOTTARGET): New variable.
25093 (QEMU32): Likewise.
25094 (linux.init.x86_64): New target.
25095 (linux.init.i386): Likewise.
25096 (multiboot.elf): Likewise.
25097 (kfreebsd.elf): Likewise.
25098 (kfreebsd.aout): Likewise.
25099 (pc-chainloader.elf): Likewise.
25100 (pc-chainloader.bin): Likewise.
25101 (ntldr.elf): Likewise.
25102 (ntldr.bin): Likewise.
25103 (multiboot2.elf): Likewise.
25104 (kfreebsd.init.x86_64): Likewise.
25105 (kfreebsd.init.i386): Likewise.
25106 (knetbsd.init.i386): Likewise.
25107 (kopenbsd.init.i386): Likewise.
25108 (knetbsd.init.x86_64): Likewise.
25109 (kopenbsd.init.x86_64): Likewise.
25110 (linux-initramfs.i386): Likewise.
25111 (linux-initramfs.x86_64): Likewise.
25112 (kfreebsd-mfsroot.i386.img): Likewise.
25113 (knetbsd.image.i386): Likewise.
25114 (kopenbsd.image.i386): Likewise.
25115 (kopenbsd.image.x86_64): Likewise.
25116 (knetbsd.miniroot-image.i386.img): Likewise.
25117 (kfreebsd-mfsroot.x86_64.img): Likewise.
25118 (knetbsd.image.x86_64): Likewise.
25119 (knetbsd.miniroot-image.x86_64.img): Likewise.
25120 (kfreebsd-mfsroot.i386.gz): Likewise.
25121 (bootcheck-kfreebsd-i386): Likewise.
25122 (kfreebsd-mfsroot.x86_64.gz): Likewise.
25123 (bootcheck-kfreebsd-x86_64): Likewise.
25124 (knetbsd.miniroot-image.i386.gz): Likewise.
25125 (bootcheck-knetbsd-i386): Likewise.
25126 (bootcheck-kopenbsd-i386): Likewise.
25127 (bootcheck-kopenbsd-x86_64): Likewise.
25128 (knetbsd.miniroot-image.x86_64.gz): Likewise.
25129 (bootcheck-knetbsd-x86_64): Likewise.
25130 (bootcheck-linux-i386): Likewise.
25131 (bootcheck-linux-x86_64): Likewise.
25132 (bootcheck-linux16-i386): Likewise.
25133 (bootcheck-linux16-x86_64): Likewise.
25134 (bootcheck-multiboot): Likewise.
25135 (bootcheck-multiboot2): Likewise.
25136 (bootcheck-kfreebsd-aout): Likewise.
25137 (bootcheck-pc-chainloader): Likewise.
25138 (bootcheck-ntldr): Likewise.
25139 (CLEANFILES): Add new targets.
25140 (BOOTCHECKS): New variable.
25141 (.PHONY): Add bootchecks.
25142 (SUCCESSFUL_BOOT_STRING): New variable.
25143 (BOOTCHECK_TIMEOUT): Likewise.
25144 (bootcheck): New target
25145 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
25146 * configure.ac: Correct efiemu excuse.
25147 * docs/grub.texi (Supported kernels): New chapter.
25148 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
25149 include/grub/mm_private.h. Simplify inclusion of
25150 include/grub/boot.h, include/grub/loader.h
25151 and include/grub/msdos_partition.h
25152 (KERNEL_HEADER_FILES) [i386_coreboot]:
25153 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
25154 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
25155 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
25156 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
25157 include/grub/machine/loader.h.
25158 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
25159 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
25160 extra_dist.
25161 (pci.mod): Enable on i386-multiboot.
25162 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
25163 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
25164 i386-qemu.
25165 (relocator.mod): Rewritten.
25166 (aout.mod): Enable on all x86.
25167 (bsd.mod): Likewise.
25168 (ntldr.mod): New module.
25169 (linux.mod): Use loader/i386/linux.c on all x86.
25170 (xnu.mod): Enable on all x86.
25171 (vga_text.mod): disable on EFI and QEMU.
25172 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
25173 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
25174 * grub-core/efiemu/loadcore.c: Likewise.
25175 * grub-core/efiemu/main.c: Likewise.
25176 (grub_efiemu_exit_boot_services): Removed.
25177 (grub_efiemu_finish_boot_services): Likewise.
25178 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
25179 function.
25180 * grub-core/efiemu/i386/nocfgtables.c: New file.
25181 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
25182 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
25183 (grub_efi_finish_boot_services): Moved from here ...
25184 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
25185 Fille finish memory map and related data.
25186 (finish_mmap_buf): New variable.
25187 (grub_efi_uintn_t finish_mmap_size): Likewise.
25188 (grub_efi_uintn_t finish_key): Likewise.
25189 (grub_efi_uintn_t finish_desc_size): Likewise.
25190 (grub_efi_uint32_t finish_desc_version): Likewise.
25191 (grub_efi_is_finished): Likewise.
25192 (grub_efi_get_memory_map): Use saved memory map if EFI is already
25193 finished.
25194 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
25195 (grub_elf64_phdr_iterate): Likewise.
25196 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
25197 (grub_os_area_size): Likewise.
25198 (grub_machine_init): Don't reserve os area.
25199 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
25200 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
25201 * grub-core/kern/i386/loader.S: Removed.
25202 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
25203 (grub_os_area_size): Likewise.
25204 (grub_machine_init): Don't reserve os area.
25205 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
25206 Don't call grub_dl_unload_all.
25207 Don't include loader.S.
25208 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
25209 Declare the memory after _end as available.
25210 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 25211 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 25212 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
25213 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
25214 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
25215 * include/grub/mm_private.h (grub_mm_header): ... here.
25216 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
25217 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
25218 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
25219 (grub_mm_region): ..here. Removed addr. Added pre_size.
25220 All users updated.
25221 * grub-core/kern/mm.c (base): Renamed to ...
25222 (grub_mm_base): ... this. Made global.
25223 (grub_real_malloc): Alloc from end of region.
25224 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
25225 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
25226 * grub-core/kern/powerpc/cache_flush.S: ... here.
25227 * grub-core/lib/efi/relocator.c: New file.
25228 * grub-core/lib/i386/relocator.c: Rewritten.
25229 * grub-core/lib/i386/relocator16.S: New file.
25230 * grub-core/lib/i386/relocator32.S: Likewise.
25231 * grub-core/lib/i386/relocator64.S: Likewise.
25232 * grub-core/lib/i386/relocator_asm.S: Rewritten.
25233 * grub-core/lib/i386/relocator_common.S: New file.
25234 * grub-core/lib/ieee1275/relocator.c: Likewise.
25235 * grub-core/lib/mips/relocator.c: Rewritten.
25236 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
25237 stylistic adjustments.
25238 * grub-core/lib/powerpc/relocator.c: New file.
25239 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
25240 * grub-core/lib/relocator.c: Rewritten.
25241 * grub-core/lib/x86_64/relocator_asm.S: New file.
25242 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
25243 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
25244 (bsd_tag): New struct.
25245 (tags): New variable.
25246 (tags_last): Likewise.
25247 (netbsd_module): New struct.
25248 (netbsd_mods): New variable.
25249 (netbsd_mods_last): Likewise.
25250 (openbsd_opts): New parameter "serial".
25251 (OPENBSD_SERIAL_ARG): New definition.
25252 (netbsd_opts): New parameter "serial".
25253 (NETBSD_SERIAL_ARG): New definition.
25254 (grub_freebsd_add_meta): Reorganised into ...
25255 (grub_bsd_add_meta): ...this. All users updated.
25256 (grub_freebsd_add_mmap): Reorganised into ...
25257 (generate_e820_mmap): ...this...
25258 (grub_bsd_add_mmap): ...and this. All users updated.
25259 (grub_freebsd_list_modules): Use tags.
25260 (grub_netbsd_add_meta_module): New function.
25261 (grub_netbsd_list_modules): Likewise.
25262 (grub_freebsd_boot): Use relocator and finish EFI.
25263 (grub_openbsd_boot): Likewise.
25264 (grub_netbsd_setup_video): New function.
25265 (grub_netbsd_add_modules): Likewise.
25266 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
25267 and finish EFI.
25268 (grub_bsd_unload): Unload tags.
25269 (grub_bsd_load_aout): Use relocator.
25270 (grub_bsd_elf32_size_hook): New function.
25271 (grub_bsd_elf32_hook): Use relocator.
25272 (grub_bsd_elf64_size_hook): New function.
25273 (grub_bsd_elf64_hook): Use relocator.
25274 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
25275 (grub_bsd_load): Zero-out openbsd_ramdisk.
25276 (grub_bsd_load): Use relocator.
25277 (grub_cmd_openbsd): Support serial.
25278 (grub_cmd_netbsd): Support modules.
25279 (grub_cmd_freebsd_module): Use relocator.
25280 (grub_netbsd_module_load): New function.
25281 (grub_cmd_netbsd_module): Likewise.
25282 (grub_cmd_openbsd_ramdisk): Likewise.
25283 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
25284 kopenbsd_ramdisk.
25285 (GRUB_MOD_FINI): Unregister new commands.
25286 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
25287 (grub_freebsd_load_elfmodule_obj): Use relocator.
25288 (grub_freebsd_load_elfmodule): Likewise.
25289 (grub_freebsd_load_elf_meta): Likewise.
25290 (grub_netbsd_load_elf_meta): New function.
25291 (grub_openbsd_find_ramdisk): Likewise.
25292 * grub-core/loader/i386/bsd_helper.S: Removed.
25293 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
25294 * grub-core/loader/i386/bsd_trampoline.S: Removed.
25295 * grub-core/loader/i386/efi/linux.c: Likewise.
25296 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
25297 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
25298 (DEFAULT_VIDEO_MODE): Likewise.
25299 (real_mode_target): New variable.
25300 (prot_mode_target): Likewise.
25301 (initrd_mem_target): Likewise.
25302 (relocator): Likewise.
25303 (efi_mmap_buf): Likewise.
25304 (efi_mmap_size): Likewise.
25305 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
25306 (free_pages): Use relocator.
25307 (allocate_pages): Account for efi_mmap and use relocator. Return error.
25308 (grub_linux_setup_video): Return error.
25309 (grub_linux_trampoline_start): Removed.
25310 (grub_linux_trampoline_end): Likewise.
25311 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
25312 andd video parameters depending on firmware.
25313 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
25314 [GRUB_MACHINE_EFI]: Pass EFI parameters.
25315 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
25316 (grub_cmd_initrd): Use relocator.
25317 * grub-core/loader/i386/linux_trampoline.S: Removed.
25318 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
25319 (elf_sec_entsize): Likewise.
25320 (elf_sec_shstrndx): Likewise.
25321 (elf_sections): Likewise.
25322 (grub_multiboot_load): Use relocator.
25323 (grub_multiboot_get_mbi_size): Account for sections.
25324 (grub_multiboot_make_mbi): Use relocator and support sections.
25325 (grub_multiboot_add_elfsyms): New function.
25326 (grub_multiboot_free_mbi): Free sections.
25327 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
25328 (grub_linux_real_target): Likewise.
25329 (grub_linux_real_chunk): Likewise.
25330 (grub_linux16_prot_size): Likewise.
25331 (grub_linux16_boot): Use relocator.
25332 (grub_linux_unload): Unload relocator.
25333 (grub_cmd_linux): Use relocator.
25334 (grub_cmd_initrd): Likewise.
25335 * grub-core/loader/i386/pc/ntldr.c: New file.
25336 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
25337 Don't try to guess CPU frequency.
25338 (grub_xnu_set_video): Stretch bitmap.
25339 (grub_xnu_boot): Use relocator.
25340 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
25341 (grub_linux_unload): Free relocator.
25342 (grub_linux_load32): Use relocator.
25343 (grub_linux_load64): Likewise.
25344 (grub_cmd_initrd): Likewise.
25345 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
25346 (grub_multiboot_unload): Unload relocator.
25347 (grub_cmd_multiboot): Use relocator.
25348 (grub_cmd_module): Likewise.
25349 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
25350 Use relocator and support sections.
25351 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
25352 (elf_sec_entsize): Likewise.
25353 (elf_sec_shstrndx): Likewise.
25354 (elf_sections): Likewise.
25355 (grub_multiboot_load): Use relocator.
25356 (grub_multiboot_get_mbi_size): Account for sections.
25357 (grub_multiboot_make_mbi): Use relocator and support sections.
25358 (grub_multiboot_add_elfsyms): New function.
25359 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
25360 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
25361 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
25362 Prototype changed. All users updated.
25363 (grub_xnu_align_heap): Simplified.
25364 (grub_xnu_writetree_toheap): Likewise.
25365 (grub_xnu_unload): Unload relocator.
25366 (grub_cmd_xnu_kernel): Use relocator.
25367 (grub_cmd_xnu_kernel64): Likewise.
25368 (grub_xnu_register_memory): Simplified.
25369 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
25370 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
25371 EFI is finished.
25372 (grub_console_checkkey): Likewise.
25373 (grub_console_getkey): Likewise.
25374 (grub_console_getwh): Likewise.
25375 (grub_console_getxy): Likewise.
25376 (grub_console_gotoxy): Likewise.
25377 (grub_console_cls): Likewise.
25378 (grub_console_setcolorstate): Likewise.
25379 (grub_console_setcursor): Likewise.
25380 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
25381 * grub-core/tests/boot/kbsd.init-i386.S: New file.
25382 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
25383 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
25384 * grub-core/tests/boot/kernel-8086.S: Likewise.
25385 * grub-core/tests/boot/kernel-i386.S: Likewise.
25386 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
25387 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
25388 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
25389 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
25390 * grub-core/tests/boot/knetbsd.cfg: Likewise.
25391 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
25392 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
25393 * grub-core/tests/boot/linux.cfg: Likewise.
25394 * grub-core/tests/boot/linux.init-i386.S: Likewise.
25395 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
25396 * grub-core/tests/boot/linux16.cfg: Likewise.
25397 * grub-core/tests/boot/multiboot.cfg: Likewise.
25398 * grub-core/tests/boot/multiboot2.cfg: Likewise.
25399 * grub-core/tests/boot/ntldr.cfg: Likewise.
25400 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
25401 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
25402 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
25403 New definition.
25404 * include/grub/dl.h (grub_dl_unload_all): Removed.
25405 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
25406 (grub_efi_finish_boot_services): Change prototype.
25407 (grub_efi_is_finished): New variable.
25408 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
25409 Changed prototype.
25410 (grub_efiemu_finish_boot_services): Removed.
25411 (grub_machine_efiemu_init_tables): New prototype.
25412 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
25413 (grub_elf64_phdr_iterate): Likewise.
25414 * include/grub/i386/bsd.h: Include relocator.h.
25415 (freebsd_tag_header): New struct.
25416 (grub_openbsd_bios_mmap): Removed.
25417 (grub_unix_real_boot): Removed.
25418 (grub_freebsd_load_elfmodule32): Changed prototype.
25419 (grub_freebsd_load_elfmodule_obj64): Likewise.
25420 (grub_freebsd_load_elf_meta32): Likewise.
25421 (grub_freebsd_load_elf_meta64): Likewise.
25422 (grub_freebsd_add_meta): Removed.
25423 (grub_netbsd_load_elf_meta32): New prototype.
25424 (grub_netbsd_load_elf_meta64): Likewise.
25425 (grub_bsd_add_meta): Likewise.
25426 (grub_openbsd_ramdisk_descriptor): New struct.
25427 (grub_openbsd_find_ramdisk32): New prototype.
25428 (grub_openbsd_find_ramdisk64): Likewise.
25429 * include/grub/i386/coreboot/loader.h: Removed.
25430 * include/grub/i386/efi/loader.h: Likewise.
25431 * include/grub/i386/ieee1275/loader.h: Likewise.
25432 * include/grub/i386/linux.h (linux_kernel_header): Change void *
25433 to grub_uint32_t.
25434 * include/grub/i386/loader.h: Removed.
25435 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
25436 value.
25437 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
25438 (grub_phys_addr_t): New type.
25439 (grub_vtop): New inline function.
25440 (grub_map_memory): Likewise.
25441 (grub_unmap_memory): Likewise.
25442 * include/grub/i386/multiboot/loader.h: Removed.
25443 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
25444 (NETBSD_BTINFO_CONSOLE): New definition.
25445 (NETBSD_BTINFO_SYMTAB): Likewise.
25446 (NETBSD_BTINFO_MODULES): Likewise.
25447 (NETBSD_BTINFO_FRAMEBUF): Likewise.
25448 (grub_netbsd_bootinfo): New struct.
25449 (grub_netbsd_btinfo_common): Use explicit bitsize.
25450 (grub_netbsd_btinfo_mmap_entry): Removed.
25451 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
25452 (grub_netbsd_btinfo_bootdisk): New struct.
25453 (grub_netbsd_btinfo_symtab): Likewise.
25454 (grub_netbsd_btinfo_serial): Likewise.
25455 (grub_netbsd_btinfo_modules): Likewise.
25456 (grub_netbsd_btinfo_framebuf): Likewise.
25457 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
25458 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
25459 Likewise.
25460 (grub_openbsd_bootargs): Use explicit bitsize.
25461 (grub_openbsd_bootarg_console): New struct.
25462 (GRUB_OPENBSD_COM_MAJOR): New definition.
25463 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
25464 * include/grub/i386/pc/efiemu.h: Removed.
25465 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
25466 * include/grub/i386/qemu/loader.h: Removed.
25467 * include/grub/i386/relocator.h: Rewritten.
25468 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
25469 * include/grub/mips/memory.h: New file.
25470 * include/grub/mips/multiboot.h: Rewritten.
25471 * include/grub/mips/relocator.h: Rewritten.
25472 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
25473 (grub_vtop): New function.
25474 (grub_map_memory): Likewise.
25475 (grub_unmap_memory): Likewise.
25476 * include/grub/misc.h (ALIGN_DOWN): New definition.
25477 * include/grub/mm.h (grub_mm_check_real): New proto.
25478 (GRUB_MM_CHECK): New definition.
25479 * include/grub/mm_private.h: New file.
25480 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
25481 (grub_multiboot_get_mbi_size): Removed.
25482 (grub_multiboot_make_mbi): Change prottype.
25483 (grub_multiboot_set_accepts_video): New proto.
25484 (grub_multiboot_add_elfsyms): Likewise.
25485 (grub_multiboot_payload_eip): New variable.
25486 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
25487 New prototype.
25488 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
25489 New definition.
25490 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
25491 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
25492 * include/grub/powerpc/ieee1275/loader.h: Removed.
25493 * include/grub/powerpc/memory.h: New file.
25494 * include/grub/powerpc/relocator.h: Likewise.
25495 * include/grub/relocator.h: Likewise.
25496 * include/grub/relocator_private.h: Likewise.
25497 * include/grub/sparc64/ieee1275/loader.h: Removed.
25498 * include/grub/x86_64/memory.h: New file.
25499 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
25500 (grub_xnu_heap_malloc): Likewise.
25501 (grub_xnu_heap_real_start): Removed.
25502 (grub_xnu_heap_start): Likewise.
25503 (grub_xnu_relocator): New variable.
25504 (grub_xnu_heap_target_start): Likewise.
25505 * tests/util/grub-shell.in: Support non-pc.
25506 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 25507
5303b85d
VS
255082010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25509
25510 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
25511 on malloc error.
25512 (grub_bidi_logical_to_visual): Check that malloc succeded.
25513 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
25514 puts.
25515 (grub_xputs_normal): Likewise.
25516
d768d159
VS
255172010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25518
25519 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
25520 extra_dist.
25521
255222010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25523
25524 * grub-core/efiemu/runtime/efiemu.sh: Removed.
25525
5bf84df4
VS
255262010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25527
25528 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
25529
3626810e
VS
255302010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25531
25532 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
25533 dprintf.
25534
a7363f53
BC
255352010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
25536
25537 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
25538
902f75f6
VS
255392010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25540
25541 * grub-core/normal/term.c (print_more): Fix a memory leak.
25542 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
25543 (grub_xputs_normal): Likewise.
25544
3c707967
VS
255452010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25546
25547 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
25548 the begining of the string
25549
2053cc07
VS
255502010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25551
25552 * grub-core/script/script.c (grub_script_parse): Free parsed on
25553 failure.
25554
46422ebf
VS
255552010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25556
25557 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
25558 on failure.
25559
9e0fa3f6
VS
255602010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25561
25562 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
25563 return.
25564
3393cf16
VS
255652010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25566
25567 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
25568 (scroll_up): Fix a memory leak.
25569
b17540cb
VS
255702010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25571
25572 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
25573 errors.
25574
67140446
VS
255752010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
25576
25577 Handle USB pendrives exposed as floppies.
25578
25579 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
25580 floppy.
25581 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25582 Check for partitions on all devices.
25583
e35e46fc
VS
255842010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25585
25586 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
25587 (readkey): Likewise.
25588
d24c6190
BC
255892010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
25590
25591 Multiple variable names support to "export" command.
25592
25593 * normal/context.c (grub_cmd_export): "export" command supports
25594 multiple variable names.
25595
04ddcc6a
ST
255962010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
25597
25598 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
25599 --target=drive output to Mach device name.
25600
0c8b61d8
BC
256012010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25602
25603 New Automake based build system for GRUB.
25604
25605 * ABOUT-NLS: New file.
25606 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
25607 in Makefile.util.def file.
25608 * Makefile.util.def: New file. Autogen build definitions file for
25609 GRUB host utils.
25610 * conf/Makefile.common: New file. Common variables for GRUB host
25611 utils and target modules.
25612 * conf/Makefile.extra-dist: New file. Extra files for make dist.
25613 * docs/Makefile.am: New file. Automake file for docs.
25614 * gentpl.py: New file. Python script to generate Autogen
25615 template.
25616 * grub-core/Makefile.am: New file. GRUB target modules' rules
25617 that doesn't fit in Makefile.core.def file.
25618 * grub-core/Makefile.core.def: New file. Autogen build
25619 definitions file for GRUB target modules.
25620 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
25621 specific setjmp.S file.
25622 * po/Makefile.am: New file.
25623
25624 * .bzrignore: New ignores.
25625 * INSTALL: New requirements, without Ruby.
25626 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
25627 * autogen.sh: Updated to invoke autogen as necessary.
25628 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
25629 and defines for Automake conditionals.
25630 * geninit.sh: Refactoring.
25631
25632 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
25633 necessary.
25634 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
25635 New prototype.
25636
25637 * include/grub/test.h: Fix functional test modules' naming.
25638 * grub-core/tests/example_functional_test.c: Fix test module name.
25639
25640 * util/misc.c: Hosted versions' of grub functions for libgrub.a
25641 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
25642 * util/grub-editenv.c: Likewise.
25643 * util/grub-fstest.c: Likewise.
25644 * util/grub-mkdevicemap.c: Likewise.
25645 * util/grub-mkfont.c: Likewise.
25646 * util/grub-mkimage.c: Likewise.
25647 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25648 * util/grub-probe.c: Likewise.
25649 * util/grub-script-check.c: Likewise.
25650 * util/i386/pc/grub-setup.c: Likewise.
25651 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25652
25653 * tests/util/grub-shell.in: Fix override directory path.
25654 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
25655 * util/import_gcry.py: Create Makefile.gcry.def file instead.
25656
25657 * util/lvm.c: Update #includes.
25658 * util/raid.c: Likewise.
25659 * util/resolve.c: Likewise.
25660 * grub-core/bus/emu/pci.c: Likewise.
25661 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
25662 * grub-core/lib/posix_wrap/string.h: Likewise.
25663 * grub-core/kern/emu/main.c: Likewise.
25664
25665 * grub-core/gensymlist.sh: New file. Script for generating kernel
25666 symbols file.
25667 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
25668
25669 * grub-core/gentrigtables.c: Fix unused variable warnings.
25670
25671 * Makefile.in: Removed.
25672 * conf/any-emu.rmk: Removed.
25673 * conf/common.rmk: Removed.
25674 * conf/i386-coreboot.rmk: Removed.
25675 * conf/i386-efi.rmk: Removed.
25676 * conf/i386-ieee1275.rmk: Removed.
25677 * conf/i386-multiboot.rmk: Removed.
25678 * conf/i386-pc.rmk: Removed.
25679 * conf/i386-qemu.rmk: Removed.
25680 * conf/i386.rmk: Removed.
25681 * conf/mips-yeeloong.rmk: Removed.
25682 * conf/mips.rmk: Removed.
25683 * conf/powerpc-ieee1275.rmk: Removed.
25684 * conf/sparc64-ieee1275.rmk: Removed.
25685 * conf/tests.rmk: Removed.
25686 * conf/x86-efi.rmk: Removed.
25687 * conf/x86_64-efi.rmk: Removed.
25688 * gendistlist.sh: Removed.
25689 * geninitheader.sh: Removed.
25690 * genkernsyms.sh.in: Removed.
25691 * genmk.rb: Removed.
25692 * gensymlist.sh.in: Removed.
25693 * mkinstalldirs: Removed.
25694 * boot: Moved ...
25695 * grub-core/boot: ... to here.
25696 * bus: Moved ...
25697 * grub-core/bus: ... to here.
25698 * commands: Moved ...
25699 * grub-core/commands: ... to here.
25700 * disk: Moved ...
25701 * grub-core/disk: ... to here.
25702 * efiemu: Moved ...
25703 * grub-core/efiemu: ... to here.
25704 * font: Moved ...
25705 * grub-core/font: ... to here.
25706 * fs: Moved ...
25707 * grub-core/fs: ... to here.
25708 * gencmdlist.sh: Moved ...
25709 * grub-core/gencmdlist.sh: ... to here.
25710 * genemuinit.sh: Moved ...
25711 * grub-core/genemuinit.sh: ... to here.
25712 * genemuinitheader.sh: Moved ...
25713 * grub-core/genemuinitheader.sh: ... to here.
25714 * genfslist.sh: Moved ...
25715 * grub-core/genfslist.sh: ... to here.
25716 * genhandlerlist.sh: Moved ...
25717 * grub-core/genhandlerlist.sh: ... to here.
25718 * genmoddep.awk: Moved ...
25719 * grub-core/genmoddep.awk: ... to here.
25720 * genmodsrc.sh: Moved ...
25721 * grub-core/genmodsrc.sh: ... to here.
25722 * genpartmaplist.sh: Moved ...
25723 * grub-core/genpartmaplist.sh: ... to here.
25724 * genparttoollist.sh: Moved ...
25725 * grub-core/genparttoollist.sh: ... to here.
25726 * genterminallist.sh: Moved ...
25727 * grub-core/genterminallist.sh: ... to here.
25728 * gentrigtables.c: Moved ...
25729 * grub-core/gentrigtables.c: ... to here.
25730 * genvideolist.sh: Moved ...
25731 * grub-core/genvideolist.sh: ... to here.
25732 * gettext: Moved ...
25733 * grub-core/gettext: ... to here.
25734 * gfxmenu: Moved ...
25735 * grub-core/gfxmenu: ... to here.
25736 * gnulib: Moved ...
25737 * grub-core/gnulib: ... to here.
25738 * hello: Moved ...
25739 * grub-core/hello: ... to here.
25740 * hook: Moved ...
25741 * grub-core/hook: ... to here.
25742 * io: Moved ...
25743 * grub-core/io: ... to here.
25744 * kern: Moved ...
25745 * grub-core/kern: ... to here.
25746 * lib: Moved ...
25747 * grub-core/lib: ... to here.
25748 * loader: Moved ...
25749 * grub-core/loader: ... to here.
25750 * mmap: Moved ...
25751 * grub-core/mmap: ... to here.
25752 * normal: Moved ...
25753 * grub-core/normal: ... to here.
25754 * partmap: Moved ...
25755 * grub-core/partmap: ... to here.
25756 * parttool: Moved ...
25757 * grub-core/parttool: ... to here.
25758 * script: Moved ...
25759 * grub-core/script: ... to here.
25760 * term: Moved ...
25761 * grub-core/term: ... to here
25762 * tests/example_functional_test.c: Moved ...
25763 * grub-core/tests/example_functional_test.c: ... to here.
25764 * tests/lib/functional_test.c: Moved ...
25765 * grub-core/tests/lib/functional_test.c: ... to here.
25766 * tests/lib/test.c: Moved ...
25767 * grub-core/tests/lib/test.c: ... to here.
25768 * video: Moved ...
25769 * grub-core/video: ... to here.
25770
645586e6
BC
257712010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25772
25773 Replace --enable-grub-emu-modules with grub-emu-lite.
25774
25775 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
25776 cache.S.
25777
25778 * include/grub/emu/misc.h (grub_emu_init): New prototype.
25779 * kern/emu/full.c: New file. For grub-emu specific initialization.
25780 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
25781 * kern/emu/main.c: Call initialization function grub_emu_init.
25782
25783 * Makefile.in: Include grub-emu-lite in install.
25784 * commands/parttool.c: Use grub_no_autoload to differentiate
25785 between grub-emu and grub-emu-lite.
25786 * include/grub/misc.h: New variable grub_no_autoload.
25787
25788 * conf/any-emu.rmk: New rules for grub-emu-lite.
25789 * configure.ac: Remove --enable-grub-emu-modules.
25790 * genmk.rb: Cleanup unnecessary rules.
25791 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
25792
25793 * normal/main.c: Don't load list files on grub-emu-lite.
25794 * util/misc.c (grub_arch_sync_caches): Removed.
25795
f86a4030
CW
257962010-08-23 Colin Watson <cjwatson@ubuntu.com>
25797
25798 * kern/mips/startup.S (grub_prefix): Update comment to refer to
25799 grub-mkimage rather than grub-mkelfimage.
25800 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
25801
06776944
VS
258022010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25803
25804 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
25805 a key after CapsLock or NumLock. It's just a qemu bug.
25806
df262419
VS
258072010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25808
25809 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
25810 needed by libusb wrapper.
25811
b40ea81b
ST
258122010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25813
25814 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
25815
dee50575
VS
258162010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25817
25818 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
25819 --nounzip is passed.
25820
fb1d7b79
VS
258212010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
25822
25823 USB hotunplugging and USB serial support.
25824
25825 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
25826 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
25827 (grub_uhci_transfer): Respect timeout and set *actual.
25828 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
25829 non-standard length.
25830 (grub_usb_device_attach): Autoload modules.
25831 (GRUB_MOD_INIT): Set grub_term_poll_usb.
25832 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
25833 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
25834 users updated.
25835 (grub_usb_add_hub): Fill nports and children.
25836 (attach_root_port): Receive hub instead of controller.
25837 All users updated. Fill hub->devices.
25838 (grub_usb_root_hub): Allocate hub->devices.
25839 (detach_device): New function.
25840 (poll_nonroot_hub): Fill children and detach devices.
25841 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
25842 actual arguments. All users updated.
25843 (grub_usb_bulk_read_extended): New function.
25844 * bus/usb/serial/common.c: New file.
25845 * bus/usb/serial/ftdi.c: Likewise.
25846 * bus/usb/serial/pl2303.c: Likewise.
25847 * commands/terminal.c (handle_command): Support wildcard.
25848 * commands/usbtest.c: Output "Unknown" instead of empty string.
25849 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
25850 (usbserial_common_mod_SOURCES): New variable.
25851 (usbserial_common_mod_CFLAGS): Likewise.
25852 (usbserial_common_mod_LDFLAGS): Likewise.
25853 (pkglib_MODULES): Add usbserial_pl2303.mod.
25854 (usbserial_pl2303_mod_SOURCES): New variable.
25855 (usbserial_pl2303_mod_CFLAGS): Likewise.
25856 (usbserial_pl2303_mod_LDFLAGS): Likewise.
25857 (pkglib_MODULES): Add usbserial_ftdi.mod.
25858 (usbserial_ftdi_mod_SOURCES): New variable.
25859 (usbserial_ftdi_mod_CFLAGS): Likewise.
25860 (usbserial_ftdi_mod_LDFLAGS): Likewise.
25861 (pkglib_MODULES): Add serial.mod.
25862 (serial_mod_SOURCES): New variable.
25863 (serial_mod_CFLAGS): Likewise.
25864 (serial_mod_LDFLAGS): Likewise.
25865 * conf/i386-pc.rmk: Likewise.
25866 * conf/mips-yeeloong.rmk: Likewise.
25867 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
25868 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25869 * disk/usbms.c (first_available_slot): New variable.
25870 (grub_usbms_attach): Don't reuse free slots due to potential cache
25871 problems.
25872 * include/grub/serial.h: Moved to ..
25873 * include/grub/ns8250.h: ...this.
25874 * include/grub/serial.h: New file.
25875 * include/grub/term.h (grub_term_poll_usb): New variable.
25876 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
25877 readkey. All users updated.
25878 (grub_terminfo_output_state): Pass term to put.
25879 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
25880 (grub_usb_controller_dev): Add timeout and actual arguments to
25881 transfer. All users updated.
25882 (grub_usb_interface): New field detach_data.
25883 (grub_usb_device): New fields children and nports.
25884 (grub_usb_ep_type_t): New type.
25885 (grub_usb_get_ep_type): New function.
25886 (grub_usb_bulk_read_extended): Likewise.
25887 * include/grub/usbdesc.h (grub_usb_desc): New type.
25888 * include/grub/usbserial.h: New file.
25889 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
25890 * kern/term.c (grub_term_poll_usb): New variable.
25891 (grub_getkey): Call grub_term_poll_usb if set.
25892 (grub_checkkey): Likewise.
25893 (grub_getkeystatus): Likewise.
25894 * term/serial.c: Moved controller-specific parts to ...
25895 * term/ns8250.c: ... here.
25896 * term/serial.c: Mostly rewritten.
25897 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
25898 according to spec.
25899
21a313de
RM
259002010-08-20 Robert Millan <rmh@gnu.org>
25901
25902 Make kFreeBSD code more generic to support ext2fs as root, ufs as
25903 a separate module and maybe other interesting combinations.
25904
25905 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
25906 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
25907 (kfreebsd_entry): Add generic filesystem module load routine.
25908 Map GRUB `ext2' to kFreeBSD `ext2fs'.
25909
63c734a6
CW
259102010-08-20 Colin Watson <cjwatson@ubuntu.com>
25911
25912 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
25913 "numcenter" (I misunderstood the purpose of this entry).
25914 * docs/grub.texi (sendkey): Likewise.
25915
c4d16542
CW
259162010-08-20 Colin Watson <cjwatson@ubuntu.com>
25917
25918 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
25919 status flag options; simply omitting the option is equivalent and
25920 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
25921 (keysym_table): Rename "num5numlock" to "numlock".
25922 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
25923 can uniformly say that only the last of multiple `sendkey'
25924 invocations has any effect.
25925 * docs/grub.texi (sendkey): New section.
25926
93541d66
CW
259272010-08-19 Colin Watson <cjwatson@ubuntu.com>
25928
25929 * commands/i386/pc/sendkey.c (options): Fix three typos.
25930
b4ece5e1
VS
259312010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
25932
25933 Implement sendkey support.
25934
25935 * commands/i386/pc/sendkey.c: New file.
25936 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
25937 (sendkey_mod_SOURCES): New variable.
25938 (sendkey_mod_CFLAGS): Likewise.
25939 (sendkey_mod_LDFLAGS): Likewise.
25940
51f1f5af
CW
259412010-08-18 Colin Watson <cjwatson@ubuntu.com>
25942
25943 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
25944 fix warnings from Autoconf.
25945
9da94e05
CW
259462010-08-18 Colin Watson <cjwatson@ubuntu.com>
25947
25948 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
25949 to avoid false positives with some assemblers that output things
25950 like "someprefix_func" as part of their output.
25951
729a0f2e
RM
259522010-08-15 Robert Millan <rmh@gnu.org>
25953
25954 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
25955 errors.
25956 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
25957 grub_get_libzfs_handle() errors.
25958
f3710e08
RM
259592010-08-14 Robert Millan <rmh@gnu.org>
25960
25961 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
25962 filesystem is not ZFS.
25963
7a3c13de
BC
259642010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25965
25966 Fix for misspelled color names defaulting to black/black (bug
25967 reported by Doug Nazar)
25968
25969 * include/grub/normal.h (grub_parse_color_name_pair): Add return
25970 status to prototype.
25971 * normal/color.c (grub_parse_color_name_pair): Return failure
25972 status.
25973 (grub_env_write_color_normal): Ignore bad color names.
25974 (grub_env_write_color_highlight): Likewise.
25975 * normal/main.c (GRUB_MOD_INIT): Set default color names.
25976
ab8ba50d
BC
259772010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25978
25979 "shift" command support to GRUB script.
25980
25981 * include/grub/script_sh.h (grub_script_shift): New prototype.
25982 * script/execute.c (grub_script_shift): New function.
25983 * script/main.c (grub_script_init): Register shift command.
25984 (grub_script_fini): Unregister shift command.
25985 * util/grub-script-check.c (grub_script_cmd_shift): New function.
25986
25987 * tests/grub_script_shift.in: New testcase.
25988 * conf/tests.rmk: Rules for new testcase.
25989
4d61999e
BC
259902010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25991
25992 "continue" command support to GRUB script.
25993
25994 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
25995 (grub_script_break): Continue support.
25996 * script/main.c (grub_script_init): Register continue command.
25997 (grub_script_fini): Unregister continue command.
25998
25999 * tests/grub_script_continue.in: New testcase.
26000 * conf/tests.rmk: Rules for new testcase.
26001
4df51e00
BC
260022010-08-12 BVK Chaitanya <bvk@dbook>
26003
26004 "break" command support to GRUB script.
26005
26006 * conf/common.rmk: Rule updates to grub-script-check.
26007 * include/grub/misc.h (grub_min): New function.
26008 * include/grub/script_sh.h (grub_script_init): New prototype.
26009 (grub_script_fini): New prototype.
26010 (grub_script_break): New prototype.
26011 * script/main.c (grub_script_init): New function.
26012 (grub_script_fini): New function.
26013 * script/execute.c (grub_script_break): New function.
26014 * normal/main.c: Calls to grub_script_{init,fini}.
26015 * util/grub-script-check.c (grub_script_break): New function.
26016
26017 * tests/grub_script_break.in: New testcase.
26018 * conf/tests.rmk: Rules for new test case.
26019
f12c8420
BC
260202010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
26021
26022 Function parameters support to GRUB script.
26023
26024 * script/yylex.l (VARIABLE): Regular expression update.
26025 * script/function.c (grub_script_function_call): Moved ...
26026 * script/execute.c (grub_script_function_call): ... to here.
26027 (grub_script_execute_arglist_to_argv): Removed.
26028 (grub_script_arglist_to_argv): New function.
26029 * script/argv.c: New file.
26030 (grub_script_argv_free): New function.
26031 (grub_script_argv_next): Likewise.
26032 (grub_script_argv_append): Likewise.
26033 (grub_script_argv_split_append): Likewise.
26034 * include/grub/script_sh.h (grub_script_argv): New struct.
26035 (grub_script_argv_free): New function.
26036 (grub_script_argv_next): Likewise.
26037 (grub_script_argv_append): Likewise.
26038 (grub_script_argv_split_append): Likewise.
26039
26040 * conf/common.rmk (normal.mod): New source script/argv.c.
26041
26042 * tests/grub_script_echo1.in: More tests.
26043 * tests/grub_script_vars1.in: Likewise.
26044 * tests/grub_script_functions.in: New test case.
26045 * conf/tests.rmk: Rules for new testcase.
26046
8022b748
BC
260472010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
26048
26049 Remove grub_script_cmdblock struct.
26050
26051 * include/grub/script_sh.h: Remove grub_script_cmdblock.
26052 * script/parser.y: Likewise.
26053 * script/execute.c: Rename cmdblock suffix to cmdlist.
26054 * script/script.c: Likewise.
26055 * util/grub-script-check.c: Likewise.
26056
79a6ba61
YB
260572010-08-11 Yves Blusseau <blusseau@zetam.org>
26058
26059 * .bzrignore: add grub-macho2img
26060
d04b9414
VS
260612010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
26062
26063 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
26064
f947ab49
VS
260652010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
26066
26067 Remove the dump of sm712 initialisation sequence.
26068
26069 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
26070 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
26071 (GRUB_VGA_IO_MISC_WRITE): Likewise.
26072 (GRUB_VGA_CR_*): Added many registers.
26073 (GRUB_VGA_SR_*): Likewise.
26074 (GRUB_VGA_GR_*): Likewise.
26075 (grub_vga_write_arx): New function.
26076 (grub_video_hw_config): New struct.
26077 (grub_vga_set_geometry): New function.
26078 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
26079 GRUB_PCI_CLASS_SUBCLASS_VGA.
26080 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
26081 * video/sm712.c (grub_sm712_write_reg): New function
26082 (grub_sm712_read_reg): Likewise.
26083 (grub_sm712_sr_write): Likewise.
26084 (grub_sm712_gr_write): Likewise.
26085 (grub_sm712_cr_write): Likewise.
26086 (grub_sm712_write_arx): Likewise.
26087 (grub_sm712_cr_shadow_write): Likewise.
26088 (grub_sm712_write_dda_lookup): Likewise.
26089 (grub_video_sm712_setup): Initialise the video rather then
26090 blindly replay the dump.
26091 (main) [TEST]: Add a routine to be able to compile as standalone for
26092 tests.
26093 * video/sm712_init.c (sm712_init): Removed.
26094 (sm712_sr_seq1): New array.
26095 (sm712_sr_seq2): Likewise.
26096
f0206638
VS
260972010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
26098
26099 * include/grub/vga.h: Add missing grub/pci.h include.
26100
2764da3b
YB
261012010-08-10 Yves Blusseau <blusseau@zetam.org>
26102
26103 * util/grub-macho2img.c (main): fix typo
26104
cf0c775e
VS
261052010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
26106
26107 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
26108 (grub_vga_gr_read): Likewise.
26109 (grub_vga_cr_write): Likewise.
26110 (grub_vga_cr_read): Likewise.
26111 (grub_vga_sr_write): Likewise.
26112 (grub_vga_sr_read): Likewise.
26113 (grub_vga_palette_read): Likewise.
26114 (grub_vga_palette_write): Likewise.
26115 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
26116 (grub_sm712_sr_read): New function.
26117 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
26118 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
26119
07f360e9
RM
261202010-08-09 Robert Millan <rmh@gnu.org>
26121
26122 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
26123 out unused variables on non-ZFS build.
26124
346c2072
RM
261252010-08-08 Robert Millan <rmh@gnu.org>
26126
26127 Fix path generation for sub-filesystems in ZFS.
26128
26129 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
26130 missing slash.
26131
71175420
RM
261322010-08-08 Robert Millan <rmh@gnu.org>
26133
26134 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
26135
0d8286f3
RM
261362010-08-08 Robert Millan <rmh@gnu.org>
26137
26138 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
26139 exist, issue a proper error message (rely on `ls' for translated
26140 strings).
26141
55dd2924
RM
261422010-08-08 Robert Millan <rmh@gnu.org>
26143
26144 Fix grub-probe invocation.
26145
26146 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
26147
d3dd9e80
RM
261482010-08-04 Robert Millan <rmh@gnu.org>
26149
26150 * configure.ac: Remove checks for getfsstat() and getmntany().
26151 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
26152 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
26153 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
26154 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
26155 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
26156 function.
26157 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
26158 via find_mount_point_from_dir() and getfsstat() / getmntany().
26159
0de22aa9
RM
261602010-08-04 Robert Millan <rmh@gnu.org>
26161
26162 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26163 (grub_find_zpool_from_mount_point): Merge into ...
26164 (grub_find_zpool_from_dir): ... this.
26165 * kern/emu/misc.c: Likewise.
26166
26167 * kern/emu/misc.c
26168 (grub_make_system_path_relative_to_its_root): Replace
26169 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
26170 with grub_find_zpool_from_dir().
26171 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
26172
62858144
RM
261732010-08-04 Robert Millan <rmh@gnu.org>
26174
26175 Support OpenSolaris in ZFS device resolution.
26176
26177 * configure.ac: Check for getmntany().
26178 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
26179 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
26180 support.
26181
9dd6fd50
RM
261822010-08-03 Robert Millan <rmh@gnu.org>
26183
26184 Fix grub-emu build.
26185
26186 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
26187 * include/grub/emu/misc.h: ... here.
26188
26189 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
26190 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
26191
26192 * util/misc.c: Remove `<grub/util/libzfs.h>'.
26193 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
26194 (grub_get_libzfs_handle): Move to ...
26195 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
26196 (grub_get_libzfs_handle): ... here.
26197
c9f7ff97
BC
261982010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
26199
26200 * script/execute.c (grub_script_execute_cmdline): Check for NULL
26201 as command name case.
26202
a870a783
CW
262032010-08-02 Colin Watson <cjwatson@ubuntu.com>
26204
26205 * disk/raid.c (insert_array): Select unique numbers for named arrays
26206 as well, for use as keys in the disk cache.
26207
c7db243b
RM
262082010-08-01 Robert Millan <rmh@gnu.org>
26209
26210 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
26211 kFreeBSD device name, except on ZFS where the filesystem label is
26212 used.
26213 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
26214 `/boot/zfs/zpool.cache'.
26215 Set mountfrom kernel variable using ${kfreebsd_device}.
26216
f7abdefb
RM
262172010-08-01 Robert Millan <rmh@gnu.org>
26218
26219 Make it even harder to use uninitialized `libzfs_handle' (and
26220 make the interface a bit simpler).
26221
26222 * include/grub/util/misc.h (grub_util_init_libzfs)
26223 (libzfs_handle): Remove.
26224 (grub_get_libzfs_handle): New prototype.
26225
26226 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
26227 attribute.
26228 (grub_util_init_libzfs): Remove.
26229 (grub_get_libzfs_handle): New function.
26230
26231 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
26232 grub_get_libzfs_handle() to obtain a libzfs handle instead of
26233 accessing `libzfs_handle' directly.
26234
c882acc0
RM
262352010-08-01 Robert Millan <rmh@gnu.org>
26236
26237 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26238 (grub_find_zpool_from_mount_point): New function prototypes.
26239
26240 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26241 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26242
26243 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26244 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26245 `static' attribute.
26246
26247 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26248 finding zpool from mount point into ...
26249 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26250
26251 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26252 requested path is part of a ZFS pool, use
26253 grub_find_zpool_from_mount_point() to detect its filesystem name,
26254 and generate a path with `/fsname@path' syntax.
26255
8bfe31d8
CW
262562010-08-01 Colin Watson <cjwatson@ubuntu.com>
26257
26258 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
26259 (void) rather than () so that this is a proper prototype.
26260
553df63d
VS
262612010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26262
26263 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
26264
8687cf07
VS
262652010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26266
26267 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
26268 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
26269
ea9be8ea
CW
262702010-08-01 Colin Watson <cjwatson@ubuntu.com>
26271
26272 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
26273
6eea041a
CW
262742010-08-01 Colin Watson <cjwatson@ubuntu.com>
26275
26276 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
26277
2cfb45df
CW
262782010-08-01 Colin Watson <cjwatson@ubuntu.com>
26279
26280 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
26281 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
26282 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
26283 disable gfxpayload.
26284 (Shell-like scripting): Add real content.
26285 (Serial terminal): Suggest `terminal_input serial; terminal_output
26286 serial' rather than putting the two commands on separate lines,
26287 since console input will be inoperative after the first command.
26288 (menuentry): Document --class, --users, and --hotkey options.
26289 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
26290 Vladimir Serbinenko).
26291
7decd202
VS
262922010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
262932010-08-01 Colin Watson <cjwatson@ubuntu.com>
26294
26295 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
26296
c882acc0
RM
262972010-08-01 Robert Millan <rmh@gnu.org>
26298
26299 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26300 (grub_find_zpool_from_mount_point): New function prototypes.
26301
26302 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26303 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26304
26305 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26306 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26307 `static' attribute.
26308
26309 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26310 finding zpool from mount point into ...
26311 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26312
26313 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26314 requested path is part of a ZFS pool, use
26315 grub_find_zpool_from_mount_point() to detect its filesystem name,
26316 and generate a path with `/fsname@path' syntax.
26317
deb0caa3
RM
263182010-08-01 Robert Millan <rmh@gnu.org>
26319
26320 Prevent accidental use of uninitialized libzfs_handle.
26321
26322 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
26323 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
26324 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
26325
ce04ef47
CW
263262010-08-01 Colin Watson <cjwatson@ubuntu.com>
26327
26328 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
26329 util/grub.d/10_linux.in). Fixes Debian bug #591093.
26330
ebf53056
RM
263312010-08-01 Robert Millan <rmh@gnu.org>
26332
26333 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 26334
3710bb6b
RM
263352010-07-31 Robert Millan <rmh@gnu.org>
26336
26337 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
26338
8072efeb
RM
263392010-07-31 Robert Millan <rmh@gnu.org>
26340
26341 * kern/emu/misc.c: Add missing license header.
26342
3169f4c7
RM
263432010-07-31 Robert Millan <rmh@gnu.org>
26344
26345 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
26346
26347 * include/grub/util/libnvpair.h: Include `<config.h>'.
26348 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
26349 declaring libnvpair prototypes ourselves.
26350 * include/grub/util/libzfs.h: Include `<config.h>'.
26351 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
26352 declaring libzfs prototypes ourselves.
26353
26354 (libzfs_handle): Moved to ...
26355 * include/grub/util/misc.h (libzfs_handle): ... here.
26356 Include `<grub/util/libzfs.h>'.
26357
c9a00aee
RM
263582010-07-30 Robert Millan <rmh@gnu.org>
26359
26360 * include/grub/emu/misc.h: Add missing license header.
26361
a184f9c8
RM
263622010-07-30 Robert Millan <rmh@gnu.org>
26363
26364 Enable `grub-probe -t device' resolution on ZFS.
26365
26366 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
26367 * include/grub/util/libnvpair.h: New file.
26368 * include/grub/util/libzfs.h: New file.
26369
26370 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
26371 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
26372 `<grub/util/libnvpair.h>'.
26373 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
26374
26375 (find_mount_point_from_dir): New static function.
26376 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
26377 function.
26378 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
26379 find_root_device_from_libzfs() before ressorting to find_root_device().
26380
26381 * include/grub/util/misc.h (grub_util_init_libzfs): New function
26382 prototype.
26383 * util/misc.c: Include `<grub/util/libzfs.h>'.
26384 (grub_util_init_libzfs): New function.
26385 [HAVE_LIBZFS] (libzfs_handle): New global variable.
26386 [HAVE_LIBZFS] (fini_libzfs): New static function.
26387 (grub_util_init_libzfs): New function.
26388 * util/grub-probe.c (main): Call grub_util_init_libzfs().
26389
f7790cdd
RM
263902010-07-30 Robert Millan <rmh@gnu.org>
26391
26392 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
26393 (xmalloc, xrealloc, xstrdup, xasprintf): Add
26394 `warn_unused_result' attribute.
26395 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
26396 (grub_xasprintf, grub_xvasprintf): Likewise.
26397 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
26398
0806b63c
RM
263992010-07-29 Robert Millan <rmh@gnu.org>
26400
26401 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
26402 (probe): Handle `PRINT_FS_LABEL'.
26403 (main): Handle `-t fs_label'.
26404
9f841f5c
RM
264052010-07-29 Robert Millan <rmh@gnu.org>
26406
26407 * configure.ac: Remove grub-mkisofs checks.
26408
46371121
VS
264092010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26410
26411 * util/ieee1275/grub-install.in: Don't use empty grub_device.
26412 Reported by: Lennart Sorensen.
26413
264142010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26415
26416 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
26417 prior to terminal_input/terminal_output separation. It's been over 1.5
26418 years and those versions weren't widely deployed.
26419
a9600892
CW
264202010-07-22 Colin Watson <cjwatson@ubuntu.com>
26421
26422 * disk/raid.c (insert_array): Don't count named arrays when looking
26423 for unused array numbers.
697e053c 26424 Reported and tested by: Michael Guntsche.
a9600892 26425
c03507df
CW
264262010-07-20 Colin Watson <cjwatson@ubuntu.com>
26427
26428 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
26429 implementation of this so that grub-emu links again, with a note
26430 that this should support hotplugging in the future.
26431
b26f1c11
CW
264322010-07-20 Colin Watson <cjwatson@ubuntu.com>
26433
26434 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26435
efc9d7f1
CW
264362010-07-20 Colin Watson <cjwatson@ubuntu.com>
26437
26438 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
26439 handle on failure.
26440 (grub_loopback_close): Remove empty function.
26441 (grub_loopback_dev): Remove close method.
26442
dd8ff5c9
CW
264432010-07-20 Colin Watson <cjwatson@ubuntu.com>
26444
26445 Disable EFI cursor when the EFI console becomes inactive.
26446
26447 * term/efi/console.c (grub_efi_console_init): New function.
26448 (grub_efi_console_fini): New function.
26449 (grub_console_term_output): Register init and fini methods.
26450
5e3bec67
VS
264512010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26452
26453 * tests/util/grub-shell-tester.in: Remove bashism and declare as
26454 sh script.
26455
afaec079
VS
264562010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26457
26458 * disk/loopback.c (grub_loopback): Replace filename with file.
26459 (delete_loopback): Handle new semantics.
26460 (grub_cmd_loopback): Likewise.
26461 (grub_loopback_iterate): Likewise.
26462 (grub_loopback_close): Likewise.
26463
a6a11f3c
VS
264642010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26465
26466 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
26467 with -p "".
26468 Reported by: Tito Keitel.
26469
64a638b0
VS
264702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26471
26472 * docs/grub.texi (Naming convention): Document new naming convention.
26473
ab8ba957
VS
264742010-07-20 Vadim Solomin <vadic052@gmail.com>
264752010-07-20 Colin Watson <cjwatson@ubuntu.com>
26476
26477 Generate device.map in something closer to the old ordering.
26478
26479 * util/deviceiter.c (struct device): New declaration.
26480 (compare_file_names): Rename to ...
26481 (compare_devices): ... this. Sort by kernel name in preference to
26482 the stable by-id name, but keep the latter as a fallback comparison.
26483 Update header comment.
26484 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
26485 of `struct device' rather than of plain file names.
26486
a29d6a4b
TF
264872010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
26488
26489 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
26490 on i386.
26491
39d824e8
VS
264922010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26493
26494 * commands/acpi.c (setup_common_tables): Use sizeof instead of
26495 hardcoding size.
26496 (setv1table): Likewise.
26497
f058276b
FZ
264982010-07-20 Colin Watson <cjwatson@ubuntu.com>
26499
26500 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
26501 removing the homehost if present.
26502 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
26503 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
26504 removing the homehost if present.
26505 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
26506 if possible.
26507 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
26508
26509 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
26510 parameter. Set its pointer target to 0.
26511 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
26512 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
26513 `data_offset' value from the superblock for 1.x metadata.
26514 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
26515 data on the device.
26516 (insert_array): Record the start sector of data on the device.
26517 (grub_raid_register): Pass start_sector parameters to
26518 grub_raid_list->detect and insert_array.
26519 * include/grub/raid.h (struct grub_raid_array): Add start_sector
26520 member.
26521 (struct grub_raid): Add start_sector parameter to `detect'.
26522
26523 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
26524 __attribute__ ((packed)), leaving a comment.
26525 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
26526 (grub_mdraid_detect_09): ... here and ...
26527 (grub_mdraid_detect_1x): ... here.
26528
265292010-07-20 Peter Henn <peter.henn@web.de>
26530
26531 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
26532 chunk size and disk size, which are already given as sector counts
26533 as distinct from the 0.90 units. Fetch the correct device number
26534 from the role table instead of using the table index.
26535
265362010-07-20 Felix Zielcke <fzielcke@z-51.de>
26537
26538 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
26539 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
26540 (WriteMostly1): New macro.
26541 Set array->name to NULL for metadata format 0.90. Add support for
26542 metadata 1.x. Fix some comments.
26543 * disk/raid.c (): Add support for name based RAID arrays. Fix a
26544 few comments.
26545 * util/getroot.c (grub_util_get_grub_dev): Add support for
26546 /dev/md/name style devices.
26547
4b761da9
CW
265482010-07-20 Colin Watson <cjwatson@ubuntu.com>
26549
26550 * .bzrignore: Ignore 20_linux_xen.
26551
5771289a
CW
265522010-07-17 Colin Watson <cjwatson@ubuntu.com>
26553
26554 * util/import_unicode.py: Remove unnecessary imports.
26555
5dab68df
AN
265562010-07-17 Aleš Nesrsta <starous@volny.cz>
26557
26558 Hotplugging and USB hub support.
26559
26560 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
26561 (grub_ohci): Likewise.
26562 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
26563 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
26564 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
26565 (GRUB_OHCI_CTRL_EDS): Likewise.
26566 (GRUB_OHCI_BULK_EDS): Likewise.
26567 (GRUB_OHCI_TDS): Likewise.
26568 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
26569 (grub_ohci_ed_phys2virt): New function.
26570 (grub_ohci_virt_to_phys): Likewise.
26571 (grub_ohci_td_phys2virt): Likewise.
26572 (grub_ohci_td_virt2phys): Likewise.
26573 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
26574 attachment.
26575 (grub_ohci_find_ed): New function.
26576 (grub_ohci_alloc_td): Likewise.
26577 (grub_ohci_free_td): Likewise.
26578 (grub_ohci_free_tds): Likewise.
26579 (grub_ohci_transfer): Use previously allocated memory.
26580 (grub_ohci_portstatus): Reset status changed bit.
26581 (grub_ohci_detect_dev): Supply status changed.
26582 (grub_ohci_fini_hw): Free memory.
26583 (grub_ohci_restore_hw): Reallocate memory.
26584 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
26585 Reset status change.
26586 (grub_uhci_detect_dev): Supply status_change.
26587 * bus/usb/usb.c (attach_hooks): New var.
26588 (grub_usb_device_attach): New function.
26589 (grub_usb_register_attach_hook_class): Likewise.
26590 (grub_usb_unregister_attach_hook_class): Likewise.
26591 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
26592 (grub_usb_add_hub): Reset connection changed bit.
26593 (attach_root_port): New function.
26594 (grub_usb_root_hub): Likewise.
26595 (poll_nonroot_hub): Likewise.
26596 (grub_usb_poll_devices): Likewise.
26597 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
26598 * disk/usbms.c (grub_usbms_open): Use device hooks.
26599 (grub_usbms_iterate) :Poll devices.
26600 (grub_usbms_finddevs): Split into ...
26601 (grub_usbms_attach): ... this ...
26602 (grub_usbms_attach): ... and this.
26603 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
26604 in detect_dev.
26605 (grub_usb_interface): New fields attached and detach_hook.
26606 (grub_usb_attach_hook_class): New type.
26607 (grub_usb_attach_desc): New struct.
26608 (grub_usb_register_attach_hook_class): New function.
26609 (grub_usb_unregister_attach_hook_class): Likewise.
26610 (grub_usb_poll_devices): Likewise.
26611 (grub_usb_device_attach): Likewise.
26612 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
26613 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
26614
3222efaf
VS
266152010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26616
26617 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
26618 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
26619 delta determination style. Works with most NetBSD partitions too.
26620
139b714a
VS
266212010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26622
26623 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
26624 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
26625
986aad56
VS
266262010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26627
26628 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
26629
99be513c
AB
266302010-07-14 Anton Blanchard <anton@samba.org>
26631
26632 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
26633 ET_DYN files.
26634
18075f62
GS
266352010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26636
26637 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
26638
8d9a5b15
GS
266392010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26640
26641 * kern/partition.c (grub_partition_check_containment): New function to
26642 check that a partition is physically contained in a parent. Since
26643 offsets are relative (and non-negative), this reduces to checking that
26644 the partition ends before its parent.
26645 (grub_partition_map_probe): Discard out-of-range sub-partitions.
26646 (grub_partition_iterate): Likewise.
26647 * include/grub/partition.h (grub_partition_map): Slightly more detailed
26648 comments.
26649 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
26650 partitions that start before their parent, and add debug printfs.
26651
19563c25
CW
266522010-07-13 Colin Watson <cjwatson@ubuntu.com>
26653
26654 * Makefile.in (.SUFFIX): Spell correctly, as ...
26655 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
26656 bare module name without `.mod', e.g. `test') tried to invoke a
26657 Modula-2 compiler.
26658
1a1f1e67
CW
266592010-07-13 Colin Watson <cjwatson@ubuntu.com>
26660
26661 * README: Point to the Info manual.
26662
811b0dca
JS
266632010-07-13 Jiro SEKIBA <jir@unicus.jp>
26664
26665 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
26666 2nd superblock position from partition size.
26667
e4f4eafc
CW
266682010-07-10 Colin Watson <cjwatson@ubuntu.com>
26669
26670 * Makefile.in (MAINTAINER_CLEANFILES): Remove
26671 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
26672 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
26673 outputs.
26674
4274c30f
VS
266752010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26676
26677 Restructure SCSI .id handling.
26678 Reported and tested by: Aleš Nesrsta.
26679
26680 * disk/ata.c (grub_atapi_close): Removed. All users updated.
26681 (grub_atapi_dev): Changed .name to "ata". New field .id.
26682 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
26683 (grub_usbms_dev): New field .id.
26684 * disk/scsi.c (grub_scsi_iterate): Generate name.
26685 (grub_scsi_open): Parse name.
26686 * include/grub/scsi.h (grub_make_scsi_id): New function.
26687 (grub_scsi_dev): Change iterate and open to number instead of naming
26688 busses. All users updated.
26689 (grub_scsi): Remove name. Add .bus.
26690
5bc24388
VS
266912010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26692
26693 * commands/help.c (grub_cmd_help): Fix a typo.
26694
249975ba
VS
266952010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26696
26697 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
26698 Reported and tested by: Colin Watson.
26699
3eaac1a1
VS
267002010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26701
26702 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
26703 in this context.
26704
becce1b1
VS
267052010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
26706
26707 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
26708
f7bf0918
CW
267092010-07-07 Colin Watson <cjwatson@ubuntu.com>
26710
26711 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
26712 indentation.
26713
0b0f9620
CW
267142010-07-06 Colin Watson <cjwatson@ubuntu.com>
26715
26716 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
26717 and disk/raid6_recover.c.
26718 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26719 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26720
1e545469
CW
267212010-07-06 Colin Watson <cjwatson@ubuntu.com>
26722
26723 * term/gfxterm.c (repaint_schedulded): Rename to ...
26724 (repaint_scheduled): ... this. Update all callers.
26725 (repaint_was_schedulded): Rename to ...
26726 (repaint_was_scheduled): ... this. Update all callers.
26727
5357687a
CW
267282010-07-06 Colin Watson <cjwatson@ubuntu.com>
26729
26730 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
26731 which we expect to be handled by upper layers.
26732
29d7e783
BC
267332010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
26734
26735 * bus/usb/usbhub.c: #include time.h header.
26736
37582066
CW
267372010-07-06 Colin Watson <cjwatson@ubuntu.com>
26738
26739 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
26740 entry_name also for entries without stat blocks (e.g. ".."); fixes
26741 corruption of the first entry in a directory.
26742
c8c06953
CW
267432010-07-06 Colin Watson <cjwatson@ubuntu.com>
26744
26745 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
26746 after setting gfxterm as the active terminal. GRUB_BACKGROUND
26747 doesn't work otherwise.
26748
e75056f1
CW
267492010-07-05 Colin Watson <cjwatson@ubuntu.com>
26750
26751 * docs/grub.texi (Features): Update list of supported file systems.
26752 (GNU/Linux): Update for GRUB 2.
26753 (Serial terminal): Remove mention of --disable-serial, which was a
26754 GRUB Legacy configure option. Update instructions to use
26755 `terminal_input' and `terminal_output' rather than `terminal'.
26756 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
26757 configuration' and `Installing GRUB using grub-install'.
26758 (Menu entry editor): Update for GRUB 2.
26759 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
26760 Document new -a, -u, and -v options.
26761 (initrd): New section.
26762 (initrd16): New section.
26763 (linux): New section.
26764 (linux16): New section.
26765 (search): The `var' argument to `--set' is optional.
26766 (GRUB only offers a rescue shell): Go into a little more detail on
26767 drive ordering.
26768
5cf69151
CW
267692010-07-05 Colin Watson <cjwatson@ubuntu.com>
26770
26771 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
26772
e3f90044
CW
267732010-07-05 Colin Watson <cjwatson@ubuntu.com>
26774
26775 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
26776 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
26777
38d8f4f3
CW
267782010-07-05 Colin Watson <cjwatson@ubuntu.com>
26779
26780 * util/i386/pc/grub-setup.c (setup): Rename prefix to
26781 install_prefix, in line with install_dos_part and install_bsd_part.
26782 Add new prefix variable, which is copied to install_prefix after
26783 comparing core.img in memory with the one read from disk in the
26784 no-embedding case, and use that rather than overwriting
26785 install_prefix immediately when installing to a partition.
26786 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
26787 Bicakci.
26788
57ebd41e
GS
267892010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26790
26791 * configure.ac: Avoid == in test command, it's not portable.
26792 * util/grub.d/30_os-prober.in: Likewise.
26793
cb7f64b2
CW
267942010-07-04 Colin Watson <cjwatson@ubuntu.com>
26795
26796 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
26797
6b654bb0
GS
267982010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26799
26800 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
26801 multiple (top-level) partmaps.
26802
72a2026d
VS
268032010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26804
26805 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 26806 Reported by: Tino Keitel.
72a2026d 26807
df3eb88f
VS
268082010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26809
26810 Bidi and diacritics support.
26811
26812 * Makefile.in (widthspec.bin): New target.
26813 (widthspec.h): Likewise.
26814 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
26815 * autogen.sh: Generate unidata.c.
26816 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
26817 * commands/ls.c (grub_ls_list_devices): Likewise.
26818 (grub_ls_list_files): Likewise.
26819 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
26820 (grub_mini_cmd_lsmod): Likewise.
26821 * commands/read.c: Likewise.
26822 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
26823 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
26824 * lib/arg.c (grub_arg_show_help): Likewise.
26825 * lib/crypto.c (grub_password_get): Likewise.
26826 * normal/auth.c (grub_username_get): Likewise.
26827 * normal/misc.c (grub_normal_print_device_info): Likewise.
26828 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
26829 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
26830 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
26831 (normal/charset.c_DEPENDENCIES): New variable.
26832 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
26833 (pkglib_MODULES): Remove charset.mod.
26834 (charset_mod_SOURCES): Removed.
26835 (charset_mod_CFLAGS): Likewise.
26836 (charset_mod_LDFLAGS): Likewise.
26837 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
26838 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
26839 and term/tparm.c.
26840 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26841 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26842 (kernel_img_HEADERS): Add terminfo.h.
26843 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
26844 Fill ->font. Reverse ascii bitmaps.
26845 (grub_font_get_xheight): New function.
26846 * font/font.c (grub_font_get_string_width): Moved from here ...
26847 * gfxmenu/font.c (grub_font_get_string_width): ... here.
26848 * font/font.c (grub_font_draw_string): Moved from here ...
26849 * gfxmenu/font.c (grub_font_draw_string): ... here.
26850 * font/font.c (grub_font_dup_glyph): New function.
26851 (grub_font_blit_glyph): Likewise.
26852 (grub_font_blit_glyph_mirror): Likewise.
26853 (blit_comb): Likewise.
26854 (grub_font_construct_dry_run): Likewise.
26855 (grub_font_get_constructed_device_width): Likewise.
26856 (grub_font_construct_glyph): Likewise.
26857 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
26858 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
26859 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
26860 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
26861 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
26862 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
26863 (grub_font_get_xheight): New proto.
26864 (grub_font_get_constructed_device_width): Likewise.
26865 (grub_font_construct_glyph): Likewise.
26866 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
26867 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
26868 * include/grub/font.h (grub_font_draw_string): Moved from here ...
26869 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
26870 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
26871 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
26872 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
26873 (grub_console_getcharwidth): Likewise.
26874 * include/grub/misc.h (grub_xputs): New proto.
26875 (grub_puts): Inlined.
26876 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
26877 (grub_normal_get_line_counter): Removed.
26878 (grub_install_newline_hook): Likewise.
26879 (grub_normal_get_char_counter): New proto.
26880 (grub_normal_reset_more): Likewise.
26881 (grub_xputs_normal): Likewise.
26882 * include/grub/powerpc/ieee1275/console.h: Removed.
26883 * include/grub/sparc64/ieee1275/console.h: Likewise.
26884 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
26885 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
26886 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
26887 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
26888 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
26889 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
26890 (grub_term_input): Pass reference to self. All users updated.
26891 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
26892 Pass reference to self. New fields normal_color, highlight_color and
26893 data. All users updated.
26894 (grub_putchar): Removed.
26895 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
26896 (grub_unicode_estimate_width): New function.
26897 (grub_term_getcharwidth): Add defaults.
26898 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
26899 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
26900 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
26901 (grub_cls): Remove EXPORT_FUNC.
26902 (grub_setcolorstate): Inline.
26903 (grub_newline_hook): Removed.
26904 * include/grub/terminfo.h: Rewritten. All users updated.
26905 * include/grub/unicode.h: New file.
26906 * include/grub/video.h (grub_video_signed_rect): New type.
26907 * kern/emu/console.c (grub_console_highlight_color): Removed.
26908 (grub_console_normal_color): Likewise.
26909 (grub_console_standard_color): Made static.
26910 (grub_ncurses_putchar): Remove mapping.
26911 (grub_ncurses_getcharwidth): Removed.
26912 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26913 (grub_ncurses_setcolor): Removed.
26914 (grub_ncurses_getcolor): Likewise.
26915 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
26916 (grub_console_putchar): ... this.
26917 (grub_console_putchar): Handle argument difference.
26918 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
26919 console_init_early and console_init_lately.
26920 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
26921 * kern/misc.c (grub_puts): Removed.
26922 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
26923 (grub_vsnprintf_real): Remove str = NULL support.
26924 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
26925 * normal/charset.c (grub_utf8_to_ucs4): ... here.
26926 * kern/term.c (grub_putcode): Renamed to ...
26927 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
26928 (grub_putchar): Removed.
26929 (grub_xputs_dumb): New function.
26930 (grub_xputs): New variable.
26931 * lib/charset.c: Move from here ...
26932 * normal/charset.c: ... to here.
26933 (grub_ucs4_to_utf8): New function.
26934 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
26935 (join_types): New variable.
26936 (unpack_join): New function.
26937 (bidi_types): New variable.
26938 (unpack_bidi): New function.
26939 (get_bidi_type): Likewise.
26940 (get_join_type): Likewise.
26941 (is_mirrored): Likewise.
26942 (grub_unicode_get_comb_type): Likewise.
26943 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
26944 (is_type_after): Likewise.
26945 (grub_unicode_aglomerate_comb): Likewise.
26946 (bidi_line_wrap): Likewise.
26947 (grub_bidi_line_logical_to_visual): Likewise.
26948 (grub_bidi_logical_to_visual): Likewise.
26949 (grub_unicode_mirror_code): Likewise.
26950 (grub_unicode_shape_code): Likewise.
26951 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
26952 Don't use grub_putchar.
26953 * normal/main.c (grub_normal_init_page): Use grub_putcode.
26954 (grub_normal_reader_init): Likewise.
26955 (grub_xputs_saved): New variable.
26956 (GRUB_MOD_INIT): Set grub_xputs.
26957 (GRUB_MOD_FINI): Restore grub_xputs.
26958 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
26959 (menu_init): Avoid printing gfxmenu error.
26960 (show_menu): Use grub_normal_get_char_counter.
26961 * normal/menu_entry.c (update_screen): Fix out-of-array.
26962 (complete): Avoid NULL dereferencing.
26963 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
26964 * normal/menu_text.c (print_spaces): Removed.
26965 (grub_print_ucs4): Likewise.
26966 (grub_print_message_indented): Use grub_print_ucs4.
26967 (print_message): Use grub_putcode.
26968 (print_entry): Hanlde diacritics.
26969 * normal/term.c (term_state): New type.
26970 (grub_more_lines): Removed.
26971 (term_states): New variable.
26972 (grub_normal_line_counter): Renamed to ..
26973 (grub_normal_char_counter): ...this. All users updated.
26974 (grub_normal_get_line_counter): Renamed to ...
26975 (grub_normal_get_char_counter): ... this.
26976 (grub_normal_reset_more): New function.
26977 (process_newline): Removed.
26978 (print_more): New function.
26979 (grub_install_newline_hook): Removed.
26980 (map_code): New function.
26981 (grub_puts_terminal): Use grub_print_ucs4.
26982 (putglyph): New function.
26983 (putcode_real): Likewise.
26984 (grub_putcode): Use putcode_real.
26985 (get_maxwidth): New function.
26986 (get_startwidth): Likewise.
26987 (print_ucs4_terminal): Likewise.
26988 (find_term_state): Likewise.
26989 (put_glyphs_terminal): Likewise.
26990 (print_backlog): Likewise.
26991 (print_ucs4_real): Likewise.
26992 (grub_print_ucs4): Likewise.
26993 (grub_xputs_normal): Likewise.
26994 * term/efi/console.c (grub_console_putchar): Output diacritics.
26995 (grub_console_getcharwidth): Removed.
26996 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26997 * term/gfxterm.c (clear_char): Free chars.
26998 (scroll_up): Avoid leaking memory.
26999 (grub_gfxterm_putchar): Support diacritics.
27000 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
27001 * term/i386/pc/console.c (grub_console_term_output): Declare as
27002 GRUB_TERM_CODE_TYPE_VGA.
27003 * term/i386/pc/vga.c (grub_vga_term): Declare as
27004 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
27005 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
27006 GRUB_TERM_CODE_TYPE_VGA.
27007 * term/i386/vga_common.c (map_char): Removed.
27008 (grub_console_putchar): Likewise.
27009 (grub_console_getcharwidth): Likewise.
27010 * term/ieee1275/ofconsole.c: Simplify using terminfo.
27011 (colors): Reordered to match terminfo.
27012 (grub_ofconsole_normal_color): Removed.
27013 (grub_ofconsole_writeesc): Likewise.
27014 (grub_ofconsole_highlight_color): Likewise.
27015 (grub_ofconsole_getcharwidth): Likewise.
27016 (grub_ofconsole_setcolorstate): Likewise.
27017 (grub_ofconsole_setcolor): Likewise.
27018 (grub_ofconsole_getcolor): Likewise.
27019 (grub_ofconsole_readkey): Renamed to ...
27020 (readkey): ... this. Remove escape sequence handling. Return -1 on no
27021 key.
27022 (grub_ofconsole_checkkey): Removed.
27023 (grub_ofconsole_getkey): Likewise.
27024 (grub_ofconsole_getxy): Likewise.
27025 (grub_ofconsole_gotoxy): Likewise.
27026 (grub_ofconsole_cls): Likewise.
27027 (grub_ofconsole_refresh): Likewise.
27028 (grub_ofconsole_terminfo_input): New struct.
27029 (grub_ofconsole_terminfo_output): Likewise.
27030 (grub_ofconsole_term_input): Use terminfo.
27031 (grub_ofconsole_term_output): Likewise.
27032 (grub_console_init): Split into ...
27033 (grub_console_init_early): ...this and ...
27034 (grub_console_init_lately): ...this. Use terminfo.
27035 (grub_ofconsole_putchar): Renamed to ...
27036 (put): ... this. Remove mapping.
27037 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
27038 * term/serial.c: Simplify using terminfo.
27039 (xpos): Removed.
27040 (ypos): Likewise.
27041 (keep_track): Likewise.
27042 (registered): Likewise.
27043 (input_buf): Likewise.
27044 (npending): Likewise.
27045 (serial_translate_key_sequence): Likewise.
27046 (fill_input_buf): Likewise.
27047 (grub_serial_checkkey): Likewise.
27048 (grub_serial_getkey): Likewise.
27049 (grub_serial_getxy): Likewise.
27050 (grub_serial_gotoxy): Likewise.
27051 (grub_serial_putchar): Likewise.
27052 (grub_serial_cls): Likewise.
27053 (grub_serial_setcolorstate): Likewise.
27054 (grub_serial_setcursor): Likewise.
27055 (serial_hw_init): Use serial_hw_fetch.
27056 (grub_serial_terminfo_input): New variable.
27057 (grub_serial_terminfo_output): Likewise.
27058 (grub_serial_term_input): Use terminfo.
27059 (grub_serial_term_output): Likewise.
27060 * term/terminfo.c (putstr): Use put.
27061 (grub_terminfo_all_free): New function
27062 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
27063 (grub_terminfo_output_register): New function.
27064 (grub_terminfo_output_unregister): Likewise.
27065 (grub_terminfo_getxy): Likewise.
27066 (grub_terminfo_readkey): Likewise.
27067 (grub_terminfo_checkkey): Likewise.
27068 (grub_terminfo_getkey): Likewise.
27069 (grub_terminfo_input_init): Likewise.
27070 (print_terminfo): Likewise.
27071 (grub_cmd_terminfo): Handle encoding.
27072 (grub_terminfo_gotoxy): Track position.
27073 (grub_terminfo_cls): Likewise.
27074 (grub_terminfo_putchar): Likewise.
27075 (grub_terminfo_setcolorstate): Handle colors
27076 (grub_terminfo_cursor_on): This ...
27077 (grub_terminfo_cursor_off): ... and this merged into ...
27078 (grub_terminfo_setcursor): ... this.
27079 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
27080 * unicode/ArabicShaping.txt: New file (imported from Unicode).
27081 * unicode/BidiMirroring.txt: Likewise.
27082 * unicode/UnicodeData.txt: Likewise.
27083 * unicode/COPYING: Likewise.
27084 * util/grub-editenv.c (grub_putchar): Removed.
27085 (grub_xputs_real): New function.
27086 (grub_xputs): New variable.
27087 * util/grub-fstest.c (grub_putchar): Removed.
27088 (grub_xputs_real): New function.
27089 (grub_xputs): New variable.
27090 * util/grub-mkdevicemap.c (grub_putchar): Removed.
27091 (grub_xputs_real): New function.
27092 (grub_xputs): New variable.
27093 * util/grub-probe.c (grub_putchar): Removed.
27094 (grub_xputs_real): New function.
27095 (grub_xputs): New variable.
27096 * util/grub-script-check.c (grub_putchar): Removed.
27097 (grub_xputs_real): New function.
27098 (grub_xputs): New variable.
27099 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
27100 (grub_xputs_real): New function.
27101 (grub_xputs): New variable.
27102 * util/import_unicode.py: New file.
27103 * util/grub-mkfont.c (ft_errmsgs): New array.
27104 (grub_glyph_info): Make bitmap a pointer.
27105 (file_formats): New type WIDTH_SPEC.
27106 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
27107 (options): Add width-spec.
27108 (help): Likewise.
27109 (add_char): Renamed to ...
27110 (add_glyph): ... this.
27111 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
27112 (glyph_replace): New type.
27113 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
27114 (add_char): New function.
27115 (add_subst): Likewise.
27116 (process_cursive): Likewise.
27117 (add_font): Handle GSUB.
27118 (write_font_width_spec): New function.
27119 (main): Sort glyphs.
27120 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
27121 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
27122 * kern/term.c (grub_cls): Moved from here...
27123 * normal/term.c (grub_cls): ... here.
27124
50f0bcda
CW
271252010-07-02 Colin Watson <cjwatson@ubuntu.com>
27126
27127 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
27128 suitable for using within the format argument of printf when
27129 converting grub_size_t.
27130 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
27131 "x" to convert grub_size_t arguments.
27132
40372103
VS
271332010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27134
27135 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
27136 too long captions.
27137 (list_get_minimal_size): Take selection box into account.
27138
942a10c7
VS
271392010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27140
27141 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
27142 NULL font.
27143
2bdb2892
CW
271442010-07-02 Colin Watson <cjwatson@ubuntu.com>
27145
27146 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
27147 devices when iterating over /dev/disk/by-id; they will be handled
27148 later if appropriate, which they aren't always (e.g. LVM).
27149
e03ed6c1
CW
271502010-07-02 Colin Watson <cjwatson@ubuntu.com>
27151
27152 * include/grub/misc.h (grub_reboot): Declare as noreturn.
27153 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
27154 fails.
27155 (grub_halt): Likewise.
27156 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
27157 reset-all fails.
27158 (grub_halt): Don't return, even if all of shut-down, power-off, and
27159 poweroff fail.
27160
47695765
CW
271612010-07-02 Colin Watson <cjwatson@ubuntu.com>
27162
27163 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
27164 arguments, not three.
27165
507736c8
CW
271662010-07-02 Colin Watson <cjwatson@ubuntu.com>
27167
27168 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
27169 * util/grub.d/10_linux.in: Use it to check for LVM, so that
27170 LVM-on-RAID is handled correctly.
27171
e3c8cd37
CW
271722010-07-02 Colin Watson <cjwatson@ubuntu.com>
27173
27174 * docs/grub.texi (Changes from GRUB Legacy): New section.
27175 (Future): Fix typo.
27176
8d4a2fec
CW
271772010-07-02 Colin Watson <cjwatson@ubuntu.com>
27178
27179 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
27180 grub.d/README accidentally ends up executable for one reason or
27181 another. Ignore it.
27182
1c4827be
VS
271832010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27184
27185 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
27186 (gpt_partition_map_iterate): Support non-512B sectors.
27187
d9a0c941
VS
271882010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27189
27190 * kern/efi/init.c (grub_efi_init): Disable watchdog.
27191 Tested by: Seth Goldberg.
27192
48f27e87
VS
271932010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27194
27195 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
27196 Properly align mbi.
27197 Reported by: Seth Goldberg.
27198
b0c4f956
VS
271992010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27200
27201 * util/grub-mkrescue.in: Avoid module duplication.
27202
105a2e8c
SF
272032010-07-01 Sean Finney <seanius@seanius.net>
27204
27205 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
27206
5944958c
SF
272072010-07-01 Sean Finney <seanius@seanius.net>
27208
27209 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
27210
272112010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27212
27213 * disk/lvm.c (grub_lvm_checkvalue): New function.
27214 (grub_lvm_check_flag): Likewise.
27215
b79889ba
RM
272162010-07-01 Robert Millan <rmh@gnu.org>
27217
27218 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
27219 Support 'p' as partition separator on kernel of FreeBSD (used
27220 with GPT labels).
27221 (grub_util_biosdisk_get_grub_dev): Likewise.
27222
ec1d04f1
VS
272232010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27224
27225 Yeeloong firmware port.
27226
27227 * boot/mips/yeeloong/fwstart.S: New file.
27228 * bus/cs5536.c (gpiodump): New const.
27229 (set_io_space): New function.
27230 (set_iod): Likewise.
27231 (set_p2d): Likewise.
27232 (grub_cs5536_init_geode): Likewise.
27233 * commands/mips/yeeloong/lsspd.c: New file.
27234 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
27235 (serial_mod_SOURCES): New variable.
27236 (serial_mod_CFLAGS): Likewise.
27237 (serial_mod_LDFLAGS): Likewise.
27238 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
27239 term/terminfo.c and term/tparm.c.
27240 (pkglib_IMAGES): Add fwstart.img.
27241 (fwstart_img_SOURCES): New variable.
27242 (fwstart_img_CFLAGS): Likewise.
27243 (fwstart_img_ASFLAGS): Likewise.
27244 (fwstart_img_LDFLAGS): Likewise.
27245 (fwstart_img_FORMAT): Likewise.
27246 (pkglib_MODULES): Add lsspd.mod.
27247 (lsspd_mod_SOURCES): New variable.
27248 (lsspd_mod_CFLAGS): Likewise.
27249 (lsspd_mod_LDFLAGS): Likewise.
27250 (pkglib_MODULES): Add halt.mod.
27251 (halt_mod_SOURCES): New variable.
27252 (halt_mod_CFLAGS): Likewise.
27253 (halt_mod_LDFLAGS): Likewise.
27254 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
27255 (serial_mod_SOURCES): Removed.
27256 (serial_mod_CFLAGS): Likewise.
27257 (serial_mod_LDFLAGS): Likewise.
27258 * disk/ata.c (check_device): New function.
27259 (grub_ata_device_initialize): Use check_device.
27260 (grub_ata_iterate): Recheck devices.
27261 (grub_ata_open): Likewise.
27262 (grub_atapi_iterate): Likewise.
27263 (grub_atapi_open): Likewise.
27264 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
27265 (GRUB_ATA_CH1_PORT1): Likewise.
27266 (GRUB_ATA_CH0_PORT2): Likewise.
27267 (GRUB_ATA_CH1_PORT2): Likewise.
27268 * include/grub/mips/loongson.h: New file.
27269 * include/grub/mips/yeeloong/ec.h: Likewise.
27270 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
27271 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
27272 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
27273 * include/grub/misc.h (grub_halt): Declare as noreturn.
27274 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
27275 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
27276 (UART_ENABLE_FIFO_TRIGGER1): New definition.
27277 (UART_ENABLE_DTRRTS): Likewise.
27278 (UART_ENABLE_MODEM): Removed.
27279 (UART_ENABLE_OUT2): New const.
27280 * include/grub/term.h (grub_term_register_input_active): New function.
27281 (grub_term_register_output_active): Likewise.
27282 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
27283 argument.
27284 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
27285 (init_pci): New function.
27286 (grub_machine_init): Execute platform init when firmware. Init serial.
27287 (grub_halt): Implement.
27288 (grub_exit): Likewise.
27289 (grub_reboot): Likewise.
27290 * term/serial.c (serial_hw_init): Update macros.
27291 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
27292 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
27293 (image_targets): New target mipsel-yeeloong-flash.
27294 (generate_image): Support IMAGE_YEELOONG_FLASH.
27295 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
27296 (grub_video_sm712_setup): Init card.
27297 (grub_video_sm712_set_palette): Removed.
27298 * video/sm712_init.c: New file.
27299
ff4a70d2
CW
273002010-06-30 Colin Watson <cjwatson@ubuntu.com>
27301
27302 * Makefile.in (install-local): Temporarily prepend $(builddir) to
27303 PATH when running help2man and then run it on the unadorned
27304 executable names, rather than passing $(builddir)/* paths to
27305 help2man. This avoids the build directory ending up in generated
27306 manual pages.
27307
1246efeb
CW
273082010-06-29 Colin Watson <cjwatson@ubuntu.com>
27309
27310 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
27311 to avoid accidents when debugging with 'sh -x'.
27312 * util/grub-mkrescue.in: Likewise.
27313 * util/grub.d/00_header.in: Likewise.
27314 * util/grub.d/10_hurd.in: Likewise.
27315 * util/grub.d/10_kfreebsd.in: Likewise.
27316 * util/grub.d/10_linux.in: Likewise.
27317 * util/grub.d/10_netbsd.in: Likewise.
27318 * util/grub.d/10_windows.in: Likewise.
27319 * util/grub.d/20_linux_xen.in: Likewise.
27320 * util/grub.d/30_os-prober.in: Likewise.
27321 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27322
1ba9b889
CW
273232010-06-29 Colin Watson <cjwatson@ubuntu.com>
27324
27325 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
27326 last character in the buffer.
27327 Reported by: Vladimir Serbinenko.
27328
dccaf99d
RM
273292010-06-29 Robert Millan <rmh@gnu.org>
27330
27331 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
27332 (Command-line and menu entry commands): Document `badram' command.
27333
d500ed12
RM
273342010-06-28 Robert Millan <rmh@gnu.org>
27335
27336 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
27337 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
27338 command using ${GRUB_BADRAM} as parameter.
27339
20bc84a6
CW
273402010-06-28 Colin Watson <cjwatson@ubuntu.com>
27341
27342 * docs/grub.texi (Device map): New section.
27343 (Themes): New section (stub).
27344 * Makefile.in (docs/grub.info): The info documentation now builds
27345 without errors. Make sure it stays that way.
27346
4045dee1
VS
273472010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27348
27349 Use normal parser for menu entries.
27350 Reported by: Thomas Frauendorfer
27351
27352 * include/grub/parser.h (grub_parser_execute): Don't export.
27353 * normal/menu.c (grub_menu_execute_entry_real): New function.
27354 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
27355
bca58c7b
CW
273562010-06-28 Colin Watson <cjwatson@ubuntu.com>
27357
27358 * docs/grub.texi (Embedded configuration): New section (replacing
27359 old "Preset Menu" stub).
27360 (Images): New section.
27361 (configfile): Note that any menu entries defined in `file' are shown
27362 immediately.
27363
dec53e63
JT
273642010-06-28 Josh Triplett <josh@joshtriplett.org>
27365
27366 * mmap/i386/pc/mmap_helper.S: Set CF on return.
27367
c06e40f7
CW
273682010-06-28 Colin Watson <cjwatson@ubuntu.com>
27369
27370 * util/grub-install.in: Add --debug-image= option.
27371
cb88052b
CW
273722010-06-28 Colin Watson <cjwatson@ubuntu.com>
27373
27374 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
27375 possible on Linux.
27376
27377 * util/deviceiter.c (check_device): Rename to ...
27378 (check_device_readable_unique): ... this. Update all callers.
27379 Maintain and check a list of which devices (by canonicalized name)
27380 have already been seen.
27381 (clear_seen_devices): New function.
27382 (compare_file_names) [__linux__]: New function.
27383 (grub_util_iterate_devices): Clear the list of seen devices on exit
27384 and (just in case) on entry.
27385 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
27386 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
27387 seen-devices list, superseded by general code in check_device.
27388
bbe34652
CW
273892010-06-28 Colin Watson <cjwatson@ubuntu.com>
27390
27391 * commands/cat.c (options): New variable.
27392 (grub_cmd_cat): Parse options. If the --dos option is given, print
27393 DOS-style "\r\n" line endings as simple newlines (Debian bug
27394 #586358).
27395 (GRUB_MOD_INIT): Use extcmd.
27396 (GRUB_MOD_FINI): Likewise.
27397 * docs/grub.texi (cat): Document --dos.
27398
412e09f3
VS
273992010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27400
27401 XEN with Linux grub-mkconfig support.
27402
27403 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
27404 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
27405 GRUB_CMDLINE_XEN_DEFAULT.
27406 * util/grub.d/20_linux_xen.in: New file.
27407
53f3ef38 274082010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
27409
27410 Initialise VGA video on qemu ourselves.
27411
27412 * boot/i386/qemu/boot.S: Don't call 0xc000.
27413 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
27414 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
27415 (kernel_img_HEADERS): Add pci.h.
27416 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
27417 * configure.ac: Force unifont on qemu and yeeloong.
27418 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
27419 (grub_vga_palette_write): Use correct register.
27420 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
27421 Call grub_qemu_init_cirrus.
27422 * kern/i386/qemu/init.c: New file.
27423 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
27424
27425 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
27426
c75be4fb
PR
274272010-06-26 Pavel Roskin <proski@gnu.org>
27428
27429 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
27430 13.
27431
d8034603
CW
274322010-06-26 Colin Watson <cjwatson@ubuntu.com>
27433
27434 * docs/grub.texi (Simple configuration): Explain that
27435 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
27436 set to `true' to disable their respective recovery entries, not
27437 merely set.
27438
3fa06487
CW
274392010-06-26 Colin Watson <cjwatson@ubuntu.com>
27440
27441 Make the `source' command slightly faster.
27442
27443 * normal/main.c (grub_normal_execute): Don't re-read list files when
27444 nested.
27445
e9b29642
CW
274462010-06-23 Colin Watson <cjwatson@ubuntu.com>
27447
27448 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
27449 field position and mask size to red fields from mode_info, not
27450 green.
27451 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
27452 Remove redundant tag->common.framebuffer_type assignment.
27453 Reported by: Seth Goldberg.
27454
e726542f
CW
274552010-06-23 Colin Watson <cjwatson@ubuntu.com>
27456
27457 Sync up other versions of the Linux loader with Robert Millan's
27458 change of 2010-01-09, "Make loader output a bit more user-friendly".
27459
27460 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
27461 grub_dprintf().
27462 (grub_cmd_linux): Likewise.
27463 (grub_cmd_initrd): Likewise.
27464 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
27465 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27466
d6e98a17
CW
274672010-06-21 Colin Watson <cjwatson@ubuntu.com>
27468
27469 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
27470 larger than MEMORY_MAP_SIZE.
27471
14d3f08e
BC
274722010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
27473
27474 Fix parallel build.
27475
27476 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
27477 dependency.
27478 * script/parser.y: #include grub_script.tab.h header.
27479
4f9613a3
VS
274802010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27481
27482 Support >3GiB and <16MiB RAM in i386-qemu.
27483
27484 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
27485 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
27486 (grub_lower_mem): Removed.
27487 (grub_upper_mem): Likewise.
27488 (mem_size): Made static.
27489 (above_4g): New variable.
27490 (grub_machine_mmap_init): Detect small mem_size and above_4g.
27491 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
27492 support.
27493
05e51879
VS
274942010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27495
27496 Cirrus 5446 and Bochs video cards support.
27497
27498 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
27499 video_bochs.mod
27500 (video_cirrus_mod_SOURCES): New variable.
27501 (video_cirrus_mod_CFLAGS): Likewise.
27502 (video_cirrus_mod_LDFLAGS): Likewise.
27503 (video_bochs_mod_SOURCES): Likewise.
27504 (video_bochs_mod_CFLAGS): Likewise.
27505 (video_bochs_mod_LDFLAGS): Likewise.
27506 * include/grub/vga.h: New file.
27507 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
27508 (grub_video_fb_set_page_t): New type.
27509 (grub_video_fb_setup): New prototype.
27510 (grub_video_fb_swap_buffers): Likewise.
27511 (grub_video_fb_get_info_and_fini): Likewise.
27512 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
27513 (CRTC_DATA_PORT): Likewise.
27514 (CRTC_CURSOR): Likewise.
27515 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27516 (CRTC_CURSOR_ADDR_LOW): Likewise.
27517 (CRTC_CURSOR_DISABLE): Likewise.
27518 (update_cursor): Use grub_vga_cr_write.
27519 (grub_vga_text_setcursor): Likewise.
27520 * video/bochs.c: New file.
27521 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
27522 (palette): Likewise.
27523 (palette_size): Likewise.
27524 (framebuffer): New variable.
27525 (grub_video_fb_init): Use 'framebuffer'.
27526 (grub_video_fb_fini): Likewise.
27527 (grub_video_fb_get_info): Likewise.
27528 (grub_video_fb_get_palette): Likewise.
27529 (grub_video_fb_set_palette): Likewise.
27530 (grub_video_fb_set_viewport): Likewise.
27531 (grub_video_fb_get_viewport): Likewise.
27532 (grub_video_fb_map_color): Likewise.
27533 (grub_video_fb_map_rgb): Likewise.
27534 (grub_video_fb_map_rgba): Likewise.
27535 (grub_video_fb_unmap_color): Likewise.
27536 (grub_video_fb_unmap_color_int): Likewise.
27537 (grub_video_fb_fill_rect): Likewise.
27538 (grub_video_fb_blit_bitmap): Likewise.
27539 (grub_video_fb_blit_render_target): Likewise.
27540 (grub_video_fb_scroll): Likewise.
27541 (grub_video_fb_create_render_target): Likewise.
27542 (grub_video_fb_doublebuf_blit_init): Likewise.
27543 (grub_video_fb_set_active_render_target): Handle doublebuffering.
27544 (doublebuf_pageflipping_update_screen): New function.
27545 (doublebuf_pageflipping_init): Likewise.
27546 (grub_video_fb_setup): Likewise.
27547 (grub_video_fb_swap_buffers): Likewise.
27548 (grub_video_fb_get_info_and_fini): Likewise.
27549 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
27550 All users updated.
27551 (doublebuf_pageflipping_commit): Restructured into ...
27552 (doublebuf_pageflipping_set_page): ... this.
27553 (doublebuf_pageflipping_update_screen): Removed.
27554 (doublebuf_pageflipping_init): Likewise.
27555 (double_buffering_init): Likewise.
27556 (grub_video_vbe_setup): Use grub_video_fb_setup.
27557 (grub_video_vbe_swap_buffers): Removed.
27558 (grub_video_vbe_set_active_render_target): Likewise.
27559 (grub_video_vbe_get_active_render_target): Likewise.
27560 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
27561 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
27562 grub_video_fb_set_active_render_target and
27563 grub_video_fb_get_active_render_target.
27564 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
27565 (SEQUENCER_DATA_PORT): Likewise.
27566 (MAP_MASK_REGISTER): Likewise.
27567 (CRTC_ADDR_PORT): Likewise.
27568 (CRTC_DATA_PORT): Likewise.
27569 (START_ADDR_HIGH_REGISTER): Likewise.
27570 (START_ADDR_LOW_REGISTER): Likewise.
27571 (GRAPHICS_ADDR_PORT): Likewise.
27572 (GRAPHICS_DATA_PORT): Likewise.
27573 (READ_MAP_REGISTER): Likewise.
27574 (INPUT_STATUS1_REGISTER): Likewise.
27575 (INPUT_STATUS1_VERTR_BIT): Likewise.
27576 (get_map_mask): Use grub_vga_sr_read.
27577 (set_map_mask): Use grub_vga_sr_write.
27578 (set_read_map): Use grub_vga_gr_write.
27579 (set_start_address): Use grub_vga_cr_write.
27580 * video/sm712.c (framebuffer): Remove leftover fields.
27581
4321c64a
CW
275822010-06-20 Colin Watson <cjwatson@ubuntu.com>
27583
27584 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
27585 setting GRUB_VIDEO_BACKEND. Make it available as a user override
27586 instead. Replace the gfxterm backend check with a check that
27587 ${GRUB_PREFIX}/video.lst is non-empty.
27588 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
27589 again.
27590 (load_video): New generated function. Call it before loading
27591 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
27592 * util/grub.d/10_linux.in (linux_entry): Call load_video.
27593 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
27594 * docs/grub.texi (Simple configuration): Document
27595 GRUB_VIDEO_BACKEND.
27596
275972010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27598
27599 Use video functions in linux and xnu loaders.
27600
27601 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
27602 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
27603 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
27604 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
27605 loader/i386/pc/linux.c.
27606 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
27607 (find_line_len): Removed.
27608 (find_framebuf): Likewise.
27609 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
27610 * loader/i386/efi/xnu.c: Removed.
27611 * loader/i386/pc/xnu.c: Moved from here...
27612 * loader/i386/xnu.c: ...here.
27613
27614 Enable priorities in video drivers.
27615
27616 * include/grub/video.h (grub_video_adapter_prio_t): New type.
27617 (grub_video_adapter): New field prio.
27618 (grub_video_register): Respect prio when inserting.
27619 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
27620 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
27621 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
27622 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
27623 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
27624 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
27625 * video/sm712.c (grub_video_sm712_adapter): Likewise.
27626
27627 Fix SDL driver ID.
27628
27629 * include/grub/video.h (grub_video_driver_id_t): New value
27630 GRUB_VIDEO_DRIVER_SDL.
27631 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
27632
7d24e434
CW
276332010-06-17 Colin Watson <cjwatson@ubuntu.com>
27634
27635 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
27636 argument to printf.
27637 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27638
c88a83f6
CW
276392010-06-17 Colin Watson <cjwatson@ubuntu.com>
27640
27641 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
27642 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27643
094dfb69
CW
276442010-06-17 Colin Watson <cjwatson@ubuntu.com>
27645
27646 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
27647 directly, and recommend grub-install instead.
27648 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27649
2164da6b
CW
276502010-06-17 Colin Watson <cjwatson@ubuntu.com>
27651
27652 Fix i386-pc prefix handling with nested partitions (Debian bug
27653 #585068). Note that the case where the core image is booted using
27654 multiboot and relocated from its original location still requires
27655 more work.
27656
27657 * kern/i386/pc/init.c (make_install_device): If the prefix starts
27658 with "(,", fill the boot drive in between those two characters, but
27659 expect that a full partition specification including partition map
27660 names will follow.
27661 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
27662 specified, write a prefix without the drive name but including a
27663 full partition specification.
27664
044e2e60
CW
276652010-06-16 Colin Watson <cjwatson@ubuntu.com>
27666
27667 * util/grub-mkconfig.in: Ignore non-option arguments, for
27668 compatibility with older versions (before 2010-06-12) which did the
27669 same. In particular, this makes it easier to ship an update-grub
27670 wrapper which is compatible with that used with GRUB Legacy (Debian
27671 bug #586056).
27672
5591324f
GS
276732010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27674
27675 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
27676 for manual page generation.
27677
662e24d5
GS
276782010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27679
27680 * po/POTFILES: Remove leftover commands/handler.c.
27681
8d70754e
CW
276822010-06-14 Colin Watson <cjwatson@ubuntu.com>
27683
27684 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
27685 left this script non-functional.
27686
41160e2e
CW
276872010-06-14 Colin Watson <cjwatson@ubuntu.com>
27688
27689 * docs/man/grub-emu.h2m: New file.
27690
b5309cc1
CW
276912010-06-13 Colin Watson <cjwatson@ubuntu.com>
27692
27693 * docs/grub.texi (Commands): Document reduced command set in rescue
27694 mode.
27695 (cpuid): New section.
27696
fcb2d090
GS
276972010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
27698
27699 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
27700 new partition naming style.
27701 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
27702
96e5c556
BC
277032010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
27704
27705 Add "-o grub.iso" like cmdline options support.
27706
27707 * util/grub-install.in: Improve cmdline option parsing.
27708 * util/grub-mkconfig.in: Likewise.
27709 * util/grub-mkrescue.in: Likewise.
27710 * util/grub-reboot.in: Likewise.
27711 * util/grub-set-default.in: Likewise.
27712 * util/i386/efi/grub-install.in: Likewise.
27713 * util/ieee1275/grub-install.in: Likewise.
27714 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27715
c16be99b
CW
277162010-06-12 Colin Watson <cjwatson@ubuntu.com>
27717
27718 * .bzrignore: Ignore 41_custom.
27719
ce08a9fb
TS
277202010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27721
27722 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
27723
7beac90c
CW
277242010-06-12 Colin Watson <cjwatson@ubuntu.com>
27725
27726 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
27727 prototype declarations.
27728
27729 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
27730 generating fs, partmap, and video lists.
27731 * include/grub/fs.h (grub_fs_register): Omit prototype if
27732 GRUB_LST_GENERATOR is defined.
27733 * include/grub/partition.h (grub_partition_map_register): Likewise.
27734 * include/grub/video.h (grub_video_register): Likewise.
27735
1c8f0f8d
JM
277362010-06-12 Javier Martín <lordhabbit@gmail.com>
27737
27738 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
27739
a6085973
TS
277402010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27741
27742 * util/grub-mkrescue.in: Support --xorriso argument.
27743
25c56d29
VS
277442010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27745
27746 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
27747 Suggested by: Thomas Schmitt.
27748
e03e4b24
VS
277492010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27750
27751 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
27752 Suggested by: Thomas Schmitt.
27753
57711df6
VS
277542010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27755
27756 custom.cfg support.
27757
27758 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
27759 * util/grub.d/41_custom.in: New file.
27760
ee62c427
CW
277612010-06-12 Colin Watson <cjwatson@ubuntu.com>
27762
27763 * util/grub-mkrescue.in (make_image): Remove sh module, which has
27764 been merged back into normal.
27765
283af07a
CW
277662010-06-11 Colin Watson <cjwatson@ubuntu.com>
27767
27768 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
27769 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
27770
56a0d956
CW
277712010-06-11 Colin Watson <cjwatson@ubuntu.com>
27772
27773 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
27774 when generating manual pages.
27775 * docs/man/grub-bin2h.h2m: New file.
27776 * docs/man/grub-editenv.h2m: New file.
27777 * docs/man/grub-fstest.h2m: New file.
27778 * docs/man/grub-install.h2m: New file.
27779 * docs/man/grub-macho2img.h2m: New file.
27780 * docs/man/grub-mkconfig.h2m: New file.
27781 * docs/man/grub-mkdevicemap.h2m: New file.
27782 * docs/man/grub-mkfont.h2m: New file.
27783 * docs/man/grub-mkimage.h2m: New file.
27784 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
27785 * docs/man/grub-mkrelpath.h2m: New file.
27786 * docs/man/grub-mkrescue.h2m: New file.
27787 * docs/man/grub-ofpathname.h2m: New file.
27788 * docs/man/grub-pe2elf.h2m: New file.
27789 * docs/man/grub-probe.h2m: New file.
27790 * docs/man/grub-reboot.h2m: New file.
27791 * docs/man/grub-script-check.h2m: New file.
27792 * docs/man/grub-set-default.h2m: New file.
27793 * docs/man/grub-setup.h2m: New file.
27794
3a37e322
VS
277952010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
27796
27797 Use FOR_* macros instead of *_iterate whenever possible.
27798
27799 * commands/handler.c: Removed.
27800 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
27801 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
27802 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27803 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
27804 (grub_probe_SOURCES): Remove kern/parser.c.
27805 (util/grub-script-check.c_DEPENDENCIES): Removed.
27806 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
27807 and grub_script_check_init.c.
27808 (grub_script_check_init.lst): Removed.
27809 (grub_script_check_init.h): Likewise.
27810 (grub_script_check_init.c): Likewise.
27811 (pkglib_MODULES): Remove handler.mod and sh.mod.
27812 (handler_mod_SOURCES): Removed.
27813 (handler_mod_CFLAGS): Likewise.
27814 (handler_mod_LDFLAGS): Likewise.
27815 (normal_mod_SOURCES): Remove normal/handler.c.
27816 Add script/main.c, script/script.c, script/execute.c,
27817 script/function.c, script/lexer.c, grub_script.tab.c
27818 and grub_script.yy.c.
27819 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27820 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27821 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
27822 (grub_setup_SOURCES): Remove kern/parser.c.
27823 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27824 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
27825 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
27826 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27827 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27828 (grub_setup_SOURCES): Remove kern/parser.c.
27829 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27830 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
27831 * include/grub/command.h (grub_command_iterate): Removed.
27832 (FOR_COMMANDS): New macro.
27833 * include/grub/dl.h (grub_dl): New member next.
27834 (grub_dl_iterate): Removed.
27835 (grub_dl_head): New variable declaration.
27836 (FOR_DL_MODULES): New macro.
27837 * include/grub/fs.h: Include list.h.
27838 (grub_fs): Make next first element.
27839 (grub_fs_list): New variable declaration.
27840 (grub_fs_register): Make inline.
27841 (grub_fs_unregister): Likewise.
27842 (grub_fs_iterate): Removed.
27843 (FOR_FILESYSTEMS): New macro.
27844 * include/grub/handler.h: Removed.
27845 * include/grub/list.h (grub_list_hook_t): Removed.
27846 (grub_list_test_t): Likewise.
27847 (grub_list_pop): Likewise.
27848 (grub_list_iterate): Likewise.
27849 (grub_list_insert): Likewise.
27850 (FOR_LIST_ELEMENTS): New macro.
27851 * include/grub/parser.h (grub_parser_class): Removed.
27852 (grub_parser_register): Likewise.
27853 (grub_parser_unregister): Likewise.
27854 (grub_parser_get_current): Likewise.
27855 (grub_parser_set_current): Likewise.
27856 (grub_register_rescue_parser): Likewise.
27857 (grub_rescue_parse_line): New function.
27858 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
27859 * include/grub/script_sh.h (grub_script_function_list): New variable
27860 declaration.
27861 (FOR_SCRIPT_FUNCTIONS): New macro.
27862 (grub_script_function_iterate): Removed.
27863 (grub_normal_parse_line): New prototype.
27864 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
27865 (FOR_DISABLED_TERM_INPUTS): Likewise.
27866 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27867 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27868 * include/grub/video.h (grub_video_adapter): Move 'next' to first
27869 element.
27870 (grub_video_register): Inline.
27871 (grub_video_unregister): Likewise.
27872 (grub_video_adapter_list): New variable declaration.
27873 (grub_video_iterate): Removed.
27874 (FOR_VIDEO_ADAPTERS): New macro.
27875 * kern/dl.c (grub_dl_list): Removed. All users updated.
27876 (grub_dl_iterate): Removed.
27877 * kern/fs.c (grub_fs_list): Make global.
27878 (grub_fs_register): Removed.
27879 (grub_fs_unregister): Likewise.
27880 (grub_fs_iterate): Likewise.
27881 * kern/handler.c: Removed.
27882 * kern/list.c (grub_list_pop): Removed.
27883 (grub_list_iterate): Likewise.
27884 (grub_list_insert): Likewise.
27885 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
27886 (grub_prio_list_insert): Don't use grub_list_insert.
27887 * kern/main.c (grub_register_rescue_parser): Don't call
27888 grub_register_rescue_parser.
27889 * kern/parser.c (grub_parser_class): Removed.
27890 (grub_parser_execute): Use grub_rescue_parse_line.
27891 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
27892 (grub_rescue_parser): Removed.
27893 (grub_register_rescue_parser): Likewise.
27894 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
27895 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
27896 (grub_auth_check_authentication): Likewise.
27897 * normal/completion.c (iterate_command): Removed.
27898 (grub_normal_do_completion): Use FOR_COMMANDS.
27899 * normal/handler.c: Removed.
27900 * normal/main.c (read_config_file): Remove parser changing.
27901 (grub_normal_execute): Don't call read_handler_list.
27902 (grub_normal_read_line_real): Statically allocate prompt.
27903 (grub_cmdline_run): Use grub_normal_parse_line.
27904 (GRUB_MOD_FINI): Don't call free_handler_list.
27905 * normal/menu_entry.c (run): Likewise.
27906 * script/function.c (grub_script_function_list): Make global.
27907 (grub_script_function_iterate): Removed.
27908 * script/main.c (grub_normal_parse_line): Make global.
27909 (grub_sh_parser): Removed.
27910 (GRUB_MOD_INIT): Likewise.
27911 (GRUB_MOD_FINI): Likewise.
27912 * tests/lib/functional_test.c (grub_functional_test): Use
27913 FOR_LIST_ELEMENTS.
27914 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
27915 (grub_test_run): Use FOR_LIST_ELEMENTS.
27916 * tests/lib/unit_test.c (main): Likewise.
27917 * util/deviceiter.c (grub_util_iterate_devices): Don't use
27918 grub_list_pop.
27919 * util/grub-fstest.c (grub_term_input_class): Removed.
27920 (grub_term_output_class): Likewise.
27921 * util/grub-probe.c: Likewise.
27922 * util/i386/pc/grub-setup.c: Likewise.
27923 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27924 * util/grub-script-check.c (main): Don't call grub_init_all and
27925 grub_fini_all.
27926 * video/video.c (grub_video_adapter_list): Make global.
27927 (grub_video_register): Removed.
27928 (grub_video_unregister): Likewise.
27929 (grub_video_iterate): Likewise.
27930
6289c3a7
VS
279312010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
27932
27933 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
27934 reported by Henrique Ferreiro.
27935
91460247
RM
279362010-06-09 Robert Millan <rmh@gnu.org>
27937
27938 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
27939 ones, when both are available.
27940
0ea7c4f9
GS
279412010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27942
27943 Make --version uniform and avoid hard-coded program name.
27944
27945 * util/grub-mkimage.c (main): Use `program_name' instead of
27946 hard-coded string.
27947 * util/i386/pc/grub-setup.c (main): Likewise.
27948 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
27949 * util/grub-install.in: Save the basename of $0 in $self, and use the
27950 latter in informational messages. Use the same format for --version
27951 as the binary programs.
27952 * util/grub-mkconfig.in: Likewise.
27953 * util/grub-mkrescue.in: Likewise.
27954 * util/grub-reboot.in: Likewise.
27955 * util/grub-set-default.in: Likewise.
27956 * util/i386/efi/grub-install.in: Likewise.
27957 * util/ieee1275/grub-install.in: Likewise.
27958 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27959
e8a6f3b6
GS
279602010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27961
27962 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
27963 embedding area. Use <= instead of == when checking for non-emptiness.
27964
f4d095d7
GS
279652010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27966
27967 * configure.ac: Add `.' to the directories searched for unifont.
27968
50e532ca
CW
279692010-06-08 Colin Watson <cjwatson@ubuntu.com>
27970
27971 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
27972 grub_script.yy.h.
27973
d39f3dec
CW
279742010-06-08 Colin Watson <cjwatson@ubuntu.com>
27975
27976 * docs/grub.texi (History): Expand to cover GRUB 2.
27977 (Serial terminal): Refer to `terminal_input' and `terminal_output'
27978 commands, not `terminal'.
27979 (serial): Likewise.
27980 (terminal_input): New section.
27981 (terminal_output): New section.
27982 (uppermem): New section (stub).
27983 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
27984
6ef0ddb4
CW
279852010-06-08 Colin Watson <cjwatson@ubuntu.com>
27986
27987 * docs/grub.texi (Security): Menu entries are unrestricted by
27988 default, not restricted to superusers as I had previously thought.
27989 Reword to account for this.
27990
e0f4c438
CW
279912010-06-07 Colin Watson <cjwatson@ubuntu.com>
27992
27993 * kern/emu/misc.c (device_mapper_null_log): New function.
27994 (grub_device_mapper_supported): New function.
27995 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
27996 prototype.
27997 * kern/emu/hostdisk.c (find_partition_start): Check whether
27998 device-mapper is supported before trying to use it.
27999 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
28000
da908200
CW
280012010-06-07 Colin Watson <cjwatson@ubuntu.com>
28002
28003 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
28004 (File name syntax): Likewise.
28005 (help): --all is no longer supported in GRUB 2. Be more precise
28006 about pattern matching.
28007
fb55c3ac
CW
280082010-06-07 Colin Watson <cjwatson@ubuntu.com>
28009
28010 * normal/completion.c (grub_normal_do_completion): When completing
28011 arguments to "set" and the current word contains an equals sign,
28012 skip to after the equals sign before starting completion.
28013
258c2573
CW
280142010-06-07 Colin Watson <cjwatson@ubuntu.com>
28015
28016 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
28017
ee75515e
CW
280182010-06-07 Colin Watson <cjwatson@ubuntu.com>
28019
28020 * docs/grub.texi (Network): New section.
28021 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
28022 `(nd)' as in GRUB Legacy.
28023 (pxe_unload): New section.
28024
a6a700aa
CW
280252010-06-07 Colin Watson <cjwatson@ubuntu.com>
28026
28027 * docs/grub.texi (Troubleshooting): `echo' is not usually available
28028 in the rescue shell, so recommend using `set' instead. Thanks,
28029 Jordan Uggla.
28030
4003dd38
CW
280312010-06-07 Colin Watson <cjwatson@ubuntu.com>
28032
28033 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
28034 (password): New section.
28035 (password_pbkdf2): New section.
28036 (search): New section.
28037 (Security): New section.
28038 (Troubleshooting): New section, currently very incomplete.
28039 (Invoking grub-mkpasswd-pbkdf2): New section.
28040 (Internals): New section, currently very incomplete.
28041
e1cbcc40
CW
280422010-06-07 Colin Watson <cjwatson@ubuntu.com>
28043
28044 * util/grub.d/00_header.in: Add some more quoting (of
28045 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
28046 work again.
28047 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
28048
db8fa1ad
CW
280492010-06-07 Colin Watson <cjwatson@ubuntu.com>
28050
28051 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
28052 to `count', fixing variable shadowing that broke the -c option.
28053
280542010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
28055
28056 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
28057 in case they contain spaces.
28058
f28a9212
CW
280592010-06-04 Colin Watson <cjwatson@ubuntu.com>
28060
28061 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
28062 "part_" to partmap module names, in line with grub-install.
28063 Reported by: Jindřich Makovička (Debian bug #584426).
28064
9cdfe32f
CW
280652010-06-04 Colin Watson <cjwatson@ubuntu.com>
28066
28067 * util/grub-mkimage.c: Make target-related error messages slightly
28068 more helpful; -O talks about "format". Explicitly point to the use
28069 of -O if no target is specified.
28070 Reported by: Didier Raboud (Debian bug #584415).
28071
795b593a
CW
280722010-06-03 Colin Watson <cjwatson@ubuntu.com>
28073
28074 * INSTALL: Document several build requirements for optional features
28075 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
28076
9d9b5833
GS
280772010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
28078
28079 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
28080 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
28081 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
28082
0819fec8
CW
280832010-06-02 Colin Watson <cjwatson@ubuntu.com>
28084
28085 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
28086 Thanks to Jordan Uggla for spotting this.
28087
49396b4f
VS
280882010-06-02 Aleš Nesrsta <starous@volny.cz>
28089
28090 Finally make USB usable.
28091
28092 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
28093 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
28094 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
28095 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
28096 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
28097 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
28098 (GRUB_OHCI_FSMPS): Likewise.
28099 (GRUB_OHCI_PERIODIC_START): Likewise.
28100 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
28101 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
28102 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
28103 (GRUB_OHCI_SET_PORT_RESET): Likewise.
28104 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
28105 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
28106 (grub_ohci_transaction): Likewise.
28107 (grub_ohci_transfer): Improve condition detection algorithms.
28108 Handle toggle property. Program the transactions correctly.
28109 Improve error handling. Various important fixups.
28110 (grub_ohci_portstatus): Put register writes in right order.
28111 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
28112 (grub_uhci_transfer): Don't show "failed" message on success.
28113 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
28114 array.
28115 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
28116 determine its size.
28117 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
28118 before initialization is completed. Use IN direction for empty
28119 transfers. Use last_trans and compute toggle.
28120 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
28121 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
28122 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
28123 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
28124 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
28125 (grub_usb_device): Increase toggle to 256.
28126 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
28127 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
28128 GRUB_USBMS_SUBCLASS_SFF8070.
28129 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
28130 (grub_scsi_inquiry): New member page and alloc_length.
28131 (grub_scsi_request_sense): New structure.
28132 (grub_scsi_request_sense_data): Likewise.
28133 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
28134 control.
28135 * disk/scsi.c (grub_scsi_request_sense): New function.
28136 (grub_scsi_test_unit_ready): Likewise.
28137 (grub_scsi_inquiry): Fill new fields.
28138 (grub_scsi_read_capacity): Likewise.
28139 (grub_scsi_read10): Add request sense at the end.
28140 (grub_scsi_read12): Likewise.
28141 (grub_scsi_write10): Likewise.
28142 (grub_scsi_write12): Likewise.
28143 (grub_scsi_open): Add Test Unit Ready.
28144 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
28145 Support additional subclasses. Con't clear halt yet. Activate the
28146 proper config. Calculate LUNs correctly.
28147 (grub_usbms_transfer): Various important fixups.
28148
281492010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28150
28151 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
28152 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
28153 (grub_ohci_fini_hw): New function.
28154 (grub_ohci_restore_hw): Likewise.
28155 (GRUB_MOD_INIT(ohci)): Register preboot hook.
28156 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
28157 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
28158
281592010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28160
28161 Dedicated DMA allocations.
28162
28163 * bus/pci.c (grub_memalign_dma32): New function
28164 (grub_dma_free): Likewise.
28165 (grub_dma_get_virt): Likewise.
28166 (grub_dma_get_phys): Likewise.
28167 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
28168 (grub_ohci_pci_iter): Use dma32_alloc.
28169 (grub_ohci_transfer): Likewise.
28170 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
28171 (grub_usb_bulk_readwrite): Likewise.
28172 * include/grub/pci.h: Add declarations.
28173
281742010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28175
28176 CS5536 support.
28177
28178 * bus/cs5536.c: New file.
28179 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
28180 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
28181 (cs5536_mod_SOURCES): New variable.
28182 (cs5536_mod_CFLAGS): Likewise.
28183 (cs5536_mod_LDFLAGS): Likewise.
28184 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
28185 machine/pci.h.
28186 (kernel_img_SOURCES): Add bus/cs5536.c.
28187 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
28188 usb_keyboard.mod.
28189 (usb_mod_SOURCES): New variable.
28190 (usb_mod_CFLAGS): New variable.
28191 (usb_mod_LDFLAGS): New variable.
28192 (usbtest_mod_SOURCES): New variable.
28193 (usbtest_mod_CFLAGS): New variable.
28194 (usbtest_mod_LDFLAGS): New variable.
28195 (ohci_mod_SOURCES): New variable.
28196 (ohci_mod_CFLAGS): New variable.
28197 (ohci_mod_LDFLAGS): New variable.
28198 (usbms_mod_SOURCES): New variable.
28199 (usbms_mod_CFLAGS): New variable.
28200 (usbms_mod_LDFLAGS): New variable.
28201 (usb_keyboard_mod_SOURCES): New variable.
28202 (usb_keyboard_mod_CFLAGS): New variable.
28203 (usb_keyboard_mod_LDFLAGS): New variable.
28204 * include/grub/smbus.h: New file.
28205 * include/grub/cs5536.h: New file.
28206
0b35b2a9
CW
282072010-06-02 Colin Watson <cjwatson@ubuntu.com>
28208
28209 * util/grub.d/00_header.in: Add safety check to make sure that
28210 ${locale_dir} exists before trying to probe it.
28211
ca0afd5b
CW
282122010-06-02 Colin Watson <cjwatson@ubuntu.com>
28213
28214 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
28215 per the GNU Coding Standards; this is now too obscure to be worth
28216 documenting.
28217 (QNX): Likewise.
28218 (chainloader): Remove cross-reference to `SCO UnixWare'.
28219
1c41aa78
CW
282202010-06-02 Colin Watson <cjwatson@ubuntu.com>
28221
28222 * docs/grub.texi (Chain-loading): New section.
28223 (DOS/Windows): New section, borrowed from GRUB Legacy with details
28224 adjusted for GRUB 2.
28225 (SCO UnixWare): Likewise.
28226 (QNX): Likewise.
28227 (chainloader): Add reference to `Block list syntax'.
28228 (drivemap): New section.
28229 (parttool): New section.
28230
bb8ea0f5
CW
282312010-06-02 Colin Watson <cjwatson@ubuntu.com>
28232
28233 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
28234 the grub shell'.
28235 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
28236 (Installing GRUB using grub-install): Remove reference to the grub
28237 shell; mention `grub-mkimage' and `grub-setup' instead.
28238 (Invoking grub-install): Likewise.
28239 (Interface): Add reference to `Menu entry editor'.
28240 (serial): Remove `--device' option.
28241
288dd6ed
CW
282422010-06-02 Colin Watson <cjwatson@ubuntu.com>
28243
28244 * docs/grub.texi (Configuration): New section, documenting
28245 configuration file generation using grub-mkconfig. I've left a slot
28246 for documenting the full shell scripting format but have not yet
28247 started on writing that up.
28248 (Invoking grub-mkconfig): New section.
28249
34c9f0e9
CW
282502010-06-02 Colin Watson <cjwatson@ubuntu.com>
28251
28252 * docs/grub.texi (direntry): Remove grub-terminfo reference.
28253 (GNU GRUB manual): Likewise.
28254 (General commands): Update description of `terminfo' for GRUB 2.
28255
9121567e
CW
282562010-06-02 Colin Watson <cjwatson@ubuntu.com>
28257
28258 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
28259 (GRUB_MOD_INIT): Fix capitalisation.
28260 * docs/grub.texi (Command-line and menu entry commands): Document
28261 gettext and gptsync commands.
28262
ab631611
CW
282632010-06-02 Colin Watson <cjwatson@ubuntu.com>
28264
28265 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
28266 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
28267
bde4a9ac
CW
282682010-06-01 Colin Watson <cjwatson@ubuntu.com>
28269
28270 Add btrfs probing support, currently only in the single-device case.
28271
28272 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
28273 function.
28274 (grub_guess_root_device): Call find_root_device_from_mountinfo
28275 before looking in /dev.
28276
b1d17e10
VS
282772010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28278
28279 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
28280 GRUB_DISK_SIZE_UNKNOWN.
28281 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
28282
dfbfe004
JS
282832010-05-31 Jiro SEKIBA <jir@unicus.jp>
28284
28285 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
28286 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
28287 corrupted or not synced properly.
28288
c2ffc8e9
VS
282892010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28290
28291 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
28292 Reported by: Seth Goldberg.
28293
56293166
VS
282942010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28295
28296 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
28297 addition of dest.
28298 Reported by: Seth Goldberg.
28299
7620e7de
VS
283002010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28301
28302 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
28303 Reported by: Seth Goldberg.
28304
c837af3f
VS
283052010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28306
28307 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
28308 64-bit address as signed on MIPS.
28309
c7c75cf4
CW
283102010-05-28 Colin Watson <cjwatson@ubuntu.com>
28311
28312 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
28313 to the empty string.
28314
fa4b8490
BC
283152010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
28316
28317 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
28318
28319 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
28320 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
28321 * kern/misc.c (__enable_execute_stack): Disable on
28322 GRUB_MACHINE_EMU.
28323
a33075b9
CW
283242010-05-28 Colin Watson <cjwatson@ubuntu.com>
28325
28326 Make grub-probe work with symbolic links under /dev/mapper as well
28327 as with real block devices. The Linux world seems to be (at best)
28328 in transition here, and GRUB shouldn't get caught in the middle.
28329
28330 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
28331 /dev/mapper.
28332
d8708134
CW
283332010-05-27 Colin Watson <cjwatson@ubuntu.com>
28334
28335 * util/grub-script-check.c (main): Ensure defined behaviour on empty
28336 input files (in which case exit zero).
28337
db2102a0
CW
283382010-05-27 Colin Watson <cjwatson@ubuntu.com>
28339
28340 * kern/emu/misc.c (canonicalize_file_name): realpath can still
28341 return NULL for various reasons even if it has a maximum-length
28342 buffer: for example, there might be a symlink loop, or the path
28343 might exceed PATH_MAX. If this happens, return NULL.
28344
5fdba519
RM
283452010-05-27 Robert Millan <rmh@gnu.org>
28346
28347 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
28348 partmap module to handle cross-partmap setups.
28349 Reported by Orestes Mas. Gràcies!
28350
d1d368e4
CW
283512010-05-27 Colin Watson <cjwatson@ubuntu.com>
28352
28353 * util/grub-mkrescue.in: Initialise override_dir rather than
28354 assuming that it's unset or empty in the environment.
28355
95ac3c73
GS
283562010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
28357
28358 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
28359 variable index into p_index to suppress a warning with -Wshadow.
28360
7d8c0213
BC
283612010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
28362
28363 * INSTALL: Added flex >= 2.5.35 requirement.
28364
db4d5813
VS
283652010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28366
28367 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
28368
f24f4300
VS
283692010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28370
28371 cmostest support.
28372
28373 * commands/i386/cmostest.c: New file.
28374 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
28375 (cmostest_mod_SOURCES): New variable.
28376 (cmostest_mod_CFLAGS): Likewise.
28377 (cmostest_mod_LDFLAGS): Likewise.
28378 * conf/i386-pc.rmk: Likewise.
28379 * docs/grub.texi (Vendor power-on keys): New section.
28380 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
28381 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
28382 and GRUB_BUTTON_CMOS_ADDRESS.
28383 * util/grub.d/00_header.in: Handle powering-on by separate button.
28384
ad603f61
VS
283852010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28386
28387 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
28388 Removed drawing_scrollbar argument. All users updated
28389 Fixes #29792.
28390 Reported by Jo Shields
28391
3ecb080a
VS
283922010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28393
28394 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
28395 buffer since gfxterm handles double repaint.
28396
5f2316c1
VS
283972010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28398
28399 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
28400 * term/gfxterm.c (real_scroll): Likewise.
28401
9a25f885
VS
284022010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28403
28404 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
28405 before calling BIOS.
28406
39fbb79a
VS
284072010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28408
28409 * include/grub/i18n.h: Always enable grub_gettext.
28410
228cfa97
VS
284112010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28412
28413 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
28414 partition naming style.
28415
21717c8f
CW
284162010-05-21 Colin Watson <cjwatson@ubuntu.com>
28417
28418 * util/grub-mkconfig.in: Fix handling of -o so that it works when
28419 not the first option.
28420
c0f48e65
CW
284212010-05-20 Colin Watson <cjwatson@ubuntu.com>
28422
28423 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
28424
96779aec
CW
284252010-05-20 Colin Watson <cjwatson@ubuntu.com>
28426
28427 * util/misc.c: Move inclusion of <limits.h> to ...
28428 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
28429
fa9d256e
GS
284302010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
28431
28432 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
28433 Fix merge error in NetBSD code.
28434 (find_partition_start) [__NetBSD__]: Likewise.
28435
123b7a85
BC
284362010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
28437
28438 Fix grub-mkrescue usage unit testing.
28439
28440 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
28441
74276c0d
CF
284422010-05-18 Christian Franke <franke@computer.org>
28443
28444 * util/grub.d/10_windows.in: Use path names instead of
28445 drive letters to prevent warning from Cygwin 1.7.
28446 Add drivemap command to menuentry if needed.
28447
c4f7b523
ST
284482010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
28449
28450 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
28451 gnumach and gnumach.gz.
28452
95b97950
VS
284532010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28454
28455 * include/grub/i18n.h (gettext): Inline instead of using #define.
28456 (grub_gettext): Likewise.
28457 (_): Likewise.
28458
01b8d2d7
VS
284592010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28460
28461 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
28462 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
28463 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
28464 (main): Add a slash after pkglibdirroot.
28465
654e1d1e
VS
284662010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28467
28468 * util/grub-install.in: Add missing "in" keyword.
28469
26966aeb
VS
284702010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28471
28472 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
28473 Reported by: Seth Goldberg.
28474
75006747
VS
284752010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28476
28477 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
28478
74cbf5bd
CW
284792010-05-18 Colin Watson <cjwatson@ubuntu.com>
28480
28481 * configure.ac: Check for Linux device-mapper support.
28482
28483 * util/hostdisk.c (device_is_mapped): New function.
28484 (find_partition_start): New function, partly broken out from
28485 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
28486 device-mapper support added.
28487 (linux_find_partition): Use find_partition_start.
28488 (convert_system_partition_to_system_disk): Add `st' argument.
28489 Support Linux /dev/mapper/* devices if device-mapper support is
28490 available; only DM-RAID devices are understood at present.
28491 (find_system_device): Add `st' argument. Pass it to
28492 convert_system_partition_to_system_disk.
28493 (grub_util_biosdisk_get_grub_dev): Pass stat result to
28494 find_system_device and convert_system_partition_to_system_disk. Use
28495 find_partition_start.
28496
28497 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
28498 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
28499 * util/deviceiter.c [__linux__]: Define MINOR.
28500 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
28501 * util/mkdevicemap.c (grub_putchar): New function.
28502 (grub_getkey): New function.
28503 (grub_refresh): New function.
28504 (main): Set debug=all if -v -v is used.
28505
355b51e9
CW
285062010-05-18 Colin Watson <cjwatson@ubuntu.com>
28507
28508 Fix build with non-GNU libcs.
28509
28510 * util/misc.c (canonicalize_file_name): Move to ...
28511 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
28512 grub_make_system_path_relative_to_its_root.
28513
7fb5c25f
CW
285142010-05-18 Colin Watson <cjwatson@ubuntu.com>
28515
28516 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
28517 we handle finding grub-mkimage. Default to finding grub-mkimage in
28518 ${bindir} with program_transform_name applied, and provide a
28519 --grub-mkimage option to override this.
28520
1d3293d6
VS
285212010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28522
28523 Remove grub-mkisofs.
28524
28525 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
28526 (grub_mkisofs_SOURCES): Removed.
28527 (grub_mkisofs_CFLAGS): Removed.
28528 * util/mkisofs/defaults.h: Removed.
28529 * util/mkisofs/eltorito.c: Likewise.
28530 * util/mkisofs/exclude.h: Likewise.
28531 * util/mkisofs/hash.c: Likewise.
28532 * util/mkisofs/include/: Likewise.
28533 * util/mkisofs/include/fctldefs.h: Likewise.
28534 * util/mkisofs/include/mconfig.h: Likewise.
28535 * util/mkisofs/include/prototyp.h: Likewise.
28536 * util/mkisofs/include/statdefs.h: Likewise.
28537 * util/mkisofs/iso9660.h: Likewise.
28538 * util/mkisofs/joliet.c: Likewise.
28539 * util/mkisofs/match.c: Likewise.
28540 * util/mkisofs/match.h: Likewise.
28541 * util/mkisofs/mkisofs.c: Likewise.
28542 * util/mkisofs/mkisofs.h: Likewise.
28543 * util/mkisofs/msdos_partition.h: Likewise.
28544 * util/mkisofs/multi.c: Likewise.
28545 * util/mkisofs/name.c: Likewise.
28546 * util/mkisofs/rock.c: Likewise.
28547 * util/mkisofs/tree.c: Likewise.
28548 * util/mkisofs/write.c: Likewise.
28549
5dde9afe
VS
285502010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28551
28552 Unify grub-mkimage accross platforms.
28553
28554 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
28555 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
28556 (grub_mkelfimage_SOURCES): Removed.
28557 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
28558 (util/grub-mkimage.c_DEPENDENCIES): .. this.
28559 (bin_UTILITIES): Add grub-mkimage.
28560 (grub_mkimage_SOURCES): New variable.
28561 (kernel_img_HEADERS): Remove machine/kernel.h.
28562 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
28563 (pkglib_PROGRAMS): Add kernel.img.
28564 (kernel_img_HEADERS): Add machine/kernel.h.
28565 (kernel_img_FORMAT): Removed.
28566 (bin_UTILITIES): Remove grub-mkimage.
28567 (grub_mkimage_SOURCES): Removed.
28568 (grub_mkimage_CFLAGS): Likewise.
28569 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28570 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
28571 (pkglib_PROGRAMS): Add kernel.img.
28572 (bin_UTILITIES): Remove grub-mkimage.
28573 (grub_mkimage_SOURCES): Removed.
28574 (grub_mkimage_CFLAGS): Likewise.
28575 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28576 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
28577 (pkglib_PROGRAMS): Add kernel.img.
28578 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
28579 (pkglib_PROGRAMS): Add kernel.img.
28580 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
28581 (grub_mkimage_SOURCES): Removed.
28582 (grub_mkimage_CFLAGS): Likewise.
28583 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28584 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
28585 (pkglib_PROGRAMS): Add kernel.img.
28586 (bin_UTILITIES): Remove grub-mkimage.
28587 (grub_mkimage_SOURCES): Removed.
28588 (grub_mkimage_CFLAGS): Likewise.
28589 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28590 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
28591 (grub_mkimage_SOURCES): Removed.
28592 (grub_mkimage_CFLAGS): Likewise.
28593 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28594 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
28595 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
28596 (grub_pe32_optional_header): ... this.
28597 (grub_pe64_optional_header): ... and this. All users updated.
28598 (GRUB_PE32_PE32_MAGIC): Split into ..
28599 (GRUB_PE32_PE32_MAGIC): .. this.
28600 (GRUB_PE32_PE64_MAGIC): .. and this.
28601 (GRUB_PE32_SIGNATURE_SIZE): New definition.
28602 * include/grub/elf.h (PT_GNU_STACK): New definition.
28603 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
28604 * include/grub/i386/efi/kernel.h: Likewise.
28605 * include/grub/i386/kernel.h: Likewise.
28606 * include/grub/i386/pc/kernel.h: Likewise.
28607 * include/grub/i386/qemu/boot.h: Likewise.
28608 * include/grub/mips/kernel.h: Likewise.
28609 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28610 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28611 * include/grub/powerpc/kernel.h: Likewise.
28612 * include/grub/sparc64/ieee1275/boot.h: Likewise.
28613 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28614 * include/grub/sparc64/kernel.h: Likewise.
28615 * include/grub/x86_64/efi/kernel.h: Likewise.
28616 * include/grub/x86_64/kernel.h: Likewise.
28617 * include/grub/offsets.h: New file.
28618 * include/grub/kernel.h (grub_module_info): Split into ...
28619 (grub_module_info32): ... this.
28620 (grub_module_info64): ... and this.
28621 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
28622 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
28623 (grub_boot_blocklist): Moved from here ...
28624 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
28625 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
28626 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
28627 * include/grub/types.h (grub_target_to_host16): Removed.
28628 (grub_target_to_host32): Likewise.
28629 (grub_target_to_host64): Likewise.
28630 (grub_host_to_target16): Likewise.
28631 (grub_host_to_target32): Likewise.
28632 (grub_host_to_target64): Likewise.
28633 (grub_host_to_target_addr): Likewise.
28634
28635 Support grub-mkrescue for efi, coreboot and qemu.
28636
28637 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
28638 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
28639 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
28640 * util/grub-mkrawimage.c: Moved from here ...
28641 * util/grub-mkimage.c: ... here. All users updated.
28642 (ALIGN_ADDR): Use image_target.
28643 (TARGET_NO_FIELD): New const.
28644 (image_target_desc): New type.
28645 (image_targets): New array.
28646 (grub_target_to_host64): Use image_target.
28647 (grub_target_to_host32): Likewise.
28648 (grub_target_to_host16): Likewise.
28649 (grub_host_to_target64): Likewise.
28650 (grub_host_to_target32): Likewise.
28651 (grub_host_to_target16): Likewise.
28652 (grub_host_to_target_addr): Likewise.
28653 (generate_image): Handle multiimage.
28654 (main): Require -O parameter. All users updated.
28655 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
28656 util/efi/grub-mkimage.c
28657 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
28658 New option --rom-directory.
28659 Use xorriso.
28660 * util/i386/efi/grub-mkimage.c: Removed.
28661 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
28662 (grub_target_to_host32): Likewise.
28663 (grub_target_to_host64): Likewise.
28664 (grub_host_to_target16): Likewise.
28665 (grub_host_to_target32): Likewise.
28666 (grub_host_to_target64): Likewise.
28667 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
28668 (grub_target_to_host32): Likewise.
28669 (grub_target_to_host64): Likewise.
28670 (grub_host_to_target16): Likewise.
28671 (grub_host_to_target32): Likewise.
28672 (grub_host_to_target64): Likewise.
28673
f4fc97d0
BC
286742010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
28675
28676 Source tree is reorganized for emu build.
28677
28678 * include/grub/util/console.h: Move from here...
28679 * include/grub/emu/console.h: ...to here.
28680 * include/grub/util/getroot.h: Move from here...
28681 * include/grub/emu/getroot.h: ...to here.
28682 * include/grub/util/hostdisk.h: Move from here...
28683 * include/grub/emu/hostdisk.h: ...to here.
28684 * util/console.c: Move from here...
28685 * kern/emu/console.c: ...to here.
28686 * util/getroot.c: Move from here...
28687 * kern/emu/getroot.c: ...to here.
28688 * util/grub-emu.c: Move from here...
28689 * kern/emu/main.c: ...to here.
28690 * util/hostdisk.c: Move from here...
28691 * kern/emu/hostdisk.c: ...to here.
28692 * util/hostfs.c: Move from here...
28693 * kern/emu/hostfs.c: ...to here.
28694 * util/mm.c: Move from here...
28695 * kern/emu/mm.c: ...to here.
28696 * util/pci.c: Move from here...
28697 * bus/emu/pci.c: ...to here.
28698 * util/sdl.c: Move from here...
28699 * video/emu/sdl.c: ...to here.
28700 * util/time.c: Move from here...
28701 * kern/emu/time.c: ...to here.
28702 * util/usb.c: Move from here...
28703 * bus/usb/emu/usb.c: ...to here.
28704
28705 * include/grub/emu/misc.h: New header for grub-emu functions.
28706 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
28707
28708 * conf/any-emu.rmk: Rule updates for above renames.
28709 * conf/common.rmk: Likewise.
28710 * conf/i386-pc.rmk: Likewise.
28711 * conf/i386-qemu.rmk: Likewise.
28712 * conf/mips.rmk: Likewise.
28713 * conf/sparc64-ieee1275.rmk: Likewise.
28714 * conf/x86-efi.rmk: Likewise.
28715
28716 * disk/lvm.h: #include updates for above renames.
28717 * util/grub-mkrelpath.c: Likewise.
28718 * util/grub-probe.c: Likewise.
28719 * util/i386/pc/grub-setup.c: Likewise.
28720 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28721 * kern/emu/console.c: Likewise.
28722 * kern/emu/getroot.c: Likewise.
28723 * kern/emu/hostdisk.c: Likewise.
28724 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
28725
28726 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
28727 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
28728 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
28729 * util/misc.c: Remove grub-emu functions.
28730
cced9145
VS
287312010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
28732
28733 Fix gfxmenu crash.
28734 Reported by: Thorsten Grützmacher.
28735
28736 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
28737 timeout hook.
28738 (circprog_set_property): Register and unregister timeout hook.
28739 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
28740 (label_destroy): Free template. and unregister hook.
28741 (label_set_state): New function.
28742 (label_set_property): Handle templates and hooks.
28743 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
28744 timeout hook.
28745 (progress_bar_set_property): Register and unregister timeout hook.
28746 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
28747 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
28748 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
28749 (update_timeout_visit): Removed.
28750 (update_timeouts): New function.
28751 (redraw_timeouts): Likewise.
28752 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
28753 (grub_gfxmenu_clear_timeout): Likewise.
28754 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
28755 (grub_gfxmenu_timeout_notify): Likewise.
28756 (grub_gfxmenu_timeout_notifications): New external variable.
28757 (grub_gfxmenu_timeout_register): New function.
28758 (grub_gfxmenu_timeout_unregister): Likewise.
28759
c6e5caab
VS
287602010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28761
28762 Transform (broken) vga terminal into (working) vga video driver.
28763
28764 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
28765 video/i386/pc/vga.c.
28766 * include/grub/video.h (grub_video_driver_id):
28767 Add GRUB_VIDEO_DRIVER_VGA.
28768 * term/i386/pc/vga.c: Renamed to ...
28769 * video/i386/pc/vga.c: ...this
28770 (DEBUG_VGA): Removed.
28771 (CHAR_WIDTH): Likewise.
28772 (CHAR_HEIGHT): Likewise.
28773 (TEXT_WIDTH): Likewise.
28774 (TEXT_HEIGHT): Likewise.
28775 (DEFAULT_FG_COLOR): Likewise.
28776 (DEFAULT_BG_COLOR): Likewise.
28777 (colored_char): Likewise.
28778 (xpos): Likewise.
28779 (ypos): Likewise.
28780 (cursor_state): Likewise.
28781 (fg_color): Likewise.
28782 (bg_color): Likewise.
28783 (text_buf): Likewise.
28784 (page): Likewise.
28785 (font): Likewise.
28786 (framebuffer): New variable.
28787 (set_read_map): Disabled.
28788 (setup): New variable.
28789 (is_target): Likewise.
28790 (grub_vga_mod_init): Likewise.
28791 (grub_vga_mod_fini): Likewise.
28792 (check_vga_mem): Likewise.
28793 (write_char): Likewise.
28794 (write_cursor): Likewise.
28795 (scroll_up): Likewise.
28796 (grub_vga_putchar): Likewise.
28797 (grub_vga_getcharwidth): Likewise.
28798 (grub_vga_getwh): Likewise.
28799 (grub_vga_getxy): Likewise.
28800 (grub_vga_gotoxy): Likewise.
28801 (grub_vga_cls): Likewise.
28802 (grub_vga_setcolorstate): Likewise.
28803 (grub_vga_setcursor): Likewise.
28804 (grub_video_vga_init): New function.
28805 (grub_video_vga_setup): Likewise.
28806 (grub_video_vga_fini): Likewise.
28807 (update_target): Likewise.
28808 (grub_video_vga_blit_bitmap): Likewise.
28809 (grub_video_vga_blit_render_target): Likewise.
28810 (grub_video_vga_set_active_render_target): Likewise.
28811 (grub_video_vga_get_active_render_target): Likewise.
28812 (grub_video_vga_swap_buffers): Likewise.
28813 (grub_video_vga_set_palette): Likewise.
28814 (grub_video_vga_get_info_and_fini): Likewise.
28815 (grub_vga_term): Removed.
28816 (grub_video_vga_adapter): New variable.
28817 (GRUB_MOD_INIT): Register a video driver instead of terminal.
28818 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
28819
2bf61a98
VS
288202010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28821
28822 * video/readers/jpeg.c: Indented.
28823
09ddcd11
VS
288242010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28825
28826 Various jpeg cleanups.
28827
28828 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
28829 (grub_jpeg_decode_quan_table): Use sizeof.
28830 (grub_jpeg_decode_du): Use ARRAY_SIZE.
28831
e5507505
PH
288322010-05-05 Peter Hurley <No e-mail available> (tiny change)
28833
28834 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
28835 tables. Ignore non-last ac bit.
28836 (grub_jpeg_decode_quan_table): Likewise.
28837
7e720a9b
VS
288382010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28839
28840 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
28841 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
28842 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28843 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
28844 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
28845 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
28846
a7fc080b
VS
288472010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28848
28849 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
28850 error.
28851
2bf6012d
VS
288522010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28853
28854 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
28855
265d68cd
VS
288562010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28857
28858 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
28859 condition.
28860
288612010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
28862
28863 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
28864 part.
28865
265d68cd 288662010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
28867
28868 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
28869 pointers.
28870
265d68cd 288712010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
28872
28873 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
28874
d1b61374
CF
288752010-05-01 Christian Franke <franke@computer.org>
28876
28877 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
28878 Remove broken Cygwin path conversion.
28879 * util/misc.c: [__CYGWIN__] Add include and define.
28880 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
28881 for Cygwin 1.7.
28882 (make_system_path_relative_to_its_root): Simplify loop, replace early
28883 return by break.
28884 [__CYGWIN__] Add conversion to win32 path.
28885 Include "/" case in trailing slash removal.
28886
3558c6e9
VS
288872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28888
28889 * kern/main.c (grub_load_config): Fix copy-pasted comment.
28890 Reported by: Seth Goldberg
28891
f5f3ff93
VS
288922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28893
28894 * commands/help.c (grub_cmd_help): Fix a typo.
28895 Reported by: Seth Goldberg
28896
d8b5cd40
VS
288972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28898
28899 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
28900 name and add N_.
28901 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
28902 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
28903 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
28904 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
28905 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
28906 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
28907 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28908 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28909 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28910 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28911 * normal/context.c (GRUB_MOD_INIT): Likewise.
28912 * normal/main.c (GRUB_MOD_INIT): Likewise.
28913 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28914 * term/serial.c (GRUB_MOD_INIT): Likewise.
28915 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28916
88c14915
VS
289172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28918
28919 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
28920 extra == 0.
28921
165134bc
VS
289222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28923
28924 * commands/iorw.c: New file.
28925 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
28926 (iorw_mod_SOURCES): New variable.
28927 (iorw_mod_CFLAGS): Likewise.
28928 (iorw_mod_LDFLAGS): Likewise.
28929
c5ac9b32
VS
289302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28931
28932 Hotkey support
28933
28934 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
28935 * normal/main.c (hotkey_aliases): New variable.
28936 (grub_normal_add_menu_entry): Parse "--hotkey".
28937 * normal/menu_text.c (run_menu): Handle hotkeys.
28938
ce60689c
VS
289392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28940
28941 * kern/i386/coreboot/init.c (grub_machine_init): Call
28942 grub_machine_mmap_init on qemu.
28943
0359d006
VS
289442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28945
28946 * boot/i386/qemu/boot.S: Add a missing .code16.
28947
7819a456
VS
289482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28949
28950 Use LBIO on coreboot.
28951
28952 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
28953 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
28954 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
28955 New declaration.
28956 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
28957 grub_machine_mmap_init on coreboot.
28958 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
28959 GRUB_LINUXBIOS_MEMBER_LINK.
28960 (grub_machine_mmap_iterate): Fix declaration.
28961 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
28962
7210dca9
VS
289632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28964
28965 Split coreboot and multiboot ports.
28966
28967 * conf/i386-multiboot.rmk: New file.
28968 * configure.ac: Add multiboot port.
28969 * include/grub/i386/multiboot/boot.h: New file.
28970 * include/grub/i386/multiboot/console.h: Likewise.
28971 * include/grub/i386/multiboot/init.h: Likewise.
28972 * include/grub/i386/multiboot/kernel.h: Likewise.
28973 * include/grub/i386/multiboot/loader.h: Likewise.
28974 * include/grub/i386/multiboot/memory.h: Likewise.
28975 * include/grub/i386/multiboot/serial.h: Likewise.
28976 * include/grub/i386/multiboot/time.h: Likewise.
28977 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
28978 * loader/multiboot.c: Likewise.
28979 * loader/multiboot_mbi2.c: Likewise.
28980 * util/grub-mkrescue.in: Generate multiboot rescue.
28981
6f8aaf68
VS
289822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28983
3080f7a7
VS
28984 * kern/parser.c (grub_parser_execute): Cope with read-only config.
28985
289862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28987
28988 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
28989
28990 * commands/terminal.c (abstract_terminal): New struct.
28991 (handle_command): New function. Based on grub_cmd_terminal_input.
28992 (grub_cmd_terminal_input): Use handle_command.
28993 (grub_cmd_terminal_output): Use handle_command.
28994
a8ebb841
BC
289952010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
28996
28997 Fix comment handling.
28998
28999 * tests/grub_script_comments.in: New testcase.
29000 * conf/tests.rmk: Rules for new testcase.
29001 * script/yylex.l: Updated flex rules.
29002
bb06ba08
ST
290032010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
29004
29005 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
29006 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
29007 if argc is 1.
bb06ba08 29008
cc9d2425
VS
290092010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
29010
29011 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
29012 autogen issues.
29013
460d8402
CF
290142010-04-26 Christian Franke <franke@computer.org>
29015
29016 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
29017 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
29018 (grub_get_prefix): Remove function.
29019 * util/grub-emu.c (main): Replace grub_get_prefix () call by
29020 make_system_path_relative_to_its_root ().
29021 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
29022
553c01f9
CF
290232010-04-24 Christian Franke <franke@computer.org>
29024
29025 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
29026 (kernel_img_LDFLAGS): Remove -static-libgcc.
29027
2aec1692
CF
290282010-04-24 Christian Franke <franke@computer.org>
29029
29030 * configure.ac: Do not CHECK_BSS_START_SYMBOL
29031 and CHECK_END_SYMBOL if grub-emu is built.
29032 Unset TARGET_OBJ2ELF if grub-emu is built
29033 without module support.
29034
f67dc308
JS
290352010-04-24 Jiro SEKIBA <jir@unicus.jp>
29036
29037 Nilfs2 support.
29038
29039 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
29040 (grub_fstest_SOURCES): Likewise.
29041 (pkglib_MODULES): Add nilfs2.mod.
29042 (nilfs2_mod_SOURCES): New variable.
29043 (nilfs2_mod_CFLAGS): Likewise.
29044 (nilfs2_mod_LDFLAGS): Likewise.
29045 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
29046 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
29047 * fs/nilfs2.c: New file.
29048
4ba8d354
VS
290492010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
29050
29051 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
29052 is not supported.
29053
0d2c20c6
GS
290542010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
29055
29056 Add grub-mkconfig support for NetBSD.
29057
29058 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
29059 * util/grub-mkconfig.in: export new NetBSD specific variables.
29060 * po/POTFILES-shell: added 10_netbsd.in.
29061 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
29062
bc4a2d83
BC
290632010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
29064
29065 Fix emu build with grub-emu-pci and grub-emu-modules.
29066
29067 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
29068 functions.
29069 * include/grub/libpciaccess.h: New file.
29070 * conf/any-emu.rmk: Update kernel headers for emu build.
29071
f48c87aa
VS
290722010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
29073
29074 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
29075
18959385
VS
290762010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
29077
29078 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
29079
0037de3f
VS
290802010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
29081
29082 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
29083 Retrieve chosen/bootpath if bootpath isn't hardcoded.
29084 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
29085 util/ieee1275/ofpath.c.
29086 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
29087 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
29088 * include/grub/sparc64/ieee1275/boot.h
29089 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
29090 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
29091 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
29092 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
29093 const char *.
29094 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
29095 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
29096 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
29097 install.
29098
38e55e90
GS
290992010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
29100
29101 * util/grub-mkconfig.in: Corrected two == equality tests.
29102 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
29103 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
29104 expect a number appended to it.
29105 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
29106 expects a number appended to it.
29107
a9e6ff28
VS
291082010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
29109
29110 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
29111
0b830b8f
VS
291122010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
29113
29114 * util/hostdisk.c (make_device_name): Change to new partition naming.
29115
0973daeb
VS
291162010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
29117
29118 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
29119
460d8402 291202010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
29121
29122 * Makefile.in: Add missing localedir setting.
29123
0b456309
CW
291242010-04-14 Colin Watson <cjwatson@ubuntu.com>
29125
29126 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
29127 mistake in r2156. Noticed by Anthony Fok.
29128
29129 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
29130 @localedir@.
29131 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29132
08f46d62
BC
291332010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
29134
29135 Fix a spurious, uninitialized variable warning.
29136
29137 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
29138 Initialize variable, shdr.
29139 (grub_freebsd_load_elfmodule): Likewise.
29140 (grub_freebsd_load_elf_meta): Likewise.
29141
8c4a72d4
BC
291422010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
29143
29144 Fix for escaped dollar in double quoted strings.
29145
29146 * script/yylex.l: Updated flex rules.
29147 * conf/tests.rmk: Rule for new testcase.
29148 * tests/grub_script_dollar.in: New testcase.
29149
ce44826e
CPE
291502010-04-13 Carles Pina i Estany <carles@pina.cat>
291512010-04-13 Colin Watson <cjwatson@ubuntu.com>
29152
29153 Enclose all translated strings in grub.cfg in single quotes, and
29154 escape them appropriately (Ubuntu bug #552921).
29155
29156 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
29157 * util/grub.d/10_hurd.in: Use it.
29158 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29159 * util/grub.d/10_linux.in (linux_entry): Likewise.
29160
4b0cd8f8
VS
291612010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29162
29163 Fix cygwin compilation.
29164
29165 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
29166 * include/grub/misc.h (__register_frame_info)
29167 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
29168 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
29169 * kern/misc.c (__register_frame_info)
29170 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
29171 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
29172
01fcf061
VS
291732010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29174
29175 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
29176
5d04b11e
VS
291772010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29178
29179 Unify libgcc processing.
29180
29181 * Makefile.in (kernel_img_LDFLAGS): New variable.
29182 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
29183 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
29184 overwriting.
29185 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
29186 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
29187 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
29188 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
29189 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
29190 overwriting. Remove -lgcc and -static-libgcc
29191 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
29192 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29193 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29194 (kernel_img_LDFLAGS): Append instead of overwriting.
29195 Remove -lgcc and -static-libgcc
29196 * conf/sparc64-ieee1275.rmk: Likewise.
29197 * include/grub/powerpc/libgcc.h: Move to ...
29198 * include/grub/libgcc.h: .. this.
29199 * include/grub/libgcc.h: Don't export most of the function on x86.
29200 (__bswapsi2): New export.
29201 (__bswapdi2): Likewise.
29202 * include/grub/mips/libgcc.h: Removed.
29203 * include/grub/sparc64/libgcc.h: Likewise.
29204
b7f3ac29
VS
292052010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29206
29207 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
29208 disk_info_msg (conflicts with gettexting into languages with cases).
29209
2c7031b1
GS
292102010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
29211
29212 Add grub-probe support for NetBSD.
29213
29214 * util/getroot.c (find_root_device): Convert block device to
29215 character device on NetBSD.
29216 * util/probe.c (probe): Require character device on NetBSD.
29217 * util/hostdisk.c: NetBSD specific headers.
29218 (configure_device_driver): new function to tune device driver
29219 parameters (currently only for NetBSD floppy driver).
29220 (grub_util_biosdisk_open): NetBSD specific code (get disk size
29221 via disklabel ioctl).
29222 (open_device): call configure_device_driver on NetBSD.
29223 (convert_system_partition_to_system_disk): NetBSD specific code.
29224 (device_is_wholedisk): Likewise.
29225 (grub_util_biosdisk_get_grub_dev): Likewise.
29226 (make_device_name): Fixed a typo in bsd_part_str.
29227 * configure.ac: check for opendisk() and getrawpartition() on
29228 NetBSD and set LIBUTIL.
29229 * Makefile.in: add LIBUTIL to LIBS.
29230
f516290c
BC
292312010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29232
29233 Documentation fix.
29234
29235 * util/grub-script-check.c: Better help message.
29236
d8dcc0df
BC
292372010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29238
29239 Fix FreeBSD build.
29240
29241 * configure.ac: Flex version check.
29242 * conf/common.rmk: Add -Wno-error to sh.mod.
29243 * script/yylex.l: Remove all #pragma.
29244
6734334a
VS
292452010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29246
29247 * include/grub/util/misc.h (canonicalise_file_name): Add missing
29248 prototype.
29249 Reported by: Seth Goldberg.
29250
daea6abd
VS
292512010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29252
29253 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
29254 Rename "module" to "module2".
29255 Reported by: Seth Goldberg.
29256
f2fd9d2b
VS
292572010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29258
29259 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
29260 EXPORT_FUNC.
29261 Reported by: Seth Goldberg.
29262
be124579
VS
292632010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29264
29265 * lib/posix_wrap/locale.h: Add missing file.
29266 Reported by: Seth Goldberg.
29267
ef5da797
VS
292682010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29269
29270 grub-emu module load support.
29271
29272 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
29273 NO_DYNAMIC_MODULES switched to this.
29274 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
29275 (CFLAGS): Likewise.
29276 * conf/any-emu.rmk: Generate symlist.
29277 (kernel_img_HEADERS): Add util/datetime.h.
29278 (kernel_img_HEADERS) [sdl]: Add sdl.h.
29279 (kernel_img_HEADERS) [libusb]: Add libusb.h.
29280 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
29281 kern/$(target_cpu)/cache.S.
29282 * configure.ac (grub-emu-modules): New option.
29283 * genmk.rb: Handle multiple source lists.
29284 * include/grub/sdl.h: New file.
29285 * include/grub/libusb.h: Likewise.
29286 * util/grub-emu.c (main): Hanle (host) root.
29287 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
29288 GRUB_ERR_UNKNOWN_DEVICE.
29289 * util/misc.c: Move mm functions to ...
29290 * util/mm.c: ... here. All users updated.
29291
47822096
VS
292922010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29293
29294 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
29295 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
29296 missing files.
29297 (maintainer-clean): Remove libgcrypt-grub.
29298
5d7e7445
VS
292992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29300
29301 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
29302
25f4e252
EC
293032010-04-09 EFI Coder <eficoder@hotmail.com>
29304
29305 * normal/menu_text.c (print_message): Clean up the message and show
29306 the Fn information when on EFI
29307 * term/efi/console.c (grub_console_checkkey): Add F4 support.
29308
027de555
VS
293092010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29310
29311 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
29312 All users updated.
29313 * normal/crypto.c (read_crypto_list): Likewise.
29314 * normal/dyncmd.c (read_command_list): Likewise.
29315 * normal/term.c (read_terminal_list): Likewise.
29316 * normal/main.c (read_lists): Use explicit prefix.
29317 (read_lists_hook): Use read_lists.
29318 (grub_normal_execute): Likewise.
29319
47779711
VS
293202010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29321
29322 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
29323 Reported by: Thomas Schmitt.
29324 Add -no-emul-boot to grub-mkisofs parameters.
29325
1118c32e
VS
293262010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29327
29328 * font/font.c: Indented.
29329
7d652447
BC
293302010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29331
29332 Elif support to GRUB script (by Deepak Vankadaru).
29333
29334 * tests/grub_script_if.in: New testcase.
29335 * conf/tests.rmk: Rule for new testcase.
29336 * script/parser.y: Grammar rules for elif.
29337
34bb22df
BC
293382010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29339
29340 While and until loops support to GRUB script.
29341
29342 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
29343 (grub_script_create_cmdwhile): New function prototype.
29344 (grub_script_execute_cmdwhile): New function prototype.
29345 * script/execute.c (grub_script_execute_cmdwhile): New function.
29346 * script/parser.y (command): New commands.
29347 (whilecmd): New grammar rule.
29348 (untilcmd): New grammar rule.
29349 * script/script.c (grub_script_create_cmdwhile): New function.
29350 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
29351 function.
29352
29353 * tests/grub_script_while1.in: New testcase.
29354 * conf/tests.rmk: Rule for new testcase.
29355
e215d8e0
VS
293562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29357
29358 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
29359 as *.jpg.
29360
d7c43ba1
MV
293612010-04-09 Mario Vazquez <mariovazq@gmail.com>
29362
29363 GRUB_BACKGROUND support.
29364
29365 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
29366 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
29367
d64795c0
VS
293682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29369
29370 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 29371 Idea by: Mario Vazquez
d64795c0
VS
29372
29373 * util/grub.d/00_header.in: Load pf2 and image modules.
29374
f267f83a
VS
293752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29376
29377 grub-mkconfig multiple terminal support.
29378
29379 * util/grub-mkconfig.in: Handle multiple terminals correctly.
29380 * util/grub.d/00_header.in: Likewise.
29381
b7841ceb
VS
293822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29383
29384 * Makefile.in: Specify files explicitly instead of using $< and $@ since
29385 we use cd $(srcdir).
29386
df60998c
CW
293872010-04-08 Colin Watson <cjwatson@ubuntu.com>
29388
29389 * util/grub.d/10_linux.in: Only use the first word of
29390 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
29391 spaces in GRUB_DISTRIBUTOR.
29392 * util/grub.d/10_kfreebsd.in: Likewise.
29393 * util/grub.d/10_hurd.in: Likewise.
29394
fa09c82e
BC
293952010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
29396
14e18ae3 29397 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
29398
29399 * tests/util/grub-shell.in: Remove -serial stdio option.
29400
daf892b3
BC
294012010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
29402
29403 POSIX header file wrappers.
29404
29405 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
29406 equivalents.
29407 * lib/posix_wrap/ctype.h: Likewise.
29408 * lib/posix_wrap/errno.h: Likewise.
29409 * lib/posix_wrap/langinfo.h: Likewise.
29410 * lib/posix_wrap/limits.h: Likewise.
29411 * lib/posix_wrap/localcharset.h: Likewise.
29412 * lib/posix_wrap/stdint.h: Likewise.
29413 * lib/posix_wrap/stdio.h: Likewise.
29414 * lib/posix_wrap/stdlib.h: Likewise.
29415 * lib/posix_wrap/string.h: Likewise.
29416 * lib/posix_wrap/sys/types.h: Likewise.
29417 * lib/posix_wrap/unistd.h: Likewise.
29418 * lib/posix_wrap/wchar.h: Likewise.
29419 * lib/posix_wrap/wctype.h: Likewise.
29420 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
29421 (grub_script.yy.h): Likewise.
29422 * script/yylex.l: Remove POSIX emulation #defines.
29423 * Makefile.in (POSIX_CFLAGS): New variable.
29424 (GNULIB_UTIL_CFLAGS): Likewise.
29425
29426 Regexp support.
29427
29428 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
29429 (regexp_mod_SOURCES): New variable.
29430 (regexp_mod_CFLAGS): Likewise.
29431 (regexp_mod_LDFLAGS): Likewise.
29432 * commands/regexp.c: New file.
29433 * gnulib/regcomp.c: New file. Imported from gnulib.
29434 * gnulib/regex.c: Likewise.
29435 * gnulib/regex_internal.c: Likewise.
29436 * gnulib/regex_internal.h: Likewise.
29437 * gnulib/regexec.c: Likewise.
29438 * gnulib/regex.h: Likewise.
29439
974ac4f7
VS
294402010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29441
29442 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
29443 unsupported video mode types.
29444
2622c3ff
VS
294452010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29446
29447 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
29448
064cb524
VS
294492010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29450
29451 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
29452 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
29453
a8c3b552
VS
294542010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29455
29456 Remove unused grub_vga_get_font.
29457
29458 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
29459 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
29460
187bbe3d
GS
294612010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29462
29463 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
29464 * include/grub/misc.h: Likewise.
29465
b9396631
GS
294662010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29467
29468 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
29469 for which failure is fatal.
29470
50479feb
GS
294712010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29472
29473 * util/grub-install.in: Use mkdir -p to create grub directory.
29474 * util/i386/efi/grub-install.in: Likewise.
29475 * util/ieee1275/grub-install.in: Likewise.
29476
b1654fdf
GS
294772010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29478
29479 * Makefile.in (LEX): new variable.
29480
bd5a6415
GS
294812010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29482
29483 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
29484 `=' and added double quotes on operands of this equality test.
29485
3db3a82b
VS
294862010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29487
29488 * Makefile.in (uninstall): Remove a leftover debug echo.
29489 Reported by: Grégoire Sutre
29490
38023412
VS
294912010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29492
29493 MIPS multiboot2 support.
29494
29495 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
29496 (multiboot2_mod_SOURCES): New variable.
29497 (multiboot2_mod_CFLAGS): Likewise.
29498 (multiboot2_mod_LDFLAGS): Likewise.
29499 (multiboot2_mod_ASFLAGS): Likewise.
29500 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
29501 definition.
29502 (MULTIBOOT_ENTRY_REGISTER): Likewise.
29503 (MULTIBOOT_MBI_REGISTER): Likewise.
29504 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
29505 (MULTIBOOT_ELF32_MACHINE): Likewise.
29506 (MULTIBOOT_ELF64_MACHINE): Likewise.
29507 * include/grub/mips/multiboot.h: New file.
29508 * include/grub/video.h (grub_video_driver_id): New type
29509 GRUB_VIDEO_DRIVER_SM712.
29510 (grub_video_get_info_and_fini): Export.
29511 (grub_video_get_palette): Likewise.
29512 (grub_video_get_driver_id): Likewise.
29513 * include/multiboot2.h: Resynced with spec.
29514 * loader/i386/multiboot.c: Moved from here ...
29515 * loader/multiboot.c: ... here. All users updated.
29516 (grub_multiboot_boot): Use platform-specific macros.
29517 * loader/i386/multiboot_elfxx.c: Moved from here ...
29518 * loader/multiboot_elfxx.c: ... here. All users updated.
29519 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
29520 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
29521 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
29522
47674667
VS
295232010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
29524
29525 Import gnulib argp module.
29526
29527 * gnulib/argp-ba.c: New file.
29528 * gnulib/argp-eexst.c: Likewise.
29529 * gnulib/argp-fmtstream.c: Likewise.
29530 * gnulib/argp-fmtstream.h: Likewise.
29531 * gnulib/argp-fs-xinl.c: Likewise.
29532 * gnulib/argp-help.c: Likewise.
29533 * gnulib/argp-namefrob.h: Likewise.
29534 * gnulib/argp-parse.c: Likewise.
29535 * gnulib/argp-pin.c: Likewise.
29536 * gnulib/argp-pv.c: Likewise.
29537 * gnulib/argp-pvh.c: Likewise.
29538 * gnulib/argp-version-etc.c: Likewise.
29539 * gnulib/argp-version-etc.h: Likewise.
29540 * gnulib/argp-xinl.c: Likewise.
29541 * gnulib/argp.h: Likewise.
29542
495442ed
VS
295432010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29544
29545 * kern/device.c (grub_device_iterate): Clear errors after failed
29546 opening device.
29547
f9fd65df
VS
295482010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29549
29550 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
29551 returned by firmware.
29552
af09641e
VS
295532010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
29554
29555 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
29556 compilation on coreboot and qemu
29557
016883a5
VS
295582010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29559
29560 * include/multiboot2.h: Resync with spec.
29561
f97e1f7d
VS
295622010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29563
29564 Multiboot2 tag support
29565
29566 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
29567 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
29568 Remove loader/multiboot_loader.c.
29569 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
29570 (grub_multiboot2_real_boot): Likewise.
29571 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
29572 (grub_get_multiboot_mmap_count): New proto.
29573 (grub_fill_multiboot_mmap): Likewise.
29574 (grub_multiboot_set_video_mode): Likewise.
29575 (grub_multiboot_set_console): Likewise.
29576 (grub_multiboot_load): Likewise.
29577 (grub_multiboot_load_elf): Likewise.
29578 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
29579 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
29580 * include/multiboot.h: Resynced with specification.
29581 * include/multiboot2.h: Resynced with specification.
29582 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
29583 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
29584 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
29585 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
29586 users updated.
29587 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
29588 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
29589 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
29590 Removed.
29591 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
29592 Moved from here...
29593 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
29594 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
29595 Moved from here...
29596 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
29597 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
29598 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
29599 All users updated.
29600 * loader/i386/multiboot_mbi2.c: New file.
29601
3506b90b
VS
296022010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29603
29604 Resync with gnulib.
29605
29606 * Makefile.in (GNULIB_CFLAGS): New variable.
29607 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
29608 (grub_script_check_CFLAGS): New variable.
29609 * gnulib/alloca.h: Resync with gnulib.
29610 * gnulib/error.c: Likewise.
29611 * gnulib/error.h: Likewise.
29612 * gnulib/fnmatch.c: Likewise.
29613 * gnulib/fnmatch_loop.c: Likewise.
29614 * gnulib/getdelim.c: Likewise.
29615 * gnulib/getline.c: Likewise.
29616 * gnulib/getopt.c: Likewise.
29617 * gnulib/getopt1.c: Likewise.
29618 * gnulib/getopt_int.h: Likewise.
29619 * gnulib/gettext.h: Likewise.
29620 * gnulib/progname.c: Likewise.
29621 * gnulib/progname.h: Likewise.
29622
394a3120
GS
296232010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
29624
29625 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
29626 which is the case with --disabled-nls.
29627
29628 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
29629 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
29630 * util/misc.c: Likewise.
29631 * util/mkisofs/mkisofs.c: Likewise.
29632 * util/mkisofs/mkisofs.h: Likewise.
29633
969d1c78
VS
296342010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29635
29636 Simplify Apple CC support.
29637
29638 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
29639 Add 0 byte at the end not to have a symbol with empty target.
29640 * mmap/i386/pc/mmap_helper.S: Likewise.
29641 * genmk.rb: Ignore errors 2030 and 2050.
29642 * kern/i386/pc/startup.S: Use LOCAL when possible.
29643
8d2977bb
BC
296442010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
29645
29646 Testcase and the fix for final semicolon on cmdline.
29647
29648 * tests/grub_script_final_semicolon.in: New testcase.
29649 * conf/tests.rmk: Rules for the new testcase.
29650 * script/parser.y: Grammar fix.
29651
a7bd6915
BC
296522010-03-26 BVK Chaitanya <bvk@localhost>
29653
29654 Blank lines testcase for GRUB script.
29655
29656 * tests/grub_script_blanklines.in: New testcase.
29657 * conf/tests.rmk: Rules for the new testcase.
29658
e4ff6628
VS
296592010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29660
29661 Don't use __FILE__.
29662
29663 * genmk.rb: Add -DGRUB_FILE to all C targets.
29664 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
29665 * include/grub/list.h: Likewise.
29666 * include/grub/misc.h: Likewise.
29667 * include/grub/mm.h: Likewise.
29668 * include/grub/test.h: Likewise.
29669 * kern/mm.c: Likewise.
29670 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29671
6a5cf6b6
VS
296722010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29673
29674 Sunpc partitions support.
29675
29676 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
29677 (grub_fstest_SOURCES): Likewise.
29678 (pkglib_MODULES): Add part_sunpc.mod.
29679 (part_sunpc_mod_SOURCES): New variable.
29680 (part_sunpc_mod_CFLAGS): Likewise.
29681 (part_sunpc_mod_LDFLAGS): Likewise.
29682 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
29683 * partmap/sunpc.c: New file.
29684
746d9045
BC
296852010-03-26 BVK Chaitanya <bvk@localhost>
29686
29687 For loop support to GRUB script.
29688
29689 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
29690 (grub_script_create_cmdfor): New function prototype.
29691 (grub_script_execute_cmdfor): New function prototype.
29692 * script/execute.c (grub_script_execute_cmdfor): New function.
29693 * script/parser.y (command): New for command.
29694 (forcmd): New grammar rule.
29695 * script/script.c (grub_script_create_cmdfor): New function.
29696 * util/grub-script-check.c (grub_script_execute_cmdfor): New
29697 function.
29698 * tests/grub_script_for1.in: New testcase.
29699 * conf/tests.rmk: Rules for new testcase.
29700
18486b18
VS
297012010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29702
29703 Nested partitions
29704
29705 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
29706 'partition' is NULL, grub_partition_get_start already does that.
29707 * commands/loadenv.c (check_blocklists): Likewise.
29708 (write_blocklists): Likewise.
29709 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
29710 (grub_fstest_SOURCES): Likewise.
29711 (pkglib_MODULES): Add part_bsd.mod.
29712 (part_bsd_mod_SOURCES): New variable.
29713 (part_bsd_mod_CFLAGS): Likewise.
29714 (part_bsd_mod_LDFLAGS): Likewise.
29715 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
29716 (grub_emu_SOURCES): Likewise.
29717 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29718 * include/grub/bsdlabel.h: New file.
29719 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
29720 'get_name'.
29721 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
29722 (grub_partition_map_list): New variable.
29723 (grub_partition_map_register): Inline.
29724 (grub_partition_map_unregister): Likewise.
29725 (FOR_PARTITION_MAPS): New macro.
29726 (grub_partition_map_iterate): Removed.
29727 (grub_partition_get_start): Handle nested partitions.
29728 * include/grub/msdos_partition.h: Remove bsd-related entries.
29729 (grub_pc_partition): Remove.
29730 * kern/disk.c (grub_disk_close): Free partition data.
29731 (grub_disk_adjust_range): Handle nested partitions.
29732 * kern/partition.c (grub_partition_map_probe): New function.
29733 (grub_partition_probe): Parse name to number, handle subpartitions.
29734 (get_partmap): New function.
29735 (grub_partition_iterate): Handle subpartitions.
29736 (grub_partition_get_name): Likewise.
29737 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
29738 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
29739 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
29740 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
29741 Set 'number'.
29742 (acorn_partition_map_probe): Remove.
29743 (acorn_partition_map_get_name): Likewise.
29744 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
29745 Set 'number'.
29746 Set 'index' to 0 since there can be only one partition entry per sector.
29747 (amiga_partition_map_probe): Remove.
29748 (amiga_partition_map_get_name): Likewise.
29749 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
29750 Set 'number'.
29751 Set 'offset' and 'index' to real positions of partitions.
29752 (apple_partition_map_probe): Remove.
29753 (apple_partition_map_get_name): Likewise.
29754 * partmap/bsdlabel.c: New file.
29755 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
29756 Set 'number'.
29757 Allocate 'data' so it can be correctly freed.
29758 Set 'index' to offset inside sector.
29759 (gpt_partition_map_probe): Remove.
29760 (gpt_partition_map_get_name): Likewise.
29761 * partmap/msdos.c (grub_partition_parse): Remove.
29762 (pc_partition_map_iterate): Don't force raw access.
29763 Set 'number'.
29764 Make 'ext_offset' a local variable.
29765 (pc_partition_map_probe): Remove.
29766 (pc_partition_map_get_name): Remove.
29767 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
29768 Set 'number'.
29769 (sun_partition_map_probe): Remove.
29770 (sun_partition_map_get_name): Likewise.
29771 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
29772 (grub_pcpart_type): Likewise.
29773 * util/hostdisk.c (open_device): Handle new numbering scheme.
29774 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
29775 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
29776 * util/grub-probe.c (probe_partmap): Handle nested paritions.
29777 * util/grub-install.in: Insert all subpartition modules.
29778 * util/ieee1275/grub-install.in: Likewise.
29779
a3940f88
AG
297802010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
29781
29782 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
29783 grammar.
29784
21b99926 297852010-03-24 Colin Watson <cjwatson@ubuntu.com>
29786
29787 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
29788
bed1d352
CW
297892010-03-21 Colin Watson <cjwatson@ubuntu.com>
29790
29791 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
29792 match where 'make install' puts them.
29793 * util/i386/efi/grub-install.in: Likewise.
29794
c9f58427
CW
297952010-03-19 Colin Watson <cjwatson@ubuntu.com>
29796
29797 * .bzrignore: Add gentrigtables, grub-script-check,
29798 grub_script_check_init.c, grub_script_check_init.h, and
29799 trigtables.c.
29800
f84afb27
VS
298012010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
29802
29803 * kern/parser.c: Indented.
29804
ed0e3d30
VS
298052010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29806
29807 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
29808
0ea81d98
VS
298092010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29810
29811 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
29812 alpha_mask_size == 0 case.
29813
0cdc2a09
BC
298142010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
29815
29816 GRUB shell lexer and parser improvements.
29817
29818 * conf/any-emu.rmk: Build rule updates.
29819 * conf/common.rmk: Likewise.
29820 * conf/i386-coreboot.rmk: Likewise.
29821 * conf/i386-efi.rmk: Likewise.
29822 * conf/i386-ieee1275.rmk: Likewise.
29823 * conf/i386-pc.rmk: Likewise.
29824 * conf/powerpc-ieee1275.rmk: Likewise.
29825 * conf/x86_64-efi.rmk: Likewise.
29826
29827 * configure.ac: Configure check for flex.
29828
29829 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
29830 types.
29831 (grub_lexer_param): Struct member updates.
29832 (grub_parser_param): Likewise.
29833 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
29834 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
29835 (grub_script_lexer_init): Prototype update.
29836 (grub_script_lexer_record_start): Likewise.
29837 (grub_script_lexer_record_stop): Likewise.
29838 (grub_script_lexer_yywrap): New function prototype.
29839 (grub_script_lexer_fini): Likewise.
29840 (grub_script_execute_argument_to_string): Removed by...
29841 (grub_script_execute_argument_to_argv): ...better version.
29842
29843 * script/execute.c (ROUND_UPTO): New macro.
29844 (grub_script_execute_cmdline): Out of memory fixes.
29845 (grub_script_execute_menuentry): Likewise.
29846 (grub_script_execute_argument_to_string): Removed. Update all
29847 users by...
29848 (grub_script_execute_argument_to_argv): ...better version.
29849 * script/function.c (grub_script_function_create): Use
29850 grub_script_execute_argument_to_argv instead of
29851 grub_script_execute_argument_to_string.
29852
29853 * script/lexer.c (check_varstate): Removed.
29854 (check_textstate): Removed.
29855 (grub_script_lexer_record_start): Likewise.
29856 (grub_script_lexer_record_stop): Likewise.
29857 (recordchar): Replaced with...
29858 (grub_script_lexer_record): ...new function.
29859 (nextchar): Removed.
29860 (grub_script_lexer_init): Rewritten.
29861 (grub_script_yylex): Rewritten.
29862 (append_newline): New function.
29863 (grub_script_lexer_yywrap): New function.
29864 (grub_script_lexer_fini): New function.
29865 (grub_script_yyerror): Sets error flag.
29866
29867 * script/yylex.l: New file.
29868 (grub_lexer_yyfree): Wrapper for flex yyffre.
29869 (grub_lexer_yyalloc): Likewise.
29870 (grub_lexer_yyrealloc): Likewise.
29871 * script/parser.y: Refactored.
29872
29873 * script/script.c (grub_script_arg_add): Out of memory fixes.
29874 (grub_script_add_arglist): Likewise.
29875 (grub_script_create_cmdline): Likewise.
29876 (grub_script_create_cmdmenu): Likewise.
29877 (grub_script_add_cmd): Likewise.
29878 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
29879 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
29880 unnecessary code.
29881
29882 * tests/grub_script_echo1.in: New testcase.
29883 * tests/grub_script_vars1.in: New testcase.
29884 * tests/grub_script_echo_keywords.in: New testcase.
29885
1d63a066
VS
298862010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29887
29888 Remove some redundancy in build system.
29889
29890 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
29891 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
29892 (TARGET_LDFLAGS): Add -nostdlib.
29893 (TARGET_IMG_LDFLAGS): Likewise.
29894 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
29895 anything since mmap isn't available.
29896 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
29897 Add util/time.c.
29898 (pkglib_MODULES): Remove reboot.mod.
29899 (reboot_mod_SOURCES): Removed.
29900 (reboot_mod_CFLAGS): Likewise.
29901 (reboot_mod_LDFLAGS): Likewise.
29902 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
29903 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
29904 (DEFSYMFILES): Add kernel_syms.lst.
29905 (kernel_img_HEADERS): Add common headers.
29906 (symlist.c): New target.
29907 (kernel_syms.lst): Likewise.
29908 (pkglib_MODULES): Add memdisk.mod.
29909 (memdisk_mod_SOURCES): New variable.
29910 (memdisk_mod_CFLAGS): Likewise.
29911 (memdisk_mod_LDFLAGS): Likewise.
29912 (pkglib_MODULES): Add reboot.mod.
29913 (reboot_mod_SOURCES): New variable.
29914 (reboot_mod_CFLAGS): Likewise.
29915 (reboot_mod_LDFLAGS): Likewise.
29916 (pkglib_MODULES): Add date.mod.
29917 (date_mod_SOURCES): New variable.
29918 (date_mod_CFLAGS): Likewise.
29919 (date_mod_LDFLAGS): Likewise.
29920 (pkglib_MODULES): Add datehook.mod.
29921 (datehook_mod_SOURCES): New variable.
29922 (datehook_mod_CFLAGS): Likewise.
29923 (datehook_mod_LDFLAGS): Likewise.
29924 (pkglib_MODULES): Add lsmmap.mod.
29925 (lsmmap_mod_SOURCES): New variable.
29926 (lsmmap_mod_CFLAGS): Likewise.
29927 (lsmmap_mod_LDFLAGS): Likewise.
29928 (pkglib_MODULES): Add boot.mod.
29929 (boot_mod_SOURCES): New variable.
29930 (boot_mod_CFLAGS): Likewise.
29931 (boot_mod_LDFLAGS): Likewise.
29932 * conf/i386-coreboot.rmk: Removed redundant parts.
29933 * conf/i386-ieee1275.rmk: Likewise.
29934 * conf/i386-pc.rmk: Likewise.
29935 * conf/mips-yeeloong.rmk: Likewise.
29936 * conf/mips.rmk: Likewise.
29937 * conf/powerpc-ieee1275.rmk: Likewise.
29938 * conf/sparc64-ieee1275.rmk: Likewise.
29939 * conf/x86_64-efi.rmk: Likewise.
29940 * conf/i386-coreboot.rmk: Moved qemu parts ..
29941 * conf/i386-qemu.rmk: ... here
29942 * conf/i386-efi.rmk: Moved common parts to...
29943 * conf/x86-efi.rmk: ... here.
29944 * conf/i386.rmk: Added modules common to all x86 variants.
29945 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
29946 * disk/memdisk.c: Remove grub/machine/kernel.h.
29947 * gensymlist.sh.in: Include symbol.h.
29948 * hook/datehook.c: Correct module name.
29949 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
29950 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
29951 * include/grub/i386/efi/serial.h: New file.
29952 * include/grub/x86_64/efi/serial.h: Likewise.
29953 * util/time.c: Likewise.
29954 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
29955
463ac55f
CK
299562010-03-14 Colin King <colin.king@ubuntu.com>
299572010-03-14 Colin Watson <cjwatson@ubuntu.com>
29958
29959 Shrink the pre-partition-table part of boot.img by eight bytes.
29960
29961 * boot/i386/pc/boot.S (ERR): New macro.
29962 (chs_mode): Use ERR.
29963 (geometry_error): Likewise.
29964 (hd_probe_error): Remove. This is only used once, so we wrwite
29965 it inline instead.
29966 (read_error): Instead of printing read_error_string, just set up
29967 %si and fall through to ...
29968 (error_message): ... this new function, also used by ERR.
29969
08e46ede
CW
299702010-03-14 Colin Watson <cjwatson@ubuntu.com>
29971
29972 Speed up consecutive hostdisk operations on the same device.
29973
29974 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
29975 (grub_util_biosdisk_open): Initialise disk->data.
29976 (struct linux_partition_cache): New structure.
29977 (linux_find_partition): Cache partition start positions; these are
29978 expensive to compute on every read and write.
29979 (open_device): Cache open file descriptor in disk->data, so that we
29980 don't have to reopen it and flush the buffer cache for consecutive
29981 operations on the same device.
29982 (grub_util_biosdisk_close): New function.
29983 (grub_util_biosdisk_dev): Set `close' member.
29984
29985 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
29986 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
29987 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29988 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
29989 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
29990
4a6d2d06
VS
299912010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29992
29993 Compile parts of grub-emu as modules.
29994
29995 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
29996 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
29997 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
29998 (all-local): Add $(GRUB_EMU).
29999 (install-local): Install $(GRUB_EMU).
30000 (uninstall): Uninstall $(GRUB_EMU).
30001 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
30002 * kern/dl.c: Likewise.
30003 * commands/sleep.c: Not include machine/time.h.
30004 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
30005 (COMMON_CFLAGS): Likewise.
30006 (sbin_UTILITIES): Remove grub-emu.
30007 (grub_emu_SOURCES): Removed.
30008 (kernel_img_RELOCATABLE): New variable.
30009 (pkglib_PROGRAMS): Add kernel.img.
30010 (kernel_img_SOURCES): New variable
30011 (kernel_img_CFLAGS): Likewise.
30012 (kernel_img_LDFLAGS): Likewise.
30013 (TARGET_NO_STRIP): Likewise.
30014 (TARGET_NO_DYNAMIC_MODULES): Likewise.
30015 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
30016 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
30017 (grub-emu): New target.
30018 (GRUB_EMU): New variable.
30019 * configure.ac: Whitelist -emu as possible x86_64 architecture.
30020 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
30021 * loader/xnu.c: Likewise.
30022 * include/grub/pci.h: Likewise.
30023 * genemuinit.sh: New file.
30024 * genemuinitheader.sh: Likewise.
30025 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
30026 Support TARGET_NO_DYNAMIC_MODULES.
30027 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
30028 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
30029 * disk/loopback.c: Likewise.
30030 * font/font_cmd.c: Likewise.
30031 * partmap/acorn.c: Likewise.
30032 * partmap/amiga.c: Likewise.
30033 * partmap/apple.c: Likewise.
30034 * partmap/gpt.c: Likewise.
30035 * partmap/msdos.c: Likewise.
30036 * partmap/sun.c: Likewise.
30037 * parttool/msdospart.c: Likewise.
30038 * term/gfxterm.c: Likewise.
30039 * video/bitmap.c: Likewise.
30040 * video/readers/jpeg.c: Likewise.
30041 * video/readers/png.c: Likewise.
30042 * video/readers/tga.c: Likewise.
30043 * video/video.c: Likewise.
30044 * util/grub-emu.c (read_command_list): Removed.
30045 (main): Don't call util_init_nls.
30046 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
30047 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
30048
91fdd2ed
VS
300492010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
30050
30051 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
30052 date.mod, datehook.mod.
30053 (datetime_mod_SOURCES): New variable.
30054 (datetime_mod_CFLAGS): Likewise.
30055 (datetime_mod_LDFLAGS): Likewise.
30056 (date_mod_SOURCES): Likewise.
30057 (date_mod_CFLAGS): Likewise.
30058 (date_mod_LDFLAGS): Likewise.
30059 (datehook_mod_SOURCES): Likewise.
30060 (datehook_mod_CFLAGS): Likewise.
30061 (datehook_mod_LDFLAGS): Likewise.
30062 * conf/sparc64-ieee1275.rmk: Likewise.
30063 * lib/ieee1275/datetime.c: New file.
30064
873ccae6
VS
300652010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
30066
30067 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
30068 (ieee1275_fb_mod_SOURCES): New variable.
30069 (ieee1275_fb_mod_CFLAGS): Likewise.
30070 (ieee1275_fb_mod_LDFLAGS): Likewise.
30071 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
30072 New proto.
30073 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
30074 (HEAP_MAX_ADDR): Likewise.
30075 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
30076 type.
30077 Correct stop condition.
30078 (grub_ieee1275_devices_iterate): New function.
30079 * video/ieee1275.c: New file.
30080
601c97c0
VS
300812010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
30082
30083 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
30084
30085 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
30086 as scratch.
30087 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
30088 SCRATCH_PAD_DISKBOOT as scratch.
30089 (bootit): Pass Openfirmware pointer in %o4.
30090 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
30091 of 0x200000.
30092 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
30093 with util/grub-mkrawimage.c.
30094 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
30095 * include/grub/aout.h (AOUT_MID_SUN): New definition.
30096 (grub_aout_get_type) [GRUB_UTIL]: Removed.
30097 (grub_aout_load) [GRUB_UTIL]: Likewise.
30098 * include/grub/kernel.h (grub_modules_get_end): New proto.
30099 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
30100 (SCRATCH_PAD_BOOT): New definition.
30101 (SCRATCH_PAD_DISKBOOT): Likewise.
30102 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
30103 * include/grub/sparc64/ieee1275/ieee1275.h
30104 (grub_ieee1275_original_stack): New variable
30105 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30106 New definition
30107 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
30108 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
30109 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
30110 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
30111 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
30112 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
30113 (grub_platform_image_format_t): New type.
30114 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
30115 * kern/main.c (grub_modules_get_end)
30116 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
30117 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
30118 (codestart): Switch stacks.
30119 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
30120 variable.
30121 (grub_heap_init): Use grub_modules_get_end.
30122 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
30123 stack.
30124 * util/grub-mkrawimage.c (generate_image): Support sparc64.
30125 (main): Likewise.
30126 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
30127
d68b491e
TG
301282010-03-14 Thorsten Glaser <tg@mirbsd.org>
30129
30130 * util/grub-mkrescue.in: Base ISO UUID on UTC.
30131
4e02ed50
MK
301322010-03-08 Matt Kraai <kraai@ftbfs.org>
30133
30134 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
30135 bug #559005).
30136
1f15fc1e
VS
301372010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
30138
30139 * genmoddep.awk: Output all missing symbols and not only first.
30140
fce5d8ff
VS
301412010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30142
30143 * NEWS: Put the date of 1.98 release.
30144
d1e8a02f
VS
301452010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30146
30147 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
30148 ft2build.h.
30149
696fd607
VS
301502010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30151
30152 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
30153 completition in the middle of string.
30154
33e2e6f3
VS
301552010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30156
30157 * util/grub-mkrescue.in: Use mktemp with explicit template.
30158
b1f6d291
VS
301592010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30160
30161 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
30162
2ac227c7
VS
301632010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30164
30165 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
30166 right pointer.
30167
8f9a632b
VS
301682010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
30169
30170 Fix FreeBSD compilation.
30171
30172 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
30173 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
30174
60b03859
VS
301752010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
30176
30177 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
30178
48a5a769
VS
301792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30180
30181 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
30182
3ab4bd77
VS
301832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30184
30185 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
30186
d116e0d8
RM
301872010-03-04 Robert Millan <rmh.grub@aybabtu.com>
30188
30189 Support relative image path in theme file.
30190
30191 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
30192 (image_set_property): Handle theme_dir and relative path.
30193
c7ef54aa
VS
301942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30195
30196 * configure.ac: Alias amd64 to x86_64.
30197
fcee14ed
VS
301982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30199
30200 * NEWS: mention multiboot on EFI.
30201
d0780363
VS
302022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30203
30204 * kern/main.c (grub_load_modules): Handle errors from init functions of
30205 embeded modules.
30206
41168ea4
VS
302072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30208
30209 * normal/autofs.c (autoload_fs_module): Handle errors.
30210
b54d93ac
VS
302112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30212
30213 Disable linux.mod on qemu-mips since it's not functional and leads
30214 to compilation failure.
30215
30216 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
30217 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
30218 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
30219 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
30220 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
30221 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
30222 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
30223 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
30224 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
30225 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
30226 Reported by: BVK Chaitanya
30227
fc8345da
JU
302282010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
30229
30230 * INSTALL: Add gettext as a dependency and add qemu to a new section
30231 "Prerequisites for make-check".
30232
4760f979
CF
302332010-03-04 Christian Franke <franke@computer.org>
30234
30235 * util/grub-pe2elf.c: Add missing include "progname.h".
30236
f209b5b2
VS
302372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30238
30239 * normal/crypto.c (read_crypto_list): Fix a typo.
30240 Reported by: Seth Goldberg.
30241
b4b7be98
VS
302422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30243
30244 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 30245 Reported by: Seth Goldberg.
b4b7be98 30246
c0ee0385
VS
302472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30248
30249 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
30250 ascii.bitmaps.
30251
a8efbf64
VS
302522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30253
30254 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 30255 Reported by: Seth Goldberg.
a8efbf64 30256
08dcd913
VS
302572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30258
30259 * util/i386/efi/grub-install.in: Copy gettext files.
30260
c4d0b332
VS
302612010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30262
30263 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
30264
c6f2fe52
VS
302652010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30266
30267 Wait for user entry basing on presence of output rather than on errors.
30268
30269 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
30270 (grub_install_newline_hook): Likewise.
30271 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
30272 * normal/menu.c (show_menu): Check line_counter to determine presence
30273 of output.
30274 * normal/term.c (grub_normal_line_counter): New variable.
30275 (grub_normal_get_line_counter): New function.
30276 (grub_install_newline_hook): Likewise.
30277
5382b1e4
VS
302782010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30279
30280 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
30281
5519963b
VS
302822010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30283
30284 * configure.ac: Update version to 1.98.
30285
72b28631
VS
302862010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
30287
30288 * util/grub.d/10_linux.in (linux_entry): Don't default to
30289 gfxpayload=keep if Linux doesn't support video handover.
30290
c140a180
VS
302912010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
30292
30293 Don't compile video modules on yeeloong since video subsystem is part
30294 of kernel.
30295
30296 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
30297 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
30298 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
30299 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
30300 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
30301 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
30302 * include/grub/bitmap_scale.h: Likewise.
30303 * include/grub/bufio.h: Likewise.
30304 * include/grub/font.h: Likewise.
30305 * include/grub/gfxterm.h: Likewise.
30306 * include/grub/video.h: Likewise.
30307 * include/grub/vbe.h: Don't include video_fb.h.
30308 * video/i386/pc/vbe.c: Include video_fb.h.
30309 * commands/i386/pc/vbetest.c: Include video.h.
30310
a0ca21c2
CW
303112010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
30312
30313 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
30314 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
30315 default entry if GRUB_SAVEDEFAULT=true. This allows using
30316 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
30317 saving a new default on every boot.
30318
4a8a763c
VS
303192010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30320
30321 * normal/crypto.c (read_crypto_list): Fix a memory leak.
30322 * normal/term.c (read_terminal_list): Likewise.
30323 * normal/main.c (grub_normal_init_page): Likewise.
30324 (grub_normal_read_line_real): Likewise.
30325
607ffde2
VS
303262010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30327
30328 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
30329 memory leak.
30330 Reported by: Seth Goldberg.
30331
2b8fa975
CW
303322010-02-24 Joey Korkames <joey+lists@kidfixit.com>
30333
30334 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
30335 duplicate declaration of `start'.
30336
618307dd
VS
303372010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30338
30339 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
30340 filename.
30341 Reported by: Georgy Buranov
30342
7dd05b96 303432010-02-20 Carles Pina i Estany <carles@pina.cat>
30344
30345 * util/grub-mkrawimage.c (usage): Change string formatting to
30346 improve gettext.
30347
d1484a42
MRA
303482010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
30349
30350 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
30351 backspace keys.
30352
42b1d186
VS
303532010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30354
30355 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
30356 Reported by: Michael Suchanek.
30357
303582010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
30359
30360 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
30361 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
30362
d9f31a41
VS
303632010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
30364
30365 Remove any reference to non-free fonts.
30366
30367 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
30368 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
30369 uses non-free components.
30370 * font/font.c (grub_font_get_name): Remove example name.
30371 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
30372 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
30373 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
30374 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
30375
2793c71e
GB
303762010-02-16 Georgy Buranov <gburanov@gmail.com>
30377
30378 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
30379
402e3779
VS
303802010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30381
30382 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
30383 Double divisor.
30384 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
30385 features.
30386 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
30387
0dd1e0dd
VS
303882010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30389
30390 * gensymlist.sh.in: Use TARGET_CC instead of CC.
30391
6fa7cfce
ST
303922010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30393
30394 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
30395 * docs/grub.texi (Command-line and menu entry commands): Document play
30396 command.
30397
37c8483b
ST
303982010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30399
30400 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
30401 parse arguments as inline tempo and notes. Move code for playing notes
30402 to...
30403 (play): ... new function.
30404
14da0fb7
ST
304052010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30406
30407 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
30408 grub_uint16_t instead of short.
30409 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
30410 disk from little endian to cpu endianness.
30411
04459e70
ST
304122010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
30413
30414 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
30415 GRUB_TICKS_PER_SECOND instead of 120.
30416
a0876943
VS
304172010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30418
30419 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
30420 escape sequence after \e.
30421
e29f95dc
VS
304222010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30423
30424 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
30425 non-ASCII characters.
30426
d27859b2
VS
304272010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30428
30429 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
30430 set root in single quotes to prevent \, from being unescaped.
30431
bc028f2f
VS
304322010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30433
30434 Prevent unknown commands from stopping menuentry execution.
30435
30436 * script/execute.c (grub_script_execute_cmdline): Print error after
30437 unknown command.
30438
095f5f82
VS
304392010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30440
30441 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
30442 Reported by: Pavel Pisa.
30443
8c717950
VS
304442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30445
30446 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
30447
904935c3
VS
304482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30449
30450 Merge grub_ieee1275_map_physical into grub_map and rename to
30451 grub_ieee1275_map
30452
30453 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
30454 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
30455 Remove.
30456 * kern/ieee1275/openfw.c (grub_map): Rename to ...
30457 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
30458 necessary.
30459 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
30460
5b59a4e3
VS
304612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30462
30463 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
30464 opening and not after.
30465
69e137e8
VS
304662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30467
30468 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
30469 constants.
30470
2c0fcc36
VS
304712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30472
30473 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
30474 (alloc_phys): Use ALIGN_UP instead of align_addr.
30475
8c6052ce
VS
304762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30477
30478 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
30479
17cec782
VS
304802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30481
30482 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
30483
e0128bbd
VS
304842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30485
30486 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
30487 verbose dprintf.
30488
ca62070b
VS
304892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30490
30491 Fix over-4GiB seek on sparc64.
30492
30493 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
30494 Replace pos_i and pos_lo with pos. All users updated.
30495 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30496 New constant.
30497 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30498 Likewise.
30499 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
30500 and pos_lo.
30501
bdca2607
VS
305022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30503
30504 * util/grub-mkrawimage.c (main): Call set_program_name.
30505
da278c4d
VS
305062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30507
30508 Properly align 64-bit targets.
30509
30510 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
30511 (generate_image): Use ALIGN_ADDR.
30512
b274d734
VS
305132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30514
30515 Properly create cross-endian images.
30516
30517 * include/grub/types.h (grub_host_to_target_addr): New macro
30518 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
30519
82da2062
VS
305202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30521
30522 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
30523
7cae4377
VS
305242010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30525
30526 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
30527
30528 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
30529 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
30530 (grub_linux_boot): Divide by 64K when on VESA.
30531
65a533e7
VS
305322010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30533
30534 Support GRUB_GFXPAYLOAD_LINUX.
30535
30536 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
30537 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
30538
dd01d397
VS
305392010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30540
30541 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
30542 to show messages instead of discarding them.
30543 Process errors after executing command and not before. Keep old method
30544 too as precaution.
30545
660960d6
VS
305462010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
30547
30548 * configure.ac: Check for ft2build.h.
30549
62509f04
VS
305502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30551
30552 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
30553
473df63d
VS
305542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30555
30556 * genkernsyms.sh.in: Use TARGET_CC.
30557
c98d2a13
CW
305582010-02-07 Colin Watson <cjwatson@ubuntu.com>
30559
30560 * NEWS: Update.
30561
6e14234c
VS
305622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30563
30564 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
30565 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
30566 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 30567
b255e9cf
YB
305682010-02-07 Yves Blusseau <blusseau@zetam.org>
30569
6e14234c 30570 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 30571
98e6959d
VS
305722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30573
30574 Fix warnings in grub-emu when compiling with maximum warning options.
30575
30576 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
30577 (grub_arch_modules_addr): Return 0 and not NULL.
30578 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 30579 (xstrdup): Use newstr instead of dup.
f88d801b
VS
30580 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
30581 of disk to dsk to avoid shadowing.
74e4934e
VS
30582 (find_free_slot): Fix prototype.
30583 * util/getroot.c (grub_util_is_dmraid): Make static.
30584 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
30585 Add missing prototype.
30586 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 30587
74e31b5c
VS
305882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30589
30590 * loader/i386/linux.c (grub_linux_setup_video): Handle error
30591 appropriately.
30592
6b2ad14b
VS
305932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30594
30595 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
30596 code out.
30597
8f891adc
VS
305982010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30599
30600 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
30601 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
30602 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
30603 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
30604 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
30605 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
30606
74b45184
VS
306072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30608
30609 * include/grub/err.h (grub_err_printf): Don't export.
30610
a4bced77
VS
306112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30612
30613 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
30614
007d0695
VS
306152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30616
30617 * include/grub/i18n.h (grub_gettext_dummy): Removed.
30618 * kern/misc.c (grub_gettext_dummy): Make static.
30619
b6c0d9c2
VS
306202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30621
30622 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
30623 by non-valid ones.
30624 * kern/term.c (grub_putchar): Likewise.
30625
f51a90d0
VS
306262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30627
30628 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
30629 buggy hook call and memory leak.
30630
6846cec5
VS
306312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30632
30633 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
30634
468d69fe
VS
306352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30636
30637 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
30638
51906b8c
VS
306392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30640
30641 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
30642 modevar.
30643 Return grub_errno on allocation error.
30644
09706ce5
VS
306452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30646
30647 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
30648
911df80c
YB
306492010-02-06 Yves Blusseau <blusseau@zetam.org>
30650
30651 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
30652 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
30653
3746a6bc
VS
306542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30655
30656 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
30657 non-pxe disk.
30658 (grub_pxefs_open): Likewise.
30659
09706ce5
VS
306602010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30661
30662 * util/grub.d/10_hurd.in: Add --class information to menuentries.
30663 * util/grub.d/10_kfreebsd.in: Likewise.
30664 * util/grub.d/10_linux.in: Likewise.
30665
7cc192d9
VS
306662010-02-06 Colin D Bennett <colin@gibibit.com>
30667
30668 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
30669 (gfxmenu_mod_SOURCES): New variable.
30670 (gfxmenu_mod_CFLAGS): Likewise.
30671 (gfxmenu_mod_LDFLAGS): Likewise.
30672 * include/grub/term.h (grub_term_set_current_output): Declare
30673 argument as const.
30674 * docs/gfxmenu-theme-example.txt: New file.
30675 * gfxmenu/gfxmenu.c: Likewise.
30676 * gfxmenu/gui_box.c: Likewise.
30677 * gfxmenu/gui_canvas.c: Likewise.
30678 * gfxmenu/gui_circular_progress.c: Likewise.
30679 * gfxmenu/gui_image.c: Likewise.
30680 * gfxmenu/gui_label.c: Likewise.
30681 * gfxmenu/gui_list.c: Likewise.
30682 * gfxmenu/gui_progress_bar.c: Likewise.
30683 * gfxmenu/gui_string_util.c: Likewise.
30684 * gfxmenu/gui_util.c: Likewise.
30685 * gfxmenu/icon_manager.c: Likewise.
30686 * gfxmenu/model.c: Likewise.
30687 * gfxmenu/named_colors.c: Likewise.
30688 * gfxmenu/theme_loader.c: Likewise.
30689 * gfxmenu/view.c: Likewise.
30690 * gfxmenu/widget-box.c: Likewise.
30691 * include/grub/gfxmenu_model.h: Likewise.
30692 * include/grub/gfxmenu_view.h: Likewise.
30693 * include/grub/gfxwidgets.h: Likewise.
30694 * include/grub/gui.h: Likewise.
30695 * include/grub/gui_string_util.h: Likewise.
30696 * include/grub/icon_manager.h: Likewise.
30697
306982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30699
30700 Agglomerate scrolling in gfxterm.
30701
30702 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
30703 (grub_virtual_screen_setup): Initialise 'total_screen'.
30704 (write_char): Split to ...
30705 (paint_char): ... this ...
30706 (write_char): ... and this.
30707 (paint_char): Handle delayed scrolling.
30708 (draw_cursor): Likewise.
30709 (scroll_up): Split to ...
30710 (real_scroll): ... this ...
30711 (scroll_up): ... and this.
30712 (real_scroll): Handle multi-line scroll and draw below-the-bottom
30713 characters.
30714 (grub_gfxterm_refresh): Call real_scroll.
30715
307162010-02-06 Colin D Bennett <colin@gibibit.com>
30717
30718 * include/grub/misc.h (grub_iscntrl): New inline function.
30719 (grub_isalnum): Likewise.
30720 (grub_strtol): Likewise.
30721
307222010-02-06 Colin D Bennett <colin@gibibit.com>
30723
30724 * normal/menu_text.c (get_entry_number): Move from here ...
30725 * normal/menu.c (get_entry_number): ... moved here.
30726 * include/grub/menu.h (grub_menu_get_default_entry_index):
30727 New prototype.
30728 * normal/menu.c (grub_menu_get_default_entry_index): New function.
30729 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
30730 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
30731 (grub_menu_viewer_should_return): Likewise.
30732 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
30733 * normal/menu_text.c (run_menu): Enable menu switching.
30734 * normal/menu_viewer.c (should_return): New variable.
30735 (menu_viewer_changed): Likewise.
30736 (grub_menu_viewer_show_menu): Handle menu viewer changes.
30737 (grub_menu_viewer_should_return): New function.
30738 (menuviewer_write_hook): Likewise.
30739 (grub_menu_viewer_init): Likewise.
30740
307412010-02-06 Colin D Bennet <colin@gibibit.com>
307422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30743
30744 Support for gfxterm in a window.
30745
30746 * include/grub/gfxterm.h: New file.
30747 * include/grub/video.h (struct grub_video_rect): New declaration.
30748 (grub_video_rect_t): Likewise.
30749 * term/gfxterm.c (struct grub_gfxterm_window): New type.
30750 (refcount): New variable.
30751 (render_target): Likewise.
30752 (window): Likewise.
30753 (repaint_callback): Likewise.
30754 (grub_virtual_screen_setup): Use 'render_target'.
30755 (init_window): New function.
30756 (grub_gfxterm_init_window): Likewise.
30757 (grub_gfxterm_init): Check reference counter.
30758 Use init_window.
30759 (destroy_window): New function.
30760 (grub_gfxterm_destroy_window): Likewise.
30761 (grub_gfxterm_fini): Check reference counter.
30762 Use destroy_window.
30763 (redraw_screen_rect): Restore viewport.
30764 Use 'render_target' and 'window'.
30765 Call 'repaint_callback'.
30766 (write_char): Use 'render_target'.
30767 (draw_cursor): Likewise.
30768 (scroll_up): Restore viewport.
30769 Use 'render_target' and 'window'.
30770 Call 'repaint_callback'.
30771 (grub_gfxterm_cls): Likewise.
30772 (grub_gfxterm_refresh): Use 'window'.
30773 (grub_gfxterm_set_repaint_callback): New function.
30774 (grub_gfxterm_background_image_cmd): Use 'window'.
30775 (grub_gfxterm_get_term): New function.
30776 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
30777
307782010-02-06 Colin D Bennett <colin@gibibit.com>
30779
30780 Bitmap scaling support.
30781
30782 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
30783 (bitmap_scale_mod_SOURCES): New variable.
30784 (bitmap_scale_mod_CFLAGS): Likewise.
30785 (bitmap_scale_mod_LDFLAGS): Likewise.
30786 * include/grub/bitmap_scale.h: New file.
30787 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
30788 (background_image_cmd_options): New variable.
30789 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
30790 (cmd): Rename and change type to ...
30791 (background_image_cmd_handle): ... this. All users updated.
30792 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
30793 * video/bitmap_scale.c: New file.
30794
307952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30796
30797 SDL support.
30798
30799 * Makefile.in (LIBSDL): New variable.
30800 (enable_grub_emu_sdl): Likewise.
30801 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
30802 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
30803 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
30804 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
30805 * util/sdl.c: New file.
30806
308072010-02-06 Colin D Bennett <colin@gibibit.com>
308082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30809
30810 Double buffering support.
30811
30812 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
30813 * include/grub/video.h: Update comment.
30814 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
30815 New type.
30816 (grub_video_fb_doublebuf_blit_init): New prototype.
30817 * term/gfxterm.c (scroll_up): Support double buffering.
30818 (grub_gfxterm_refresh): Likewise.
30819 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
30820 (grub_video_fb_doublebuf_blit_init): Likewise.
30821 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
30822 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
30823 'displayed_page', 'render_page' and 'update_screen'.
30824 (grub_video_vbe_fini): Free offscreen buffer.
30825 (doublebuf_pageflipping_commit): New function.
30826 (doublebuf_pageflipping_update_screen): Likewise.
30827 (doublebuf_pageflipping_init): Likewise.
30828 (double_buffering_init): Likewise.
30829 (grub_video_vbe_setup): Enable doublebuffering.
30830 (grub_video_vbe_swap_buffers): Implement.
30831 (grub_video_vbe_set_active_render_target): Handle double buffering.
30832 (grub_video_vbe_get_active_render_target): Likewise.
30833 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
30834 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
30835 (grub_video_vbe_enable_double_buffering): Likewise.
30836 (grub_video_vbe_swap_buffers): Use update_screen.
30837 (grub_video_set_mode): Use double buffering.
30838
308392010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30840
30841 * maintainance/gentrigtables.py: Remove.
30842 * lib/trig.c: Likewise.
30843
30844 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
30845
30846 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
30847 `trigtables.c'.
30848 (trigtables.c): New rule.
30849 (gentrigtables): Likewise.
30850 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
30851
308522010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30853
30854 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
30855 integer constants.
30856
308572010-02-06 Colin D Bennet <colin@gibibit.com>
30858
30859 Trigonometry support.
30860
30861 * include/grub/trig.h: New file.
30862 * lib/trig.c: Likewise.
30863 * maintainance/gentrigtables.py: Likewise.
30864 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
30865 (trig_mod_SOURCES): New variable.
30866 (trig_mod_CFLAGS): Likewise.
30867 (trig_mod_LDFLAGS): Likewise.
30868
5562834e
VS
308692010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30870
30871 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
30872 disk devices.
30873
4f8528fc
VS
308742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30875
30876 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
30877 error.
30878
2b4068e9
VS
308792010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30880
30881 * util/hostdisk.c (open_device): Don't use partition device when reading
30882 before the partition.
30883 (grub_util_biosdisk_read): Don't read from partition and before the
30884 partition in single operation.
30885 (grub_util_biosdisk_write): Don't write to partition and before the
30886 partition in single operation.
30887
399f6e4d
TL
308882010-02-03 Torsten Landschoff <torsten@debian.org>
30889
30890 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30891 last sectors.
30892
996649b0
VS
308932010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30894
30895 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
30896 CDROM reads.
30897 (grub_biosdisk_write): Refuse to write to CDROM.
30898
3b205d4d
VS
308992010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30900
30901 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
30902
61e89d9d
VS
309032010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30904
30905 * font/font.c (find_glyph): Check that bmp_idx is available before
30906 using it.
30907 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
30908 with (font == NULL).
30909
bf7fcba2
CS
309102010-01-28 Christian Schmitt <chris@ilovelinux.de>
30911
30912 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
30913
f45d2663
BC
309142010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
30915
30916 * include/grub/script_sh.h (sourcecode): Add const qualifier.
30917 * util/grub-script-check.c (getline): Fix empty lines case.
30918
ec1444e6
RM
309192010-01-28 Robert Millan <rmh.grub@aybabtu.com>
30920
30921 * Makefile.in (check): Exit with fail status when one of the tests
30922 fails.
30923 * tests/example_functional_test.c (example_test): Fix reversed assert.
30924 * tests/example_unit_test.c (example_test): Likewise.
30925
2e1cb9bb
CW
309262010-01-28 Colin Watson <cjwatson@ubuntu.com>
30927
30928 * util/grub.d/10_linux.in: This script does not use any of the
30929 contents of gettext.sh, only the external command `gettext', so stop
30930 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
30931 the same prefix as GRUB.)
30932 * util/grub.d/10_kfreebsd.in: Likewise.
30933
63533ab0
VS
309342010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30935
30936 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
30937 of the line.
30938
989e1f93
VS
309392010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30940
30941 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30942 last sectors.
30943
e709ebe2
VS
309442010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30945
30946 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
30947 having a 4KiB and not 32KiB buffer size.
30948
27dea7ed
RM
309492010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30950
30951 * util/hostfs.c: Include `<errno.h>'.
30952 (grub_hostfs_read): Handle errors from fseeko() and fread().
30953
67667b9c
RM
309542010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30955
30956 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
30957 loop when using read hooks on files whose size isn't sector-aligned.
30958
c294d9d8
RM
309592010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30960
30961 Remove unused parameter.
30962
30963 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
30964 (grub_iso9660_open): Remove initialization of `data->length'.
30965
af75a9f1
RM
309662010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30967
30968 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
30969 memleak conditions.
30970
254e2ce5 309712010-01-27 Carles Pina i Estany <carles@pina.cat>
30972
30973 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
30974 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
30975
b510928c 309762010-01-26 Carles Pina i Estany <carles@pina.cat>
30977
30978 * util/bin2h.c (usage): Fix warning (space after backslash).
30979
aa2f9dd2 309802010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 30981
30982 * font/font.c: Include `grub/fontformat.h.
30983 Remove font file format constants.
30984 (grub_font_load): Use the new macros.
30985 * include/grub/fontformat.h: New file.
30986 * util/grub-mkfont.c: Include `grub/fontformat.c'.
30987 (write_font_pf2): Use the new macros.
30988
94e7e712
RM
309892010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30990
30991 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
30992 does.
30993
3973a59a
RM
309942010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30995
30996 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
30997
30998 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
30999 (_start): Macroify `0x7F'.
31000
31001 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
31002 (make_install_device): Use "(pxe)" as fallback prefix when booting
31003 via PXE.
31004
42e0cba3
GS
310052010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
31006
31007 * configure.ac: Reset LIBS after check for libgcc symbols.
31008
847effd8
CW
310092010-01-25 Colin Watson <cjwatson@ubuntu.com>
31010
31011 * util/hostdisk.c (open_device): Add trailing newline to debug
31012 message.
31013
ea4a7e35
GS
310142010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
31015
31016 * configure.ac: Check for `limits.h'.
31017 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
31018
67951a53
RM
310192010-01-24 Robert Millan <rmh.grub@aybabtu.com>
31020
31021 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
31022 capitalize error strings.
31023
c273d4ce
ST
310242010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
31025
31026 * util/grub.d/10_hurd.in: Add a recovery mode.
31027
69be5b74
VS
310282010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
31029
31030 * configure.ac: Check for libgcc symbols with -nostdlib.
31031
fc9e5810
BC
310322010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
31033
31034 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
31035
4b358c0a
VS
310362010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
31037
31038 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
31039 stack since heap may be unavailable at that point.
31040 (grub_ofconsole_gotoxy): Likewise.
31041
454fcd1c
VS
310422010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
31043
31044 * configure.ac: Check for _restgpr_14_x.
31045 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
31046 and _savegpr_* prototypes.
31047
566863ca
RM
310482010-01-22 Robert Millan <rmh.grub@aybabtu.com>
31049
31050 Use generic grub_reboot() for i386-efi.
31051
31052 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
31053 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
31054 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
31055
bf86e59a
VS
310562010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
31057
31058 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
31059 presence of "prefix" variable as it breaks when normal.mod is
31060 embedded.
31061
d645e0f8
VS
310622010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
31063
31064 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
31065 stack since heap is unavailable at that point.
31066
f9ab2e25
VS
310672010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
31068
31069 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
31070 (grub_freebsd_bootinfo): Rewritten.
31071 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
31072
01fc7054
VS
310732010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
31074
31075 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
31076
caab4fd6
RM
310772010-01-21 Robert Millan <rmh.grub@aybabtu.com>
31078
31079 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
31080 domain now.
31081
67eb1427
FZ
310822010-01-20 Felix Zielcke <fzielcke@z-51.de>
31083
31084 * util/misc.c (make_system_path_relative_to_its_root): Change the work
31085 around for handling "/" to the correct fix. Fix a memory leak. Use
31086 xstrdup instead of strdup.
31087
a9ed4ff3
VS
310882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31089
31090 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
31091
310922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
31093
31094 Optimise glyph lookup by Basic Multilingual Plane lookup array.
31095
31096 * font/font.c (struct grub_font): New member 'bmp_idx'.
31097 (font_init): Initialise 'bmp_idx'.
31098 (load_font_index): Fill 'bmp_idx'.
31099 (find_glyph): Make inline. Use bmp_idx for BMP characters.
31100
48209f4f
VS
311012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31102
31103 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
31104 unnecessary calls.
31105
9f0a4bb7
VS
311062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31107
31108 Move context handling out of the kernel.
31109
31110 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
31111 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
31112 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
31113 * conf/i386-efi.rmk: Likewise.
31114 * conf/i386-ieee1275.rmk: Likewise.
31115 * conf/i386-pc.rmk: Likewise.
31116 * conf/powerpc-ieee1275.rmk: Likewise.
31117 * conf/sparc64-ieee1275.rmk: Likewise.
31118 * conf/x86_64-efi.rmk: Likewise.
31119 * include/grub/env.h: Include grub/menu.h.
31120 (grub_env_var_type): Removed.
31121 (grub_env_var): Replaced field 'type' with 'global'.
31122 (grub_env_find): New prototype.
31123 (grub_env_context_open): Remove EXPORT_FUNC.
31124 (grub_env_context_close): Likewise.
31125 (grub_env_export): Likewise.
31126 (grub_env_set_data_slot): Removed.
31127 (grub_env_get_data_slot): Likewise.
31128 (grub_env_unset_data_slot): Likewise.
31129 (grub_env_unset_menu): New prototype.
31130 (grub_env_set_menu): Likewise.
31131 (grub_env_get_menu): Likewise.
31132 * include/grub/env_private.h: New file.
31133 * include/grub/normal.h (grub_context_init): New prototype.
31134 (grub_context_fini): Likewise.
31135 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
31136 * normal/context.c (grub_cmd_export): ... to here.
31137 * kern/env.c: Include env_private.h.
31138 (HASHSZ): Moved to include/grub/env_private.h.
31139 (grub_env_context): Likewise.
31140 (grub_env_sorted_var): Likewise.
31141 (current_context): Renamed from this ...
31142 (grub_current_context): ...to this. 'static' removed. All users updated.
31143 (grub_env_find): Removed 'static'.
31144 (grub_env_context_open): Moved to normal/context.c.
31145 (grub_env_context_close): Likewise.
31146 (grub_env_export): Likewise.
31147 (mangle_data_slot_name): Removed.
31148 (grub_env_set_data_slot): Likewise.
31149 (grub_env_get_data_slot): Likewise.
31150 (grub_env_unset_data_slot): Likewise.
31151 * kern/main.c (grub_set_root_dev): Don't export root.
31152 It will be done later.
31153 (grub_main): Don't export prefix.
31154 It will be done later.
31155 * normal/context.c: New file.
31156 * normal/main.c (free_menu): Use grub_env_unset_menu.
31157 (grub_normal_add_menu_entry): Use grub_env_get_menu.
31158 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
31159 (GRUB_MOD_INIT(normal)): Call grub_context_init.
31160 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
31161
8dd35b8c
VS
311622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31163
31164 setpci support.
31165
31166 * commands/setpci.c: New file.
31167 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
31168 (setpci_mod_SOURCES): New variable.
31169 (setpci_mod_CFLAGS): Likewise.
31170 (setpci_mod_LDFLAGS): Likewise.
31171
449193d5
VS
311722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31173
31174 Byte-addressable PCI configuration space.
31175
31176 * bus/pci.c (grub_pci_make_address): Use byte address instead of
31177 dword address.
31178 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
31179 GRUB_PCI_REG_CACHELINE.
31180 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
31181 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
31182 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
31183 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
31184 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
31185 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
31186 grub_pci_make_address.
31187 (lock_rom_area): Likewise.
31188 * commands/lspci.c (grub_lspci_iter): Use macroses
31189 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
31190 of grub_pci_make_address.
31191 * disk/ata.c (grub_ata_pciinit): Likewise.
31192 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
31193 (GRUB_PCI_REG_VENDOR): Likewise.
31194 (GRUB_PCI_REG_DEVICE): Likewise.
31195 (GRUB_PCI_REG_COMMAND): Likewise.
31196 (GRUB_PCI_REG_STATUS): Likewise.
31197 (GRUB_PCI_REG_REVISION): Likewise.
31198 (GRUB_PCI_REG_CLASS): Likewise.
31199 (GRUB_PCI_REG_CACHELINE): Likewise.
31200 (GRUB_PCI_REG_LAT_TIMER): Likewise.
31201 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
31202 (GRUB_PCI_REG_BIST): Likewise.
31203 (GRUB_PCI_REG_ADDRESSES): Likewise.
31204 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31205 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31206 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31207 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31208 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31209 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31210 (GRUB_PCI_REG_CIS_POINTER): Likewise.
31211 (GRUB_PCI_REG_SUBVENDOR): Likewise.
31212 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
31213 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
31214 (GRUB_PCI_REG_CAP_POINTER): Likewise.
31215 (GRUB_PCI_REG_IRQ_LINE): Likewise.
31216 (GRUB_PCI_REG_IRQ_PIN): Likewise.
31217 (GRUB_PCI_REG_MIN_GNT): Likewise.
31218 (GRUB_PCI_REG_MAX_LAT): Likewise.
31219 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
31220 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
31221 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 31222 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
31223 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
31224 space.
31225
96d73208
RM
312262010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31227
31228 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
31229 can be reliably determined to be supported.
31230
d4484482
RM
312312010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31232
31233 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
31234 that VESA is supported.
31235 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
31236 supported.
31237
00308ecf
VS
312382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31239
31240 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
31241
f66924a4
RM
312422010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31243
31244 * util/misc.c (make_system_path_relative_to_its_root): Work around
31245 special-casing of "/", as previous incarnation of this routine did.
31246
cbca0ada
VS
312472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31248
31249 Fix any-emu compilation.
31250
31251 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
31252 * grub_bin2h_SOURCES: New variable.
31253
34a66d99
RM
312542010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31255
31256 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
31257
94fabf58
RM
312582010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31259
31260 * util/grub.d/00_header.in: Fix handling of locale_dir.
31261
02cf98ca
VS
312622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31263
31264 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
31265 as possible unifont location (Gentoo).
31266 Reported by: Alexander Brüning
31267
327dbcd7
VS
312682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31269
31270 Don't try to generate lists for kernel.img.
31271
31272 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
31273 (pkglib_MODULES): Remove kernel.img.
31274 (kernel_img_EXPORTS): Removed.
31275 (kernel_img_RELOCATABLE): New variable.
31276 * conf/x86_64-efi.rmk: Likewise.
31277 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
31278
ca467290
VS
312792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31280
31281 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
31282 grub_xasprintf or grub_snprintf.
31283 (grub_vsprintf): Likewise.
31284 (grub_snprintf): New proto.
31285 (grub_vsnprintf): Likewise.
31286 (grub_xasprintf): Likewise.
31287 (grub_xvasprintf): Likewise.
31288 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
31289 (grub_sprintf): Removed.
31290 (grub_vsnprintf): New function.
31291 (grub_snprintf): Likewise.
31292 (grub_xvasprintf): Likewise.
31293 (grub_xasprintf): Likewise.
31294 (grub_vsprintf): Renamed to ...
31295 (grub_vsnprintf_real): ...this. New argument max_len.
31296
aca655fd
BC
312972010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
31298
31299 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
31300 fix grub-script-check warning.
31301
7ee92c32
VS
313022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31303
31304 * include/grub/font.h (grub_font_load): Fix prototype.
31305
f80927ca
VS
313062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31307
31308 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
31309
119c50ea
VS
313102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31311
31312 * include/grub/x86_64/at_keyboard.h: New file.
31313
47d5f3c1
VS
313142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31315
31316 * loader/mips/linux.c: Include missing grub/i18n.h.
31317
55ff5266
RM
313182009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31319
31320 * normal/menu.c (notify_execution_failure): Clarify error message.
31321
c893cc87
RM
313222009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31323
31324 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
31325 return value (and revert all return statements). Update users.
31326
917dd370
CW
313272010-01-20 Dan Merillat <debian@dan.merillat.org>
31328
31329 * kern/device.c (grub_device_iterate): Allocate new part_ent
31330 structure based on sizeof (*p) rather than sizeof (p->next), to
31331 account for structure padding.
31332
31333 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
31334 disk is NULL, which might happen for LVM physical volumes with no
31335 LVM signature.
31336
d4a4ee57
RM
313372009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31338
31339 * loader/mips/linux.c (grub_cmd_initrd)
31340 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
31341
313422009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31343
31344 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
31345 (grub_video_video_init, grub_video_bitmap_init)
31346 (grub_font_manager_init, grub_term_gfxterm_init)
31347 (grub_at_keyboard_init): New extern declarations.
31348 (grub_machine_init): Initialize gfxterm and at_keyboard.
31349
31350 * kern/main.c (grub_main): Revert grub_printf delay kludge.
31351
31352 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
31353 `gfxterm.mod' into core image.
31354
31355 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31356 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31357 (kernel_img_FORMAT): Copy to ...
31358
31359 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31360 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31361 (kernel_img_FORMAT): ... here, and ...
31362
31363 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31364 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31365 (kernel_img_FORMAT): ... here.
31366
31367 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
31368 and input (at_keyboard) terminals in kernel.
31369 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
31370
31371 (pkglib_MODULES): Remove `pci.mod'.
31372 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
31373 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
31374 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31375 (at_keyboard_mod_LDFLAGS): Remove variables.
31376
313772010-01-11 Felix Zielcke <fzielcke@z-51.de>
31378
31379 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
31380
313812009-12-10 Robert Millan <rmh.grub@aybabtu.com>
31382
31383 * include/grub/mips/libgcc.h: Only export symbols for functions
31384 that libgcc provides.
31385
313862009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
31387
31388 MIPS support.
31389
31390 * bus/bonito.c: New file.
31391 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
31392 GRUB_PCI_NUM_DEVICES.
31393 * term/i386/pc/serial.c: Move to ...
31394 * term/serial.c: ... here. All users updated.
31395 * util/i386/pc/grub-mkimage.c: Move to ...
31396 * util/grub-mkrawimage.c: ... here. All users updated.
31397 * term/i386/pc/at_keyboard.c: Move to ...
31398 * term/at_keyboard.c: ... here. All users updated.
31399 * conf/mips-qemu-mips.rmk: New file.
31400 * conf/mips-yeeloong.rmk: Likewise.
31401 * conf/mips.rmk: Likewise.
31402 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
31403 mipsel-qemu-mips.
31404 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
31405 to port addresses.
31406 (grub_ata_pciinit): Support CS5536.
31407 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
31408 * font/font_cmd.c (loadfont_command): Open file before passing it to
31409 grub_font_load.
31410 (pseudo_file_read): New function.
31411 (pseudo_file_close): Likewise.
31412 (pseudo_fs): New structure.
31413 (load_font_module): New function.
31414 (GRUB_MOD_INIT(font_manager)): Load embedded font.
31415 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
31416 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
31417 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
31418 * include/grub/i386/at_keyboard.h: Split into ...
31419 * include/grub/at_keyboard.h: ... this ...
31420 * include/grub/i386/at_keyboard.h: ... and this.
31421 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
31422 New prototype.
31423 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
31424 updated.
31425 (grub_elf64_size): Likewise.
31426 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
31427 filename.
31428 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
31429 * include/grub/i386/coreboot/serial.h: Rewritten.
31430 * include/grub/i386/ieee1275/serial.h: Include
31431 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
31432 * include/grub/i386/pc/serial.h: Moved from here ...
31433 * include/grub/serial.h: ... to here. All users updated.
31434 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
31435 (GRUB_PCI_NUM_BUS): Likewise.
31436 (GRUB_PCI_NUM_DEVICES): Likewise.
31437 (grub_pci_device_map_range): Add missing volatile keyword.
31438 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
31439 * include/grub/mips/at_keyboard.h: New file.
31440 * include/grub/mips/cache.h: Likewise.
31441 * include/grub/mips/io.h: Likewise.
31442 * include/grub/mips/kernel.h: Likewise.
31443 * include/grub/mips/libgcc.h: Likewise.
31444 * include/grub/mips/pci.h: Likewise.
31445 * include/grub/mips/qemu-mips/boot.h: Likewise.
31446 * include/grub/mips/qemu-mips/kernel.h: Likewise.
31447 * include/grub/mips/qemu-mips/loader.h: Likewise.
31448 * include/grub/mips/qemu-mips/memory.h: Likewise.
31449 * include/grub/mips/qemu-mips/serial.h: Likewise.
31450 * include/grub/mips/qemu-mips/time.h: Likewise.
31451 * include/grub/mips/relocator.h: Likewise.
31452 * include/grub/mips/time.h: Likewise.
31453 * include/grub/mips/types.h: Likewise.
31454 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
31455 * include/grub/mips/yeeloong/boot.h: Likewise.
31456 * include/grub/mips/yeeloong/kernel.h: Likewise.
31457 * include/grub/mips/yeeloong/loader.h: Likewise.
31458 * include/grub/mips/yeeloong/memory.h: Likewise.
31459 * include/grub/mips/yeeloong/pci.h: Likewise.
31460 * include/grub/mips/yeeloong/serial.h: Likewise.
31461 * include/grub/mips/yeeloong/time.h: Likewise.
31462 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
31463 * kern/elf.c (grub_elf32_size): New parameter. All users
31464 updated.
31465 (grub_elf64_size): Likewise.
31466 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
31467 Load modules before saying "Welcome to GRUB!".
31468 Call grub_refresh after saying "Welcome to GRUB!".
31469 * kern/mips/cache.S: New file.
31470 * kern/mips/cache_flush.S: Likewise.
31471 * kern/mips/dl.c: Likewise.
31472 * kern/mips/init.c: Likewise.
31473 * kern/mips/qemu-mips/init.c: Likewise.
31474 * kern/mips/startup.S: Likewise.
31475 * kern/mips/yeeloong/init.c: Likewise.
31476 * kern/term.c (grub_putcode): Handle NULL terminal.
31477 (grub_getcharwidth): Likewise.
31478 (grub_getkey): Likewise.
31479 (grub_checkkey): Likewise.
31480 (grub_getkeystatus): Likewise.
31481 (grub_getxy): Likewise.
31482 (grub_getwh): Likewise.
31483 (grub_gotoxy): Likewise.
31484 (grub_cls): Likewise.
31485 (grub_setcolorstate): Likewise.
31486 (grub_setcolor): Likewise.
31487 (grub_getcolor): Likewise.
31488 (grub_refresh): Likewise.
31489 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
31490 (write_jump): Add hatch nop.
31491 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
31492 * lib/mips/setjmp.S: New file.
31493 * loader/mips/linux.c: Likewise.
31494 * term/i386/pc/at_keyboard.c: Move from here ...
31495 * term/at_keyboard.c: ... to here.
31496 * term/i386/pc/serial.c: Moved from here ...
31497 * term/serial.c: ... to here. All users updated.
31498 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
31499 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
31500 (serial_translate_key_sequence): Avoid deadlock.
31501 (grub_serial_getkey): Handle backspace.
31502 (grub_serial_putchar): Fix newline handling.
31503 * util/i386/pc/grub-mkimage.c: Move from here ...
31504 * util/grub-mkrawimage.c: ... to here. All users updated.
31505 (generate_image): New parameters 'font_path' and 'format'.
31506 Support embedding font.
31507 Use grub_host_to_target* instead of grub_cpu_to_le*.
31508 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
31509 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
31510 (options): New option "--font".
31511 (usage): Likewise.
31512 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
31513 (main): Handle "--font".
31514 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
31515 (grub_virtual_screen_setup): Set bg_color_display.
31516 (redraw_screen_rect): Use bg_color_display instead of incorrect
31517 bg_color.
31518 (grub_gfxterm_cls): Likewise.
31519 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
31520 Support embedding config file.
31521 (add_segments): Likewise.
31522 (options): New option "--config".
31523 (main): Handle "--config".
31524 * video/sm712.c: New file.
31525
25c2b5b3
RM
315262010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31527
31528 Fix parallel builds.
31529
31530 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
31531 font.c depend on ascii.h).
31532
315332010-01-12 Carles Pina i Estany <carles@pina.cat>
31534
31535 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
31536
315372010-01-11 Carles Pina i Estany <carles@pina.cat>
31538
31539 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
31540 By default: disabled.
31541 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
31542 parameter.
31543
315442010-01-10 Carles Pina i Estany <carles@pina.cat>
31545
31546 * font/font.c: Update copyright years.
31547 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
31548
315492010-01-10 Carles Pina i Estany <carles@pina.cat>
31550
31551 * font/font.c: Include `ascii.h'.
31552 (ASCII_BITMAP_SIZE): New macro.
31553 (ascii_font_glyph): Define.
31554 (ascii_glyph_lookup): New function.
31555 (grub_font_get_string_width): Change comment. If glyph not found, use
31556 ascii_glyph_lookup.
31557 (grub_font_get_glyph_with_fallback): If glyph not available returns
31558 ascii_glyph_lookup.
31559 * util/grub-mkfont.c (file_formats): New enum.
31560 (options): Add `ascii-bitmaps' new option.
31561 (usage): Add `asii-bitmaps' new option.
31562 (write_font_ascii_bitmap): New function.
31563 (write_font): Rename to ...
31564 (write_font_p2): ... this. Remove print_glyphs call.
31565 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
31566 used. Call print_glyphs.
31567 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
31568
315692010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31570
31571 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
31572 (grub_bin2h_SOURCES): New variable.
31573 * util/bin2h.c: New file.
31574
915fc1b8
VS
315752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31576
31577 * include/multiboot.h: Resynced with spec.
31578 * include/multiboot2.h: Likewise.
31579 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
31580 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
31581
9444b678
RM
315822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31583
31584 * include/grub/term.h (grub_term_register_input,
31585 grub_term_register_output): Check return of terminal init()
31586 routines, and abort if errors are raised.
31587
31588 * commands/terminal.c: Update copyright year.
31589
cba98e8d
RM
315902010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31591
31592 * commands/terminal.c (grub_cmd_terminal_input)
31593 (grub_cmd_terminal_output): Check return of terminal init()
31594 routines, and abort if errors are raised.
31595
6f7db5d6
VS
315962010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31597
31598 * include/grub/i386/bsd.h: Fix include pathes.
31599
262bff8d
VS
316002010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31601
31602 Add missing *BSD copyright headers.
31603
31604 * include/grub/aout.h: Add BSD licence.
31605 * include/grub/i386/bsd.h: Parts under different licences moved to ...
31606 * include/grub/i386/freebsd_linker.h: ... here,
31607 * include/grub/i386/freebsd_reboot.h: ... here,
31608 * include/grub/i386/netbsd_bootinfo.h: ... here,
31609 * include/grub/i386/netbsd_reboot.h: ... here,
31610 * include/grub/i386/openbsd_bootarg.h: ... here,
31611 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
31612 licence to each file.
31613
b2cab848
RM
316142010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31615
31616 * acinclude.m4: Remove `nop' assembly instruction; it's not
31617 implemented by all architectures.
31618
2cb6be4b
RM
316192010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31620
31621 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
31622 ELILO. This is no longer necessary.
31623
a2eaee15
BC
316242010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
31625
31626 Added new tool, grub-scrit-check to verify grub.cfg syntax.
31627
31628 * util/grub-script-check.c: grub-script-check tool.
31629 * conf/common.rmk: Make rules for grub-script-check.
31630
88d17012
RM
316312010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31632
31633 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
31634 spotting it back in 2008. Shame on me for forgetting he did.
31635
31636 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
31637
8040619d
RM
316382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31639
31640 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
31641 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
31642 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
31643 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
31644 (GRUB_VIDEO_TYPE_EFI): Rename to ...
31645 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
31646
a0c2a0f6
RM
316472010-01-17 Robert Millan <rmh.grub@aybabtu.com>
31648
31649 * include/grub/test.h: Add license header.
31650 * tests/example_functional_test.c: Likewise.
31651 * tests/example_unit_test.c: Likewise.
31652 * tests/lib/functional_test.c: Likewise.
31653 * tests/lib/test.c: Likewise.
31654 * tests/lib/unit_test.c: Likewise.
31655
b0b13907
VS
316562010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
31657
31658 Use flag-based instead of hook-based video mode selection and "auto"
31659 keyword.
31660
31661 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
31662 (grub_video_set_mode): Changed prototype. All users updated.
31663 (grub_video_check_mode_flag): New inline function.
31664 * video/video.c (parse_modespec): New function.
31665 (grub_video_set_mode): Parse flags and keywords.
31666
ea379330 316672010-01-17 Carles Pina i Estany <carles@pina.cat>
31668
31669 * util/misc.c (grub_util_info): Fix the order of the parameters in a
31670 fprintf call.
31671
e15c215e
FZ
316722010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
31673
31674 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
31675
409ae1c9 316762010-01-16 Carles Pina i Estany <carles@pina.cat>
31677
31678 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
31679 string.
31680 * util/grub-emu.c (usage): Likewise.
31681 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
31682 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31683 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31684 * util/i386/pc/grub-setup.c (usage): Likewise.
31685
70a14d3d 316862010-01-16 Carles Pina i Estany <carles@pina.cat>
31687
31688 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
31689 the message.
31690 (grub_util_info): Likewise.
31691 (grub_util_error): Likewise.
31692 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
31693 and/or new lines in `grub_util_warna', `grub_util_info',
31694 `grub_util_error' calls.
31695 * util/getroot.c: Likewise.
31696 * util/grub-editenv.c: Likewise.
31697 * util/grub-emu.c: Likewise.
31698 * util/grub-fstest.c: Likewise.
31699 * util/grub-mkdevicemap.c: Likewise.
31700 * util/grub-mkfont.c: Likewise.
31701 * util/grub-mkpasswd-pbkdf2.c: Likewise.
31702 * util/grub-mkrelpath.c: Likewise.
31703 * util/grub-pe2elf.c: Likewise.
31704 * util/grub-probe.c: Likewise.
31705 * util/hostdisk.c: Likewise.
31706 * util/i386/efi/grub-mkimage.c: Likewise.
31707 * util/i386/pc/grub-mkimage.c: Likewise.
31708 * util/i386/pc/grub-setup.c: Likewise.
31709 * util/ieee1275/ofpath.c: Likewise.
31710 * util/mkisofs/eltorito.c: Likewise.
31711 * util/mkisofs/rock.c: Likewise.
31712 * util/mkisofs/write.c: Likewise.
31713 * util/raid.c: Likewise.
31714 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31715 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31716
a0b766fc
VS
317172010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31718
31719 Enable multiboot on non-pc.
31720
31721 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
31722 multiboot.mod and multiboot2.mod to ...
31723 * conf/i386.rmk (pkglib_MODULES): ... here.
31724 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
31725 Moved to ...
31726 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
31727 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
31728 Moved to ...
31729 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
31730 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
31731 Moved to ...
31732 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
31733 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
31734 Moved to ...
31735 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
31736 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
31737 relocator.mod.
31738 (ata_mod_SOURCES): Removed.
31739 (ata_mod_CFLAGS): Likewise.
31740 (ata_mod_LDFLAGS): Likewise.
31741 (relocator_mod_SOURCES): Removed.
31742 (relocator_mod_CFLAGS): Likewise.
31743 (relocator_mod_ASFLAGS): Likewise.
31744 (relocator_mod_LDFLAGS): Likewise.
31745 Include i386.mk.
31746 * include/grub/x86_64/multiboot.h: New file.
31747 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
31748 Terminate EFI.
31749
884ade56
VS
317502010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31751
31752 Video multiboot support.
31753
31754 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
31755 New prototype.
31756 * include/multiboot.h: Resynced with multiboot specification.
31757 * include/multiboot2.h: Likewise.
31758 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
31759 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
31760 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
31761 (HAS_VGA_TEXT): Likewise.
31762 (accepts_video): New variable.
31763 (grub_multiboot_set_accepts_video): New function.
31764 (grub_multiboot_get_mbi_size): Account for video structures.
31765 (set_video_mode): New function.
31766 (retrieve_video_parameters): Likewise.
31767 (grub_multiboot_make_mbi): Fill video fields.
31768
0d90e8a6
VS
317692010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31770
31771 Video driver ids.
31772
31773 * include/grub/video.h (grub_video_driver_id): New type.
31774 (grub_video_adapter): New member 'id'. All users updated.
31775 (grub_video_get_driver_id): New proto.
31776 * video/video.c (grub_video_get_driver_id): New function.
31777
5c71db1b 317782010-01-14 Carles Pina i Estany <carles@pina.cat>
31779
31780 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
31781 `var=val'.
31782
cca15b52 317832010-01-14 Carles Pina i Estany <carles@pina.cat>
31784
31785 * normal/cmdline.c (print_completion): Gettextizze.
31786
c586fbb2 317872001-01-14 Carles Pina i Estany <carles@pina.cat>
31788
31789 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
31790
ba2f6848 317912010-01-14 Carles Pina i Estany <carles@pina.cat>
31792
31793 * gettext/gettext.c (grub_gettext_translate): Push and pop
31794 grub_errno.
31795 (grub_gettext_delete_list): Change comment style.
31796 * kern/err.c (grub_error): Gettextizze.
31797 (grub_fatal): Gettextizze.
31798
0a46429a
RM
317992010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31800
31801 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
31802 (grub_linux16_real_boot): ... this.
31803 * kern/i386/loader.S: Likewise.
31804 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
31805 (grub_linux16_boot): New function. Switches to text mode and calls
31806 grub_linux16_real_boot().
31807
31808 * loader/i386/bsd.c: Include `<grub/video.h>'.
31809 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
31810 text mode before calling grub_unix_real_boot().
31811
31812 * loader/i386/multiboot.c: Include `<grub/video.h>'.
31813 (grub_multiboot_boot): Switch to text mode before calling
31814 grub_relocator32_boot().
31815
31816 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
31817 (grub_chainloader_boot): Switch to text mode before calling
31818 grub_chainloader_real_boot().
31819
d6f93a66
RM
318202010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
318212010-01-05 Colin Watson <cjwatson@ubuntu.com>
31822
31823 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
31824 non-empty value.
31825
318262010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
318272010-01-05 Colin Watson <cjwatson@ubuntu.com>
31828
31829 * util/grub.d/00_header.in: Define a "savedefault" function for use
31830 in menu entries.
31831 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
31832
318332010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
318342010-01-05 Colin Watson <cjwatson@ubuntu.com>
31835
31836 * util/grub-mkconfig_lib.in (save_default_entry): Only set
31837 saved_entry if boot_once is unset.
31838 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
31839 previous saved entry (i.e. grub-reboot).
31840
318412009-12-08 Colin Watson <cjwatson@ubuntu.com>
31842
31843 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
31844
318452009-12-08 Colin Watson <cjwatson@ubuntu.com>
31846
31847 * util/grub.d/00_header.in: Use `set var=val' rather than plain
31848 `var=val'.
31849 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
31850
318512009-12-08 Colin Watson <cjwatson@ubuntu.com>
31852
31853 * util/grub-reboot.in: Fix --version output.
31854 * util/grub-set-default.in: Likewise.
31855
318562009-12-08 Colin Watson <cjwatson@ubuntu.com>
31857
31858 * util/grub.d/00_header.in: Silently ignore zero-sized environment
31859 blocks.
31860
318612009-12-08 Colin Watson <cjwatson@ubuntu.com>
31862
31863 * util/grub.d/00_header.in: Quote the value assigned to `default',
31864 in case it contains spaces.
31865
318662009-12-08 Colin Watson <cjwatson@ubuntu.com>
31867
31868 * util/grub.d/30_os-prober.in: Fix merge error that moved a
31869 `save_default_entry' call from the macosx case to the linux case.
31870
318712009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
318722009-10-25 Colin Watson <cjwatson@ubuntu.com>
31873
31874 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
31875 in `chosen' environment variable.
31876 * normal/menu_text.c (get_entry_number): Check if the variable
31877 matches the title of a menu entry.
31878 (run_menu): Pass menu to get_entry_number.
31879
31880 * util/grub-reboot.in: New file.
31881 * util/grub-set-default.in: New file.
31882 * conf/common.rmk (grub-reboot): New utility.
31883 (grub-set-default): New utility.
31884
31885 * util/grub-mkconfig_lib.in (save_default_entry): New function.
31886 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
31887 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
31888 move it to `saved_entry' for the next boot. Load environment on
31889 initialisation.
31890 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
31891 * util/grub.d/10_hurd.in: Likewise.
31892 * util/grub.d/10_linux.in (linux_entry): Likewise.
31893 * util/grub.d/10_windows.in: Likewise.
31894 * util/grub.d/30_os-prober.in: Likewise.
31895
31896 * util/grub-install.in: Create environment block.
31897 * util/i386/efi/grub-install.in: Likewise.
31898 * util/ieee1275/grub-install.in: Likewise.
31899 * util/sparc64/ieee1275/grub-install.in: Likewise.
31900
0934d184
BC
319012010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
31902
31903 Unit testing framework for GRUB.
31904
31905 * Makefile.in: Test framework build rules for 'make check'.
31906 * conf/tests.rmk: Build rules for individual tests and framework.
31907
31908 * include/grub/test.h: Header file for whitebox tests.
31909 * tests/lib/functional_test.c: Framework support for whitebox
31910 functional tests.
31911 * tests/lib/test.c: Common whitebox testing code for unit and
31912 functional tests.
31913 * tests/lib/unit_test.c: Framework support for whitebox unit
31914 tests.
31915
31916 * tests/util/grub-shell-tester.in: Support utility for grub-script
31917 tests.
31918 * tests/util/grub-shell.in: Utility to execute grub-script
31919 commands in a Qemu instance.
31920
31921 * tests/example_functional_test.c: Example whitebox functional
31922 test.
31923 * tests/example_grub_script_test.in: Example grub-script test.
31924 * tests/example_scripted_test.in: Example scripted test.
31925 * tests/example_unit_test.c: Example whitebox unit test.
31926
9c4ffeeb
VS
319272010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
31928
31929 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
31930 Add loader/i386/multiboot_mbi.c.
31931 (multiboot2_mod_SOURCES): Likewise.
31932 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
31933 (multiboot2_mod_SOURCES): Likewise.
31934 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
31935 (grub_multiboot_make_mbi): Likewise.
31936 (grub_multiboot_free_mbi): Likewise.
31937 (grub_multiboot_init_mbi): Likewise.
31938 (grub_multiboot_add_module): Likewise.
31939 (grub_multiboot_set_bootdev): Likewise.
31940 * loader/i386/multiboot.c (mbi): Removed.
31941 (mbi_dest): Likewise.
31942 (alloc_mbi): New variable.
31943 (grub_multiboot_payload_size): Removed. All users updated.
31944 (grub_multiboot_pure_size): New variable.
31945 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
31946 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
31947 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
31948 (grub_fill_multiboot_mmap): Likewise.
31949 (grub_multiboot_get_bootdev): Likewise.
31950 (grub_multiboot): Use multiboot_mbi functions.
31951 * loader/i386/multiboot_mbi.c: New file.
31952
17383dfe
VS
319532010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31954
31955 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
31956 it would result in module crash.
31957
c1f28820
VS
319582010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31959
31960 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
31961 (grub_ofconsole_getwh): Split to ...
31962 (grub_ofconsole_getwh): ... this.
31963 (grub_ofconsole_dimensions): ...and this.
31964 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
31965
58655a16
RM
319662010-01-13 Robert Millan <rmh.grub@aybabtu.com>
31967
31968 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
31969
10891398
VS
319702010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31971
31972 * loader/i386/pc/multiboot2.c: Removed stalled file.
31973
0b8a223c
VS
319742010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31975
31976 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
31977 Reported by: Grégoire Sutre
31978
92ab12b0
RM
319792010-01-11 Robert Millan <rmh.grub@aybabtu.com>
31980
31981 * util/misc.c (canonicalize_file_name): New function.
31982 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
31983 instead of realpath().
31984
a788afb6
CW
319852010-01-11 Colin Watson <cjwatson@ubuntu.com>
31986
31987 * util/grub-install.in (usage): Clarify meaning of --root-directory,
31988 and make it clearer that it's optional. Based on confusion
31989 witnessed on IRC.
31990
ffa8e3d2
VS
319912010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31992
31993 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
31994 in premature implicit newline.
31995
e9060a9d
VS
319962010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31997
31998 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
31999 which resulted in garbled command line at the end of screen.
32000
f0d0c0b7
RM
320012010-01-10 Robert Millan <rmh.grub@aybabtu.com>
32002
32003 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
32004 initialization with similar approach as with other Linux loaders.
32005
0e60bae7
RM
320062010-01-10 Robert Millan <rmh.grub@aybabtu.com>
32007
32008 Fix i386-ieee1275 build.
32009
32010 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
32011 and grub_term_height() for video_{width,height} initialization.
32012
320132010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
32014
32015 Fix grub-emu build.
32016
32017 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
32018
cdb3f378
RM
320192010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
320202010-01-09 Robert Millan <rmh.grub@aybabtu.com>
32021
32022 Support for multiple terminals.
32023
32024 * Makefile.in (pkglib_DATA): terminal.lst.
32025 (terminal.lst): New target.
32026 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
32027 (GRUB_MOD_INIT(handler)): Likewise.
32028 (GRUB_MOD_FINI(handler)): Likewise.
32029 * commands/help.c (grub_cmd_help): Handle multiple terminals.
32030 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
32031 * commands/sleep.c (do_print): Use grub_term_restore_pos.
32032 (grub_cmd_sleep): Use grub_term_save_pos.
32033 * commands/terminal.c: New file.
32034 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
32035 commands/terminal.c and lib/charset.c.
32036 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
32037 (pkglib_MODULES): Add terminal.mod.
32038 (terminal_mod_SOURCES): New variable.
32039 (terminal_mod_CFLAGS): Likewise.
32040 (terminal_mod_LDFLAGS): Likewise.
32041 * genhandlerlist.sh: Don't handle terminals.
32042 * genmk.rb: Generate terminal-*.lst.
32043 * genterminallist.sh: New file.
32044 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
32045 (grub_is_valid_utf8): Likewise.
32046 (grub_utf8_to_ucs4_alloc): Likewise.
32047 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
32048 (grub_menu_register_viewer): Changed argument.
32049 (grub_menu_try_text): New proto.
32050 (grub_gfxmenu_try_hook): New declaration.
32051 * include/grub/normal.h (grub_normal_exit_level): New declaration.
32052 (grub_menu_init_page): Additional argument term.
32053 (grub_normal_init_page): Likewise.
32054 (grub_cmdline_get): Arguments simplified.
32055 (grub_utf8_to_ucs4_alloc): Removed.
32056 (grub_print_ucs4): Additional argument term.
32057 (grub_getstringwidth): Likewise.
32058 (grub_print_message_indented): Likewise.
32059 (grub_menu_text_register_instances): New proto.
32060 (grub_show_menu): Likewise.
32061 (read_terminal_list): Likewise.
32062 (grub_set_more): Likewise.
32063 * include/grub/parser.h: Include handler.h.
32064 * include/grub/reader.h: Rewritten.
32065 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
32066 (GRUB_TERM_WIDTH): Changed to function.
32067 (GRUB_TERM_HEIGHT): Likewise.
32068 (GRUB_TERM_BORDER_WIDTH): Likewise.
32069 (GRUB_TERM_BORDER_HEIGHT): Likewise.
32070 (GRUB_TERM_NUM_ENTRIES): Likewise.
32071 (GRUB_TERM_ENTRY_WIDTH): Likewise.
32072 (GRUB_TERM_CURSOR_X): Likewise.
32073 (grub_term_input_class): Likewise.
32074 (grub_term_output_class): Likewise.
32075 (grub_term_outputs_disabled): New declaration.
32076 (grub_term_inputs_disabled): Likewise.
32077 (grub_term_outputs): Likewise.
32078 (grub_term_inputs): Likewise.
32079 (grub_term_register_input): Rewritten.
32080 (grub_term_register_output): Likewise.
32081 (grub_term_unregister_input): Likewise.
32082 (grub_term_unregister_output): Likewise.
32083 (FOR_ACTIVE_TERM_INPUTS): New macro.
32084 (FOR_DISABLED_TERM_INPUTS): Likewise.
32085 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
32086 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
32087 * include/grub/terminfo.h: Add oterm argument to all protypes.
32088 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
32089 Use grub_rescue_run.
32090 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
32091 All users updated.
32092 * kern/reader.c: Removed. All users updated.
32093 * kern/rescue_reader.c (grub_rescue_init): Removed.
32094 (grub_rescue_reader): Likewise.
32095 (grub_register_rescue_reader): Likewise.
32096 (grub_rescue_run): New function based on kern/reader.c.
32097 * kern/term.c: Adapted for multiterm.
32098 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
32099 (grub_is_valid_utf8): Likewise.
32100 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
32101 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
32102 right terminal.
32103 * loader/i386/linux.c (grub_linux_boot): Likewise.
32104 * normal/auth.c (grub_username_get): New function.
32105 (grub_auth_check_authentication): Use grub_username_get.
32106 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
32107 * normal/color.c: Adapt for multiterm.
32108 * normal/main.c (read_config_file): Don't use grub_reader_loop.
32109 (grub_normal_init_page): Additional argument term.
32110 (read_lists): Call read_terminal_lists.
32111 (grub_enter_normal_mode): Call grub_cmdline_run.
32112 Handle grub_normal_exit_level.
32113 (grub_cmd_normal): Make reentrant.
32114 (grub_cmd_normal_exit): New function.
32115 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
32116 * normal/menu.c: Adapt for multiterm.
32117 * normal/menu_entry.c: Likewise.
32118 * normal/menu_text.c: Likewise.
32119 * normal/menu_viewer.c: Removed. All users updated.
32120 * normal/term.c: New file.
32121 * util/console.c: Change order of includes to workaround a bug in
32122 ncurses headers.
32123 * term/terminfo.c: New argument oterm on all exported functions.
32124 All users updated.
32125 * util/grub-editenv.c (grub_term_input_class): Removed.
32126 (grub_term_output_class): Likewise.
32127
1a064917
RM
321282010-01-09 Robert Millan <rmh.grub@aybabtu.com>
32129
32130 Make loader output a bit more user-friendly.
32131
32132 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
32133 is being loaded. Likewise for the Hurd.
32134
32135 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
32136 that kernel of FreeBSD ${version} is being loaded.
32137
32138 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
32139 grub_dprintf().
32140 (grub_cmd_initrd): Likewise.
32141 * util/grub.d/10_linux.in (linux_entry): Print message indicating
32142 that Linux ${version} is being loaded. Likewise for initrd.
32143
5ce0a83a 321442010-01-09 Carles Pina i Estany <carles@pina.cat>
32145
32146 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
32147
809bbfeb 321482010-01-08 Carles Pina i Estany <carles@pina.cat>
32149
32150 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
32151 (GRUB_MOD_INIT): Gettextizze.
32152 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
32153 (GRUB_MOD_INIT): Gettextizze.
32154 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
32155 (grub_cmd_linux): Capitalise Linux.
32156 (GRUB_MOD_INIT): Gettextizze.
32157 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
32158 (grub_cmd_linux): Capitalise Linux.
32159 (GRUB_MOD_INIT): Gettextizze.
32160 * loader/i386/linux.c: Include `<grub/i18n.h>'.
32161 (grub_cmd_linux): Capitalise Linux.
32162 (GRUB_MOD_INIT): Gettextizze.
32163 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
32164 (GRUB_MOD_INIT): Gettextizze.
32165 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
32166 (grub_cmd_linux): Capitalise Linux.
32167 (GRUB_MOD_INIT): Gettextizze.
32168 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
32169 (grub_cpu_xnu_init): Gettextizze.
32170 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
32171 (GRUB_MOD_INIT): Gettextizze.
32172 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
32173 (GRUB_MOD_INIT): Gettextizze.
32174 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
32175 (grub_linux_load64): Capitalise Linux.
32176 (GRUB_MOD_INIT): Gettextizze.
32177 * loader/xnu.c: Include `<grub/i18n.h>'.
32178 (GRUB_MOD_INIT): Gettextizze.
32179 * po/POTFILES: Add `loader/efi/appleloader.c',
32180 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
32181 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
32182 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
32183 `loader/i386/xnu.c', `loader/multiboot_loader.c',
32184 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
32185 and `loader/xnu.c'.
32186
b394b2ca
RM
321872010-01-08 Robert Millan <rmh.grub@aybabtu.com>
32188
32189 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
32190
321912010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
32192
32193 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
32194 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
32195 * util/mkisofs/mkisofs.c (main): Readjust --version output.
32196
bc8b32b3
RM
321972010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32198
32199 Reset Multiboot 2 support. New loader implements the draft in
32200 /branches/multiboot2 and shares as much code as possible with the
32201 production Multiboot 1 implementation.
32202
32203 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
32204 * loader/multiboot2.c: Likewise.
32205 * loader/i386/multiboot_helper.S: Likewise.
32206 * include/multiboot2.h: Replace with latest version from the draft
32207 in /branches/multiboot2.
32208
32209 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
32210 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
32211 and `loader/multiboot2.c'.
32212 (pkglib_MODULES): Add `multiboot2.mod'.
32213 (multiboot2_mod_SOURCES): New variable.
32214 (multiboot2_mod_LDFLAGS): Likewise.
32215 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
32216
32217 * conf/i386-pc.rmk: Likewise.
32218
32219 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32220 (multiboot_mod_SOURCES): Remove variable.
32221 (multiboot_mod_LDFLAGS): Likewise.
32222 (multiboot_mod_CFLAGS): Likewise.
32223
32224 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
32225 `<multiboot2.h>' instead of `<multiboot.h>'.
32226 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
32227 (MULTIBOOT_HEADER_MAGIC): New macros.
32228
32229 * loader/multiboot_loader.c (module_version_status): Remove variable.
32230 (find_multi_boot2_header): Remove function.
32231 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
32232 logic. Always check for the Multiboot version we're compiling for.
32233 (grub_cmd_module_loader): Likewise.
32234 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
32235 command instead of `multiboot'.
32236
5d2c52b8
RM
322372010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32238
32239 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
32240 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
32241 all users.
32242
53108d92
RM
322432010-01-07 Robert Millan <rmh.grub@aybabtu.com>
322442010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32245
32246 Fix breakage introduced with previous commit.
32247
32248 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
32249 commands.
32250 * normal/handler.c (read_handler_list): Revert part of previous commit
32251 affecting this file.
32252 * normal/main.c (read_lists): Move read_handler_list() call back to ...
32253 (grub_normal_execute): ... here.
32254
e2e936b2
RM
322552010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32256
32257 Merge prefix-redefinition-fix branch.
32258
32259 * normal/autofs.c (read_fs_list): Make function capable of being
32260 run multiple times, gracefuly replacing the previous data
32261 structures.
32262 * normal/dyncmd.c (read_command_list): Likewise.
32263 * normal/handler.c (read_handler_list): Likewise.
32264 * normal/main.c (read_lists): New function. Calls all the
32265 list reading functions.
32266 (grub_normal_execute): Use read_lists() instead of calling all
32267 list reading functions explicitly. Register read_lists() as a
32268 variable hook attached to ${prefix}.
32269
607a3701
VS
322702010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32271
32272 Merge crypto branch.
32273
32274 * Makefile.in (pkglib_DATA): Add crypto.lst.
32275 (crypto.lst): New target.
32276 * commands/hashsum.c: New file.
32277 * commands/password.c (check_password): Use grub_crypto_memcmp.
32278 * commands/password_pbkdf2.c: New file.
32279 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
32280 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
32281 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
32282 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
32283 -I$(srcdir)/lib/libgcrypt_wrap.
32284 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
32285 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
32286 password_pbkdf2.mod.
32287 (crypto_mod_SOURCES): New variable.
32288 (crypto_mod_CFLAGS): Likewise.
32289 (crypto_mod_LDFLAGS): Likewise.
32290 (hashsum_mod_SOURCES): New variable.
32291 (hashsum_mod_CFLAGS): Likewise.
32292 (hashsum_mod_LDFLAGS): Likewise.
32293 (pbkdf2_mod_SOURCES): New variable.
32294 (pbkdf2_mod_CFLAGS): Likewise.
32295 (pbkdf2_mod_LDFLAGS): Likewise.
32296 (password_pbkdf2_mod_SOURCES): New variable.
32297 (password_pbkdf2_mod_CFLAGS): Likewise.
32298 (password_pbkdf2_mod_LDFLAGS): Likewise.
32299 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
32300 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
32301 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
32302 Include conf/gcry.rmk.
32303 * include/grub/auth.h: Rewritten.
32304 * include/grub/crypto.h: New file.
32305 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
32306 * include/grub/normal.h (read_crypto_list): New prototype.
32307 * lib/crypto.c: New file.
32308 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
32309 * lib/pbkdf2.c: Likewise.
32310 * normal/auth.c (grub_auth_strcmp): Removed.
32311 (grub_iswordseparator): Likewise.
32312 (grub_auth_strword): Likewise.
32313 (is_authenticated): Use grub_strword.
32314 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
32315 and grub_strword. Pass entered password to authentication callback.
32316 * normal/crypto.c: New file.
32317 * normal/main.c: Call read_crypto_list.
32318 * util/grub-mkpasswd-pbkdf2.c: New file.
32319 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
32320
42841caa
VS
323212010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
32322
32323 Fix descent and ascent calculation.
32324
32325 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
32326 (options): New option "asce".
32327 (usage): Likewise.
32328 (add_char): Ignore invalid glyphs for descent calculation.
32329 Calculate ascent from actual content.
32330 (print_glyphs): Use 'asce'.
32331 (write_font): Likewise. Allow ascent override.
32332 (main): Handle "asce" option.
32333
e7730de7 323342010-01-06 Carles Pina i Estany <carles@pina.cat>
32335
32336 * kern/err.c: Include `<grub/i18n.h>'.
32337 (grub_print_error): Add full stop. Gettextizze.
32338 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
32339 (grub_bsd_load_elf): Capitalise ELF.
32340 (grub_cmd_freebsd_loadenv): Add `s' in error string.
32341 (grub_cmd_freebsd_module): Likewise.
32342 (grub_cmd_freebsd_module_elf): Likewise.
32343 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
32344
40e3a41f 323452010-01-06 Carles Pina i Estany <carles@pina.cat>
32346
32347 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
32348 * commands/search_file.c (HELP_MESSAGE): New macro.
32349 * commands/search_label.c (HELP_MESSAGE): Likewise.
32350 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
32351 * po/POTFILES: Add `commands/search_file.c',
32352 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
32353 `commands/search.c'.
32354
83507e68
RM
323552010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32356
32357 * config.rpath: Update from Gnulib.
32358
465c787b
YB
323592010-01-05 Yves Blusseau <blusseau@zetam.org>
32360
32361 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
32362
6581dd3a
YB
323632010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
32364
32365 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
32366
3bff18c5
CW
323672010-01-05 Colin Watson <cjwatson@ubuntu.com>
32368
32369 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
32370 arguments to fread so that we get a return value in bytes, rather
32371 than something that will normally be rounded down to 0.
32372 Adjust error handling to avoid producing garbage when size_t is not
32373 the same size as long long.
32374
a1368118
CW
323752010-01-05 Colin Watson <cjwatson@ubuntu.com>
32376
32377 * util/mkisofs/write.c (padblock_write): Check return value of
32378 fread.
32379
7c302978
RM
323802010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32381
32382 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
32383 floppy images now.
32384
32385 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
32386
e33ace06
RM
323872010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32388
32389 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
32390 instead of manual alignment.
32391 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
32392 verbose). Avoid attempts to read past end of the device
32393 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
32394 but GRUB_DISK_CACHE_SIZE may exceed that).
32395
4b856776
RM
323962010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32397
32398 * commands/crc.c (grub_cmd_crc): Abort on read errors.
32399 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
32400 it to upper layer.
32401
52c2d97f
VS
324022010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32403
32404 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
32405 New constant.
32406 (grub_efi_piwg_device_path): New structure
32407 (grub_efi_piwg_device_path_t): New type.
32408 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
32409 (devpath_1): Transform to a structure. All users updated.
32410 (devpath_2): Likewise.
32411 (devpath_3): Likewise.
32412 (devpath_4): Likewise.
32413 (devpath_5): Likewise.
32414
98ff6a54
VS
324152010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32416
32417 * loader/efi/appleloader.c: Restored. Update all users.
32418
3a73dcb6
RM
324192010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32420
32421 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
32422
32423 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
32424 (struct boot_blocklist): Move from here ...
32425 * include/grub/i386/pc/boot.h [ASM_FILE]
32426 (struct grub_boot_blocklist): ... to here. Update all users.
32427 (setup): Only initialize `start' member of `first_block'
32428 structure. Add assert() calls to verify the other members.
32429
32430 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
32431 (generate_image): Fix broken blocklist length initialization.
32432 Add assert() call to verify blocklist `segment' field.
32433
ab0eeb0c
RM
324342010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32435
32436 * loader/efi/appleloader.c: Remove. Update all users.
32437
58bc8bd5
RM
324382010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32439
32440 * boot/i386/pc/boot.S: Update copyright year.
32441 * boot/i386/pc/cdboot.S: Likewise.
32442 * boot/i386/pc/diskboot.S: Likewise.
32443 * boot/i386/pc/lnxboot.S: Likewise.
32444 * boot/i386/pc/pxeboot.S: Likewise.
32445 * bus/pci.c: Likewise.
32446 * commands/cmp.c: Likewise.
32447 * commands/help.c: Likewise.
32448 * commands/hexdump.c: Likewise.
32449 * commands/i386/pc/halt.c: Likewise.
32450 * commands/i386/pc/play.c: Likewise.
32451 * commands/i386/pc/vbeinfo.c: Likewise.
32452 * commands/ls.c: Likewise.
32453 * commands/test.c: Likewise.
32454 * disk/dmraid_nvidia.c: Likewise.
32455 * disk/i386/pc/biosdisk.c: Likewise.
32456 * disk/ieee1275/nand.c: Likewise.
32457 * disk/ieee1275/ofdisk.c: Likewise.
32458 * disk/lvm.c: Likewise.
32459 * disk/raid.c: Likewise.
32460 * disk/raid6_recover.c: Likewise.
32461 * disk/scsi.c: Likewise.
32462 * fs/affs.c: Likewise.
32463 * fs/cpio.c: Likewise.
32464 * fs/ext2.c: Likewise.
32465 * fs/hfs.c: Likewise.
32466 * fs/iso9660.c: Likewise.
32467 * fs/ntfs.c: Likewise.
32468 * fs/sfs.c: Likewise.
32469 * fs/udf.c: Likewise.
32470 * fs/ufs.c: Likewise.
32471 * fs/xfs.c: Likewise.
32472 * gencmdlist.sh: Likewise.
32473 * genmk.rb: Likewise.
32474 * include/grub/disk.h: Likewise.
32475 * include/grub/efi/api.h: Likewise.
32476 * include/grub/efi/efi.h: Likewise.
32477 * include/grub/efi/pe32.h: Likewise.
32478 * include/grub/elf.h: Likewise.
32479 * include/grub/fs.h: Likewise.
32480 * include/grub/i386/at_keyboard.h: Likewise.
32481 * include/grub/i386/pc/memory.h: Likewise.
32482 * include/grub/i386/pc/vbe.h: Likewise.
32483 * include/grub/i386/pci.h: Likewise.
32484 * include/grub/i386/tsc.h: Likewise.
32485 * include/grub/ieee1275/ieee1275.h: Likewise.
32486 * include/grub/ntfs.h: Likewise.
32487 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32488 * include/grub/sparc64/libgcc.h: Likewise.
32489 * include/grub/symbol.h: Likewise.
32490 * include/grub/types.h: Likewise.
32491 * include/multiboot2.h: Likewise.
32492 * io/gzio.c: Likewise.
32493 * kern/device.c: Likewise.
32494 * kern/disk.c: Likewise.
32495 * kern/efi/efi.c: Likewise.
32496 * kern/efi/mm.c: Likewise.
32497 * kern/elf.c: Likewise.
32498 * kern/file.c: Likewise.
32499 * kern/i386/dl.c: Likewise.
32500 * kern/i386/pc/init.c: Likewise.
32501 * kern/i386/pc/startup.S: Likewise.
32502 * kern/ieee1275/ieee1275.c: Likewise.
32503 * kern/ieee1275/init.c: Likewise.
32504 * kern/main.c: Likewise.
32505 * kern/mm.c: Likewise.
32506 * kern/powerpc/dl.c: Likewise.
32507 * kern/sparc64/dl.c: Likewise.
32508 * kern/x86_64/dl.c: Likewise.
32509 * lib/hexdump.c: Likewise.
32510 * loader/efi/appleloader.c: Likewise.
32511 * loader/i386/ieee1275/linux.c: Likewise.
32512 * loader/i386/pc/chainloader.c: Likewise.
32513 * loader/i386/pc/linux.c: Likewise.
32514 * loader/i386/pc/multiboot2.c: Likewise.
32515 * loader/ieee1275/multiboot2.c: Likewise.
32516 * loader/multiboot2.c: Likewise.
32517 * loader/multiboot_loader.c: Likewise.
32518 * loader/powerpc/ieee1275/linux.c: Likewise.
32519 * normal/completion.c: Likewise.
32520 * normal/menu_entry.c: Likewise.
32521 * partmap/apple.c: Likewise.
32522 * util/grub.d/10_hurd.in: Likewise.
32523 * util/hostfs.c: Likewise.
32524 * video/readers/png.c: Likewise.
32525
e2d70b5c
CW
325262010-01-03 Colin Watson <cjwatson@ubuntu.com>
32527
32528 * include/grub/misc.h (GNUC_PREREQ): New macro.
32529 (ATTRIBUTE_ERROR): New macro.
32530 * include/grub/list.h (grub_bad_type_cast_real): Use
32531 ATTRIBUTE_ERROR.
32532
a173283f 325332010-01-03 Carles Pina i Estany <carles@pina.cat>
32534
32535 * normal/menu_text.c (print_message): Change messages.
32536
7fa7ff74 325372010-01-03 Carles Pina i Estany <carles@pina.cat>
32538
32539 * normal/menu_entry.c (store_completion): Gettextizze.
32540
136d24f6 325412010-01-03 Carles Pina i Estany <carles@pina.cat>
32542
32543 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
32544
f936862e 325452010-01-03 Carles Pina i Estany <carles@pina.cat>
32546
32547 * po/POTFILES: Sort correctly.
32548
29c44ad1 325492010-01-03 Carles Pina i Estany <carles@pina.cat>
32550
32551 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
32552 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
32553 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
32554 full stop.
32555 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
32556 summary. Gettextizze the strings.
32557 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
32558 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
32559 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
32560 full stop.
32561 (GRUB_MOD_INIT): Remove command name from summary.
32562 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
32563 summary.
32564 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
32565 * term/i386/pc/serial.c (options): Add full stops.
32566 (GRUB_MOD_INIT): Remove command name from the summary.
32567
77a79592 325682010-01-03 Carles Pina i Estany <carles@pina.cat>
32569
32570 * commands/acpi.c: Gettextizze help strings and/or options. Include
32571 `grub/i18n.h' if needed.
32572 * commands/blocklist.c: Likewise.
32573 * commands/boot.c: Likewise.
32574 * commands/cat.c: Likewise.
32575 * commands/cmp.c: Likewise.
32576 * commands/configfile.c: Likewise.
32577 * commands/crc.c: Likewise.
32578 * commands/date.c: Likewise.
32579 * commands/echo.c: Likewise.
32580 * commands/efi/fixvideo.c: Likewise.
32581 * commands/efi/loadbios.c: Likewise.
32582 * commands/gptsync.c: Likewise.
32583 * commands/halt.c: Likewise.
32584 * commands/handler.c: Likewise.
32585 * commands/hdparm.c: Likewise.
32586 * commands/hexdump.c: Likewise.
32587 * commands/i386/cpuid.c: Likewise.
32588 * commands/i386/pc/drivemap.c: Likewise.
32589 * commands/i386/pc/halt.c: Likewise.
32590 * commands/i386/pc/pxecmd.c: Likewise.
32591 * commands/i386/pc/vbeinfo.c: Likewise.
32592 * commands/i386/pc/vbetest.c: Likewise.
32593 * commands/ieee1275/suspend.c: Likewise.
32594 * commands/keystatus.c: Likewise.
32595 * commands/loadenv.c: Likewise.
32596 * commands/ls.c: Likewise.
32597 * commands/lsmmap.c: Likewise.
32598 * commands/lspci.c: Likewise.
32599 * commands/memrw.c: Likewise.
32600 * commands/minicmd.c: Likewise.
32601 * commands/parttool.c: Likewise.
32602 * commands/password.c: Likewise.
32603 * commands/probe.c: Likewise.
32604 * commands/read.c: Likewise.
32605 * commands/reboot.c: Likewise.
32606 * commands/search.c: Likewise.
32607 * commands/sleep.c: Likewise.
32608 * commands/test.c: Likewise.
32609 * commands/true.c: Likewise.
32610 * commands/usbtest.c: Likewise.
32611 * commands/videotest.c: Likewise.
32612 * commands/xnu_uuid.c: Likewise.
32613 * disk/loopback.c: Likewise.
32614 * hello/hello.c: Likewise.
32615 * loader/i386/bsd.c: Likewise.
32616 * term/i386/pc/serial.c: Likewise.
32617 * po/POTFILES: Add new files.
32618
da8d5c53
CW
326192010-01-02 Colin Watson <cjwatson@ubuntu.com>
32620
32621 * term/i386/pc/at_keyboard.c
32622 (keyboard_controller_wait_untill_ready): Rename to ...
32623 (keyboard_controller_wait_until_ready): ... this. Update all users.
32624
33937904 326252010-01-01 Carles Pina i Estany <carles@pina.cat>
32626
32627 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
32628 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
32629 string using string width.
32630 * normal/menu_text.c (grub_print_message_indented): Use
32631 grub_print_spaces and not print_spaces.
32632 (print_timeout): Likewise.
32633 (print_spaces): Move to...
32634 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
32635
3fd3b8d8
RM
326362010-01-01 Robert Millan <rmh.grub@aybabtu.com>
32637
32638 Import from Gnulib.
32639
32640 * gnulib/getdelim.c: New file.
32641 * gnulib/getline.c: Likewise.
32642
33433555
VS
326432009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
32644
32645 * include/grub/list.h (grub_assert_fail): Removed.
32646 (grub_bad_type_cast_real): New function.
32647 (grub_bad_type_cast): New macro.
32648 (GRUB_AS_LIST): Use grub_bad_type_cast.
32649 (GRUB_AS_LIST_P): Likewise.
e44721e8 32650 (GRUB_AS_NAMED_LIST): Likewise.
33433555 32651 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 32652 (GRUB_AS_PRIO_LIST): Likewise.
33433555 32653 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 32654 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 32655
f5a51306
VS
326562009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
32657
32658 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
32659 Fix syntax error.
32660
90d1e879
RM
326612009-12-29 Robert Millan <rmh.grub@aybabtu.com>
32662
32663 * configure.ac: Check for TARGET_CFLAGS initialization before we
32664 initialize it ourselves (sigh).
32665 Move a few modifications to TARGET_CFLAGS to be unconditional
32666 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
32667 eh_frame)
32668
32669 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
32670 * term/i386/pc/at_keyboard.c
32671 (keyboard_controller_wait_untill_ready): Likewise.
32672 (keyboard_controller_led): Rename `led_status' paramter to avoid
32673 name conflict.
32674
465b5a81 326752009-12-28 Carles Pina i Estany <carles@pina.cat>
32676
32677 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
32678 quotes.
32679
c181849b
VS
326802009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32681
32682 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
32683
9c8739a4
VS
326842009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32685
32686 * normal/menu_text.c (grub_print_message_indented): Prevent
32687 past-the-end-of-array dereference.
32688
3e74249c
VS
326892009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32690
32691 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
32692 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
32693
64fd18ed 326942009-12-27 Carles Pina i Estany <carles@pina.cat>
32695
32696 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
32697 * normal/main.c (grub_normal_read_line): Remove a space from the
32698 default prompt.
32699
714af9b9 327002009-12-27 Carles Pina i Estany <carles@pina.cat>
32701
32702 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
32703 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32704 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32705 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32706 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32707 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32708 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32709
82f3e412 327102009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 32711
32712 * video/readers/jpeg.c (cmd): Declare.
32713 (grub_cmd_jpegtest): Use `grub_command_t' type.
32714 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32715 Assign to `cmd'.
32716 (GRUB_MOD_FINI): Use `cmd' to unregister.
32717 * video/readers/png.c (cmd): Declare.
32718 (grub_cmd_pngtest): Use `grub_command_t' type.
32719 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32720 Assign to `cmd'.
32721 (GRUB_MOD_FINI): Use `cmd' to unregister.
32722 * video/readers/tga.c (cmd): Declare.
32723 (grub_cmd_tgatest): Use `grub_command_t' type.
32724 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32725 Assign to `cmd'.
32726 (GRUB_MOD_FINI): Use `cmd' to unregister.
32727
82f3e412 327282009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 32729
32730 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
32731 stops.
32732 * kern/corecmd.c (grub_register_core_commands): Likewise.
32733 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
32734 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32735 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
32736 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32737 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32738 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
32739 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32740 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
32741 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32742 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32743 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32744 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32745 * normal/handler.c (insert_handler): Likewise.
32746 * normal/main.c (GRUB_MOD_INIT): Likewise.
32747 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
32748
fdcdbb66 327492009-12-26 Carles Pina i Estany <carles@pina.cat>
32750
32751 * commands/help.c (grub_cmd_help): Print the command name before the
32752 summary.
32753 (GRUB_MOD_INIT): Remove command name from the summary.
32754 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 32755 string as summary.
fdcdbb66 32756 * lib/arg.c (find_long): Print the command name before the summary.
32757 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
32758 summary.
32759 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
32760 * commands/cat.c (GRUB_MOD_INIT): Likewise.
32761 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
32762 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32763 * commands/crc.c (GRUB_MOD_INIT): Likewise.
32764 * commands/date.c (GRUB_MOD_INIT): Likewise.
32765 * commands/echo.c (GRUB_MOD_INIT): Likewise.
32766 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
32767 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32768 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32769 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
32770 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
32771 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
32772 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
32773 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32774 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
32775 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
32776 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
32777 * commands/ls.c (GRUB_MOD_INIT): Likewise.
32778 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32779 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32780 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32781 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
32782 * commands/password.c (GRUB_MOD_INIT): Likewise.
32783 * commands/probe.c (GRUB_MOD_INIT): Likewise.
32784 * commands/read.c (GRUB_MOD_INIT): Likewise.
32785 * commands/search.c (GRUB_MOD_INIT): Likewise.
32786 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
32787 * commands/test.c (GRUB_MOD_INIT): Likewise.
32788 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
32789 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
32790 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
32791 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
32792 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
32793 * lib/arg.c (GRUB_MOD_INIT): Likewise.
32794 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
32795 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32796 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32797 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32798 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
32799 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
32800 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
32801 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
32802
9c288be2
VS
328032009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32804
32805 Use search command for preliminar UUID search.
32806
32807 * commands/search.c: Split into ...
32808 * commands/search_wrap.c: ...this
32809 * commands/search.c: ...and this.
32810 * commands/search_file.c: New file.
32811 * commands/search_label.c: New file.
32812 * commands/search_uuid.c: New file.
32813 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
32814 Add commands/search_wrap.c, commands/search_file.c,
32815 commands/search_label.c and commands/search_uuid.c.
32816 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
32817 (search_mod_SOURCES): Set to commands/search_wrap.c.
32818 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
32819 search_label.mod.
32820 (search_fs_file_mod_SOURCES): New variable.
32821 (search_fs_file_mod_CFLAGS): Likewise.
32822 (search_fs_file_mod_LDFLAGS): Likewise.
32823 (search_label_mod_SOURCES): Likewise.
32824 (search_label_mod_CFLAGS): Likewise.
32825 (search_label_mod_LDFLAGS): Likewise.
32826 (search_fs_uuid_mod_SOURCES): New variable.
32827 (search_fs_uuid_mod_CFLAGS): Likewise.
32828 (search_fs_uuid_mod_LDFLAGS): Likewise.
32829 (fs_file_mod_SOURCES): Removed.
32830 (fs_file_mod_CFLAGS): Likewise.
32831 (fs_file_mod_LDFLAGS): Likewise.
32832 (fs_uuid_mod_SOURCES): Removed.
32833 (fs_uuid_mod_CFLAGS): Likewise.
32834 (fs_uuid_mod_LDFLAGS): Likewise.
32835 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
32836 Set to util/grub-install.in.
32837 * disk/fs_file.c: Removed.
32838 * disk/fs_uuid.c: Likewise.
32839 * include/grub/search.h: New file.
32840 * util/grub-install.in: Handle sparc64.
32841 Create and use load.cfg.
32842 * util/sparc64/ieee1275/grub-install.in: Removed.
32843
db943399
VS
328442009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32845
32846 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
32847 Ignore return status if CF is cleared.
32848 (grub_biosdisk_get_diskinfo_standard): Likewise.
32849
3fdae612
RM
328502009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32851
32852 * term/i386/pc/at_keyboard.c
32853 (keyboard_controller_wait_untill_ready): New function.
32854 (grub_keyboard_controller_write, grub_keyboard_controller_read)
32855 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
32856 for keyboard polling, rather than duplicate the same loop. This
32857 saves a few bytes in code size.
32858
7ebaa2b4
VS
328592009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32860
32861 Support for (pxe[:server[:gateway]]) syntax and
32862 use environment variable for PXE.
32863
32864 * commands/i386/pc/pxecmd.c (options): Removed.
32865 (print_ip): Removed.
32866 (grub_cmd_pxe): Removed
32867 (grub_cmd_pxe_unload): New function.
32868 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
32869 (grub_pxe_your_ip): Made static.
32870 (grub_pxe_default_server_ip): Likewise.
32871 (grub_pxe_default_gateway_ip): Likewise.
32872 (grub_pxe_blksize): Likewise.
32873 (parse_ip): New function.
32874 (grub_pxe_open): Support server and gateway specification.
32875 (grub_pxe_close): Free disk->data.
32876 (grub_pxefs_open): Use disk->data.
32877 (grub_pxefs_read): Likewise.
32878 (grub_env_write_readonly): New function.
32879 (set_mac_env): Likewise.
32880 (set_env_limn_ro): Likewise.
32881 (parse_dhcp_vendor): Likewise.
32882 (grub_pxe_detect): Set the environment variables.
32883 (set_ip_env): New function.
32884 (write_ip_env): Likewise.
32885 (grub_env_write_pxe_default_server): Likewise.
32886 (grub_env_write_pxe_default_gateway): Likewise.
32887 (grub_env_write_pxe_blocksize): Likewise.
32888 (GRUB_MOD_INIT(pxe)): Set environment variables.
32889 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
32890 (grub_pxe_mac_addr_t): ... this. All users updated.
32891 (grub_pxe_your_ip): Removed.
32892 (grub_pxe_server_ip): Likewise.
32893 (grub_pxe_gateway_ip): Likewise.
32894 (grub_pxe_blksize): Likewise.
32895
ec5f98ab 328962009-12-25 Carles Pina i Estany <carles@pina.cat>
32897
32898 * commands/help.c: Include `<grub/i18n.h>'.
32899 (grub_cmd_help): Gettextizze.
32900 (GRUB_MOD_INIT): Likewise.
32901 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
32902 (GRUB_MOD_INIT): Gettextizze.
32903 * commands/search.c: Include `<grub/i18n.h>'.
32904 (options): Gettextizze.
32905 (GRUB_MOD_INIT): Gettextizze.
32906 * lib/arg.c: Include `<grub/i18n.h>'.
32907 (help_options): Gettextizze.
32908 (find_long): Likewise.
32909 (grub_arg_show_help): Likewise.
32910 * normal/dyncmd.c: Include `<grub/i18n.h>'.
32911 (read_command_list): Gettextizze.
32912 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 32913 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 32914
22815526
RM
329152009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32916
32917 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
32918 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
32919 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
32920 (led_status): New variable.
32921 (keyboard_controller_led): New function.
32922 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
32923 update led status for caps lock, num lock and scroll lock.
32924
0ad46fd7
FZ
329252009-12-25 Felix Zielcke <fzielcke@z-51.de>
32926
32927 * util/hostdisk.c (open_device): Fix a comment.
32928
d0e158c2
RM
329292009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32930
32931 * util/grub-install.in (host_os): New variable.
32932 * util/i386/efi/grub-install.in (host_os): Likewise.
32933
401c0ad6
RM
329342009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32935
32936 * util/mkisofs/write.c (padblock_write): Abort when given an
32937 excedingly large embed image, instead of silently truncating it.
32938
d14d3370
RM
329392009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32940
32941 * include/multiboot.h: Indentation fixes.
32942
eeed10b4
RM
329432009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32944
32945 * include/multiboot.h (struct multiboot_aout_symbol_table)
32946 (struct multiboot_elf_section_header_table): New structure
32947 declarations (stolen from GRUB Legacy).
32948 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
32949 table information.
32950
32951 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
32952 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
32953 type aliases.
32954
681c70ab
RM
329552009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32956
32957 * include/multiboot.h: Make comments src2texi-friendly.
32958
e4d47d8d
RM
329592009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32960
32961 For consistency with [multiboot]/docs/boot.S.
32962
32963 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
32964 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
32965 (MULTIBOOT_MAGIC2): Rename from this ...
32966 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
32967
a0b70bda
RM
329682009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32969
32970 * include/multiboot.h: Remove `<grub/types.h>'.
32971 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
32972 types. Update all users.
32973
61ba42be 329742009-12-25 Carles Pina i Estany <carles@pina.cat>
32975
32976 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
32977 `couldn't' and `can not' by `cannot'.
32978 * commands/i386/pc/drivemap.c: Likewise.
32979 * disk/ata.c: Likewise.
32980 * disk/ieee1275/nand.c: Likewise.
32981 * fs/affs.c: Likewise.
32982 * fs/fat.c: Likewise.
32983 * fs/hfs.c: Likewise.
32984 * fs/hfsplus.c: Likewise.
32985 * fs/iso9660.c: Likewise.
32986 * fs/jfs.c: Likewise.
32987 * fs/minix.c: Likewise.
32988 * fs/reiserfs.c: Likewise.
32989 * fs/sfs.c: Likewise.
32990 * fs/udf.c: Likewise.
32991 * fs/ufs.c: Likewise.
32992 * fs/xfs.c: Likewise.
32993 * loader/powerpc/ieee1275/linux.c: Likewise.
32994 * loader/sparc64/ieee1275/linux.c: Likewise.
32995 * util/grub-probe.c: Likewise.
32996 * util/misc.c: Likewise.
32997
7fd0baee 329982009-12-24 Carles Pina i Estany <carles@pina.cat>
32999
33000 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
33001 grub_errno calls.
33002 * commands/acpi.c: Likewise.
33003 * commands/blocklist.c: Likewise.
33004 * commands/efi/loadbios.c: Likewise.
33005 * commands/i386/pc/drivemap.c: Likewise.
33006 * commands/loadenv.c: Likewise.
33007 * commands/memrw.c: Likewise.
33008 * commands/password.c: Likewise.
33009 * commands/videotest.c: Likewise.
33010 * disk/ata.c: Likewise.
33011 * disk/ata_pthru.c: Likewise.
33012 * disk/dmraid_nvidia.c: Likewise.
33013 * disk/ieee1275/nand.c: Likewise.
33014 * disk/ieee1275/ofdisk.c: Likewise.
33015 * disk/loopback.c: Likewise.
33016 * disk/lvm.c: Likewise.
33017 * disk/mdraid_linux.c: Likewise.
33018 * disk/raid.c: Likewise.
33019 * disk/raid6_recover.c: Likewise.
33020 * disk/scsi.c: Likewise.
33021 * efiemu/main.c: Likewise.
33022 * efiemu/mm.c: Likewise.
33023 * efiemu/pnvram.c: Likewise.
33024 * efiemu/symbols.c: Likewise.
33025 * font/font.c: Likewise.
33026 * fs/cpio.c: Likewise.
33027 * fs/hfsplus.c: Likewise.
33028 * fs/iso9660.c: Likewise.
33029 * fs/jfs.c: Likewise.
33030 * fs/minix.c: Likewise.
33031 * fs/ntfs.c: Likewise.
33032 * fs/ntfscomp.c: Likewise.
33033 * fs/reiserfs.c: Likewise.
33034 * fs/ufs.c: Likewise.
33035 * fs/xfs.c: Likewise.
33036 * gettext/gettext.c: Likewise.
33037 * include/grub/auth.h: Likewise.
33038 * kern/elf.c: Likewise.
33039 * kern/file.c: Likewise.
33040 * kern/ieee1275/init.c: Likewise.
33041 * kern/ieee1275/mmap.c: Likewise.
33042 * kern/ieee1275/openfw.c: Likewise.
33043 * kern/powerpc/dl.c: Likewise.
33044 * kern/sparc64/dl.c: Likewise.
33045 * lib/arg.c: Likewise.
33046 * loader/i386/bsd.c: Likewise.
33047 * loader/i386/bsdXX.c: Likewise.
33048 * loader/i386/efi/linux.c: Likewise.
33049 * loader/i386/efi/xnu.c: Likewise.
33050 * loader/i386/ieee1275/linux.c: Likewise.
33051 * loader/i386/linux.c: Likewise.
33052 * loader/i386/multiboot.c: Likewise.
33053 * loader/i386/pc/linux.c: Likewise.
33054 * loader/i386/pc/multiboot2.c: Likewise.
33055 * loader/i386/xnu.c: Likewise.
33056 * loader/ieee1275/multiboot2.c: Likewise.
33057 * loader/macho.c: Likewise.
33058 * loader/machoXX.c: Likewise.
33059 * loader/multiboot2.c: Likewise.
33060 * loader/multiboot_loader.c: Likewise.
33061 * loader/powerpc/ieee1275/linux.c: Likewise.
33062 * loader/sparc64/ieee1275/linux.c: Likewise.
33063 * loader/xnu.c: Likewise.
33064 * loader/xnu_resume.c: Likewise.
33065 * mmap/i386/pc/mmap.c: Likewise.
33066 * normal/menu_viewer.c: Likewise.
33067 * partmap/acorn.c: Likewise.
33068 * partmap/amiga.c: Likewise.
33069 * partmap/apple.c: Likewise.
33070 * script/lexer.c: Likewise.
33071 * term/gfxterm.c: Likewise.
33072 * term/i386/pc/serial.c: Likewise.
33073 * term/i386/pc/vga.c: Likewise.
33074 * term/ieee1275/ofconsole.c: Likewise.
33075 * term/terminfo.c: Likewise.
33076 * video/bitmap.c: Likewise.
33077 * video/efi_gop.c: Likewise.
33078 * video/efi_uga.c: Likewise.
33079 * video/fb/video_fb.c: Likewise.
33080 * video/i386/pc/vbe.c: Likewise.
33081 * video/readers/tga.c: Likewise.
33082 * video/video.c: Likewise.
33083
0ad46fd7 330842009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
33085
33086 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
33087 * commands/lspci.c: Likewise.
33088 * commands/probe.c: Likewise.
33089 * commands/xnu_uuid.c: Likewise.
33090 * conf/i386-coreboot.rmk: Likewise.
33091 * conf/i386-efi.rmk: Likewise.
33092 * conf/i386-ieee1275.rmk: Likewise.
33093 * conf/i386-pc.rmk: Likewise.
33094 * conf/powerpc-ieee1275.rmk: Likewise.
33095 * conf/sparc64-ieee1275.rmk: Likewise.
33096 * conf/x86_64-efi.rmk: Likewise.
33097 * fs/i386/pc/pxe.c: Likewise.
33098 * gettext/gettext.c: Likewise.
33099 * include/grub/efi/graphics_output.h: Likewise.
33100 * include/grub/i386/pc/memory.h: Likewise.
33101 * kern/env.c: Likewise.
33102 * kern/i386/qemu/startup.S: Likewise.
33103 * lib/i386/pc/biosnum.c: Likewise.
33104 * lib/i386/relocator.c: Likewise.
33105 * lib/i386/relocator_asm.S: Likewise.
33106 * lib/relocator.c: Likewise.
33107 * loader/i386/bsd.c: Likewise.
33108 * loader/i386/multiboot.c: Likewise.
33109 * loader/i386/pc/chainloader.c: Likewise.
33110 * loader/i386/xnu.c: Likewise.
33111 * loader/xnu.c: Likewise.
33112 * normal/main.c: Likewise.
33113 * normal/menu_text.c: Likewise.
33114 * util/getroot.c: Likewise.
33115 * util/grub-mkconfig_lib.in: Likewise.
33116 * util/grub.d/00_header.in: Likewise.
33117 * util/i386/pc/grub-mkimage.c: Likewise.
33118 * util/mkisofs/eltorito.c: Likewise.
33119 * util/mkisofs/exclude.h: Likewise.
33120 * util/mkisofs/hash.c: Likewise.
33121 * util/mkisofs/iso9660.h: Likewise.
33122 * util/mkisofs/joliet.c: Likewise.
33123 * util/mkisofs/mkisofs.c: Likewise.
33124 * util/mkisofs/mkisofs.h: Likewise.
33125 * util/mkisofs/multi.c: Likewise.
33126 * util/mkisofs/name.c: Likewise.
33127 * util/mkisofs/rock.c: Likewise.
33128 * util/mkisofs/tree.c: Likewise.
33129 * util/mkisofs/write.c: Likewise.
33130 * video/efi_gop.c: Likewise.
33131
009ec743
VS
331322009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
33133
33134 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
33135 size counting.
33136
0ad46fd7 331372009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
33138
33139 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
33140 * genmk.rb (class SCRIPT): Modify the target file instead of source.
33141
d3d30ea0
VS
331422009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33143
33144 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
33145 (GRUB_MOD_INIT(memrw)): Update help line.
33146
a34f5c70
VS
331472009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33148
33149 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
33150 Use grub_extcmd_t. All users updated.
33151 (options): New variable.
33152 (grub_cmd_read): Restructure for readability. Support "-v" option.
33153 (grub_cmd_write): Restructure for readability.
33154
0ad46fd7 331552009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
33156
33157 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
33158
0ad46fd7 331592009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
33160
33161 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
33162 with the actual contents of the correspondending make variable.
33163 * util/grub-mkrescue.in (pkglib_DATA): New variable.
33164 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
33165 specifying `*.lst' and `efiemu??.o'
33166
0ad46fd7 331672009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
33168
33169 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
33170 after function name.
33171 Noticed by Rene Engelhard <rene@debian.org>.
33172
dc77a799
VS
331732009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33174
33175 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
33176 (options): New variable.
33177 (iospace): Likewise.
33178 (grub_lspci_iter): List IO spaces if "-i" was given.
33179 (grub_cmd_lspci): Parse options.
33180 (GRUB_MOD_INIT(lspci)): Use extcmd.
33181 (GRUB_MOD_FINI(lspci)): Likewise.
33182
0ad46fd7 331832009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
33184
33185 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
33186 `function' keyword.
33187 Patch by Tony Mancill <tmancill@debian.org>.
33188
b5d5993b
VS
331892009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33190
33191 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
33192 (grub_uhci_portstatus): Likewise.
33193 (grub_uhci_portstatus): Add necessary delay.
11d18281 33194 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 33195
941903f2 331962009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 33197
941903f2 33198 * commands/acpi.c (options): Fix capitalizations and/or full stops.
33199 (GRUB_MOD_INIT): Likewise.
33200 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 33201 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
33202 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 33203 * commands/efi/loadbios.c (enable_rom_area): Likewise.
33204 (enable_rom_area): Likewise.
33205 (GRUB_MOD_INIT): Likewise.
33206 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
33207 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
33208 * commands/handler.c (GRUB_MOD_INIT): Likewise.
33209 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
33210 * commands/hexdump.c (options): Likewise.
33211 * commands/i386/cpuid.c (options): Likewise.
33212 (GRUB_MOD_INIT): Likewise.
33213 * commands/i386/pc/drivemap.c (options): Likewise.
33214 (GRUB_MOD_INIT): Likewise.
33215 * commands/i386/pc/halt (options): Likewise.
33216 (GRUB_MOD_INIT): Likewise.
33217 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
33218 * commands/i386/pc/pxecmd.c (options): Likewise.
33219 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
33220 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
33221 * commands/keystatus.c (options): Likewise.
33222 (GRUB_MOD_INIT): Likewise.
33223 * commands/loadenv.c (options): Likewise.
33224 * commands/ls.c (options): Likewise.
33225 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
33226 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
33227 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
33228 * commands/parttool.c (helpmsg): Likewise.
33229 * commands/probe.c (options): Likewise.
33230 * commands/read.c (GRUB_MOD_INIT): Likewise.
33231 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
33232 * commands/search.c (options): Likewise.
33233 * commands/sleep.c (options): Likewise.
33234 * commands/test.c (GRUB_MOD_INIT): Likewise.
33235 * commands/true.c (GRUB_MOD_INIT): Likewise.
33236 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
33237 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
33238 * lib/arg.c (help_options): Likewise.
e9bbb4e7 33239 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
33240 `$(XGETTEXT)'.
98a50553 33241 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 33242
0ad46fd7 332432009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 33244
ef3c2c3a 33245 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
33246 instead of specifying them explicit.
33247
7922f68b
RM
332482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33249
33250 * NEWS: Add grub-probe support for GNU/Hurd.
33251
537ce47f
RM
332522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33253
33254 * NEWS: gettext was added after 1.97.
33255
9b214e3a
RM
332562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33257
33258 * util/mkisofs/msdos_partition.h: New file (based on
33259 include/grub/msdos_partition.h).
33260 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
33261 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
33262 (ld_options, main): Recognize --protective-msdos-label.
33263 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
33264 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
33265 (padblock_write): If `use_protective_msdos_label' is set, patch a
33266 protective DOS-style label in the output image.
33267
33268 * util/grub-mkrescue.in: Use --protective-msdos-label.
33269
e9309813
RM
332702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33271
33272 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
33273 boot.
33274
0ae56929
RM
332752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33276
33277 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
33278 variables.
33279 (ld_options, main): Recognize `--embedded-boot'.
33280 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
33281 declarations.
33282 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
33283 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
33284 (padblock_write): Likewise. Rewrite to support embedded boot image.
33285
33286 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
33287 for BIOS-based disk boot instead of only ElTorito.
33288
b15937b1
RM
332892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33290
33291 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
33292 build (not needed for bootstrap).
33293
52cc3ce0
RM
332942009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33295
33296 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
33297 from i386-pc build (not needed for bootstrap).
33298 Rewrite a pair of strings.
33299
36f5ff04
RM
333002009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33301
33302 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
33303
973c6c85 333042009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
33305
33306 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
33307
05d21547
AB
333082009-12-21 Andreas Born <futur.andy@googlemail.com>
33309
33310 * kern/env.c (grub_env_context_open): Mark exported variable for
33311 reexport.
33312
0175d51f
AB
333132009-12-21 Andreas Born <futur.andy@googlemail.com>
33314
33315 * kern/env.c (grub_env_export): Create nonexistent variables before
33316 exporting.
33317
7f39d92f 333182009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 33319
7f39d92f 33320 * include/grub/auth.h: Include `<grub/i18n.h>'.
33321 (GRUB_GET_PASSWORD): Gettextizze string.
33322 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
33323 menu_text.c.
33324 (grub_utf8_to_ucs4_alloc): Fix indentation.
33325 (grub_print_ucs4): Likewise.
33326 (grub_getstringwidth): Likewise.
33327 (print_message_indented): New declaration.
33328 * normal/auth.c: Include `<grub/i18n.h>'.
33329 (grub_auth_check_authentication): Gettexttize string.
33330 * normal/cmdline.c: Include `<grub/i18n.h>'.
33331 (grub_cmdline_get): Gettextizze.
33332 * normal/color.c: Include `<grub/i18n.h>'.
33333 (grub_parse_color_name_pair): Gettexttize strings.
33334 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
33335 string (use `print_message_indented').
33336 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
33337 `include/grub/normal.h'.
33338 (print_message_indented): Renamed to ...
33339 (grub_print_message_indented): ... this. Remove `static' qualifer (now
33340 used in normal/main.c).
33341 (print_message): Use `grub_print_message_indented' instead of
33342 `print_message_indented'.
33343 (print_timeout): Likewise.
33344 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
33345 (grub_normal_print_device_info): Gettexttize strings.
33346 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
33347
3041d898
VS
333482009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33349
33350 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
33351 of arguments. Return number of tokens and not arguments. All users
33352 updated.
33353
de15bf8e
VS
333542009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33355
33356 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
33357 non-MSDOS paritions.
33358
e0a6ca52
VS
333592009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
33360
33361 * include/grub/types.h (UNUSED): Removed since it conflicts with
33362 NetBSD headers. All users changed to direct __attribute__ ((unused)).
33363 Reported by Grégoire Sutre.
33364
b99518d1 333652009-12-19 Carles Pina i Estany <carles@pina.cat>
33366
33367 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
33368 (grub_print_ucs4_alloc): Likewise.
33369 (grub_getstringwidth): Likewise.
33370 * normal/main.c (grub_normal_init_page): Gettextize version string.
33371 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
33372 (getstringwidth): Renamed to ...
33373 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
33374 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
33375 (grub_print_ucs4): Remove `static' qualifer (now used in
33376 normal/main.c).
33377 * po/POTFILES: Add normal/main.c.
33378
bfd5e52b 333792009-12-19 Carles Pina i Estany <carles@pina.cat>
33380
33381 * normal/menu_text.c (STANDARD_MARGIN): New macro.
33382 (print_message_indented): Add `margin_left' and `margin_right'
33383 parameters.
33384 (print_message): Update `print_message_indented' calls. Adds '\n' to the
33385 strings.
33386 (print_timeout): Use `print_message_indented' to print the message.
33387 Deletes `second_stage' parameter.
33388 (run_menu): Update `print_timeout' calls.
33389
5a1ad2b9
VS
333902009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33391
33392 Fix console palette on OpenFirmware.
33393
33394 * term/ieee1275/ofconsole.c (MAX): Removed.
33395 (colors): Redone based on VGA palette.
33396 (grub_ofconsole_setcolor): Discard brightness bit since only 8
33397 colors are supported.
33398 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
33399
b045f00a
VS
334002009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33401
33402 Fix potential EfiEmu double prepare.
33403
33404 * efiemu/main.c (prepared): New variable
33405 (grub_efiemu_unload): Set prepare to '0'.
33406 (grub_efiemu_prepare): Return if already prepared. Set prepared.
33407
33408 set_virtual_address_map support.
33409
33410 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
33411 prototype.
33412 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
33413 prototype.
33414 (grub_efiemu_crc32): Likewise.
33415 (grub_efiemu_crc64): Likewise.
33416 (grub_efiemu_set_virtual_address_map): Likewise.
33417 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
33418 New definition.
33419 (grub_autoefi_set_virtual_address_map): Likewise.
33420 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
33421 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
33422 Restructure flow to accomodate it.
33423 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
33424 (grub_efiemu_crc): Recompute CRC32.
33425 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
33426 (efiemu_ptv_relocated): ... this. Made global. All users updated.
33427 * efiemu/symbols.c (relocated_handle): New variable.
33428 (grub_efiemu_free_syms): Free relocated_handle.
33429 (grub_efiemu_alloc_syms): Allocate relocated_handle.
33430 (grub_efiemu_write_sym_markers): New function.
33431 (grub_efiemu_set_virtual_address_map): Likewise.
33432
33433 Newer XNU parameters.
33434
33435 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
33436 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
33437 (grub_xnu_fill_devicetree): New prototype.
33438 (grub_xnu_heap_real_start): New variable.
33439 * loader/xnu.c (get_name_ptr): New function.
33440 (grub_xnu_load_driver): Fill namelen and name.
33441
33442 64-bit xnu support.
33443
33444 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
33445 and 'loader/macho64.c'.
33446 * conf/i386-pc.rmk: Likewise.
33447 * conf/x86_64-efi.rmk: Likewise.
33448 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
33449 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
33450 * include/grub/macho.h (grub_macho_segment64): New structure.
33451 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
33452 (grub_macho_size32): ... to this.
33453 (grub_macho32_get_entry_point): Renamed from ...
33454 (grub_macho_get_entry_point32): ... to this.
33455 (grub_macho_contains_macho64): New prototype.
33456 (grub_macho_size64): Likewise.
33457 (grub_macho_get_entry_point64): Likewise.
33458 (grub_macho32_load): Renamed from ...
33459 (grub_macho_load32): ... to this.
33460 (grub_macho32_filesize): Renamed from ...
33461 (grub_macho_filesize32): ... to this.
33462 (grub_macho32_readfile): Renamed from ...
33463 (grub_macho_readfile32): ... to this.
33464 (grub_macho_filesize64): New prototype.
33465 (grub_macho_readfile64): Likewise.
33466 (grub_macho_parse32): Likewise.
33467 (grub_macho_parse64): Likewise.
33468 * loader/macho.c: Split into ...
33469 * loader/machoXX.c: ... and this. Replace 32 with XX.
33470 * loader/macho32.c: New file.
33471 * loader/macho64.c: Likewise.
33472 * loader/xnu.c (grub_xnu_is_64bit): New variable.
33473 (grub_cmd_xnu_kernel): Make 32-bit only.
33474 (grub_cmd_xnu_kernel64): New function.
33475 (grub_xnu_load_driver): Support Mach-O 64.
33476 (grub_cmd_xnu_mkext): Likewise.
33477 * util/grub.d/30_os-prober.in (osx_entry): New function.
33478 Generate entries for 64-bit boot too.
33479
33480 Eliminate ad-hoc tree format in XNU and EfiEmu.
33481
33482 * efiemu/main.c (grub_efiemu_prepare): Update comment.
33483 * efiemu/pnvram.c: Rewritten to use environment variables.
33484 All users updated.
33485
33486 Inline utf16_to_utf8.
33487
33488 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
33489 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
33490 All users updated.
33491 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
33492
33493 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
33494 * commands/usbtest.c (grub_usb_get_string): ... move here.
33495 (usb_print_str): Fix error handling.
33496 * include/grub/usb.h (grub_usb_get_string): Remove.
33497
33498 UTF-8 to UTF-16 transformation.
33499
33500 * conf/common.rmk (pkglib_MODULES): Add charset.mod
33501 (charset_mod_SOURCES): New variable.
33502 (charset_mod_CFLAGS): Likewise.
33503 (charset_mod_LDFLAGS): Likewise.
33504 * include/grub/utf.h: New file.
33505 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
33506
33507 Support for device properties.
33508
33509 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
33510 (grub_xnu_devprop_device_header): Likewise.
33511 (grub_xnu_devprop_device_descriptor): Likewise.
33512 (grub_xnu_devprop_add_device): New prototype.
33513 (grub_xnu_devprop_remove_device): Likewise.
33514 (grub_xnu_devprop_remove_property): Likewise.
33515 (grub_xnu_devprop_add_property_utf8): Likewise.
33516 (grub_xnu_devprop_add_property_utf16): Likewise.
33517 (grub_cpu_xnu_init): Likewise.
33518 (grub_cpu_xnu_fini): Likewise.
33519 (grub_cpu_xnu_unload): Likewise.
33520 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
33521 (property_descriptor): Likewise.
33522 (devices): New variable.
33523 (grub_xnu_devprop_remove_property): New function.
33524 (grub_xnu_devprop_add_device): Likewise.
33525 (grub_xnu_devprop_remove_device): Likewise.
33526 (grub_xnu_devprop_add_property): Likewise.
33527 (grub_xnu_devprop_add_property_utf8): Likewise.
33528 (grub_xnu_devprop_add_property_utf16): Likewise.
33529 (hextoval): Likewise.
33530 (grub_cpu_xnu_fill_devprop): Likewise.
33531 (grub_cmd_devprop_load): Likewise.
33532 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
33533 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
33534 (cmd_devprop_load): New variable.
33535 (grub_cpu_xnu_init): New function.
33536 (grub_cpu_xnu_fini): Likewise.
33537 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
33538 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
33539 (grub_cmd_xnu_devtree): Likewise.
33540 (hextoval): New function.
33541 (unescape): Likewise.
33542 (grub_xnu_fill_devicetree): Likewise.
33543
33544 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
33545 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
33546
0945f181
VS
335472009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33548
33549 Workaround for broken ATI VBE.
33550
33551 * video/i386/pc/vbe.c (last_set_mode): New variable.
33552 (grub_vbe_set_video_mode): Set 'last_set_mode'.
33553 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
33554 (grub_video_vbe_setup): Don't check for reserved flag.
33555
0ad46fd7 335562009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
33557
33558 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
33559 the `find' command.
33560
c179ebe4
VS
335612009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
33562
33563 UUID support for HFS.
33564
33565 * fs/hfs.c (grub_hfs_uuid): New function.
33566 (grub_hfs_fs): New value .uuid.
33567 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
33568
0ad46fd7 335692009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
33570
33571 Fix a segfault with parsing unknown long options.
33572
33573 * util/grub-mkrelpath.c (options): Zero terminate it.
33574
c4a3e41a
CPE
335752009-12-13 Carles Pina i Estany <carles@pina.cat>
33576
33577 * include/grub/misc.h (grub_puts): New declaration.
33578 (grub_puts_): Likewise.
a22008a6 33579 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
33580 (grub_puts_): Likewise.
33581
2e8a7602
RM
335822009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33583
33584 * util/grub-probe.c (probe): Improve error message.
33585
b50b77b9
RM
335862009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33587
33588 * loader/i386/multiboot_elfxx.c
33589 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
33590 initialization.
33591
335922009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33593
33594 Relocator framework
33595
33596 * loader/i386/xnu_helper.S: Removed. All users updated.
33597 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
33598 (relocator_mod_SOURCES): New variable.
33599 (relocator_mod_CFLAGS): Likewise.
33600 (relocator_mod_LDFLAGS): Likewise.
33601 (relocator_mod_ASFLAGS): Likewise.
33602 * conf/x86_64.rmk: Likewise.
33603 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
33604 (grub_multiboot_payload_entry_offset): Likewise.
33605 (grub_multiboot_forward_relocator): Likewise.
33606 (grub_multiboot_forward_relocator_end): Likewise.
33607 (grub_multiboot_backward_relocator): Likewise.
33608 (grub_multiboot_backward_relocator_end): Likewise.
33609 (grub_multiboot_payload_eip): New variable.
33610 (grub_multiboot_payload_orig): Likewise.
33611 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
33612 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
33613 * include/grub/i386/memory.h
33614 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
33615 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
33616 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
33617 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
33618 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
33619 * include/grub/i386/relocator.h: New file.
33620 * include/grub/x86_64/relocator.h: Likewise.
33621 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
33622 (XNU_RELOCATOR): New macro.
33623 (grub_xnu_launcher_start): Remove.
33624 (grub_xnu_launcher_end): Likewise.
33625 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
33626 (grub_xnu_heap_real_start): Remove.
33627 (grub_xnu_heap_start): Change to void *. All users updated.
33628 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
33629 * lib/i386/relocator.c: New file.
33630 * lib/i386/relocator_asm.S: Likewise.
33631 * lib/i386/relocator_backward.S: Likewise.
33632 * lib/mips/relocator.c: Likewise.
33633 * lib/mips/relocator_asm.S: Likewise.
33634 * lib/relocator.c: Likewise.
33635 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
33636 (entry): Removed.
33637 (playground): Likewise.
33638 (grub_multiboot_payload_orig): New variable.
33639 (grub_multiboot_payload_dest): Likewise.
33640 (grub_multiboot_payload_size): Likewise.
33641 (grub_multiboot_payload_eip): Likewise.
33642 (grub_multiboot_payload_esp): Likewise.
33643 (grub_multiboot_boot): Use grub_relocator32_boot.
33644 (grub_multiboot_unload): Free relocators.
33645 (grub_multiboot): Setup stack. Use relocators.
33646 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
33647 (grub_multiboot_load_elfXX): Use relocators.
33648 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
33649 (grub_multiboot_payload_size): Likewise.
33650 (grub_multiboot_payload_dest): Likewise.
33651 (grub_multiboot_payload_entry_offset): Likewise.
33652 (grub_multiboot_forward_relocator): Likewise.
33653 (grub_multiboot_backward_relocator): Likewise.
33654 (grub_multiboot_real_boot): Likewise.
33655 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
33656 (grub_xnu_entry_point): Likewise.
33657 (grub_xnu_arg1): Likewise.
33658 (grub_xnu_stack): Likewise.
33659 (grub_xnu_launch): Removed.
33660 (grub_xnu_boot_resume): New function.
33661 (grub_xnu_boot): Use relocators.
33662 * loader/i386/xnu_helper.S: Removed.
33663 * loader/xnu.c (grub_xnu_heap_start): New variable.
33664 (grub_xnu_heap_size): Likewise.
33665 (grub_xnu_heap_malloc): Use relocators.
33666 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
33667
29eb90c6
VS
336682009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33669
33670 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
33671 anything.
33672
31027430
CPE
336732009-12-13 Carles Pina i Estany <carles@pina.cat>
33674
33675 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
33676 GRUB_ERR_NONE before calling grub_env_set.
33677
dc0c71d9
RM
336782009-12-12 Robert Millan <rmh@aybabtu.com>
33679
33680 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
33681 * genmk.rb (video): New variable.
33682 (CLEANFILES, VIDEOFILES): Add #{video}.
33683 (#{video}): New target rule.
33684 * genvideolist.sh: New file.
33685 * Makefile.in (pkglib_DATA): Add video.lst.
33686 (video.lst): New target rule.
33687 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
33688 `video.lst'.
33689 * util/grub.d/30_os-prober.in: Replace `vbe' with
33690 ${GRUB_VIDEO_BACKEND}.
33691
2a4bfcf0
RM
336922009-12-11 Robert Millan <rmh.grub@aybabtu.com>
33693
33694 * THANKS: Add David Miller.
33695
2a3aa4d5
RM
336962009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
33697
33698 libpciaccess support.
33699
33700 * Makefile.in (LIBPCIACCESS): New variable.
33701 (enable_grub_emu_pci): Likewise.
33702 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
33703 util/pci.c and commands/lspci.c.
33704 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
33705 * configure.ac (grub-emu-pci): New option.
33706 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
33707 (grub_pci_device_unmap_range): Likewise.
33708 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
33709 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
33710 (grub_pci_address_t) [!GRUB_UTIL]: New type.
33711 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
33712 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
33713 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
33714 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
33715 * include/grub/pciutils.h: New file.
33716 * util/pci.c: Likewise.
33717
0ad46fd7 337182009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
33719
33720 * util/misc.c: Don't include <errno.h> twice.
33721
0ad46fd7 337222009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
33723
33724 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
33725 name in an error message.
33726 (grub_biosdisk_rw): Likewise.
33727
2e59983c
VS
337282009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33729
33730 Eliminate NTFS 4Gib barrier.
33731
33732 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
33733 (read_run_data): Likewise.
33734 (grub_ntfs_read_run_list): Likewise.
33735 (grub_ntfs_read_block): Likewise.
33736 (grub_ntfs_iterate_dir): Likewise.
33737 (read_mft): Likewise.
33738 (read_data): Likewise.
33739 Use COM_LOG_LEN.
33740 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
33741 to avoid 64-bit division
33742 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
33743 (grub_ntfs_rlst): Use grub_disk_addr_t.
33744
71ee178a
VS
337452009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33746
33747 Eliminate grub-fstest 4Gib barrier.
33748
33749 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
33750 (read_file): Fix error reporting.
33751
2520d4b8
VS
337522009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33753
33754 Eliminate hexdump 4Gib barrier.
33755
33756 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
33757 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
33758
e1f27065
VS
337592009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33760
33761 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
33762 Fixes amarsh bug.
33763
1a0f7f45
RM
337642009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
33765
33766 Remove miscellaneous files in distclean target.
33767
33768 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
33769
c631d9fb
CW
337702009-12-09 Colin Watson <cjwatson@ubuntu.com>
33771
33772 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
33773 if they're already set. This resolves the conflict between my
33774 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
33775 fixing the --grub-probe option again.
33776 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
33777 change on 2009-10-06, so that we now once again source
33778 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33779
7c7b6106
RM
337802009-12-08 Robert Millan <rmh.grub@aybabtu.com>
33781
33782 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
33783 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
33784 `util/devicemap.c'.
33785
e3069ec1
CPE
337862009-12-08 Carles Pina i Estany <carles@pina.cat>
33787
33788 * include/grub/misc.h (grub_printf_): New declaration.
33789 * kern/misc.c (grub_printf_): New definition.
33790 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
33791 instead of `grub_printf' and `_'.
33792 * normal/menu_entry.c (store_completion): Likewise.
33793 (run): Likewise.
33794 (grub_menu_entry_run): Likewise.
33795 * normal/menu_text.c (grub_wait_after_message): Likewise.
33796 (notify_booting): Likewise.
33797 (notify_fallback): Likewise.
33798 (notify_execution_failure): Likewise.
33799
d6ceebf1
CW
338002009-12-07 Colin Watson <cjwatson@ubuntu.com>
33801
33802 * configure.ac: Check for vasprintf.
33803 * util/misc.c (asprintf): Move allocation from here ...
33804 (vasprintf): ... to here. New function.
33805 (xasprintf): New function.
33806 * include/grub/util/misc.h (vasprintf, xasprintf): Add
33807 prototypes.
33808 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
33809 * util/grub-mkfont.c (write_font): Likewise.
33810 * util/grub-probe.c (probe): Likewise.
33811 * util/hostdisk.c (make_device_name): Likewise.
33812
de6daa8b
DM
338132009-12-06 David S. Miller <davem@sunset.davemloft.net>
33814
33815 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
33816 anything even prefixed with 'cdrom' as a cdrom.
33817
0ad46fd7 338182009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
33819
33820 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
33821 mount points.
33822
98d3dc02
CPE
338232009-12-05 Carles Pina i Estany <carles@pina.cat>
33824
33825 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
33826 grub_gettext_msg_list.
33827 (grub_gettext_gettranslation_from_position): Return const char *
33828 and not char *.
a2c1332b 33829 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
33830 returns from the list if existing there.
33831 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
33832 (grub_gettext_delete_list): Delete the list.
33833 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
33834 lang environment variable is changed.
33835 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
33836
b283f108
VS
338372009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33838
33839 Rename kernel.mod to kernel.img.
33840
33841 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
33842 (kernel_mod_EXPORTS): Rename to ...
33843 (kernel_img_EXPORTS): ... this.
33844 (kernel_mod_SOURCES): Rename to ...
33845 (kernel_img_SOURCES): ... this.
33846 (kernel_mod_HEADERS): Rename to ...
33847 (kernel_img_HEADERS): ... this. All users updated.
33848 (kernel_mod_CFLAGS): Rename to ...
33849 (kernel_img_CFLAGS): ... this.
33850 (kernel_mod_ASFLAGS): Rename to ...
33851 (kernel_img_ASFLAGS): ... this.
33852 (kernel_mod_LDFLAGS): Rename to ...
33853 (kernel_img_LDFLAGS): ... this.
33854 * conf/x86_64-efi.rmk: Likewise.
33855 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
33856 (read_kernel_image): ... this. All users updated.
33857 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
33858
69055f8a
CPE
338592009-12-05 Carles Pina i Estany <carles@pina.cat>
33860
33861 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
33862 (print_spaces): New function.
33863 (grub_print_ucs4): New function.
33864 (getstringwidth): New function.
33865 (print_message_indented): New function.
33866 (print_message): Gettexttize strings using print_message_indented.
33867 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
33868 width.
33869 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 33870 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
33871 Gettextize.
33872 * normal/menu_entry.c (store_completion): Cleanup the gettextized
33873 string.
33874 (run): Likewise.
33875 (grub_menu_entry_run): Likewise.
33876 * PO/POTFILES: Add normal/menu_entry.c.
33877
f616f51c
VS
338782009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33879
33880 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
33881
57bbe3be
CPE
338822009-12-05 Carles Pina i Estany <carles@pina.cat>
33883
33884 * util/grub-install.in: Install gettext .mo files.
33885 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
33886
013d67a1
CPE
338872009-12-05 Carles Pina i Estany <carles@pina.cat>
33888
33889 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
33890 grub_dprintf.
33891
fb954db0
RM
338922009-12-05 Robert Millan <rmh.grub@aybabtu.com>
33893
33894 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
33895 non-firmware-dependant one in realmode.S takes precedence.
33896
6b8474f8
RM
338972009-12-04 Robert Millan <rmh.grub@aybabtu.com>
33898
33899 * commands/halt.c: Replace misc arch-specific headers with
33900 `<grub/misc.h>'.
33901 * commands/reboot.c: Likewise.
33902 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
33903 `<grub/misc.h>'.
33904 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
33905 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
33906 (kernel_img_SOURCES): ... to here.
33907
33908 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
33909 * include/grub/i386/pc/init.h: Likewise.
33910 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33911 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33912
33913 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
33914
33915 * include/grub/i386/halt.h: Remove.
33916 * include/grub/i386/reboot.h: Likewise.
33917
33918 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
33919
4b2e6ca2
DM
339202009-12-03 David S. Miller <davem@sunset.davemloft.net>
33921
33922 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
33923 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
33924 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
33925 "progname.h"
33926 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33927 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33928 (usage): Add missing comma in printf.
33929
5239348f
RM
339302009-12-02 Robert Millan <rmh.grub@aybabtu.com>
33931
33932 Use the same reboot approach on i386 coreboot and qemu as we do on
33933 BIOS.
33934
33935 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
33936 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
33937 * kern/i386/reboot.c: Remove.
33938 * include/grub/i386/reboot.h (grub_reboot): Export function.
33939 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
33940 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
33941 0xf000:0xfff0 instead of 0xffff:0x0000.
33942 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
33943 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
33944
ef34cbd4
RM
339452009-11-30 Robert Millan <rmh.grub@aybabtu.com>
33946
33947 Fix $srcdir != $objdir build.
33948
33949 * Makefile.in (po/%.po): Rewrite as ...
33950 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
33951
dc9837ea
ST
339522009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
33953
33954 Fix GNU/Hurd grub-install crash.
33955 * util/grub-probe.c (probe): Try to access `path' only when it is not
33956 NULL.
33957
2f857f98
VS
339582009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33959
33960 Correct module naming.
33961
33962 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33963 (GRUB_MOD_INIT(efi_uga)): ... to this
33964 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33965 (GRUB_MOD_FINI(efi_uga)): ... to this
33966 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33967 (GRUB_MOD_INIT(efi_gop)): ... to this
33968 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33969 (GRUB_MOD_FINI(efi_gop)): ... to this
33970
c5448046
RM
339712009-11-28 Robert Millan <rmh.grub@aybabtu.com>
33972
33973 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
33974 translatable.
33975 (usage): Translate `arg' strings using gettext().
33976 Thanks to Jordi Mallach for the suggestion.
33977
c85184ad
VS
339782009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33979
33980 GOP support. Based on patch from Bean
33981 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33982
33983 * video/efi_gop.c: New file.
33984 * include/grub/efi/graphics_output.h: Likewise.
33985 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
33986 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33987 variables.
33988 * conf/x86_64-efi.rmk: Likewise.
33989
8a4c48d8
VS
339902009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33991
33992 Rename efi_fb to efi_uga.
33993
33994 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33995 'efi_uga.mod'.
33996 (efi_fb_mod_SOURCES): Rename this ...
33997 (efi_uga_mod_SOURCES): ... to this.
33998 (efi_fb_mod_CFLAGS): Rename this ...
33999 (efi_uga_mod_CFLAGS): ... to this.
34000 (efi_fb_mod_LDFLAGS): Rename this ...
34001 (efi_uga_mod_LDFLAGS): ... to this.
34002 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
34003 'efi_uga.mod'.
34004 (efi_fb_mod_SOURCES): Rename this ...
34005 (efi_uga_mod_SOURCES): ... to this.
34006 (efi_fb_mod_CFLAGS): Rename this ...
34007 (efi_uga_mod_CFLAGS): ... to this.
34008 (efi_fb_mod_LDFLAGS): Rename this ...
34009 (efi_uga_mod_LDFLAGS): ... to this.
34010 * video/efi_fb.c: Move this ...
34011 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
34012
fb6c1a7b
RM
340132009-11-27 Robert Millan <rmh.grub@aybabtu.com>
34014
34015 * po/README: New file. Explain our PO file workflow.
34016
3bc7896c
RM
340172009-11-27 Robert Millan <rmh.grub@aybabtu.com>
34018
34019 * po/ChangeLog: Remove. Move relevant entries back to ...
34020 * ChangeLog: ... here.
34021 * po/ca.po: Remove (now handled by TLP).
34022 * po/id.po: Likewise.
34023 * po/zh_CN.po: Likewise.
34024 * Makefile.in (LINGUAS): Initialize in a way that supports
34025 empty set.
34026
9ed4841d
RM
340272009-11-27 Robert Millan <rmh.grub@aybabtu.com>
34028
34029 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
34030 reliing on po/LINGUAS.
34031 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
34032 (po/%.po): ... this.
34033
0ad46fd7 340342009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
34035
34036 * util/i386/efi/grub-mkimage.c: Include "progname.h".
34037 (main): Use `program_name' instead of nonexistent `progname'.
34038
e30dd392
FZ
340392009-11-26 Felix Zielcke <fzielcke@z-51.de>
34040
34041 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34042 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
34043
7656de4f
RM
340442009-11-26 Robert Millan <rmh.grub@aybabtu.com>
34045
34046 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
34047 commit.
34048 * conf/i386-efi.rmk: Likewise.
34049 * conf/i386-ieee1275.rmk: Likewise.
34050 * conf/powerpc-ieee1275.rmk: Likewise.
34051 * conf/sparc64-ieee1275.rmk: Likewise.
34052 * conf/x86_64-efi.rmk: Likewise.
34053
db77c4d4
FZ
340542009-11-26 Felix Zielcke <fzielcke@z-51.de>
34055
34056 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
34057
a755bb04
FZ
340582009-11-26 Felix Zielcke <fzielcke@z-51.de>
34059
34060 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
34061
8a4c07fd
RM
340622009-11-26 Robert Millan <rmh.grub@aybabtu.com>
34063
34064 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
34065 (grub_mkdevicemap_SOURCES): New variable.
34066 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
34067 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
34068 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
34069 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
34070 (grub_mkdevicemap_SOURCES): Remove.
34071 * conf/i386-efi.rmk: Likewise.
34072 * conf/i386-ieee1275.rmk: Likewise.
34073 * conf/i386-pc.rmk: Likewise.
34074 * conf/powerpc-ieee1275.rmk: Likewise.
34075 * conf/sparc64-ieee1275.rmk: Likewise.
34076 * conf/x86_64-efi.rmk: Likewise.
34077 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
34078 (usage): Fix strings to use `program_name'.
34079 (main): Initialize gettext.
34080 * util/grub-editenv.c: Likewise.
34081 * util/grub-emu.c: Likewise.
34082 * util/grub-fstest.c: Likewise.
34083 * util/grub-mkdevicemap.c: Likewise.
34084 * util/grub-mkfont.c: Likewise.
34085 * util/grub-mkrelpath.c: Likewise.
34086 * util/grub-pe2elf.c: Likewise.
34087 * util/grub-probe.c: Likewise.
34088 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
34089 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
34090 * util/sparc64/ieee1275/grub-setup.c: Likewise.
34091
34092 * util/misc.c: Include `"progname.h"'.
34093 (progname): Remove variable.
34094 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
34095
6f61ed55
FZ
340962009-11-25 Felix Zielcke <fzielcke@z-51.de>
34097
34098 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
34099 printf and print a newline after the menuentry header line.
34100 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34101
f022876b
FZ
341022009-11-25 Felix Zielcke <fzielcke@z-51.de>
34103
34104 autoconf >= 2.60 support $(localedir).
34105
34106 * INSTALL: Note that autoconf 2.60 is required.
34107 * configure.ac (AC_PREREQ): Bump to 2.60.
34108 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
34109 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
34110
6717926e
YB
341112009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
34112
34113 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
34114 aclocal is run.
34115
08806a54
RM
341162009-11-25 Robert Millan <rmh.grub@aybabtu.com>
34117
34118 * normal/main.c (grub_normal_read_line): Fix off-by-one
34119 buffer overflow.
34120
13b33fba
RM
341212009-11-25 Robert Millan <rmh.grub@aybabtu.com>
34122
34123 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
34124 "parser.grub" in grub_command_execute() call.
34125
4a8572e9
CPE
341262009-11-24 Carles Pina i Estany <carles@pina.cat>
34127
34128 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
34129 * conf/i386-efi.rmk: Likewise.
34130 * conf/i386-ieee1275.rmk: Likewise.
34131 * conf/i386-pc.rmk: Likewise.
34132 * conf/powerpc-ieee1275.rmk: Likewise.
34133 * conf/sparc64-ieee1275.rmk: Likewise.
34134 * conf/x86_64-efi.rmk: Likewise.
34135 * gettext/gettex.c: Include <grub/i18n.h>.
34136 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
34137 here ...
34138 * include/grub/i18n.h: ... to here
34139 * include/grub/i18n.h: ... to here.
34140 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 34141 (grub_gettext_dummy): Move above user.
4a8572e9 34142
bee48093
FZ
341432009-11-24 Felix Zielcke <fzielcke@z-51.de>
34144
34145 * util/Makefile.in (install-local): Convert a `for' into a normal
34146 shell expansion.
34147
a031e91c
RM
341482009-11-24 Robert Millan <rmh.grub@aybabtu.com>
34149
34150 * autogen.sh: Add automake call.
34151 * config.guess: Remove.
34152 * config.sub: Likewise.
34153 * install-sh: Likewise.
34154
26bec39d
FZ
341552009-11-24 Felix Zielcke <fzielcke@z-51.de>
34156
34157 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
34158
8e2532fd
FZ
341592009-11-24 Felix Zielcke <fzielcke@z-51.de>
34160
34161 * util/Makefile.in (install-local): Convert a make `$(foreach)'
34162 function to a normal shell `for'.
34163
fefa1b7d
FZ
341642009-11-24 Felix Zielcke <fzielcke@z-51.de>
34165
34166 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34167
4501250b
FZ
341682009-11-24 Felix Zielcke <fzielcke@z-51.de>
34169
34170 * util/grub-mkrelpath.c: New file.
34171 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
34172 (grub_mkrelpath_SOURCES): New variable.
34173 * include/grub/util/misc.h: New function prototype.
34174 * util/misc.c (make_system_path_relative_to_its_root): New function.
34175
34176 * util/grub-mkconfig_lib.in (bindir): New variable.
34177 (grub_mkrelpath): Likewise.
34178 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
34179
34180 * util/probe.c (probe): Make the file path relative to its root.
34181 Change a info message to use the GRUB path. Enable again the
34182 check if we can read the file with GRUB facilities.
34183
34184 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
34185 to its root.
34186
11d9778b
FZ
341872009-11-24 Felix Zielcke <fzielcke@z-51.de>
34188
34189 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
34190 platform.
34191
4465287d
FZ
341922009-11-24 Felix Zielcke <fzielcke@z-51.de>
34193
34194 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
34195 strncmp().
34196
62b47f22
FZ
341972009-11-24 Felix Zielcke <fzielcke@z-51.de>
34198
34199 * util/getroot.c (grub_util_is_dmraid): New function.
34200 (grub_util_get_dev_abstraction): Treat dmraid and multipath
34201 devices as normal ones, not as LVM.
34202
1eafb9b9 342032009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
34204
34205 * conf/common.rmk: Add grub-gettext_lib target and updates
34206 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
34207 LDFLAGS.
34208 * gettext/gettext.c: New file. (Reads mo files).
34209 * include/grub/file.h (grub_file_pread): New prototype.
34210 * include/grub/i18n.h (_): New prototype.
34211 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
34212 prototypes.
34213 * kern/misc.c (grub_gettext_dummy): New function.
34214 * normal/menu_text.c: Include <grub/i18n.h>.
34215 * normal/menu_text.c (print_timeout): Gettexttize string.
34216 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
34217 * po/POTFILES: Add `normal/menu_text.c'.
34218 * po/ca.po: Add new translations.
c3ea6bd4
CPE
34219 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
34220 gettext module and defines locale_dir and lang in grub.cfg.
34221 * NEWS: Add gettext support.
34222
0fdb2568
RM
342232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34224
34225 * util/hostdisk.c: Include `<grub/i18n.h>'.
34226 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
34227 (make_device_name): Rewrite using asprintf.
34228 (convert_system_partition_to_system_disk): Replace 0 with NULL.
34229 (find_system_device): If a device is not found, generate one just
34230 by reusing the OS path name.
34231 (read_device_map): Make it permissible for device.map not to exist.
34232
f515aa62
RM
342332009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34234
34235 * script/sh/execute.c: Move from here ...
34236 * script/execute.c: ... to here. Update all users.
34237 * script/sh/function.c: Move from here ...
34238 * script/function.c: ... to here. Update all users.
34239 * script/sh/lexer.c: Move from here ...
34240 * script/lexer.c: ... to here. Update all users.
34241 * script/sh/main.c: Move from here ...
34242 * script/main.c: ... to here. Update all users.
34243 * script/sh/parser.y: Move from here ...
34244 * script/parser.y: ... to here. Update all users.
34245 * script/sh/script.c: Move from here ...
34246 * script/script.c: ... to here. Update all users.
34247
f84b481b
RM
342482009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34249
34250 * configure.ac: Detect all `emu' platforms. Define
34251 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
34252 --enable-grub-emu logic. Disable include/grub/machine
34253 symlink on `emu' platforms.
34254
34255 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
34256 * gensymlist.sh.in: Likewise.
34257
34258 * include/grub/i386/coreboot/machine.h: Remove file.
34259 * include/grub/i386/efi/machine.h: Likewise.
34260 * include/grub/i386/ieee1275/machine.h: Likewise.
34261 * include/grub/i386/pc/machine.h: Likewise.
34262 * include/grub/i386/qemu/machine.h: Likewise.
34263 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34264 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34265 * include/grub/x86_64/efi/machine.h: Likewise.
34266
34267 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
34268 * commands/halt.c: Likewise.
34269 * commands/reboot.c: Likewise.
34270 * include/grub/autoefi.h: Likewise.
34271 * include/grub/i386/at_keyboard.h: Likewise.
34272 * include/grub/i386/kernel.h: Likewise.
34273 * include/grub/i386/loader.h: Likewise.
34274 * include/grub/i386/pc/memory.h: Likewise.
34275 * kern/dl.c: Likewise.
34276 * kern/i386/coreboot/init.c: Likewise.
34277 * loader/i386/bsd.c: Likewise.
34278 * loader/i386/linux.c: Likewise.
34279 * loader/multiboot_loader.c: Likewise.
34280 * term/i386/pc/serial.c: Likewise.
34281 * term/usb_keyboard.c: Likewise.
34282
34283 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
34284 `<grub/machine/machine.h>'
34285 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
34286 * util/misc.c: Remove `<grub/machine/machine.h>' and
34287 `<grub/machine/time.h>'.
34288
34289 * Makefile.in (enable_grub_emu): Remove variable.
34290 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
34291
34292 * conf/any-emu.rmk: New file.
34293 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
34294 (grub_emu_init.c): Move from here ...
34295 * conf/any-emu.rmk: ... to here.
34296
34297 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
34298 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
34299 * conf/any-emu.rmk: ... to here.
34300
4efeab03
RM
343012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34302
34303 * include/grub/parser.h (grub_parser_register): Document need
34304 of `name' parameter.
34305 * normal/main.c (grub_normal_read_line): Simplify prompt string.
34306 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
34307 "sh" to "grub".
34308
ea1dd8bf
RM
343092009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34310
34311 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
34312 `$(XGETTEXT)'.
34313 * include/grub/i18n.h (N_): New macro.
34314 * util/mkisofs/mkisofs.h: Likewise.
34315 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
34316 around N_().
34317 (usage): Use gettext() to translate help strings when printing them.
34318
0c140626
RM
343192009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34320
34321 Based on patch from Bean
34322 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
34323
34324 * video/efi_fb.c: New file.
34325 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
34326 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
34327 variables.
34328 * conf/x86_64-efi.rmk: Likewise.
34329
87d58298
RM
343302009-11-22 Robert Millan <rmh.grub@aybabtu.com>
34331
34332 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
34333 * util/i386/pc/grub-setup.c: Likewise.
34334
994cc3a3
ST
343352009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
34336
34337 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
34338 <hurd/fs.h>
34339 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
34340 file_get_storage_info to implement grub_guess_root_device.
34341
26a61d6a
FZ
343422009-11-21 Felix Zielcke <fzielcke@z-51.de>
34343
34344 * Makefile.in (target): Use make's builtin $(shell) function
34345 instead of calling directly $(SHELL) to create the locale directories,
34346 inside the $(foreach) function.
34347
74ff1dd5
FZ
343482009-11-21 Felix Zielcke <fzielcke@z-51.de>
34349
34350 * util/grub-mkrescue.in: Print an error and usage if output option
34351 has not been given.
34352
0b787d0e
FZ
343532009-11-21 Felix Zielcke <fzielcke@z-51.de>
34354
34355 Patch from Loïc Minier <loic.minier@ubuntu.com>.
34356 * util/grub.d/30_os-prober.in: Cope with Linux entries where
34357 root and /boot are on different devices.
34358
1164b270
RM
343592009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34360
34361 Fix build for srcdir != objdir.
34362
34363 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
34364 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
34365 $(srcdir).
34366 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
34367 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
34368 reference for input.
34369
13774a2f
RM
343702009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34371
34372 * util/grub-mkrescue.in: Use source directory direcly (without copiing
34373 or hardlinking it). Remove -J option, Joliet is not compatible with
34374 multiple source directories.
34375
efda854e
RM
343762009-11-21 Carles Pina i Estany <carles@pina.cat>
343772009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34378
34379 * util/grub-mkrescue.in: Recognize `--override-directory' option.
34380 (process_input_dir): New function. Process an arbitrary input
34381 directory.
34382 Misc adjustments to support both "override mode" and system-wide mode.
34383
6c09890c
FZ
343842009-11-20 Felix Zielcke <fzielcke@z-51.de>
34385
34386 * configure.ac (UNIFONT_BDF): Rename to ...
34387 (FONT_SOURCE): ... this. Update all users.
34388
a797824f
FZ
343892009-11-20 Felix Zielcke <fzielcke@z-51.de>
34390
34391 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
34392 to the list of unifont files to look for.
34393
cd4f42b0
RM
343942009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34395
34396 Patch from Joe Auricchio <jauricchio@gmail.com>
34397 * commands/minicmd.c (grub_mini_cmd_clear): New function.
34398 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
34399 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
34400
393c783d
FZ
344012009-11-19 Felix Zielcke <fzielcke@z-51.de>
34402
34403 * Makefile.in (install-local): Add a missing backslash.
34404
b2f1e327
FZ
344052009-11-19 Felix Zielcke <fzielcke@z-51.de>
34406
34407 * include/grub/x86_64/io.h: New file.
34408
f577f7a0
RM
344092009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34410
34411 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
34412 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
34413 Include `"progname.h"'.
34414 (main): Initialize gettext.
34415 * util/i386/pc/grub-setup.c: Gettexttize.
34416 * util/i386/pc/grub-mkimage.c: Likewise.
34417
34418 * Makefile.in (po/*.po): Redefine as ...
34419 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
34420
3bc7896c
RM
34421 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
34422
c37943b6
RM
344232009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34424
34425 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
34426 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
34427 (program_name): Remove.
34428 (main): Initialize gettext support.
6323f705
RM
34429 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
34430 Include `<libintl.h>'.
34431 (_): New macro.
c37943b6
RM
34432
34433 * util/mkisofs/eltorito.c: Gettexttize.
34434 * util/mkisofs/joliet.c: Likewise.
34435 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
34436 * util/mkisofs/multi.c: Likewise.
34437 * util/mkisofs/rock.c: Likewise.
34438 * util/mkisofs/tree.c: Likewise.
34439 * util/mkisofs/write.c: Likewise.
34440
3bc7896c
RM
34441 * po/POTFILES: Update with new files.
34442
5ce77c6e
RM
344432009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34444
34445 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
34446 * util/mkisofs/iso9660.h: Likewise.
34447 * util/mkisofs/joliet.c: Likewise.
34448 * util/mkisofs/mkisofs.c: Likewise.
34449 * util/mkisofs/mkisofs.h: Likewise.
34450 * util/mkisofs/rock.c: Likewise.
34451 * util/mkisofs/tree.c: Likewise.
34452 * util/mkisofs/write.c: Likewise.
34453
34454 * util/mkisofs/eltorito.c (rcsid): Remove.
34455 * util/mkisofs/hash.c: Likewise.
34456 * util/mkisofs/joliet.c: Likewise.
34457 * util/mkisofs/name.c: Likewise.
34458 * util/mkisofs/rock.c: Likewise.
34459 * util/mkisofs/tree.c: Likewise.
34460 * util/mkisofs/write.c: Likewise.
34461
1dabbc77
RM
344622009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34463
34464 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
34465 instead of static allocation.
34466 * util/mkisofs/match.h: Likewise.
34467
633877cb
RM
344682009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34469
3bc7896c
RM
34470 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
34471 and `util/grub.d/10_linux.in'.
633877cb
RM
34472 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
34473 translatable Shell files.
34474
af1c0c85
RM
344752009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34476
34477 * Makefile.in ($(srcdir)/aclocal.m4): New target.
34478
769ae37b
RM
344792009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34480
34481 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 34482 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
34483 * util/grub.d/10_kfreebsd.in (bindir): New variable.
34484 Add gettext initialization.
34485 (kfreebsd_entry): Make menuentry output translatable.
34486
344872009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34488
34489 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
34490 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
34491 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
34492 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
34493 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 34494 * po/LINGUAS: New file.
769ae37b
RM
34495
344962009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34497
34498 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
34499 other things).
34500 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
34501 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
34502 bindtextdomain() calls for gettext initialization.
34503
345042009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34505
34506 * gnulib/progname.c: New file (imported from Gnulib).
34507 * gnulib/progname.h: Likewise.
34508 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34509 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
34510 (usage): Replace `progname' with `program_name'.
34511 (main): Use set_program_name() for program name initialization.
34512
345132009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34514
34515 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
34516 from here ...
34517 * Makefile.in (CPPFLAGS): ... to here.
34518
345192009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34520
34521 * aclocal.m4: Move from here ...
34522 * acinclude.m4: ... to here.
34523 * autogen.sh: Add call to `aclocal'.
34524 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
34525
345262009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34527
34528 * Makefile.in (CLEANFILES): Add `po/*.mo'.
34529 (LINGUAS): New variable.
34530 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
34531 (install-local): Install MO files.
34532 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
34533 * include/grub/i18n.h: New file.
3bc7896c
RM
34534 * po/POTFILES: New file.
34535 * po/ca.po: New file.
769ae37b
RM
34536 * util/grub.d/10_linux.in (bindir): New variable.
34537 Add gettext initialization.
34538 (linux_entry): Make menuentry output translatable.
34539 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
34540 (usage): Make --help output translatable.
34541 (main): Initialize gettext.
34542
02c0a6ad
RM
345432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34544
34545 * import_gcry.py: New file (written by Vladimir with minor
34546 adjustments).
34547 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
34548 ciphers.
34549 * INSTALL: Document that Python is required for bootstrap.
34550
345512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34552
34553 Import ciphers from libgcrypt 1.4.4.
34554
34555 * lib/libgcrypt/cipher/ChangeLog
34556 * lib/libgcrypt/cipher/ac.c
34557 * lib/libgcrypt/cipher/arcfour.c
34558 * lib/libgcrypt/cipher/bithelp.h
34559 * lib/libgcrypt/cipher/blowfish.c
34560 * lib/libgcrypt/cipher/camellia-glue.c
34561 * lib/libgcrypt/cipher/camellia.c
34562 * lib/libgcrypt/cipher/camellia.h
34563 * lib/libgcrypt/cipher/cast5.c
34564 * lib/libgcrypt/cipher/cipher.c
34565 * lib/libgcrypt/cipher/crc.c
34566 * lib/libgcrypt/cipher/des.c
34567 * lib/libgcrypt/cipher/dsa.c
34568 * lib/libgcrypt/cipher/ecc.c
34569 * lib/libgcrypt/cipher/elgamal.c
34570 * lib/libgcrypt/cipher/hash-common.c
34571 * lib/libgcrypt/cipher/hash-common.h
34572 * lib/libgcrypt/cipher/hmac-tests.c
34573 * lib/libgcrypt/cipher/md.c
34574 * lib/libgcrypt/cipher/md4.c
34575 * lib/libgcrypt/cipher/md5.c
34576 * lib/libgcrypt/cipher/primegen.c
34577 * lib/libgcrypt/cipher/pubkey.c
34578 * lib/libgcrypt/cipher/rfc2268.c
34579 * lib/libgcrypt/cipher/rijndael-tables.h
34580 * lib/libgcrypt/cipher/rijndael.c
34581 * lib/libgcrypt/cipher/rmd.h
34582 * lib/libgcrypt/cipher/rmd160.c
34583 * lib/libgcrypt/cipher/rsa.c
34584 * lib/libgcrypt/cipher/seed.c
34585 * lib/libgcrypt/cipher/serpent.c
34586 * lib/libgcrypt/cipher/sha1.c
34587 * lib/libgcrypt/cipher/sha256.c
34588 * lib/libgcrypt/cipher/sha512.c
34589 * lib/libgcrypt/cipher/tiger.c
34590 * lib/libgcrypt/cipher/twofish.c
34591 * lib/libgcrypt/cipher/whirlpool.c
34592
af2f93ac
RM
345932009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34594
34595 Fix build for systems without error().
34596
34597 * gnulib/error.c: New file (imported from Gnulib).
34598 * gnulib/error.h: Likewise.
34599 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
34600 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
34601 (this variable is now used by error()).
34602
73fb3dd5
FZ
346032009-11-16 Felix Zielcke <fzielcke@z-51.de>
34604
814f5e96
FZ
34605 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
34606 instead of relying that char is signed.
73fb3dd5 34607
a691ca33
VS
346082009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
34609
34610 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
34611 blocksize different from specified.
34612 (grub_pxefs_read): Likewise.
34613
2af8f0f4
FZ
346142009-11-16 Felix Zielcke <fzielcke@z-51.de>
34615
34616 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
34617
34618 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
34619 (grub_ata_readwrite): Likewise. Update 2 format strings.
34620 (grub_atapi_read): Likewise.
34621
34622 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
34623 * conf/i386.rmk (pkglib_MODULES): ... to here ...
34624 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
34625 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
34626 (ata_mod_LDFLAGS): Move from here ...
34627 * conf/i386.rmk: ... to here ...
34628 * conf/x86_64-efi.rmk: ... and here.
34629 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
34630 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
34631
83bdecaf
RM
346322009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34633
34634 Relicense multiboot.h, with RMS' blessing.
34635
34636 * include/multiboot.h: Change to X11 license.
34637
fd6fd3d7
RM
346382009-11-15 Robert Millan <rmh.grub@aybabtu.com>
34639
34640 Support --version in grub-mkisofs.
34641
34642 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
34643 (OPTION_VERSION): New macro.
34644 (ld_options): Recognize --version.
34645 (usage): Move `program_name' from here ...
34646 (program_name): ... to here. Add `static' qualifier.
34647 (main): Recognize `OPTION_VERSION'.
34648
16a88c49
FZ
346492009-11-15 Felix Zielcke <fzielcke@z-51.de>
34650
34651 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
34652 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
34653
a4158476
RM
346542009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34655
34656 Fix help2man generation for mkisofs.
34657
34658 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
34659 (usage): Send output to stdout (rather than stderr).
34660
fc2208b0
RM
346612009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34662
34663 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
34664 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34665 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
34666 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34667 (bin_SCRIPTS): Add `grub-mkfloppy'.
34668 (grub_mkfloppy_SOURCES): New variable.
34669
34670 * util/grub-mkrescue.in: New file.
34671 * util/i386/pc/grub-mkfloppy.in: New file.
34672
34673 * util/i386/coreboot/grub-mkrescue.in: Remove.
34674 * util/i386/pc/grub-mkrescue.in: Remove.
34675
8d0edf4a
RM
346762009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34677
34678 * include/grub/multiboot.h (struct grub_multiboot_header): Move
34679 from here ...
34680 * include/multiboot.h (struct multiboot_header): ... to here. Update
34681 all users.
34682 * include/grub/multiboot.h (struct grub_multiboot_info): Move
34683 from here ...
34684 * include/multiboot.h (struct multiboot_info): ... to here. Update
34685 all users.
34686 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
34687 from here ...
34688 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
34689 Update all users.
34690 * include/grub/multiboot.h (struct grub_mod_list): Move
34691 from here ...
34692 * include/multiboot.h (struct multiboot_mod_list): ... to here.
34693 Update all users.
34694
a73f5969
RM
346952009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34696
34697 * include/multiboot2.h (multiboot_word): Rename from this ...
34698 (multiboot2_word): ... to this. Update all users.
34699 (multiboot_header): Rename from this ...
34700 (multiboot2_header): ... to this. Update all users.
34701 (multiboot_tag_header): Rename from this ...
34702 (multiboot2_tag_header): ... to this. Update all users.
34703 (multiboot_tag_start): Rename from this ...
34704 (multiboot2_tag_start): ... to this. Update all users.
34705 (multiboot_tag_name): Rename from this ...
34706 (multiboot2_tag_name): ... to this. Update all users.
34707 (multiboot_tag_module): Rename from this ...
34708 (multiboot2_tag_module): ... to this. Update all users.
34709 (multiboot_tag_memory): Rename from this ...
34710 (multiboot2_tag_memory): ... to this. Update all users.
34711 (multiboot_tag_unused): Rename from this ...
34712 (multiboot2_tag_unused): ... to this. Update all users.
34713 (multiboot_tag_end): Rename from this ...
34714 (multiboot2_tag_end): ... to this. Update all users.
34715
1c8927f0
RM
347162009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34717
34718 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
34719 this platform we should support Multiboot1 first.
34720
34721 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
34722 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
34723 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
34724
6e1e0d89
RM
347252009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34726
34727 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
34728 of write calls (converting them to fwrite() if they aren't already).
34729 (get_torito_desc): Likewise.
34730 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
34731
7f2b34d8
RM
347322009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34733
34734 * util/i386/pc/grub-install.in: Move from here ...
34735 * util/grub-install.in: ... to here. Update all users.
34736
c0ef3311
CW
347372009-11-11 Colin Watson <cjwatson@ubuntu.com>
34738
34739 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
34740
e1f240ff
RM
347412009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34742
34743 Support for El Torito without floppy emulation.
34744
34745 * util/mkisofs/eltorito.c: Include `<errno.h>'.
34746 (init_boot_catalog): Improve error handling.
34747 (get_torito_desc): Don't use floppy emulation unless requested by
34748 user. Patch boot information table when requested via
34749 `-boot-info-table'.
34750 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
34751 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
34752 (use_boot_info_table): New variables.
34753 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
34754 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
34755 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
34756 `--eltorito-emul-floppy'.
34757 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
34758 and `OPTION_ELTORITO_EMUL_FLOPPY'.
34759 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
34760 (use_boot_info_table, get_731): New prototypes.
34761 * util/mkisofs/write.c (get_731): New function.
34762
af7d4de5
FZ
347632009-11-11 Felix Zielcke <fzielcke@z-51.de>
34764
34765 Fix the generation of the man page.
34766
34767 * util/pc/i386/grub-install.in: Source
34768 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
34769
2c55dbc0
RM
347702009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34771
34772 Large file support for grub-mkisofs.
34773
34774 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
34775 * util/mkisofs/mkisofs.c (next_extent, last_extent)
34776 (session_start): Upgrade type to `uint64_t'. Update all users.
34777 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
34778 (struct directory_entry): Upgrade type of `starting_block' and
34779 `size' to `uint64_t'. Update all users.
34780 (struct deferred): Remove unused structure.
34781 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
34782 Update all users.
34783 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
34784 file is larger than `UINT32_MAX'.
34785 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
34786 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
34787 return value.
34788 (struct deferred_write): Upgrade type of `extent' and `size' to
34789 `uint64_t'. Update all users.
34790 (last_extent_written): Upgrade type to `uint64_t'. Update all
34791 users.
34792 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
34793 Update all users. Upgrade type of `remain' to `int64_t' and
34794 `use' to `size_t'. Use error() to handle fread() errors.
34795 (write_files): Rely on write_one_file() rather than calling
34796 xfwrite() directly.
34797
6a9cead5
FZ
347982009-11-09 Felix Zielcke <fzielcke@z-51.de>
34799
34800 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
34801
4825d790
RM
348022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34803
34804 * util/mkisofs/fnmatch.c: Remove.
34805 * util/mkisofs/getopt1.c: Likewise.
34806 * util/mkisofs/getopt.c: Likewise.
34807 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
34808 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
34809 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
34810 `gnulib/getopt1.c' and `gnulib/getopt.c'.
34811 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
34812
34813 * configure.ac: Detect `mingw32msvc' host_os.
34814 Check for lstat(), getuid() and getgid().
34815
34816 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
34817 instances of `u_char' with `uint8_t'.
34818
34819 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
34820 [!HAVE_GETUID] (getuid): New function (stub).
34821 [!HAVE_GETGID] (getgid): Likewise.
34822 [!HAVE_LSTAT] (lstat): Likewise.
34823 [!S_IROTH] (S_IROTH): New macro (dummy).
34824 [!S_IRGRP] (S_IRGRP): Likewise.
34825
84b860d8
RM
348262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34827
34828 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
34829 conditional expression).
34830
66e9b712
RM
348312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34832
34833 Import from Gnulib.
34834
34835 * gnulib/fnmatch.c: New file.
34836 * gnulib/fnmatch.h: Likewise.
34837 * gnulib/fnmatch_loop.c: Likewise.
34838 * gnulib/getopt.c: Likewise.
34839 * gnulib/getopt.h: Likewise.
34840 * gnulib/getopt1.c: Likewise.
34841 * gnulib/getopt_int.h: Likewise.
34842 * gnulib/gettext.h: Likewise.
34843
34f4a5b0
RM
348442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34845
34846 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
34847 * normal/handler.c (read_handler_list): Likewise.
34848
ac451143
RM
348492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34850
34851 Misc cleanup.
34852
34853 * kern/command.c (grub_register_command_prio): Use
34854 grub_zalloc() instead of explicitly zeroing data.
34855 * kern/list.c: Include `<grub/mm.h>'.
34856 (grub_named_list_find): Replace `0' with `NULL'.
34857 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
34858 (fs_module_list): Change type to `grub_named_list_t'. Update all
34859 users.
34860 * normal/dyncmd.c (read_command_list): Add space between function
34861 call and parenthesis.
34862 * normal/handler.c (read_handler_list): Likewise.
34863
4089b167
RM
348642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34865
34866 * normal/auth.c (punishment_delay): Moved from here ...
34867 (grub_auth_strcmp): ... to here (inside function).
34868
325f5037
RM
348692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34870
34871 * include/grub/list.h (struct grub_named_list): Remove `const'
34872 qualifier from `name'.
34873 (struct grub_prio_list): Likewise.
34874
7aea29a3
RM
348752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34876
34877 * normal/auth.c: Include `<grub/time.h>'.
34878 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
34879
3fd6f044
RM
348802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34881
34882 * normal/auth.c (punishment_delay): New variable.
34883 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
34884 (grub_auth_check_authentication): Punish failed login attempts with
34885 an incremental (2^N) delay.
34886
a4cd68e4
RM
348872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34888
34889 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
34890 path with $(srcdir).
34891
7ad12f43
VS
348922009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34893
34894 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
34895
c1129f03
RM
348962009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34897
34898 * util/i386/coreboot/grub-mkrescue.in: New file.
34899 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
34900 variables.
34901
34902 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
34903 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
34904 * configure.ac: Add header and function checks to satisfy grub-mkisofs
34905 requirements.
34906 * util/mkisofs/defaults.h: New file.
34907 * util/mkisofs/eltorito.c: Likewise.
34908 * util/mkisofs/exclude.h: Likewise.
34909 * util/mkisofs/fnmatch.c: Likewise.
34910 * util/mkisofs/getopt.c: Likewise.
34911 * util/mkisofs/getopt1.c: Likewise.
34912 * util/mkisofs/hash.c: Likewise.
34913 * util/mkisofs/include/fctldefs.h: Likewise.
34914 * util/mkisofs/include/mconfig.h: Likewise.
34915 * util/mkisofs/include/prototyp.h: Likewise.
34916 * util/mkisofs/include/statdefs.h: Likewise.
34917 * util/mkisofs/iso9660.h: Likewise.
34918 * util/mkisofs/joliet.c: Likewise.
34919 * util/mkisofs/match.c: Likewise.
34920 * util/mkisofs/match.h: Likewise.
34921 * util/mkisofs/mkisofs.c: Likewise.
34922 * util/mkisofs/mkisofs.h: Likewise.
34923 * util/mkisofs/multi.c: Likewise.
34924 * util/mkisofs/name.c: Likewise.
34925 * util/mkisofs/rock.c: Likewise.
34926 * util/mkisofs/tree.c: Likewise.
34927 * util/mkisofs/write.c: Likewise.
34928
ec8bb77d
VS
349292009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34930
34931 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
34932 being insecure.
34933
3716b12c
RM
349342009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34935
34936 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
34937 `grub-mkimage' (and use $0 when possible).
34938
b97b7b91
RM
349392009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34940
34941 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
34942 error message for excessively large memory map.
34943
04114812
RM
349442009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34945
34946 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
34947 executable bit.
34948
e4eb2373
RM
349492009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34950
34951 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
34952 message for coreboot users.
34953
c926e1d5 349542009-11-07 Robert Millan <rmh.grub@aybabtu.com>
34955
34956 Fix build with GNU gold.
34957
34958 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
34959 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
34960 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
34961 link addresses.
34962 * aclocal.m4: Likewise.
34963
86e5b1db 349642009-11-04 Felix Zielcke <fzielcke@z-51.de>
34965
34966 * configure.ac (AC_PREREQ): Bump to 2.59d.
34967 * INSTALL: Make it more clear when Autoconf and Ruby are
34968 needed and when to run `./autogen.sh'.
34969
246cd78f 349702009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
34971
34972 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
34973 OSes.
34974
4f9dfb37 349752009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34976
34977 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
34978
b82bd5e1 349792009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34980
34981 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
34982 giving it to GNU Mach.
34983
ff1a9bca 349842009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34985
34986 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
34987 GNU partition number to get internal GRUB partition number.
34988
61697d9c 349892009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34990
34991 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
34992 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
34993
a50569e1 349942009-11-01 Robert Millan <rmh.grub@aybabtu.com>
34995
34996 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
34997 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
34998 case.
34999
5b153867 350002009-11-01 Felix Zielcke <fzielcke@z-51.de>
35001
35002 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
35003
d9e2cd70 350042009-10-30 Robert Millan <rmh.grub@aybabtu.com>
35005
35006 Fix build problem.
35007
35008 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
35009 `-isystem=$(srcdir)/include'.
35010
805111a4 350112009-10-30 Robert Millan <rmh.grub@aybabtu.com>
35012
35013 * util/i386/pc/grub-install.in: Remove hint that device.map should be
35014 checked (grub-install doesn't currently rely on it).
35015
fa6e945f 350162009-10-29 Robert Millan <rmh.grub@aybabtu.com>
35017
35018 Revert SVN r2660.
35019
35020 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
35021 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
35022 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
35023 * conf/i386-ieee1275.rmk: Likewise.
35024 * conf/i386-pc.rmk: Likewise.
35025 * conf/powerpc-ieee1275.rmk: Likewise.
35026 * conf/sparc64-ieee1275.rmk: Likewise.
35027 * conf/x86_64-efi.rmk: Likewise.
35028
cee15086 350292009-10-28 Robert Millan <rmh.grub@aybabtu.com>
35030
35031 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
35032
95b9239e 350332009-10-28 Robert Millan <rmh.grub@aybabtu.com>
35034
35035 * include/grub/misc.h: Stop checking for APPLE_CC.
35036
2ed19dfd 350372009-10-28 Robert Millan <rmh.grub@aybabtu.com>
35038
35039 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
35040 doesn't cause an infinite call loop.
35041
fdcdde19 350422009-10-28 Felix Zielcke <fzielcke@z-51.de>
35043
35044 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
35045 strings.
35046
cefabfe1 350472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35048
35049 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
35050 variable.
35051 * Makefile.in: Likewise.
35052
ed96ab6d 350532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35054
35055 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
35056
0579b753 350572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35058
35059 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
35060
478df409 350612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35062
35063 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
35064
083d1679 350652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35066
35067 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
35068 from here ...
35069 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
35070
5947ae32 350712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35072
35073 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
35074 in $(MAKEINFO) invocation. This makes it clear in output that
35075 errors are being ignored.
35076
94180ff6 350772009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35078
35079 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
35080 from here ...
35081 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
35082 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
35083 * conf/i386-ieee1275.rmk: Likewise.
35084 * conf/i386-pc.rmk: Likewise.
35085 * conf/powerpc-ieee1275.rmk: Likewise.
35086 * conf/sparc64-ieee1275.rmk: Likewise.
35087 * conf/x86_64-efi.rmk: Likewise.
35088
9031b03a 350892009-10-26 Colin Watson <cjwatson@ubuntu.com>
35090
35091 * util/grub-editenv.c (main): If only a command is given, use
35092 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
35093 (usage): FILENAME is now optional and has a default.
35094
e4f6809b 350952009-10-26 Colin Watson <cjwatson@ubuntu.com>
35096
35097 Improve grub-mkconfig performance when there are several menu
35098 entries on a single filesystem.
35099
35100 * util/grub.d/10_linux.in (linux_entry): Cache the output of
35101 prepare_grub_to_access_device.
35102 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
35103 * util/grub.d/30_os-prober.in: Likewise.
35104
67937d4d 351052009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35106
35107 * util/grub.d/10_freebsd.in: Remove.
35108 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
35109 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
35110
ee3756cc 351112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35112
5c35048e 35113 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 35114
4dea1c6f 351152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35116
35117 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
35118 grub_util_error() call.
35119
042484d7 351202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35121
35122 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
35123 `reserved_first_sector' member.
35124 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
35125 `reserved_first_sector' to 1.
35126 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
35127 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
35128 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
35129 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
35130 filesystems which begin at first sector.
35131 (options): New option --skip-fs-probe.
35132 (main): Handle --skip-fs-probe and pass it to setup().
35133
d64448a7 351342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35135
35136 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
35137 (memset): Fix function prototype.
35138
508d42ec 351392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
351402009-10-25 Vasily Averin <vvs@parallels.com>
35141
35142 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
35143 `dirent.direntlen == 0'.
35144
b240e30c 351452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35146
35147 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
35148 `cpio'.
35149 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
35150
346e7fbe 351512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35152
35153 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
35154 `__trampoline_setup' and `__ucmpdi2'.
35155 * include/grub/powerpc/libgcc.h: Only export symbols for functions
35156 that libgcc provides.
35157
cdb308b0 351582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35159
35160 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
35161 * include/grub/sparc64/libgcc.h (memset): Likewise.
35162 * include/grub/misc.h (memset, memcmp): New function prototypes.
35163
fb26abc2 351642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35165
35166 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
35167 `cpio'.
35168 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
35169
f6693890 351702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35171
35172 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
35173 * docs/grub.cfg: Compensate for recent change in multiboot
35174 loader (since 2009-08-14 it won't pass filename to payload).
35175 * util/grub.d/10_hurd.in: Likewise.
35176
0933cdc0 351772009-10-21 Felix Zielcke <fzielcke@z-51.de>
35178
35179 * config.guess: Update to latest version from config git
35180 repository.
35181 * config.sub: Likewise.
35182
3b2fe8c2 351832009-10-20 Robert Millan <rmh.grub@aybabtu.com>
35184
35185 Fix build on sparc64.
35186
35187 * configure.ac: Perform checks for libgcc symbols before
35188 adding `-nostdlib' to LDFLAGS.
35189
46695a62 351902009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35191
35192 Let user specify OpenBSD root device.
35193
35194 * loader/i386/bsd.c (openbsd_root): New variable.
35195 (openbsd_opts): New option 'root'.
35196 (OPENBSD_ROOT_ARG): New macro.
35197 (grub_openbsd_boot): Use 'openbsd_root'.
35198 (grub_cmd_openbsd): Fill 'openbsd_root'.
35199
d2b6b7fc 352002009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35201
35202 * NEWS: Misc adjustments.
35203
421bd7ac 352042009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35205
35206 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
35207
f1d29d87 352082009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35209
35210 * configure.ac: Bump version to 1.97.
35211
6f3cd880 352122009-10-16 Colin Watson <cjwatson@ubuntu.com>
35213
35214 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
35215 -mno-3dnow on x86 architectures. Some toolchains enable these
35216 features by default, but they rely on registers that aren't enabled
35217 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
35218
035f7122 352192009-10-15 Robert Millan <rmh.grub@aybabtu.com>
35220
35221 Make entry text a bit more readable.
35222
35223 * util/grub.d/10_linux.in: Add `with' before `Linux'.
35224
44998e58 352252009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35226
35227 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
35228
cd2851b3 352292009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35230
35231 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
35232 operations.
35233
c6f3b249 352342009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35235
35236 * configure.ac: Add missing dollar.
35237
6b5886ba 352382009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35239
35240 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
35241
35242 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
35243 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
35244 exports.
35245 * include/grub/sparc64/libgcc.h: Likewise. Use
35246 preprocessor conditionals.
35247
e9d66f6d 352482009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35249
35250 * conf/common.rmk (grub-dumpbios): Remove rule.
35251 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
35252 * util/grub-dumpbios.in: Remove file.
35253
9155bc17 352542009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35255
35256 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
35257 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
35258
35259 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
35260 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
35261 users.
35262
35263 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
35264 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
35265 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
35266 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
35267 users.
35268
bf7f7a18 352692009-10-12 Robert Millan <rmh.grub@aybabtu.com>
35270
35271 * term/tparm.c: Switch to GPLv3.
35272
86564c26 352732009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35274
35275 * include/grub/i386/cpuid.h: Add header protection.
35276
5c936493 352772009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35278
35279 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
35280
35281 * include/grub/i386/cpuid.h: New file.
35282 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
35283 (has_longmode): Rename to ...
35284 (grub_cpuid_has_longmode): ... this. Update all users. Remove
35285 `static' attribute.
35286 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
35287 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
35288 on a CPU that doesn't implement AMD64 instruction set.
35289
186e7cf2 352902009-10-06 Colin Watson <cjwatson@ubuntu.com>
35291
35292 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
35293 that version.texi is rebuilt on version number changes.
35294
83b65c4a 352952009-10-06 Colin Watson <cjwatson@ubuntu.com>
35296
35297 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
35298 Fixes bug #27602.
35299
d244281c 353002009-10-06 Colin Watson <cjwatson@ubuntu.com>
35301
35302 * util/i386/pc/grub-install.in: Source
35303 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
35304 that the --grub-probe option will work.
35305 * util/sparc64/ieee1275/grub-install.in: Likewise.
35306
da25306d 353072009-10-05 Robert Millan <rmh.grub@aybabtu.com>
35308
35309 * configure.ac: Bump version to 1.97~beta4.
35310
e8ee83c0 353112009-10-03 Robert Millan <rmh.grub@aybabtu.com>
35312
35313 Resync grub-mkdevicemap in x86_64-efi.
35314
35315 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
35316 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
35317 `util/devicemap.c'.
35318
50dcabcf 353192009-10-01 Colin Watson <cjwatson@ubuntu.com>
35320
35321 * util/grub-editenv.c (create_envblk_file): Write new block with a
35322 .new suffix and then rename it into place, to ensure atomic
35323 creation.
35324
0e51c3a7 353252009-09-28 Robert Millan <rmh.grub@aybabtu.com>
35326
35327 Do not automatically install headers.
35328
35329 * Makefile.in (include_DATA): Remove. Update all users.
35330
31299a95 353312009-09-26 Robert Millan <rmh.grub@aybabtu.com>
35332
35333 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
35334 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
35335
35336 * util/osdetect.lua: Remove.
35337 * script/lua/lauxlib.c: Likewise.
35338 * script/lua/ldebug.c: Likewise.
35339 * script/lua/grub_main.c: Likewise.
35340 * script/lua/lauxlib.h: Likewise.
35341 * script/lua/ldebug.h: Likewise.
35342 * script/lua/ltablib.c: Likewise.
35343 * script/lua/liolib.c: Likewise.
35344 * script/lua/lstrlib.c: Likewise.
35345 * script/lua/lualib.h: Likewise.
35346 * script/lua/ldo.c: Likewise.
35347 * script/lua/ldump.c: Likewise.
35348 * script/lua/ldo.h: Likewise.
35349 * script/lua/loslib.c: Likewise.
35350 * script/lua/lundump.c: Likewise.
35351 * script/lua/grub_lib.c: Likewise.
35352 * script/lua/ldblib.c: Likewise.
35353 * script/lua/lundump.h: Likewise.
35354 * script/lua/lmem.c: Likewise.
35355 * script/lua/grub_lib.h: Likewise.
35356 * script/lua/lmathlib.c: Likewise.
35357 * script/lua/lstate.c: Likewise.
35358 * script/lua/ltm.c: Likewise.
35359 * script/lua/lvm.c: Likewise.
35360 * script/lua/lmem.h: Likewise.
35361 * script/lua/lstate.h: Likewise.
35362 * script/lua/ltm.h: Likewise.
35363 * script/lua/ltable.c: Likewise.
35364 * script/lua/lvm.h: Likewise.
35365 * script/lua/llex.c: Likewise.
35366 * script/lua/lgc.c: Likewise.
35367 * script/lua/grub_lua.h: Likewise.
35368 * script/lua/loadlib.c: Likewise.
35369 * script/lua/lfunc.c: Likewise.
35370 * script/lua/lopcodes.c: Likewise.
35371 * script/lua/lparser.c: Likewise.
35372 * script/lua/ltable.h: Likewise.
35373 * script/lua/llex.h: Likewise.
35374 * script/lua/lgc.h: Likewise.
35375 * script/lua/lfunc.h: Likewise.
35376 * script/lua/lbaselib.c: Likewise.
35377 * script/lua/lopcodes.h: Likewise.
35378 * script/lua/lparser.h: Likewise.
35379 * script/lua/lzio.c: Likewise.
35380 * script/lua/linit.c: Likewise.
35381 * script/lua/lobject.c: Likewise.
35382 * script/lua/llimits.h: Likewise.
35383 * script/lua/lstring.c: Likewise.
35384 * script/lua/lzio.h: Likewise.
35385 * script/lua/lapi.c: Likewise.
35386 * script/lua/lcode.c: Likewise.
35387 * script/lua/lua.h: Likewise.
35388 * script/lua/lobject.h: Likewise.
35389 * script/lua/lstring.h: Likewise.
35390 * script/lua/lapi.h: Likewise.
35391 * script/lua/lcode.h: Likewise.
35392 * script/lua/luaconf.h: Likewise.
35393
cb8a2c38 353942009-09-26 Colin Watson <cjwatson@ubuntu.com>
35395
35396 * docs/grub.texi (Command-line and menu entry commands): Document
35397 date and echo commands.
35398
6b9b6276 353992009-09-24 Pavel Roskin <proski@gnu.org>
35400
35401 * include/grub/kernel.h (struct grub_module_header): Remove
35402 `grub_module_header_types'. Make `type' unsigned. Make `size'
35403 32-bit on all platforms.
35404 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
35405 8-bit field. Use grub_host_to_target32() for `size'.
35406 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
35407 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
35408 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
35409
4e5a02a7 354102009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35411
35412 Fix "lost keypress" bug in at_keyboard.
35413
35414 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
35415 Checks for readyness of input buffer (without flushing it).
35416 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
35417 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
35418
c6dcedf6 354192009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35420
35421 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
35422 size check within GRUB_MACHINE_PCBIOS section.
35423
74c958b1 354242009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35425
35426 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
35427 return value.
35428 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
35429 KEYBOARD_ISREADY check.
35430 (grub_at_keyboard_checkkey): Rename to ...
35431 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
35432 Remove gratuitous cast.
35433
ff420223 354342009-09-23 Colin Watson <cjwatson@ubuntu.com>
35435
35436 * configure.ac: Call AC_PROG_MKDIR_P.
35437 * Makefile.in (docs/stamp-vti): Create docs directory. Create
35438 version.texi in $(builddir) rather than $(srcdir).
35439 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
35440 to makeinfo's @include search path.
35441
d96875df 354422009-09-23 Felix Zielcke <fzielcke@z-51.de>
35443
35444 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
35445
9b3f8365 354462009-09-23 Felix Zielcke <fzielcke@z-51.de>
35447
35448 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
35449 for `*.dpkg-new'.
35450
c44c90db 354512009-09-21 Colin Watson <cjwatson@ubuntu.com>
35452
35453 Build info documentation. Some code borrowed from Automake.
35454
35455 * configure.ac: Check for makeinfo.
35456 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
35457 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
35458 docs/version.texi.
35459 (MOSTLYCLEANFILES): Add vti.tmp.
35460 (docs/version.texi, docs/stamp-vti): Update automatically.
35461 (docs/grub.info): Build info documentation. Use --force and ignore
35462 errors for now.
35463 (all-local): Add $(INFOS).
35464 (install-local): Install info files.
35465 (uninstall): Uninstall info files.
35466 * docs/version.texi: Remove from revision control. This file is
35467 automatically generated on build now.
35468 * gendistlist.sh: Add `*.info'.
35469
e0b37bb5 354702009-09-21 Felix Zielcke <fzielcke@z-51.de>
35471
35472 * kern/term.c: Fix indentation.
35473
5a78865b 354742009-09-21 Felix Zielcke <fzielcke@z-51.de>
35475
35476 * util/hostdisk.c: Fix a comment.
35477
dace7e8a 354782009-09-20 Robert Millan <rmh.grub@aybabtu.com>
35479
35480 Fix regression introduced in r2539.
35481
35482 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
35483 to 0xA1.
35484
a83d079b 354852009-09-19 Colin Watson <cjwatson@ubuntu.com>
35486
35487 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 35488 os-prober. Under normal operation, it does not print anything to
35489 stderr; if it does, we need to debug it, and throwing away stderr
35490 makes that excessively difficult.
a83d079b 35491
be94a509 354922009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
35493
35494 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
35495
63f745e8 354962009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35497
35498 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
35499 AC_LANG_PROGRAM from autoconf.
35500 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
35501 prototypes (fixes warning).
35502
35503 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
35504 `--disable-werror' was used.
35505
bbb2a70f 355062009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35507
35508 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
35509 uninitialized `lastaddr'.
35510
77c24f1d 355112009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
35512
0f0b8c87 35513 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 35514
07197f23 355152009-09-14 Colin Watson <cjwatson@ubuntu.com>
35516
35517 * commands/test.c (get_fileinfo): Return immediately if
35518 grub_fs_probe fails.
35519
dabf1798 355202009-09-14 José Martínez <xosemp@gmail.com>
35521
35522 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
35523
d52109a7 355242009-09-14 Colin Watson <cjwatson@ubuntu.com>
35525
35526 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
35527 output.
35528
56532179 355292009-09-13 Robert Millan <rmh.grub@aybabtu.com>
35530
35531 * configure.ac: Remove --enable-grub-pe2elf. Only build
35532 grub-pe2elf when needed by the build system itself.
35533 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
35534
8ef070f5 355352009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35536
35537 * configure.ac: Bump version to 1.97~beta3.
35538 * docs/version.texi: Likewise.
35539
61229557 355402009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35541
35542 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
35543 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
35544 from here ...
35545 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
35546 (grub_linux_setup_video): ... to here (with some adjustments).
35547
5c9f8d84 355482009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35549
35550 Fix memory corruption issue (spotted by Colin Watson).
35551
35552 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
35553 causing returned size to be stored in an incorrect memory location.
35554 Fix use of uninitialized value when storing the returned size.
35555
e8f5d6e9 355562009-09-12 Yves Blusseau <blusseau@zetam.org>
35557
35558 Change clean rules to properly remove files
35559
35560 * genmk.rb: add new clean rules
35561 * Makefile.in (clean): add the new targets
35562 (mostlyclean): likewise
35563
cda2a409 355642009-09-11 Colin Watson <cjwatson@ubuntu.com>
35565
35566 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
35567 to grub_uint64_t.
35568 * fs/ntfs.c (init_file): Understand 64-bit sizes for
35569 non-resident files.
35570
86695375 355712009-09-11 Colin Watson <cjwatson@ubuntu.com>
35572
35573 * configure.ac: Don't look for help2man when cross-compiling. Fixes
35574 part of bug #27349.
35575
8aa1541a 355762009-09-10 Felix Zielcke <fzielcke@z-51.de>
35577
35578 * util/grub-mkconfig.in: Make the created config mode 400 and
35579 print a warning if it fails.
35580
48d9bb0a 355812009-09-10 Robert Millan <rmh.grub@aybabtu.com>
35582
35583 * util/grub.d/40_custom.in: Ask user to type custom entries below
35584 comment, rather than below 'exec tail' line.
35585
3b0521be 355862009-09-10 Colin Watson <cjwatson@ubuntu.com>
35587
35588 * util/grub.d/40_custom.in: Make sure that the explanatory text is
35589 visible in grub.cfg.
35590
50051d55 355912009-09-10 Colin Watson <cjwatson@ubuntu.com>
35592
35593 * util/grub.d/40_custom.in: Make it a little clearer how to use this
35594 file.
35595
c0d34387 355962009-09-10 Felix Zielcke <fzielcke@z-51.de>
35597
35598 * docs/grub.cfg: Add an example menu entry for memtest86+.
35599
80a608f3 356002009-09-09 Felix Zielcke <fzielcke@z-51.de>
35601
a2094832 35602 * config.guess: Update to latest version from config git.
80a608f3 35603 * config.sub: Likewise.
35604
99423078 356052009-09-08 Colin Watson <cjwatson@ubuntu.com>
35606
35607 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
35608 unknown-command case. Fixes bug #27320.
35609
44454e4c 356102009-09-08 Felix Zielcke <fzielcke@z-51.de>
35611
35612 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
35613 `help' if the command exists.
35614
e30d87ad 356152009-09-06 Robert Millan <rmh.grub@aybabtu.com>
35616
35617 * INSTALL: Require GCC 4.1.3 or later.
35618
9a86f1ec 356192009-09-06 Yves Blusseau <blusseau@zetam.org>
35620
35621 * Makefile.in (RMKFILES): add i386-qemu.rmk
35622 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
35623 $(srcdir)/stamp-h.in
35624
7f26d466 356252009-09-05 Robert Millan <rmh.grub@aybabtu.com>
35626
35627 * util/grub-probe.c (probe): Comment out buggy codepath, which
35628 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
35629 should be re-enabled after 1.97.
35630
3a613259 356312009-09-05 Felix Zielcke <fzielcke@z-51.de>
35632
35633 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
35634 find searches for.
35635
197f76c7 356362009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
35637
35638 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
35639 unnecessary calls to grub_error.
35640
70ba68ce 356412009-09-04 Colin Watson <cjwatson@ubuntu.com>
35642
35643 * NEWS: Mention `keystatus' and Unicode fonts.
35644
4ff0d7a4 356452009-09-04 Robert Millan <rmh.grub@aybabtu.com>
35646
35647 * configure.ac: Bump version to 1.97~beta2.
35648 * docs/version.texi: Likewise.
35649
77c55a87 356502009-09-03 Colin Watson <cjwatson@ubuntu.com>
35651
35652 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
35653 containing unwind information in some cases where it previously did
35654 not. Use -fno-dwarf2-cfi-asm if available to restore the old
35655 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
35656 discussion.
35657
f79572cd 356582009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
35659
35660 Embedding loadenv module into grub-emu
35661
35662 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
35663 commands/loadenv.c
35664 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
35665 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
35666 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
35667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
35668 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
35669 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
35670
93a81088 356712009-09-03 Magnus Granberg <zorry@ume.nu>
35672
35673 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
35674 include -fPIE in the default specs.
35675 * configure.ac: Check if pie_possible is yes and add -fno-PIE
35676 to TARGET_CFLAGS.
35677
160034b2 356782009-09-03 Felix Zielcke <fzielcke@z-51.de>
35679
35680 * INSTALL: Note that GNU Bison 2.3 or later is required.
35681
087c07c4 356822009-09-03 Colin Watson <cjwatson@ubuntu.com>
35683
35684 * kern/i386/pc/startup.S: Fix typo.
35685
cbf978c0 356862009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
35687
35688 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
35689 according to GCS.
35690
356912009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 35692
35693 * docs/grub.texi (Naming convention): Describe one-based partition
35694 numbering.
35695 (Device syntax): Likewise.
35696 (File name syntax): Likewise.
35697 (Block list syntax): Likewise.
35698 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
35699 menu.lst.
35700 (File name syntax): Likewise.
35701 (Command-line and menu entry commands): Document acpi, blocklist,
35702 crc, export, insmod, keystatus, ls, set, and unset commands.
35703
f3e8cdfd 357042009-09-02 Colin Watson <cjwatson@ubuntu.com>
35705
35706 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
35707 to avoid implying that only one of --shift, --ctrl, or --alt may be
35708 used.
35709
c0bc232b 357102009-09-02 Colin Watson <cjwatson@ubuntu.com>
35711
35712 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
35713 rather than comparing against S_IFREG, which will almost never work.
35714
aa0f752d 357152009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
35716
35717 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
35718 (write_blocklists): Likewise.
35719
ecb3166a 357202009-09-01 Colin Watson <cjwatson@ubuntu.com>
35721
35722 * script/lua/grub_lua.h (fputs): Supply a format string as the first
35723 argument to grub_printf.
35724
c403a125 357252009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 35726
35727 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 35728 non GNU test.
31aba781 35729
b5e7312c 357302009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35731
35732 * kern/file.c (grub_file_read): Spelling fix
35733
fe00f472 357342009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35735
35736 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
35737 loading of headers in some cases.
35738
cc55302e 357392009-08-30 Robert Millan <rmh.grub@aybabtu.com>
35740
35741 * configure.ac: Bump version to 1.97~beta1.
35742 * docs/version.texi: Likewise.
35743
5c90cdd2 357442009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 35745
35746 * include/grub/i386/xnu.h: Add license header.
35747 include grub/err.h explicitly.
35748
c90edae4 357492009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35750
35751 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
35752 to `ufs' in the vfs.root.mountfrom kernel parameter.
35753
d8888b5c 357542009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35755
35756 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
35757
35758 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
35759 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
35760
35761 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
35762 `ARRAY_SIZE' macro.
35763
6f07b921 357642009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35765
35766 * kern/file.c (grub_file_read): Check offset.
35767 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
35768 * fs/jfs.c (grub_jfs_read_file): Likewise.
35769 * fs/ntfs.c (grub_ntfs_read): Likewise.
35770 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
35771 * fs/minix.c (grub_minix_read_file): Correct offset check.
35772 * fs/ufs.c (grub_ufs_read_file): Likewise.
35773
b4f34077 357742009-08-28 Colin Watson <cjwatson@ubuntu.com>
35775
35776 * term/i386/pc/console.c (bios_data_area): Cast
35777 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
35778
e7c69859 357792009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35780
35781 1-bit optimised blitters.
35782
35783 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
35784 prototype.
35785 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35786 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35787 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35788 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35789 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35790 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35791 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
35792 function.
35793 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35794 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35795 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35796 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35797 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35798 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35799 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
35800 when possible.
35801 * video/video.c (grub_video_get_blit_format): Return
35802 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
35803
a57da43f 358042009-08-28 Colin Watson <cjwatson@ubuntu.com>
35805
35806 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
35807 the first argument to grub_printf.
35808
4cbe67e5 358092009-08-28 Colin Watson <cjwatson@ubuntu.com>
358102009-08-28 Robert Millan <rmh.grub@aybabtu.com>
35811
35812 Add `getkeystatus' terminal method. Add a new `keystatus' command
35813 to query it.
35814
35815 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
35816 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
35817 modifier key bitmasks.
35818 (struct grub_term_input): Add `getkeystatus' member.
35819 (grub_getkeystatus): Add prototype.
35820 * kern/term.c (grub_getkeystatus): New function.
35821
35822 * include/grub/i386/pc/memory.h
35823 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
35824 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
35825 Data Area layout.
35826 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
35827 (grub_console_term_input): Set `getkeystatus' member.
35828 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
35829 constants.
35830 (grub_usb_keyboard_getreport): Likewise.
35831 (grub_usb_keyboard_checkkey): Likewise.
35832 (grub_usb_keyboard_getkeystatus): New function.
35833 (grub_usb_keyboard_term): Set `getkeystatus' member.
35834
35835 * commands/keystatus.c: New file.
35836 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
35837 (keystatus_mod_SOURCES): New variable.
35838 (keystatus_mod_CFLAGS): Likewise.
35839 (keystatus_mod_LDFLAGS): Likewise.
35840 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
35841 commands/keystatus.c.
35842 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35843 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35844 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35846 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35847 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 35848
6e2a9085 358492009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35850
35851 Split befs.mod and afs.mod into *_be.mod and *.mod
35852
35853 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
35854 (grub_fstest_SOURCES): Likewise.
35855 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
35856 (afs_be_mod_SOURCES): New variable.
35857 (afs_be_mod_CFLAGS): Likewise.
35858 (afs_be_mod_LDFLAGS): Likewise.
35859 (befs_be_mod_SOURCES): Likewise.
35860 (befs_be_mod_CFLAGS): Likewise.
35861 (befs_be_mod_LDFLAGS): Likewise.
35862 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
35863 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35864 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35865 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35866 (grub_emu_SOURCES): Likewise.
35867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35868 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35869 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35870 * fs/afs_be.c: New file.
35871 * fs/befs_be.c: New file.
35872 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
35873 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
35874 (U16): Replaced with ...
35875 (grub_afs_to_cpu16): ...this. All users updated.
35876 (U32): Replaced with ...
35877 (grub_afs_to_cpu32): ...this. All users updated.
35878 (U64): Replaced with ...
35879 (grub_afs_to_cpu64): ...this. All users updated.
35880 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
35881 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 35882 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 35883 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35884 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35885 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35886 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35887 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35888 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35889 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35890 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35891
32a71655 358922009-08-26 Bean <bean123ch@gmail.com>
35893
35894 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
35895 64-bit number.
35896 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
35897 (grub_xfs_inode_block): Change return type to grub_uint64_t.
35898 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
35899
552bf6c5 359002009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35901
35902 NetBSD memory map support.
35903
35904 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
35905 (grub_netbsd_btinfo_mmap_header): New structure.
35906 (grub_netbsd_btinfo_mmap_entry): Likewise.
35907 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
35908
1ae2078c 359092009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35910
35911 Enable bsd.mod on coreboot.
35912
35913 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
35914 (bsd_mod_SOURCES): New variable.
35915 (bsd_mod_CFLAGS): Likewise.
35916 (bsd_mod_LDFLAGS): Likewise.
35917 (bsd_mod_ASFLAGS): Likewise.
35918 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
35919 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
35920
beefc598 359212009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35922
35923 Cleanup NetBSD root support.
35924
35925 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
35926 grub_bsd_get_device.
35927 Fix typo.
35928
3b76e68b 359292009-08-25 Felix Zielcke <fzielcke@z-51.de>
35930
35931 * util/grub.d/00_header.in: Move check for the video backend of
35932 gfxterm from here ...
35933 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
35934 a suitable video backend.
35935
aea664ea 359362009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35937
35938 Fix breakage in grub-setup.
35939
35940 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
35941 "msdos_partition_map".
35942
ff747d50 359432009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35944
35945 Fix breakage in normal/auth.c.
35946
35947 * normal/auth.c (grub_iswordseparator): New function.
35948
e7e1f93f 359492009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35950
35951 Authentication support.
35952
35953 * commands/password.c: New file.
35954 * conf/common.rmk (pkglib_MODULES): Add password.mod.
35955 (password_mod_SOURCES): New variable.
35956 (password_mod_CFLAGS): Likewise.
35957 (password_mod_LDFLAGS): Likewise.
35958 (normal_mod_SOURCES): Add normal/auth.c.
35959 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
35960 normal/auth.c.
35961 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35962 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35963 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35964 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35965 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35966 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35967 * include/grub/auth.h: New file.
35968 * include/grub/err.h (grub_err_t): New enum value
35969 GRUB_ERR_ACCESS_DENIED.
35970 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
35971 'users'.
35972 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
35973 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
35974 users updated.
35975 * normal/auth.c: New file.
35976 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
35977 (grub_cmdline_run): Don't allow to go to command line without
35978 authentication.
35979 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
35980 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
35981 menuentry without superuser rights.
35982 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
35983 user isn't a superuser.
35984
70f1161d 359852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35986
35987 Save space by inlining misc.c functions.
35988
35989 * kern/misc.c (grub_iswordseparator): Made static.
35990 * kern/misc.c (grub_strcat): Moved from here ...
35991 * include/grub/misc.h (grub_strcat): ... here. Inlined.
35992 * kern/misc.c (grub_strncat): Moved from here ...
35993 * include/grub/misc.h (grub_strncat): ... here. Inlined.
35994 * kern/misc.c (grub_strcasecmp): Moved from here ...
35995 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
35996 * kern/misc.c (grub_strncasecmp): Moved from here ...
35997 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
35998 * kern/misc.c (grub_isalpha): Moved from here ...
35999 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
36000 * kern/misc.c (grub_isdigit): Moved from here ...
36001 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
36002 * kern/misc.c (grub_isgraph): Moved from here ...
36003 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
36004 * kern/misc.c (grub_tolower): Moved from here ...
36005 * include/grub/misc.h (grub_tolower): ... here. Inlined.
36006
48e40bff 360072009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36008
36009 * script/sh/function.c (grub_script_function_find): Cut error message
36010 not to flood terminal.
36011 * script/sh/lexer.c (grub_script_yylex): Remove command line length
36012 limit.
36013 * script/sh/script.c (grub_script_arg_add): Duplicate string.
36014
c385bfc3 360152009-08-24 Colin Watson <cjwatson@ubuntu.com>
36016
36017 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
36018 `report' grub_uint8_t *.
36019 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
36020 Use a 50-millisecond timeout rather than just repeating
36021 grub_usb_keyboard_getreport 50 times.
36022 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
36023
2d21e3e8 360242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36025
36026 Rename *_partition_map to part_*
36027
36028 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
36029 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
36030 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
36031 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
36032 All users updated.
36033 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
36034 All users updated.
36035 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
36036 * util/grub-probe.c (probe_partmap): Don't transform partition name
36037 to get module name.
36038
dd103c4e 360392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36040
36041 Fix OpenBSD and NetBSD support.
36042
36043 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
36044 memory address conflict.
36045 (OPENBSD_MMAP_ACPI): New definition.
36046 (OPENBSD_MMAP_NVS): Likewise.
36047 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
36048 and OPENBSD_MMAP_NVS.
36049 Add memory map terminator
36050 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 36051 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 36052
16c84d74 360532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36054
36055 Let user specify NetBSD root device.
36056
36057 * loader/i386/bsd.c (netbsd_root): New variable.
36058 (netbsd_opts): New option 'root'.
36059 (NETBSD_ROOT_ARG): New macro.
36060 (grub_netbsd_boot): Use 'netbsd_root'.
36061 (grub_bsd_unload): Free 'netbsd_root'.
36062 (grub_cmd_netbsd): Fill 'netbsd_root'.
36063
adb29902 360642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36065
36066 Support for 64-bit NetBSD.
36067
36068 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
36069 point when booting non-FreeBSD.
36070
f5ae9f74 360712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
36072
36073 Support --no-smp and --no-acpi for NetBSD.
36074
36075 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
36076 (NETBSD_AB_NOACPI): Likewise.
36077 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
36078 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
36079
de74f136 360802009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
36081
36082 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
36083 errors.
36084 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
36085 errors. Call grub_error when needed.
36086
e9a925da 360872009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
36088
36089 * commands/search.c (search_fs): Try searching without autoload first.
36090 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
36091 filesystem module explicitly for faster booting.
36092
5174302b 360932009-08-23 Colin Watson <cjwatson@ubuntu.com>
36094
36095 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
36096
c8c80635 360972009-08-23 Colin Watson <cjwatson@ubuntu.com>
36098
36099 * util/grub.d/30_os-prober.in: Disable os-prober if
36100 `GRUB_DISABLE_OS_PROBER' was set to true.
36101
71acf5e5 361022009-08-23 Robert Millan <rmh.grub@aybabtu.com>
36103
36104 * partmap/pc.c: Rename to ...
36105 * partmap/msdos.c: ... this. Update all users.
36106 (grub_pc_partition_map): Rename to ...
36107 (grub_msdos_partition_map): ... this. Update all users.
36108
36109 * parttool/pcpart.c: Rename to ...
36110 * parttool/msdospart.c: ... this. Update all users.
36111
36112 * include/grub/pc_partition.h: Rename to ...
36113 * include/grub/msdos_partition.h: ... this. Update all users.
36114 (grub_pc_partition_bsd_entry): Rename to ...
36115 (grub_msdos_partition_bsd_entry): ... this. Update all users.
36116 (grub_pc_partition_disk_label): Rename to ...
36117 (grub_msdos_partition_disk_label): ... this. Update all users.
36118 (grub_pc_partition_entry): Rename to ...
36119 (grub_msdos_partition_entry): ... this. Update all users.
36120 (grub_pc_partition_mbr): Rename to ...
36121 (grub_msdos_partition_mbr): ... this. Update all users.
36122 (grub_pc_partition): Rename to ...
36123 (grub_msdos_partition): ... this. Update all users.
36124 (grub_pc_partition_is_empty): Rename to ...
36125 (grub_msdos_partition_is_empty): ... this. Update all users.
36126 (grub_pc_partition_is_extended): Rename to ...
36127 (grub_msdos_partition_is_extended): ... this. Update all users.
36128 (grub_pc_partition_is_bsd): Rename to ...
36129 (grub_msdos_partition_is_bsd): ... this. Update all users.
36130
36131 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
36132 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
36133 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
36134 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
36135 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
36136 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
36137 (gpt_mod_LDFLAGS): Rename to ...
36138 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
36139 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
36140 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
36141 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
36142 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
36143 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
36144 (part_gpt_mod_LDFLAGS): ... this.
36145 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
36146 `pcpart.mod' to `msdospart.mod'.
36147 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
36148 to ...
36149 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
36150 (msdospart_mod_LDFLAGS): ... this.
36151
c11fded5 361522009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
36153
36154 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
36155 (openbsd_opts): Likewise.
36156 (netbsd_opts): Likewise.
36157 (freebsd_flags): Added 0 terminator.
36158 (openbsd_flags): Likewise.
36159 (netbsd_flags): Likewise.
36160 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
36161 (grub_cmd_freebsd): Transformed into extended command.
36162 (grub_cmd_openbsd): Likewise.
36163 (grub_cmd_netbsd): Likewise.
36164 (cmd_freebsd): Changed type to grub_extcmd_t.
36165 (cmd_openbsd): Likewise.
36166 (cmd_netbsd): Likewise.
36167 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
36168 grub_cmd_openbsd as extended commands.
36169 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
36170 cmd_netbsd and cmd_openbsd
36171
11d1c769 361722009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
36173
36174 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
36175
7a9094e5 361762009-08-21 Pavel Roskin <proski@gnu.org>
36177
5496c37e 36178 * Makefile.in (install-local): When checking if a file is in the
36179 build directory, use "test -e" to detect symlinks.
36180
7a9094e5 36181 * Makefile.in (install-local): Remove all files in
36182 $(DESTDIR)$(pkglibdir) before installing new files there.
36183
e53cea11 361842009-08-18 Felix Zielcke <fzielcke@z-51.de>
36185
36186 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
36187 grub-mkelfimage.
36188
9aced544 361892009-08-18 Felix Zielcke <fzielcke@z-51.de>
36190
36191 * util/grub-mkconfig.in: Don't use gfxterm by default if not
36192 explicitly specified by the user.
36193
b7da6bab 361942009-08-18 Pavel Roskin <proski@gnu.org>
36195
36196 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
36197 grub_uint8_t pointer for data.
36198 * include/grub/fbutil.h (struct grub_video_fbblit_info):
36199 Likewise.
36200 * video/fb/fbutil.c: Remove unnecessary casts.
36201
19f1b335 362022009-08-17 Michal Suchanek <hramrach@centrum.cz>
36203
36204 VBE cleanup.
36205
36206 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
36207 (grub_vbe_set_video_mode): Save active mode info
36208 only after setting the mode.
36209 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
36210 second argument.
36211
2f467aa9 362122009-08-17 Michal Suchanek <hramrach@centrum.cz>
36213
36214 Rename variables for clarity.
36215
36216 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
36217 (active_vbe_mode_info): ... this. All users updated.
36218 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
36219 All users updated.
36220 (initial_mode): Rename to ...
36221 (initial_vbe_mode): ... this. All users updated.
36222 (mode_in_use): Rename to ..
36223 (vbe_mode_in_use): ... this. All users updated.
36224 (mode_list): Rename to ..
36225 (vbe_mode_list): ... this. All users updated.
36226 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
36227 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
36228 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
36229 'mode_list_size' to 'vbe_mode_list_size'.
36230 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
36231 'best_mode_info' to 'best_vbe_mode_info' and
36232 'best_mode' to 'best_vbe_mode'
36233
6025fcd7 362342009-08-17 Michal Suchanek <hramrach@centrum.cz>
36235
36236 Remove duplicate grub_video_fb_get_video_ptr.
36237
36238 * include/grub/fbutil.h (get_data_ptr): Rename to ...
36239 (grub_video_fb_get_video_ptr): ... this.
36240 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
36241 * video/fb/fbutil.c: Add comment about addressing.
36242 (get_data_ptr): Rename to ...
36243 (grub_video_fb_get_video_ptr): ... this. All users updated.
36244 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
36245
cc8c6faf 362462009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36247
36248 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
36249 grub_dprintf() that was just added.
36250
08aa61f0 362512009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36252
36253 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
36254 (DEFAULT_VIDEO_MODE): Remove macros.
36255 (grub_linux_boot): Remove assumption that Linux has FB support,
36256 and use "text" as default video mode.
36257
7cef4f75 362582009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
36259
36260 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
36261 grub_dprintf.
36262 * fs/fat.c (grub_fat_read_data): Likewise.
36263
e1f39873 362642009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36265
36266 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
36267 payload.
36268 (grub_module): Likewise.
36269
c166d79e 362702009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36271
36272 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
36273 mbi->cmdline but free playground.
36274
c60cee8e 362752009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36276
36277 Handle group offset on UFS1.
36278
36279 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
36280 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
36281
c0d8b5d4 362822009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36283
36284 Split ufs.mod into ufs1.mod and ufs2.mod.
36285
36286 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
36287 (grub_fstest_SOURCES): Likewise.
36288 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
36289 (ufs_mod_SOURCES): Remove.
36290 (ufs_mod_CFLAGS): Likewise.
36291 (ufs_mod_LDFLAGS): Likewise.
36292 (ufs1_mod_SOURCES): New variable.
36293 (ufs1_mod_CFLAGS): Likewise.
36294 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 36295 (ufs2_mod_SOURCES): New variable.
36296 (ufs2_mod_CFLAGS): Likewise.
36297 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 36298 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
36299 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36300 Likewise.
36301 (grub_emu_SOURCES): Likewise.
36302 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36303 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36304 (grub_setup_SOURCES): Likewise.
36305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36306 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
36307 (grub_setup_SOURCES): Likewise.
36308 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36309 Likewise.
36310 * fs/ufs2.c: New file.
36311 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
36312
d3539132 363132009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36314
36315 Framebuffer split.
36316
36317 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
36318 subsystem at the end.
36319 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
36320 (video_fb_mod_SOURCES): New variable.
36321 (video_fb_mod_CFLAGS): Likewise.
36322 (video_fb_mod_LDFLAGS): Likewise.
36323 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
36324 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
36325 * video/i386/pc/vbeblit.c: Moved from here ...
36326 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
36327 * video/i386/pc/vbefill.c: Moved from here ...
36328 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
36329 * video/i386/pc/vbeutil.c: Moved from here ...
36330 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
36331 * include/grub/i386/pc/vbeblit.h: Moved from here ...
36332 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
36333 * include/grub/i386/pc/vbefill.h: Moved from here ...
36334 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
36335 * include/grub/i386/pc/vbeutil.h: Moved from here ...
36336 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
36337 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
36338 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
36339 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
36340 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
36341 (grub_video_adapter): Added 'get_info_and_fini'.
36342 (grub_video_get_info_and_fini): New prototype.
36343 (grub_video_set_mode): make modestring const char *.
36344 * loader/i386/linux.c (grub_linux_setup_video): Use
36345 grub_video_get_info_and_fini.
36346 (grub_linux_boot): Move modesetting just before booting.
36347 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
36348 grub_video_get_info_and_fini.
36349 * video/i386/pc/vbe.c: Moved framebuffer part ...
36350 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
36351 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
36352 grub_video_fbstd_colors and grub_video_fb_set_palette.
36353 (grub_video_vbe_init): Clear 'framebuffer' variable and use
36354 grub_video_fb_init.
36355 (grub_video_vbe_fini): Use grub_video_fb_fini.
36356 (grub_video_vbe_setup): Use framebuffer.render_target instead of
36357 render_target and use grub_video_fb_set_active_render_target and
36358 grub_video_fb_set_palette.
36359 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
36360 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
36361 (grub_video_vbe_adapter): Use framebuffer.
36362 * video/video.c (grub_video_get_info_and_fini): New function.
36363 (grub_video_set_mode): Make modestring const char *.
36364 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
36365 values are already initialised.
36366
d404ee56 363672009-08-14 Pavel Roskin <proski@gnu.org>
36368
36369 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
36370 ABS and APPLE_CC.
36371 * boot/i386/pc/diskboot.S: Likewise.
36372 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
36373 sectors allow compilation on MacOSX.
36374 * conf/i386-pc.rmk: Enable unconditional compilation of
36375 lnxboot.img.
36376
9a10df16 363772009-08-13 Colin Watson <cjwatson@ubuntu.com>
36378
36379 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
36380 * util/grub.d/00_header.in: Enter interruptible sleep if
36381 GRUB_HIDDEN_TIMEOUT is set.
36382
be3c9ca7 363832009-08-13 Yves Blusseau <blusseau@zetam.org>
36384
36385 * include/grub/symbol.h: Add the LOCAL macro.
36386 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
36387 starting with "L_".
36388
1f9e557e 363892009-08-13 Pavel Roskin <proski@gnu.org>
36390
9ca62843 36391 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
36392 any modern compilers we support.
36393
1f9e557e 36394 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
36395 Use local labels starting with "L_" so that Apple assembler
36396 knows they are local.
36397
81623db6 363982009-08-10 Robert Millan <rmh.grub@aybabtu.com>
36399
36400 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
36401 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
36402 (bsd_kernel_types): ... this enum.
36403
36404 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
36405 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
36406 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
36407
36408 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
36409 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
36410 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
36411 messages.
36412
f5d35e7a 364132009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36414
36415 * util/grub-dumpdevtree: Moved from here ...
36416 * util/i386/efi/grub-dumpdevtree: ... to here.
36417 (hexify): New function. Converts a string to its hex version.
36418 Generate hex versions of "efi" and "device-properties" by calling
36419 hexify() on the ASCII strings rather than by hardcoding numbers.
36420
d1e1d527 364212009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36422
36423 * fs/jfs.c: Update copyright year.
36424
1ebbe064 364252009-08-08 Felix Zielcke <fzielcke@z-51.de>
36426
36427 * util/grub.d/00_header.in: Fix a comment.
36428 * util/grub.d/10_linux.in: Likewise.
36429 * util/grub.d/10_windows.in: Likewise.
36430 * util/grub.d/10_hurd.in: Likewise.
36431
a78c8d24 364322009-08-08 Felix Zielcke <fzielcke@z-51.de>
36433
36434 * util/grub-mkconfig.in: Allow the user to specify the used font
36435 with GRUB_FONT.
36436
29a6b9e8 364372009-08-08 Pavel Roskin <proski@gnu.org>
36438
b5f16cc4 36439 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
36440 available, xfs.mod needs it now.
36441
2f5cb827 36442 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
36443 the "g" modifier in sed when the intention is to strip something
36444 once. This fixes comparison of kernels with multiple dashes.
36445
29a6b9e8 36446 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
36447 on it. Add missing space before closing bracket. Fix
36448 misleading formatting.
36449
892a3d98 364502009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36451
36452 * docs/grub.texi: Major overhaul. Remove all sections that are
36453 specific to GRUB Legacy, or mostly composed of Legacy-specific
36454 information.
36455
ed94253f 364562009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36457
36458 * docs/version.texi: New file. Provides version information for
36459 grub.texi.
36460
126d6628 364612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36462
36463 * docs/grub.texi: Update CVS information to SVN.
36464 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
36465
998b5aa9 364662009-08-07 Felix Zielcke <fzielcke@z-51.de>
36467
36468 * util/grub-mkconfig.in: Remove a wrong `fi'.
36469
818e094a 364702009-08-07 Felix Zielcke <fzielcke@z-51.de>
36471
36472 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
36473 (grub_jfs_uuid): New function.
36474 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
36475
b969c52f 364762009-08-07 Felix Zielcke <fzielcke@z-51.de>
36477
36478 * util/grub-mkconfig_lib.in (font_path): Move the functionality
36479 of it to ...
36480 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
36481 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
36482
7a4894cc 364832009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36484
36485 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
36486 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
36487 Update all users.
36488
36489 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
36490 not just "vmlinu[zx]".
36491 Moved from here ...
36492 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
36493 all users.
36494
36495 * util/grub.d/10_linux.in (find_latest): Moved from here ...
36496 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
36497 all users.
36498
4e2171f8 364992009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36500
36501 * util/grub.d/10_freebsd.in: Use an absolute device path for
36502 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
36503
6dcfcb32 365042009-08-06 Felix Zielcke <fzielcke@z-51.de>
36505
36506 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
36507 handling of multiple abstraction modules.
36508
f56a8756 365092009-08-04 Robert Millan <rmh.grub@aybabtu.com>
36510
36511 Fix a bug resulting in black screen when loading Linux using a
36512 packed video mode.
36513
36514 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
36515 function.
36516
36517 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
36518 (grub_vbe_bios_getset_dac_palette_width): New function.
36519 (grub_vbe_bios_get_dac_palette_width)
36520 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
36521 grub_vbe_bios_getset_dac_palette_width()).
36522
36523 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
36524 check for return status.
36525 (grub_vbe_get_video_mode_info): When getting information for a packed
36526 mode (<= 8 bpp), obtain DAC palette width using
36527 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
36528 {red,green,blue}_mark_size.
36529
222671b2 365302009-08-04 Felix Zielcke <fzielcke@z-51.de>
36531
ecb1a6d9 36532 * commands/search.c (options): Fix help output to match actual code.
222671b2 36533
f84114f5 365342009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
36535
36536 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
36537 of homegrown code.
36538
bd288a20 365392009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 36540
36541 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
36542 on XFS or ReiserFS.
36543
8aab5e25 365442009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36545
36546 Support Apple partition map with sector size different from 512 bytes.
36547
36548 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
36549 (apple_partition_map_iterate): Respect 'aheader.blocksize'
36550 and 'apart.partmap_size'.
36551
6ad6258a 365522009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
365532009-08-01 Robert Millan <rmh.grub@aybabtu.com>
36554
36555 Fix cpuid command.
36556
36557 * commands/i386/cpuid.c (options): New variable.
36558 (grub_cmd_cpuid): Return real error.
36559 (GRUB_MOD_INIT(cpuid)): Declare options.
36560
67459bc6 365612009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
36562
36563 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
36564 valid.
36565
fbc6ab54 365662009-07-31 Bean <bean123ch@gmail.com>
36567
36568 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
36569 log2_inode.
36570 (grub_fshelp_node): Move inode field to the end.
36571 (grub_xfs_data): Remove inode field.
36572 (grub_xfs_inode_block): Calculate inode size using sblock.
36573 (grub_xfs_inode_offset): Likewise.
36574 (grub_xfs_read_inode): Calculate inode size using sblock.
36575 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
36576 (grub_xfs_iterate_dir): Calculate inode size using sblock.
36577 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
36578 to match inode size.
36579 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
36580 not accessible when data is null.
36581 (grub_xfs_open): Likewise.
36582
f45d6cfc 365832009-07-31 Bean <bean123ch@gmail.com>
36584
36585 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
36586 Don't change pv->disk if it's already set.
36587
36588 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
36589 (grub_raid_register): ... here.
36590 (grub_raid_rescan): Removed.
36591
36592 * include/grub/raid.h (grub_raid_rescan): Removed.
36593
36594 * util/grub-fstest.c: Remove include file <grub/raid.h>.
36595 (fstest): Replace grub_raid_rescan with module fini function followed
36596 by init function.
36597
36598 * util/grub-probe.c: Add include file <grub/raid.h>.
36599 (probe_raid_level): New function.
36600 (probe): Detect abstraction by walking the disk device, support two
36601 level of abstraction (LVM on RAID) when detecting partition map.
36602
24443b5a 366032009-07-31 Pavel Roskin <proski@gnu.org>
36604
36605 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
36606 to grub_zalloc(), it was erroneous.
36607 Reported by Bean <bean123ch@gmail.com>
36608
a275d9e7 366092009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
36610
36611 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 36612 embedding zone, not only the first one.
a275d9e7 36613
56c5a47f 366142009-07-29 Joe Auricchio <jauricchio@gmail.com>
36615
36616 * term/gfxterm.c (clear_char): New function.
36617 (grub_virtual_screen_setup): Use clear_char.
36618 (scroll_up): Likewise.
36619 (grub_virtual_screen_cls): Likewise.
36620
67bb323a 366212009-07-29 Felix Zielcke <fzielcke@z-51.de>
36622
36623 * util/deviceiter.c (get_acceleraid_disk_name): New static
36624 function.
36625 (grub_util_iterate_devices): Handle Accelraid devices.
36626 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
36627
388a7c75 366282009-07-28 Robert Millan <rmh.grub@aybabtu.com>
36629
36630 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
36631 separator for the suggested gfxpayload string (';' collides with the
36632 parser and needs escaping).
36633
3bb7abcf 366342009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
36635
36636 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
36637 Clear direction flag before jumping to OS.
36638 (grub_multiboot2_real_boot): Likewise.
36639
2ddd36d7 366402009-07-28 Felix Zielcke <fzielcke@z-51.de>
36641
36642 * util/i386/pc/grub-install: Fix parsing of --disk-module
36643 option.
36644
c521b62b 366452009-07-28 Felix Zielcke <fzielcke@z-51.de>
36646
36647 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
36648 when embedding.
36649
880e0a0c 366502009-07-26 Felix Zielcke <fzielcke@z-51.de>
36651
36652 * util/grub-mkconfig.in (package_version): New variable.
36653 Use it do display the version.
36654
2366e356 366552009-07-25 Felix Zielcke <fzielcke@z-51.de>
36656
36657 * kern/file.c (grub_file_open): Revert to previous check with
36658 grub_errno.
36659
7ad8c80e 366602009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36661
36662 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
36663 from help line. It's out of sync with code.
36664
72b9658b 366652009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36666
36667 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
36668 entries on failed boot.
36669
77435277 366702009-07-25 Felix Zielcke <fzielcke@z-51.de>
36671
36672 * kern/file.c (grub_file_open): Fix an error check.
36673
fcaa8b21 366742009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
36675
35d16c74 36676 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
36677 partition map couldn't be identified.
fcaa8b21 36678
48904cd1 366792009-07-23 Pavel Roskin <proski@gnu.org>
36680
ef3c317f 36681 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
36682 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
36683 case of little endian words becomes just an optimization.
36684 Respect const modifier.
ad8ea1f4 36685 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 36686
48904cd1 36687 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
36688 to avoid loss of upper bits if align is unsigned and shorter
36689 than addr.
36690
260c9a89 366912009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36692
36693 UUID support for UFS
36694
36695 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
36696 (grub_ufs_uuid): New function.
36697 (grub_ufs_fs): add .uuid
36698
f76ce889 366992009-07-21 Pavel Roskin <proski@gnu.org>
36700
36701 * kern/dl.c (grub_dl_check_header): Make static.
36702
6a6cbcaf 367032009-07-21 Felix Zielcke <fzielcke@z-51.de>
36704
36705 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
36706 add drivemap for Vista. It breaks Windows 7.
36707
cffcddb2 367082009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36709
36710 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
36711 128 bytes
36712
1ef44b80 367132009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36714
36715 Add BFS support
36716
36717 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
36718 (grub_fstest_SOURCES): Likewise.
36719 (pkglib_MODULES): Add befs.mod.
36720 (befs_mod_SOURCES): New variable.
36721 (befs_mod_CFLAGS): Likewise.
36722 (befs_mod_LDFLAGS): Likewise.
36723 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36724 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36725 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36726 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36727 (grub_setup_SOURCES): Likewise.
36728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36729 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36730 (grub_setup_SOURCES): Likewise.
36731 * fs/befs.c: New file.
36732 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
36733 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
36734 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
36735 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
36736 (B_KEY_INDEX_ALIGN): New declaration.
36737 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
36738 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
36739 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
36740 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
36741 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
36742 (grub_afs_mount) [MODE_BFS]: Likewise.
36743 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
36744 (grub_afs_fs): Use GRUB_AFS_FSNAME
36745 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
36746 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
36747 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
36748 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
36749
4f253044 367502009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
36751
36752 * util/getroot.c (find_root_device): Add support for MacOSX.
36753 * util/hostdisk.c: Likewise.
36754
57a55913 367552009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36756
36757 * font/font.c (find_glyph): Check whether a font is present to avoid
36758 segmentation fault.
75421ca9 36759
367602009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 36761
36762 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
36763
e98cd0c2 367642009-07-20 Pavel Roskin <proski@gnu.org>
36765
36766 * configure.ac: Trim excessively wordy excuses.
36767
1d2d169a 367682009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36769
36770 Add symlink, mtime and label support to AtheFS.
36771
36772 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
36773 (grub_afs_iterate_dir): Handle symlinks.
36774 (grub_afs_open): Use grub_afs_read_symlink.
36775 (grub_afs_dir): Likewise.
36776 Pass mtime.
36777 (grub_afs_label): New function.
36778 (grub_afs_fs): Add grub_afs_label.
36779 (grub_afs_read_symlink): New function.
36780
186f3189 367812009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36782
36783 Fix AtheFS support.
36784
36785 * fs/afs.c: Fix comments style.
36786 (grub_afs_blockrun): Declare as packed.
36787 (grub_afs_datastream): Likewise.
36788 (grub_afs_bnode): Likewise.
36789 (grub_afs_btree): Likewise.
36790 (grub_afs_sblock): Likewise.
36791 Declare `name' as char.
36792 (grub_afs_inode): Declare as packed.
36793 Change void *vnode to grub_uint32_t unused.
36794 (grub_afs_iterate_dir): Check that key_size is positive.
36795 (grub_afs_mount): Don't read superblock twice.
75421ca9 36796 (grub_afs_dir): Don't free node in case of error,
186f3189 36797 grub_fshelp_find_file already handles this.
36798 (grub_afs_open): Likewise.
36799
5680109e 368002009-07-19 Pavel Roskin <proski@gnu.org>
36801
36802 * Makefile.in: Remove LIBLZO and enable_lzo.
36803 * conf/i386-pc.rmk: Remove lzo support.
36804 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
36805 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
36806 support.
36807 * kern/i386/pc/lzo1x.S: Remove.
36808 * kern/i386/pc/startup.S: Remove lzo support.
36809 * util/i386/pc/grub-mkimage.c: Likewise.
36810
ac70fa32 368112009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
36812
36813 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
36814 * fs/xfs.c (grub_xfs_dir): Likewise.
36815 * fs/afs.c (grub_afs_dir): Likewise.
36816 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
36817 (grub_iso9660_open): Likewise.
36818 * fs/jfs.c (grub_jfs_open): Likewise.
36819 * fs/ext2.c (grub_ext2_dir): Likewise.
36820 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
36821 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 36822
eab58da2 368232009-07-16 Pavel Roskin <proski@gnu.org>
36824
d2838156 36825 * configure.ac: Never add "-c" to CFLAGS.
36826
55c70904 36827 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
36828
43e6200c 36829 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
36830 grub_cv_cc_efiemu should be used.
36831
ce7a733d 36832 * configure.ac: Typo fixes.
36833
eab58da2 36834 * kern/mm.c (grub_zalloc): New function.
36835 (grub_debug_zalloc): Likewise.
36836 * include/grub/mm.h: Declare grub_zalloc() and
36837 grub_debug_zalloc().
36838 * util/misc.c (grub_zalloc): New function.
36839 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
36840 instead of grub_malloc(), remove unneeded initializations.
36841 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
36842 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
36843 * commands/parttool.c (grub_cmd_parttool): Likewise.
36844 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
36845 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
36846 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
36847 * disk/usbms.c (grub_usbms_finddevs): Likewise.
36848 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
36849 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
36850 (grub_cmd_efiemu_pnvram): Likewise.
36851 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
36852 * fs/iso9660.c (grub_iso9660_mount): Likewise.
36853 (grub_iso9660_iterate_dir): Likewise.
36854 * fs/jfs.c (grub_jfs_opendir): Likewise.
36855 * fs/ntfs.c (list_file): Likewise.
36856 (grub_ntfs_mount): Likewise.
36857 * kern/disk.c (grub_disk_open): Likewise.
36858 * kern/dl.c (grub_dl_load_core): Likewise.
36859 * kern/elf.c (grub_elf_file): Likewise.
36860 * kern/env.c (grub_env_context_open): Likewise.
36861 (grub_env_set): Likewise.
36862 (grub_env_set_data_slot): Likewise.
36863 * kern/file.c (grub_file_open): Likewise.
36864 * kern/fs.c (grub_fs_blocklist_open): Likewise.
36865 * loader/i386/multiboot.c (grub_module): Likewise.
36866 * loader/xnu.c (grub_xnu_create_key): Likewise.
36867 (grub_xnu_create_value): Likewise.
36868 * normal/main.c (grub_normal_add_menu_entry): Likewise.
36869 (read_config_file): Likewise.
36870 * normal/menu_entry.c (make_screen): Likewise.
36871 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36872 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
36873 * script/sh/script.c (grub_script_parse): Likewise.
36874 * video/bitmap.c (grub_video_bitmap_create): Likewise.
36875 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
36876 * video/readers/png.c (grub_png_output_byte): Likewise.
36877 (grub_video_reader_png): Likewise.
36878
830afef7 368792009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 36880
36881 Enable all targets that can be built by default
36882
830afef7 36883 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 36884 grub-mkfont and grub-fstest if they can be built
36885
ee293aee 368862009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36887
36888 Fix hang and segmentation fault in grub-emu-usb
36889
36890 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
36891 * util/usb.c (grub_libusb_devices): likewise
36892 (grub_libusb_init): rename to ...
36893 (GRUB_MOD_INIT (libusb)):...this
36894 (grub_libusb_fini): rename to ..
36895 (GRUB_MOD_FINI (libusb)):...this
36896 * disk/usbms.c (grub_usbms_transfer): fix retry logic
36897 * include/grub/disk.h (grub_raid_init): removed, it's useless
36898 (grub_raid_fini): likewise
36899 (grub_lvm_init): likewise
36900 (grub_lvm_fini): likewise
36901 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
36902 by grub_init_all
36903
94414221 369042009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36905
36906 Fix libusb
36907
36908 * Makefile.in (LIBUSB): new macro
36909 * genmk.rb (Utility/print_tail): new method
36910 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
36911 (top level): call util.print_tail at the end.
36912
59ade63d 369132009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36914
36915 Make FreeBSD accept zpool.cache
36916
36917 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
36918 type is /boot/zfs/zpool.cache
36919
a58da8c7 369202009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36921
36922 Fix 64-bit efiemu
36923
36924 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
36925 correct wrong typedef
36926 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
36927
20591577 369282009-07-15 Pavel Roskin <proski@gnu.org>
36929
560ca572 36930 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
36931 * kern/disk.c (struct grub_disk_cache): Likewise.
36932
e8e8e4fd 36933 * commands/probe.c (options): Typo fix.
36934
fde24e10 36935 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
36936 Increase to 0x5a to accommodate FAT32. Adjust other offsets
36937 accordingly.
36938 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
36939
379c54c1 36940 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
36941 the end of "Error" to make the message more readable.
36942
7bd8f5bf 36943 * boot/i386/pc/boot.S (kernel_segment): Remove.
36944 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
36945 for destination.
36946
40b132c5 36947 * boot/i386/pc/boot.S (boot_version): Remove.
36948 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
36949 Remove.
36950
20591577 36951 * include/grub/i386/pc/boot.h: Sort all offsets.
36952 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
36953 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
36954 * boot/i386/pc/boot.S: Assert location of every offset listed in
36955 include/grub/i386/pc/boot.h.
36956
2df32b2c 369572009-07-13 Pavel Roskin <proski@gnu.org>
36958
44b5d879 36959 * include/grub/i386/coreboot/machine.h: Rename
36960 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
36961 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
36962 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
36963
17dc3751 36964 * kern/dl.c: Force native word size to suppress warnings when
36965 compiling grub-emu.
36966
2df32b2c 36967 * kern/device.c (grub_device_iterate): Change struct part_ent to
36968 hold the name, not a pointer to it. Use one grub_malloc() per
36969 partition, not two. Free partition_name if grub_malloc() fails.
36970 Set ents to NULL only before grub_partition_iterate() is called.
36971
75c59f59 369722009-07-11 Bean <bean123ch@gmail.com>
36973
36974 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
36975 childname.
36976
0ae1bf88 369772009-07-10 Bean <bean123ch@gmail.com>
369782009-07-10 Robert Millan <rmh.grub@aybabtu.com>
36979
36980 * kern/ieee1275/openfw.c (grub_children_iterate)
36981 (grub_devalias_iterate): Fix size evaluation for property or path
36982 strings, which was broken since r2132.
36983
8279cade 369842009-07-07 Pavel Roskin <proski@gnu.org>
36985
7d8a52d3 36986 * commands/search.c (search_file): Merge into ...
36987 (search_fs): ... this. Accept search type as argument.
36988 (grub_cmd_search): Pass search type to search_fs().
36989
25f9a05a 36990 * include/grub/util/console.h: New file.
36991 * util/console.c: Use it instead of grub/machine/console.h.
36992 * util/grub-emu.c: Likewise.
36993
8279cade 36994 * lib/arg.c (find_long_option): Remove.
36995 (find_long): Add `len' argument, make `s' const char *.
36996 (grub_arg_parse): Parse long options in place, not in a
36997 temporary buffer.
36998
4a11b60f 369992009-07-06 Pavel Roskin <proski@gnu.org>
37000
99f68041 37001 * commands/search.c (search_fs): Fix potential NULL pointer
37002 dereference.
37003
4a11b60f 37004 * commands/search.c (search_fs): Replace QUID macro with quid_fn
37005 function pointer.
37006
e110f4de 370072009-07-06 Daniel Mierswa <impulze@impulze.org>
37008
37009 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
37010 comparison.
37011
46eeb6a2 370122009-07-05 Pavel Roskin <proski@gnu.org>
37013
bab74958 37014 * include/grub/i386/linux.h (struct linux_kernel_params):
37015 Restore padding3, it's still needed.
37016
46eeb6a2 37017 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
37018 FreeBSD.
37019 * util/osdetect.lua: Likewise.
37020
b4a1dc79 370212009-07-05 Bean <bean123ch@gmail.com>
37022
37023 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
37024
37025 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
37026 (grub_lua_getenv): Likewise.
37027 (grub_lua_setenv): Likewise.
37028 (save_errno): New function.
37029 (push_result): Likewise.
37030 (grub_lua_enum_device): Likewise.
37031 (grub_lua_enum_file): Likewise.
37032 (grub_lua_file_open): Likewise.
37033 (grub_lua_file_close): Likewise.
37034 (grub_lua_file_seek): Likewise.
37035 (grub_lua_file_read): Likewise.
37036 (grub_lua_file_getline): Likewise.
37037 (grub_lua_file_getsize): Likewise.
37038 (grub_lua_file_getpos): Likewise.
37039 (grub_lua_file_eof): Likewise.
37040 (grub_lua_file_exist): Likewise.
37041 (grub_lua_add_menu): Likewise.
37042
37043 * script/lua/grub_lua.h (isupper): New inline function.
37044 (islower): Likewise.
37045 (ispunct): Likewise.
37046 (isxdigit): Likewise.
37047 (strcspn): Change to normal function.
37048 (strpbkr): New function declaration.
37049 (memchr): Likewise.
37050
37051 * script/lua/grub_main.c (scan_str): New function.
37052 (strcspn): Likewise.
37053 (strpbrk): Likewise.
37054 (memchr): Likewise.
37055
37056 * script/lua/linit.c (lualibs): Enable the string library.
37057
37058 * util/osdetect.lua: New file.
37059
2da92295 370602009-07-04 Robert Millan <rmh.grub@aybabtu.com>
37061
37062 * include/grub/i386/linux.h (struct linux_kernel_params): Add
37063 `capabilities' member.
37064
b2582ec9 370652009-07-02 Pavel Roskin <proski@gnu.org>
37066
37067 * genparttoollist.sh: Add missing newline at the end.
37068
32622956 370692009-07-01 Pavel Roskin <proski@gnu.org>
37070
87a7339e 37071 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
37072
d23af54e 37073 * util/hostdisk.c (open_device): Remove `const' from
37074 `sysctl_size', as sysctlbyname() can change it (in this case it
37075 doesn't actually happen).
37076
c94b18a9 37077 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
37078 using signed long int constants.
37079
c6cd3ef0 37080 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
37081 constant to avoid a warning on FreeBSD.
37082
0df63420 37083 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
37084 where it's needed.
37085
999577f1 37086 * Makefile.in: Install include/grub/machine symlink.
37087
6f41557f 37088 * Makefile.in: When installing symlinks, use "cp -fR", which
37089 works on FreeBSD and MacOSX.
37090 From Yves Blusseau <cl7m42e02@sneakemail.com>
37091
c8d22988 37092 * kern/dl.c (grub_dl_resolve_symbol): Make static.
37093 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
37094
1b96e952 37095 * util/misc.c: Move grub_reboot() and grub_halt() ...
37096 * util/grub-emu.c: ... here. Make main_env static.
37097 * include/grub/util/misc.h: Remove main_env.
37098
2ef0084d 37099 * kern/mm.c: Use correct format to print size_t.
37100
32622956 37101 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
37102 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
37103 * kern/powerpc/dl.c: Likewise.
37104 * kern/sparc64/dl.c: Likewise.
37105 * kern/x86_64/dl.c: Likewise.
37106
3f7f0cd0 371072009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37108
37109 Fix grub-emu build on sparc64-ieee1275.
37110
75421ca9 37111 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 37112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
37113
211d06b5 371142009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37115
37116 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
37117 (grub_reboot, grub_halt): New functions.
37118
37119 * util/i386/pc/misc.c: Delete. Update all users.
37120 * util/sparc64/ieee1275/misc.c: Likewise.
37121 * util/powerpc/ieee1275/misc.c: Likewise.
37122
aaf53e3c 371232009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37124
37125 * conf/i386.rmk (setjmp_mod_SOURCES)
37126 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
37127 * conf/common.rmk (setjmp_mod_SOURCES)
37128 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
37129 to use $(target_cpu).
37130 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
37131 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
37132 * conf/powerpc-ieee1275.rmk: Likewise.
37133 * conf/sparc64-ieee1275.rmk: Likewise.
37134
37135 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
37136 $(target_cpu) for kern/$(target_cpu)/dl.c.
37137 * conf/i386-efi.rmk: Likewise.
37138 * conf/i386-ieee1275.rmk: Likewise.
37139 * conf/x86_64-efi.rmk: Likewise.
37140 * conf/i386-coreboot.rmk: Likewise.
37141 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
37142 $(target_cpu) for kern/$(target_cpu)/dl.c and for
37143 kern/$(target_cpu)/cache.S.
37144 * conf/sparc64-ieee1275.rmk: Likewise.
37145
a337130b 371462009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37147
37148 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
37149 type to `grub_uint8_t', and adjust `padding9' accordingly.
37150
c6fe4d53 371512009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37152
b09db61d 37153 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
37154
c6fe4d53 37155 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
37156 assembly in final jump, using register constraints.
37157
b09db61d 37158 (grub_linux_boot): For text mode, initialize `have_vga' using
37159 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
37160
37161 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
37162 right before the final jump.
37163
37164 Set `video_mode' to 0x3.
37165
37166 Document initialization of `video_page', `video_mode' and
37167 `video_ega_bx'.
37168
28333ad0 371692009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37170
37171 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
37172 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 37173 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 37174
02164e1b 371752009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37176
37177 Fix build on Debian / sparc.
37178
37179 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
37180
18b6c557 371812009-06-28 Pavel Roskin <proski@gnu.org>
37182
85f2aab6 37183 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
37184 fix a warning.
37185
18b6c557 37186 * util/grub.d/10_linux.in: Match SUSE style initrd names.
37187
ad760f81 371882009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37189
37190 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
37191 `err'.
37192
87a4623b 371932009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37194
37195 Revert r2338.
37196
37197 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
37198 file can't be opened. grub_file_open() is already supposed to set
75421ca9 37199 grub_errno / grub_errmsg appropriately.
87a4623b 37200 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37201
8231fb77 372022009-06-27 Pavel Roskin <proski@gnu.org>
372032009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37204
37205 * include/grub/dl.h: Include grub/elf.h.
37206 (struct grub_dl): Add symtab field.
37207 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
37208 GRUB_MODULES_MACHINE_READONLY.
37209 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
37210 of the header for read-only modules.
37211 (grub_dl_unload): Free mod->symtab for read-only modules.
37212 * kern/i386/dl.c: Use mod->symtab.
37213 * kern/powerpc/dl.c: Likewise.
37214 * kern/sparc64/dl.c: Likewise.
37215 * kern/x86_64/dl.c: Likewise.
37216
37217 * conf/i386-qemu.rmk: New file.
37218 * kern/i386/qemu/startup.S: Likewise.
37219 * kern/i386/qemu/mmap.c: Likewise.
37220 * boot/i386/qemu/boot.S: Likewise.
37221 * include/grub/i386/qemu/time.h: Likewise.
37222 * include/grub/i386/qemu/serial.h: Likewise.
37223 * include/grub/i386/qemu/kernel.h: Likewise.
37224 * include/grub/i386/qemu/console.h: Likewise.
37225 * include/grub/i386/qemu/boot.h: Likewise.
37226 * include/grub/i386/qemu/init.h: Likewise.
37227 * include/grub/i386/qemu/machine.h: Likewise.
37228 * include/grub/i386/qemu/loader.h: Likewise.
37229 * include/grub/i386/qemu/memory.h: Likewise.
37230
37231 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
37232 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
37233 [qemu] (pkglib_IMAGES): Add `boot.img'.
37234 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
37235 [qemu] (boot_img_FORMAT): New variables.
37236 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
37237 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
37238 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
37239 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
37240 [qemu] (kernel_img_FORMAT): New variables.
37241
37242 * configure.ac: Recognise `i386-qemu'.
37243
37244 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
37245 (for no compression).
37246 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
37247 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
37248 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
37249 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
37250 ifdefs).
37251
97fe384e 372522009-06-27 Pavel Roskin <proski@gnu.org>
37253
37254 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
37255 read.
37256 * efiemu/prepare32.c: Likewise.
37257 * efiemu/prepare64.c: Likewise.
37258
c402ab17 372592009-06-26 Pavel Roskin <proski@gnu.org>
37260
37261 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
37262 * include/grub/elf.h: Define symbols without "32" or "64" based
37263 on GRUB_TARGET_WORDSIZE.
37264 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
37265 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
37266 ELF definitions.
37267 * efiemu/loadcore64.c: Likewise.
37268 * loader/i386/bsd32.c: Likewise.
37269 * loader/i386/bsd64.c: Likewise.
37270 * kern/dl.c: Remove own ELF definitions.
37271 * util/i386/efi/grub-mkimage.c: Likewise.
37272
9bbdfd4d 372732009-06-23 Robert Millan <rmh.grub@aybabtu.com>
37274
37275 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
37276 segment 0x0 unconditionally, because the reference generated by
37277 GAS is an absolute address.
37278
a42ce6e9 372792009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37280
37281 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
37282 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
37283
c952cf92 372842009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37285
37286 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
37287 indexes. Check for -f explicitly.
cc3752ad 37288 (search_file): Improve error message.
37289 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 37290
132a0a59 372912009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37292
37293 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
37294 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
37295
387a140c 372962009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37297
37298 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
37299 * conf/i386-ieee1275.rmk: Likewise.
37300 * conf/i386-coreboot.rmk: Likewise.
37301
37302 * kern/i386/pc/startup.S (grub_stop): Remove function.
37303 * kern/i386/ieee1275/startup.S: Likewise.
37304 * kern/i386/coreboot/startup.S: Likewise.
37305 * kern/i386/misc.S (grub_stop): New function.
37306
41da9665 373072009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37308
37309 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
37310 * kern/i386/realmode.S (real_to_prot): ... to here.
37311
bf337234 373122009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37313
37314 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
37315 with `kernel.img'.
37316 (kernel_elf_SOURCES): Rename to ...
37317 (kernel_img_SOURCES): ... this.
37318 (kernel_elf_HEADERS): Rename to ...
37319 (kernel_img_HEADERS): ... this. Update all users.
37320 (kernel_elf_ASFLAGS): Rename to ...
37321 (kernel_img_ASFLAGS): ... this.
37322 (kernel_elf_CFLAGS): Rename to ...
37323 (kernel_img_CFLAGS): ... this.
37324 (kernel_elf_LDFLAGS): Rename to ...
37325 (kernel_img_LDFLAGS): ... this.
37326 * conf/i386-coreboot.rmk: Likewise.
37327 * conf/powerpc-ieee1275.rmk: Likewise.
37328
37329 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
37330 with "kernel.img".
37331
f52196ff 373322009-06-21 Pavel Roskin <proski@gnu.org>
37333
c3cee413 37334 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
37335 to match nested functions.
37336 * loader/sparc64/ieee1275/linux.c: Likewise.
37337
f52196ff 37338 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
37339
58750afc 373402009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37341
37342 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
37343 all i386 platforms.
37344
15355c7d 373452009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37346
37347 Fix asm file handling on ELF, and remove workarounds.
37348
37349 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 37350 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 37351 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
37352 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
37353
3f3ec72b 373542009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
37355
37356 Load BSD ELF modules
37357
37358 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
37359 and loader/i386/bsd64.c
37360 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
37361 (FREEBSD_MODTYPE_ELF_MODULE): New definition
37362 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
37363 (grub_freebsd_load_elfmodule32): New declaration
37364 (grub_freebsd_load_elfmoduleobj64): Likewise
37365 (grub_freebsd_load_elf_meta32): Likewise
37366 (grub_freebsd_load_elf_meta64): Likewise
37367 (grub_freebsd_add_meta): Likewise
37368 (grub_freebsd_add_meta_module): Likewise
37369 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
37370 (grub_freebsd_add_meta_module): Likewise and move module-specific
37371 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
37372 (grub_cmd_freebsd): Add elf-kernel specific parts
37373 based on grub_freebsd_add_meta_module
37374 (grub_cmd_freebsd_module): Add type parsing moved from
37375 grub_freebsd_add_meta_module
37376 (grub_cmd_freebsd_module_elf): New function
37377 (cmd_freebsd_module_elf): New variable
37378 (GRUB_MOD_INIT): Register freebsd_module_elf
37379 * loader/i386/bsd32.c: New file
37380 * loader/i386/bsd64.c: Likewise
37381 * loader/i386/bsdXX.c: Likewise
37382 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
37383 (grub_elf64_load): Likewise
37384 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
37385 All users updated
37386 (grub_elf64_load_hook_t): Likewise
37387
0db15301 373882009-06-21 Colin Watson <cjwatson@ubuntu.com>
37389
37390 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
37391 variable.
37392 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
37393 don't write a menu entry for recovery mode.
37394
546796c1 373952009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37396
37397 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
37398 after it's no longer needed.
37399
cd7310d5 374002009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37401
37402 * include/grub/i386/loader.h (grub_linux_prot_size)
37403 (grub_linux_tmp_addr, grub_linux_real_addr)
37404 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
37405 GRUB_MACHINE_PCBIOS.
37406 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
37407 common grub_util_info() call to ...
37408 (generate_image): ... here.
37409 Fix use of uninitialized memory, comparison of signed with
37410 unsigned integers and memory leak.
37411 Remove bogus module address message.
37412
ab32d3b5 374132009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
37414
37415 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
37416 grub_raid_register
37417 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
37418
024ef597 374192009-06-19 Pavel Roskin <proski@gnu.org>
37420
37421 * configure.ac: Remove stray AC_MSG_CHECKING.
37422
3ac72b51 374232009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
37424
37425 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 37426
e14cd814 374272009-06-18 Pavel Roskin <proski@gnu.org>
37428
37429 * conf/common.rmk: Add fs_file.mod.
37430 * disk/fs_file.c: New file.
37431 * include/grub/disk.h (enum grub_disk_dev_id): Add
37432 GRUB_DISK_DEVICE_FILE_ID.
37433
26586d98 374342009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37435
37436 Fix build with Apple's toolchain. Part 2
37437
37438 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
37439 a fake start
37440
26de2bcd 374412009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37442
37443 Fix build with Apple's toolchain. Part 1
37444
37445 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
37446 for long calls
37447 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 37448 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 37449 Apple's toolchain
37450
09b3490b 374512009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37452
37453 Fix warnings
37454
37455 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
37456 (decomp_block): initialize ch
37457 use grub_memcpy instead of memcpy
37458
c22a006a 374592009-06-17 Pavel Roskin <proski@gnu.org>
37460
d3638678 37461 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
37462 version, use declarations needed to use vga_text as the startup
37463 console.
37464
c22a006a 37465 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
37466 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
37467 the kernel.
37468 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
37469 and grub_at_keyboard_fini(), it's done on module load and
37470 unload.
37471
05b129e0 374722009-06-17 Felix Zielcke <fzielcke@z-51.de>
37473
37474 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
37475 file can't be found.
37476 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37477
cf24ed9e 374782009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37479
37480 Fix newline handling
37481
37482 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 37483 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 37484 (grub_script_yylex): don't segfault on unterminated script
37485 newline terminates command and variable
37486
74aa8e4b 374872009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37488
37489 avoid double grub_adjust_range call. Bug reported by David Simner
37490
37491 * kern/disk.c (grub_disk_write): change to raw disk access before
37492 calling disk_read
37493
1bd265f3 374942009-06-17 Colin Watson <cjwatson@ubuntu.com>
37495
37496 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
37497 spaces, for the benefit of help2man.
37498 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37499
a2d08c06 375002009-06-16 Pavel Roskin <proski@gnu.org>
37501
37502 * kern/i386/halt.c: Include grub/machine/init.h.
37503 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
37504
b97bcb19 375052009-06-16 Felix Zielcke <fzielcke@z-51.de>
37506
37507 * util/grub.d/30_os-prober.in: Use ${root} in the generated
37508 drivemap menuentry.
37509
0644f96c 375102009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
37511
37512 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
37513 `echo' command.
37514
3ef17a2e 375152009-06-16 Pavel Roskin <proski@gnu.org>
37516
37517 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
37518 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
37519 save %dx, we only need %dl and we never change it.
37520 * boot/i386/pc/cdboot.S: Don't set the root drive.
37521 * boot/i386/pc/pxeboot.S: Likewise.
37522 * include/grub/i386/pc/boot.h: Remove
37523 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
37524 GRUB_BOOT_MACHINE_DRIVE_CHECK.
37525 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
37526 * kern/i386/pc/init.c (make_install_device): Remove references
37527 to grub_root_drive.
37528 * kern/i386/pc/startup.S: Likewise.
37529 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
37530
693fe637 375312009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37532
37533 xnu_uuid command
37534
37535 * commands/xnu_uuid.c: new file
37536 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
37537 (xnu_uuid_mod_SOURCES): new variable
37538 (xnu_uuid_mod_CFLAGS): likewise
37539 (xnu_uuid_mod_LDFLAGS): likewise
37540 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37541 * conf/i386-ieee1275.rmk: likewise
37542 * conf/i386-pc.rmk: likewise
37543 * conf/powerpc-ieee1275.rmk: likewise
37544 * conf/sparc64-ieee1275.rmk: likewise
37545 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
37546
c9da87d0 375472009-06-16 Pavel Roskin <proski@gnu.org>
37548
37549 * configure.ac: Avoid '==' in test command, it's not portable.
37550
9c6f4596 375512009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37552
37553 Probe command
37554
37555 * commands/probe.c: new file
37556 * conf/common.rmk (pkglib_MODULES): add probe.mod
37557 (probe_mod_SOURCES): new variable
37558 (probe_mod_CFLAGS): likewise
37559 (probe_mod_LDFLAGS): likewise
37560 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37561 * conf/i386-ieee1275.rmk: likewise
37562 * conf/i386-pc.rmk: likewise
37563 * conf/powerpc-ieee1275.rmk: likewise
37564 * conf/sparc64-ieee1275.rmk: likewise
37565
70b7f9fd 375662009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
37567
37568 Fix handling of string like \"hello\" and "a
37569 b"
37570
37571 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
37572 (grub_script_yylex): fix parsing of quoting, escaping and newline
37573
71c79a6b 375742009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
37575
dd74360c 37576 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 37577 handling
dd74360c 37578
0644f96c 375792009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 37580
37581 * util/grub-mkconfig.in: Fix parsing of --output option.
37582
e40893c3 375832009-06-12 Pavel Roskin <proski@gnu.org>
37584
37585 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
37586 genmk.rb don't need to be generated or installed.
37587
3a1acfe2 375882009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
37589
37590 * commands/i386/pc/drivemap_int13h.S: add more comments
37591
3a4575d4 375922009-06-11 Pavel Roskin <proski@gnu.org>
37593
0658e928 37594 * Makefile.in (uninstall): Uninstall manuals.
37595
ca0388f0 37596 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
37597 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
37598 and update-grub_lib in two places.
37599 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
37600
e3b27c39 37601 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
37602 a compiler warning.
37603
3a4575d4 37604 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
37605 `entry_lo' to fix variable shadowing.
37606
af1f4f55 376072009-06-11 Christian Franke <franke@computer.org>
37608
37609 * kern/misc.c (__enable_execute_stack): Add missing return type
37610 to prevent gcc warning.
37611
5225e649 376122009-06-11 Felix Zielcke <fzielcke@z-51.de>
37613
37614 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
37615
7d83bd47 376162009-06-11 Pavel Roskin <proski@gnu.org>
37617
c1cb63ba 37618 * Makefile.in: Don't rely on any scripts being executable.
37619 Always use $(SHELL) to run shell scripts.
37620
7d83bd47 37621 * configure.ac: Always define ___main if using -nostdlib. This
37622 fixes tests on Cygwin.
37623
948f48e7 376242009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
37625
37626 UDF fix
37627
7d83bd47 37628 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 37629 is in bytes and not in blocks
7d83bd47 37630
8ada9bc1 376312009-06-11 Pavel Roskin <proski@gnu.org>
37632
37633 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
37634 warning.
37635
25ad2323 376362009-06-11 Felix Zielcke <fzielcke@z-51.de>
37637
37638 * util/grub.d/30_os-prober.in: Fix a comment. Source
37639 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
37640 to set the root device. Place drivemap command in the generated
37641 chain entry.
37642
e65acb0c 376432009-06-11 Pavel Roskin <proski@gnu.org>
37644
37645 * configure.ac: Remove host_m32. Issues with 64-bit utilities
37646 have long been resolved.
37647
f285fe2d 376482009-06-11 Colin Watson <cjwatson@ubuntu.com>
37649
bd47b0b5 37650 * util/grub.d/10_linux.in: Capitalise "Linux".
37651
f285fe2d 37652 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
37653
a0c62e4e 376542009-06-11 Pavel Roskin <proski@gnu.org>
37655
b6783cb2 37656 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
37657 fix a gcc warning and ensure that the function won't ever exit.
37658
dde032e8 37659 * kern/i386/ieee1275/init.c: Add missing prototype for
37660 grub_stop_floppy().
37661
22cd079d 37662 * loader/ieee1275/multiboot2.c [__i386__]: Include
37663 grub/cpu/multiboot.h.
37664
a0c62e4e 37665 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
37666 casts to short - they are not portable and cause warnings. Fix
37667 use of uninitialized values in input_buf. Use ARRAY_SIZE.
37668
63963d17 376692009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
37670
37671 Drivemap fixes
37672
37673 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
37674 new function
37675 (grub_get_root_biosnumber_saved): new variable
37676 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
37677 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 37678 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 37679 %dx after the call if necessary
37680 * conf/common.rmk (pkglib_MODULES): remove boot.mod
37681 (boot_mod_SOURCES): remove
37682 (boot_mod_CFLAGS): remove
37683 (boot_mod_LDFLAGS): remove
37684 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
37685 (boot_mod_SOURCES): new variable
37686 (boot_mod_CFLAGS): likewise
37687 (boot_mod_LDFLAGS): likewise
37688 * conf/i386-efi.rmk: likewise
37689 * conf/i386-ieee1275.rmk: likewise
37690 * conf/i386-pc.rmk: likewise
37691 * conf/powerpc-ieee1275.rmk: likewise
37692 * conf/sparc64-ieee1275.rmk: likewise
37693 * conf/x86_64-efi.rmk: likewise
37694 * include/grub/i386/pc/biosnum.h: new file
37695 * lib/i386/pc/biosnum.c: likewise
37696 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
37697 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
37698 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 37699
33abf7ae 377002009-06-10 Pavel Roskin <proski@gnu.org>
37701
5ac35b35 37702 * io/gzio.c (test_header): Don't reuse one buffer for all data.
37703 Use separate variables. Read only the file size at the end, but
37704 not the checksum that we don't use.
37705
5c5215d5 37706 * kern/file.c (grub_file_read): Use void pointer for the buffer.
37707 Adjust all callers.
37708
27d5fef7 37709 * kern/ieee1275/openfw.c: Remove libc includes.
37710 * kern/ieee1275/cmain.c: Likewise.
37711 * include/grub/ieee1275/ieee1275.h: Likewise.
37712
33abf7ae 37713 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
37714 compiler warnings.
37715
19d50c2b 377162009-06-10 Felix Zielcke <fzielcke@z-51.de>
37717
37718 * Makefile.in: Remove all trailing whitespace.
37719 * conf/i386-pc.rmk: Likewise.
37720 * conf/powerpc-ieee1275.rmk: Likewise.
37721 * conf/sparc64-ieee1275.rmk: Likewise.
37722 * docs/grub.texi: Likewise.
37723 * docs/texinfo.tex: Likewise.
37724 * disk/fs_uuid.c: Likewise.
37725 * disk/lvm.c: Likewise.
37726 * disk/scsi.c: Likewise.
37727 * disk/ata.c: Likewise.
37728 * disk/ieee1275/ofdisk.c: Likewise.
37729 * disk/i386/pc/biosdisk.c: Likewise.
37730 * disk/host.c: Likewise.
37731 * disk/raid.c: Likewise.
37732 * disk/efi/efidisk.c: Likewise.
37733 * disk/usbms.c: Likewise.
37734 * disk/memdisk.c: Likewise.
37735 * disk/loopback.c: Likewise.
37736 * kern/powerpc/dl.c: Likewise.
37737 * kern/device.c: Likewise.
37738 * kern/dl.c: Likewise.
37739 * kern/sparc64/dl.c: Likewise.
37740 * kern/ieee1275/ieee1275.c: Likewise.
37741 * kern/term.c: Likewise.
37742 * kern/fs.c: Likewise.
37743 * kern/i386/dl.c: Likewise.
37744 * kern/i386/pc/startup.S: Likewise.
37745 * kern/i386/pc/init.c: Likewise.
37746 * kern/i386/pc/mmap.c: Likewise.
37747 * kern/i386/pc/lzo1x.S: Likewise.
37748 * kern/i386/ieee1275/init.c: Likewise.
37749 * kern/i386/realmode.S: Likewise.
37750 * kern/i386/tsc.c: Likewise.
37751 * kern/partition.c: Likewise.
37752 * kern/corecmd.c: Likewise.
37753 * kern/file.c: Likewise.
37754 * kern/efi/efi.c: Likewise.
37755 * kern/efi/init.c: Likewise.
37756 * kern/efi/mm.c: Likewise.
37757 * kern/main.c: Likewise.
37758 * kern/err.c: Likewise.
37759 * kern/env.c: Likewise.
37760 * kern/disk.c: Likewise.
37761 * kern/generic/millisleep.c: Likewise.
37762 * kern/generic/rtc_get_time_ms.c: Likewise.
37763 * kern/misc.c: Likewise.
37764 * kern/parser.c: Likewise.
37765 * genmk.rb: Likewise.
37766 * configure.ac: Likewise.
37767 * boot/i386/pc/diskboot.S: Likewise.
37768 * boot/i386/pc/pxeboot.S: Likewise.
37769 * boot/i386/pc/boot.S: Likewise.
37770 * boot/i386/pc/lnxboot.S: Likewise.
37771 * boot/i386/pc/cdboot.S: Likewise.
37772 * parttool/pcpart.c: Likewise.
37773 * video/readers/tga.c: Likewise.
37774 * video/video.c: Likewise.
37775 * video/bitmap.c: Likewise.
37776 * lib/envblk.c: Likewise.
37777 * lib/i386/setjmp.S: Likewise.
37778 * fs/xfs.c: Likewise.
37779 * fs/afs.c: Likewise.
37780 * fs/fat.c: Likewise.
37781 * fs/ntfs.c: Likewise.
37782 * fs/udf.c: Likewise.
37783 * fs/affs.c: Likewise.
37784 * fs/iso9660.c: Likewise.
37785 * fs/hfs.c: Likewise.
37786 * fs/fshelp.c: Likewise.
37787 * fs/ext2.c: Likewise.
37788 * fs/jfs.c: Likewise.
37789 * fs/reiserfs.c: Likewise.
37790 * fs/hfsplus.c: Likewise.
37791 * fs/minix.c: Likewise.
37792 * fs/cpio.c: Likewise.
37793 * fs/sfs.c: Likewise.
37794 * fs/ufs.c: Likewise.
37795 * efiemu/prepare.c: Likewise.
37796 * efiemu/loadcore_common.c: Likewise.
37797 * efiemu/runtime/efiemu.sh: Likewise.
37798 * efiemu/runtime/efiemu.S: Likewise.
37799 * efiemu/runtime/efiemu.c: Likewise.
37800 * efiemu/pnvram.c: Likewise.
37801 * efiemu/main.c: Likewise.
37802 * efiemu/i386/pc/cfgtables.c: Likewise.
37803 * efiemu/i386/loadcore64.c: Likewise.
37804 * efiemu/i386/loadcore32.c: Likewise.
37805 * efiemu/loadcore.c: Likewise.
37806 * efiemu/symbols.c: Likewise.
37807 * efiemu/mm.c: Likewise.
37808 * include/grub/autoefi.h: Likewise.
37809 * include/grub/datetime.h: Likewise.
37810 * include/grub/term.h: Likewise.
37811 * include/grub/hfs.h: Likewise.
37812 * include/grub/lvm.h: Likewise.
37813 * include/grub/i386/tsc.h: Likewise.
37814 * include/grub/i386/linux.h: Likewise.
37815 * include/grub/i386/xnu.h: Likewise.
37816 * include/grub/i386/efiemu.h: Likewise.
37817 * include/grub/i386/pc/biosdisk.h: Likewise.
37818 * include/grub/i386/pc/memory.h: Likewise.
37819 * include/grub/i386/pc/vbe.h: Likewise.
37820 * include/grub/parttool.h: Likewise.
37821 * include/grub/video.h: Likewise.
37822 * include/grub/memory.h: Likewise.
37823 * include/grub/fs.h: Likewise.
37824 * include/grub/partition.h: Likewise.
37825 * include/grub/xnu.h: Likewise.
37826 * include/grub/efi/api.h: Likewise.
37827 * include/grub/efi/pe32.h: Likewise.
37828 * include/grub/efi/memory.h: Likewise.
37829 * include/grub/multiboot.h: Likewise.
37830 * include/grub/usbdesc.h: Likewise.
37831 * include/grub/multiboot2.h: Likewise.
37832 * include/grub/acpi.h: Likewise.
37833 * include/grub/efiemu/efiemu.h: Likewise.
37834 * include/grub/disk.h: Likewise.
37835 * include/grub/ieee1275/ieee1275.h: Likewise.
37836 * include/grub/net.h: Likewise.
37837 * include/grub/machoload.h: Likewise.
37838 * include/grub/macho.h: Likewise.
37839 * include/multiboot.h: Likewise.
37840 * genmoddep.awk: Likewise.
37841 * normal/main.c: Likewise.
37842 * normal/menu_entry.c: Likewise.
37843 * normal/menu_viewer.c: Likewise.
37844 * normal/completion.c: Likewise.
37845 * normal/cmdline.c: Likewise.
37846 * normal/misc.c: Likewise.
37847 * normal/datetime.c: Likewise.
37848 * bus/usb/usbtrans.c: Likewise.
37849 * bus/usb/ohci.c: Likewise.
37850 * bus/usb/uhci.c: Likewise.
37851 * bus/usb/usb.c: Likewise.
37852 * mmap/efi/mmap.c: Likewise.
37853 * mmap/i386/pc/mmap_helper.S: Likewise.
37854 * mmap/i386/pc/mmap.c: Likewise.
37855 * mmap/i386/mmap.c: Likewise.
37856 * mmap/i386/uppermem.c: Likewise.
37857 * mmap/mmap.c: Likewise.
37858 * commands/acpi.c: Likewise.
37859 * commands/echo.c: Likewise.
37860 * commands/blocklist.c: Likewise.
37861 * commands/loadenv.c: Likewise.
37862 * commands/usbtest.c: Likewise.
37863 * commands/boot.c: Likewise.
37864 * commands/parttool.c: Likewise.
37865 * commands/search.c: Likewise.
37866 * commands/cat.c: Likewise.
37867 * commands/i386/pc/play.c: Likewise.
37868 * commands/i386/pc/drivemap.c: Likewise.
37869 * commands/i386/pc/vbeinfo.c: Likewise.
37870 * commands/i386/pc/acpi.c: Likewise.
37871 * commands/i386/pc/vbetest.c: Likewise.
37872 * commands/ls.c: Likewise.
37873 * commands/cmp.c: Likewise.
37874 * commands/test.c: Likewise.
37875 * commands/efi/acpi.c: Likewise.
37876 * commands/gptsync.c: Likewise.
37877 * commands/help.c: Likewise.
37878 * partmap/amiga.c: Likewise.
37879 * partmap/apple.c: Likewise.
37880 * partmap/acorn.c: Likewise.
37881 * partmap/pc.c: Likewise.
37882 * partmap/sun.c: Likewise.
37883 * partmap/gpt.c: Likewise.
37884 * script/sh/lexer.c: Likewise.
37885 * script/sh/function.c: Likewise.
37886 * font/font.c: Likewise.
37887 * font/font_cmd.c: Likewise.
37888 * loader/powerpc/ieee1275/linux.c: Likewise.
37889 * loader/efi/chainloader.c: Likewise.
37890 * loader/multiboot_loader.c: Likewise.
37891 * loader/macho.c: Likewise.
37892 * loader/i386/multiboot.c: Likewise.
37893 * loader/i386/linux.c: Likewise.
37894 * loader/i386/pc/linux.c: Likewise.
37895 * loader/i386/pc/multiboot2.c: Likewise.
37896 * loader/i386/pc/chainloader.c: Likewise.
37897 * loader/i386/pc/xnu.c: Likewise.
37898 * loader/i386/bsd_trampoline.S: Likewise.
37899 * loader/i386/efi/linux.c: Likewise.
37900 * loader/i386/multiboot_elfxx.c: Likewise.
37901 * loader/i386/bsd_helper.S: Likewise.
37902 * loader/i386/bsd.c: Likewise.
37903 * loader/i386/linux_trampoline.S: Likewise.
37904 * loader/i386/xnu_helper.S: Likewise.
37905 * loader/i386/xnu.c: Likewise.
37906 * loader/i386/bsd_pagetable.c: Likewise.
37907 * loader/i386/multiboot_helper.S: Likewise.
37908 * loader/xnu.c: Likewise.
37909 * loader/xnu_resume.c: Likewise.
37910 * io/gzio.c: Likewise.
37911 * term/efi/console.c: Likewise.
37912 * term/terminfo.c: Likewise.
37913 * term/ieee1275/ofconsole.c: Likewise.
37914 * term/i386/pc/serial.c: Likewise.
37915 * term/i386/pc/vesafb.c: Likewise.
37916 * term/i386/pc/vga.c: Likewise.
37917 * term/usb_keyboard.c: Likewise.
37918 * term/gfxterm.c: Likewise.
37919 * aclocal.m4: Likewise.
37920 * util/lvm.c: Likewise.
37921 * util/grub.d/30_os-prober.in: Likewise.
37922 * util/grub.d/10_hurd.in: Likewise.
37923 * util/console.c: Likewise.
37924 * util/grub-macho2img.c: Likewise.
37925 * util/grub-probe.c: Likewise.
37926 * util/hostfs.c: Likewise.
37927 * util/i386/pc/grub-mkimage.c: Likewise.
37928 * util/i386/pc/grub-setup.c: Likewise.
37929 * util/i386/efi/grub-mkimage.c: Likewise.
37930 * util/grub-mkconfig.in: Likewise.
37931 * util/raid.c: Likewise.
37932 * util/resolve.c: Likewise.
37933 * util/grub-mkdevicemap.c: Likewise.
37934 * util/grub-emu.c: Likewise.
37935 * util/getroot.c: Likewise.
37936 * util/hostdisk.c: Likewise.
37937 * util/usb.c: Likewise.
37938 * util/grub-editenv.c: Likewise.
37939 * util/misc.c: Likewise.
37940
d2d49665 379412009-06-10 Felix Zielcke <fzielcke@z-51.de>
37942
37943 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
37944 `genparttoollist.sh'.
37945 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
37946 Add `*.sh' to the list find searches for and change `mdate.sh'
37947 to `mdate-sh'.
37948
fe052e37 379492009-06-10 Pavel Roskin <proski@gnu.org>
37950
2763ac18 37951 * include/grub/multiboot2.h: Provide compatibility defines for
37952 multiboot2.h.
37953 * include/multiboot2.h: Include stdint.h only if needed, using
37954 angle brackets.
37955 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
37956 grub/multiboot2.h.
37957 * loader/ieee1275/multiboot2.c: Likewise.
37958 * loader/multiboot2.c: Likewise.
37959 * loader/multiboot_loader.c: Likewise.
37960
437e6adc 37961 * configure.ac: Use -nostdlib when probing for the target. It
37962 should not be required to have libc for the target.
37963
06a6836c 37964 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
37965 they fail without libc headers for the target.
37966 * include/grub/powerpc/libgcc.h: Use weak attribute for all
37967 exports.
37968 * include/grub/sparc64/libgcc.h: Likewise. Don't use
37969 preprocessor conditionals.
37970
fe052e37 37971 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
37972 build system doesn't need to be aware of the tar.c internals.
37973
afd22553 379742009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 37975
afd22553 37976 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 37977
6b787c4f 379782009-06-09 Robert Millan <rmh.grub@aybabtu.com>
37979
37980 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
37981 disk limit to 26 for IDE, Virtio, Xen and SCSI.
37982
379832009-06-09 Felix Zielcke <fzielcke@z-51.de>
37984
37985 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 37986 aren't available if ata.mod gets used.
6b787c4f 37987
473d1e45 379882009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 37989
473d1e45 37990 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 37991 initialising controller.
473d1e45 37992 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 37993
255a27d4 379942009-06-08 Felix Zielcke <fzielcke@z-51.de>
37995
37996 * util/i386/pc/grub-install.in: Add a parameter --disk-module
37997 to choose between ata and biosdisk module on i386-pc.
37998
473d1e45 379992009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 38000
d55842d8 38001 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
38002 Subclass and Programming Interface fields in terms of the 3 byte
38003 Class Code register.
38004 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
38005
fa5db0b1 38006 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
38007 interface is OHCI. Add grub_dprintf for symmetry with
38008 bus/usb/uhci.c.
38009 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
38010 interface is UHCI. Add interf variable for programming
38011 interface. Print interface with class/subclass.
38012
c0947beb 38013 * bus/usb/ohci.c: Set interf with correct field.
38014
69da8877 38015 * bus/usb/uhci.c: Remove unneeded doubled lines.
38016 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
38017 Remove whitespace inside comment.
38018
9e172e30 380192009-06-08 Robert Millan <rmh.grub@aybabtu.com>
38020
38021 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
38022 as fallback an equivalent option without depth.
38023
de65ee2b 380242009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
38025
38026 Not fail if unable to retrieve C/H/S on LBA disks
38027
473d1e45 38028 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 38029 if unable to retrieve C/H/S on LBA disks
38030
b57ea2c9 380312009-06-08 Pavel Roskin <proski@gnu.org>
38032
38033 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
38034 about aliasing.
38035
af361263 380362009-06-08 Felix Zielcke <fzielcke@z-51.de>
38037
38038 * Makefile.in (uninstall): Remove all $lib_DATA files.
38039
4c9ec6b3 380402009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
38041
38042 Bugfix: install on partitionless device
38043
38044 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
38045 is a whole disk
38046
e76fc924 380472009-06-08 Felix Zielcke <fzielcke@z-51.de>
38048
38049 * Makefile.in (uninstall): Remove all $include_DATA files.
38050
ba5a0d05 380512009-06-08 Felix Zielcke <fzielcke@z-51.de>
38052
38053 * commands/true.c: New file. Implement the true and false commands.
38054 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
38055 (true_mod_SOURCES): New variable.
38056 (true_mod_CFLAGS): Likewise.
38057 (true_mod_LDFLAGS): Likewise.
38058
c8048e32 380592009-06-05 Colin D Bennett <colin@gibibit.com>
38060
38061 Optimized font character lookup using binary search instead of linear
38062 search. Fonts now are required to have the character index ordered by
38063 code point.
38064
38065 * font/font.c (load_font_index): Verify that fonts have ordered
38066 character indices.
38067 (find_glyph): Use binary search instead of linear search to find a
38068 character in a font.
38069
408305be 380702009-06-05 Michael Scherer <misc@mandriva.org>
38071
38072 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
38073 uses case sensitive btree.
38074 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
38075 only for case insensitive filesystems.
38076
8ee1e0d9 380772009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
38078
38079 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
38080 * conf/common.rmk (search_mod_CFLAGS): likewise
38081
a9966eb1 380822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38083
473d1e45 38084 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 38085 compensate a compiler bug
38086
9e7100fb 380872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38088
473d1e45 38089 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 38090 instead of '\b'
473d1e45 38091
ede21d71 380922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38093
38094 Definitions for creating asm symbols with Apple's CC
38095
38096 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
38097 [APPLE_CC] (VARIABLE): likewise
38098
9dbf7653 380992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38100
38101 Disable lnxboot.img when compiled
38102 with Apple's CC
38103
38104 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
38105 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
38106 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
38107 [! APPLE_CC] (CODE_LENG): skip
38108 [! APPLE_CC] (setup_sects): likewise
38109 [! APPLE_CC]: skip filling
473d1e45 38110
e93cdc3d 381112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38112
38113 Address in trampolines based on 32-bit registers when compiled
38114 with Apple's CC
38115
473d1e45 38116 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 38117 for addresses
38118 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
38119
6c688477 381202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38121
38122 Avoid aliases when compiling with Apple's CC for PCBIOS machine
38123
38124 * kern/misc.c [APPLE_CC] (memcpy): new function
38125 [APPLE_CC] (memmove): likewise
38126 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 38127 (memcpy): define alias conditionally on !APPLE_CC
6c688477 38128 (memset): likewise
38129 (abort): likewise
38130 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
38131 APPLE_CC are defined
38132 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
38133 (grub_assert_fail): make prototype conditional
38134
e37ffc5c 381352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38136
38137 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
38138
473d1e45 38139 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
38140 grub-macho2img
e37ffc5c 38141 (CLEANFILES): add grub-macho2img
38142 (grub_macho2img_SOURCES): new variable
38143 * kern/i386/pc/startup.S (bss_start): new variable
38144 (bss_end): likewise
38145 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
38146 * util/grub-macho2img.c: new file
38147
cf00df31 381482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38149
38150 Use objconv when compiling with Apple's CC
38151
38152 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
38153 (efiemu64.o): likewise
38154 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
38155 when compiling with Apple's CC
38156 (efiemu64_s.o): likewise
38157 * configure.ac: check for objconv when compiling with Apple's CC
38158 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 38159
d119a20c 381602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38161
38162 Define segment as well as section when compiling with
38163 Apple's CC
38164
38165 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
38166 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
38167 (efiemu_convert_pointer): likewise
38168 (efiemu_set_virtual_address_map): likewise
38169 (efiemu_convert_pointer): likewise
38170 (efiemu_getcrc32): likewise
38171 (init_crc32_table): likewise
38172 (reflect): likewise
38173 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
38174 (GRUB_MOD_DEP): likewise
473d1e45 38175
c8600122 381762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38177
38178 Allow a compilation without -mcmodel=large
38179
38180 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
38181 when compiled without -mcmodel=large
473d1e45 38182 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 38183 without -mcmodel=large
473d1e45 38184 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 38185 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 38186
e8df1d4e 381872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38188
38189 Remove nested functions in efiemu core
38190
38191 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 38192
cc6c3ac1 381932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38194
38195 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
38196
38197 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
38198 temporary storage
473d1e45 38199 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
38200 using Apple's CC
cc6c3ac1 38201 (grub_cpu_is_tsc_supported): likewise
38202 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 38203
3e325901 382042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38205
38206 Absolute addressing through constant with Apple's cc
38207
38208 * kern/i386/pc/startup.S: Define necessary constants
38209 and address through it when using ABS with Apple's CC
38210 * boot/i386/pc/diskboot.S: likewise
38211 * boot/i386/pc/boot.S: likewise
38212 * boot/i386/pc/lnxboot.S: likewise
38213 * boot/i386/pc/cdboot.S: likewise
38214 * mmap/i386/pc/mmap_helper.S: likewise
38215 * commands/i386/pc/drivemap_int13h.S: likewise
38216
2b167a72 382172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38218
38219 Check if compiler is apple cc
38220
38221 * Makefile.in (ASFLAGS): new variable
38222 (TARGET_ASFLAGS): likewise
38223 (TARGET_MODULE_FORMAT): likewise
38224 (TARGET_APPLE_CC): likewise
38225 (OBJCONV): likewise
38226 (TARGET_IMG_CFLAGS): likewise
38227 (TARGET_CPPFLAGS): add includedir
38228 * configure.ac: call grub_apple_cc and grub_apple_target_cc
38229 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
38230 Check for linker script only if compiler isn't Apple's CC
38231 (TARGET_MODULE_FORMAT): set
38232 (TARGET_APPLE_CC): likewise
38233 (TARGET_ASFLAGS): likewise
38234 (ASFLAGS): likewise
38235 Check for objcopy only if compiler isn't Apple's CC
38236 Check for BSS symbol only if compiler isn't Apple's CC
38237 * genmk.rb: adapt nm options if we use Apple's utils
38238 * aclocal.m4 (grub_apple_cc): new test
38239 (grub_apple_target_cc): likewise
473d1e45 38240
fb14123e 382412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38242
38243 Simplify sed expressions and improve awk
38244
38245 * Makefile.in (install-local): simplify sed expression
38246 * gencmdlist.sh: likewise
38247 * genmoddep.awk: avoid adding module as a dependency of itself
38248
5b889789 382492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38250
38251 Add missing start symbols
38252
38253 * boot/i386/pc/boot.S: add start
fb14123e 38254 * boot/i386/pc/pxeboot.S: likewise
473d1e45 38255
fd2bf2e3 382562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38257
38258 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 38259
38260 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 38261 (relocate_addresses): consider both r_addend and value at offset
38262 (make_mods_section): zerofill modinfo and header
38263 (convert_elf): write prefix here
473d1e45 38264
5389763d 382652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38266
38267 Use .asciz instead of .string
38268
38269 * i386/pc/diskboot.S: use .asciz instead of .string
38270 * i386/pc/boot.S: likewise
38271 * include/grub/dl.h (GRUB_MOD_DEP): likewise
38272 (GRUB_MOD_NAME): likewise
473d1e45 38273
3eb5ed4e 382742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38275
38276 gfxpayload support
38277
38278 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
38279 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
38280 (grub_video_setup): remove
38281 (grub_video_set_mode): new prototype
38282 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
38283 (vid_mode): remove
38284 (linux_vesafb_res): compile only on PCBIOS
38285 (grub_linux_boot): support gfxpayload
38286 * loader/i386/pc/xnu.c (video_hook): new function
38287 (grub_xnu_set_video): support gfxpayload
38288 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
38289 (DEFAULT_VIDEO_HEIGHT): likewise
38290 (DEFAULT_VIDEO_FLAGS): likewise
38291 (DEFAULT_VIDEO_MODE): new definition
38292 (video_hook): new function
38293 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 38294 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 38295 loading xnu
38296 * video/video.c (grub_video_setup): removed
473d1e45 38297 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 38298 grub_video_setup
38299
4b0e1143 383002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38301
38302 Avoid calling biosdisk in drivemap
38303
38304 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
38305 (revparse_biosdisk): likewise
38306 (list_mappings): derive name from id directly
38307 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 38308
fda6cb98 383092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38310
38311 Script fixes
38312
38313 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
38314 (grub_lexer_param): add tokenonhold
38315 (grub_script_create_cmdline): remove cmdline. All callers updated
38316 (grub_script_function_create): make functionname
38317 grub_script_arg. All callers updated
38318 (grub_script_execute_argument_to_string): new prototype
38319 * kern/parser.c (state_transitions): reorder
38320 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 38321 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 38322 make global
38323 (grub_script_execute_cmdline): use new format
38324 * script/sh/function.c (grub_script_function_create): make functionname
38325 grub_script_arg. All callers updated
473d1e45 38326 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 38327 (grub_script_yylex): remove
38328 (grub_script_yylex2): renamed to ...
38329 (grub_script_yylex): ...renamed
38330 parse the expressions like a${b}c
38331 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
38332 (GRUB_PARSER_TOKEN_VAR): remove
38333 (GRUB_PARSER_TOKEN_NAME): likewise
38334 ("if"): declare as typeless
38335 ("while"): likewise
38336 ("function"): likewise
38337 ("else"): likewise
38338 ("then"): likewise
38339 ("fi"): likewise
38340 (text): remove
38341 (argument): likewise
38342 (script): accept empty scripts and make exit on error
38343 (arguments): use GRUB_PARSER_TOKEN_ARG
38344 (function): likewise
38345 (command): move error handling to script
38346 (menuentry): move grub_script_lexer_ref before
473d1e45 38347 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 38348 argument. All callers updated
38349
f4448a07 383502009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38351
38352 Prevent GRUB from probing floppies during boot.
38353
38354 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
38355 * commands/search.c (options): Add --no-floppy.
38356 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
38357 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
38358 --no-floppy when searching for UUIDs.
38359
2bf5885a 383602009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38361
38362 Simplify the code duplication in commands/search.c.
38363
38364 * commands/search.c (search_label, search_fs_uuid): Merge into ...
38365 (search_fs): ... this. Update all users.
38366
f6fd460a 383672009-06-03 Felix Zielcke <fzielcke@z-51.de>
38368
38369 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
38370
cbb3c83e 383712009-05-28 Pavel Roskin <proski@gnu.org>
38372
57788cfd 38373 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
38374 Remove the original symlink explicitly.
38375
cbb3c83e 38376 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
38377 just one slash. That's how grub_fshelp_find_file() does it.
38378
cd0d5e30 383792009-05-26 Pavel Roskin <proski@gnu.org>
38380
f0f8bbe2 38381 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
38382 to `str'.
38383
cd0d5e30 38384 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
38385 possibly unused.
38386
8c2cab51 383872009-05-25 Christian Franke <franke@computer.org>
38388
38389 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
38390 register.
38391 (grub_atapi_identify): Add wait after drive select.
38392 (grub_ata_identify): Do more strict status register check before
38393 calling grub_atapi_identify (). Suppress error message if status
38394 register is 0x00 after command failure. Add status register
38395 check after PIO read to avoid bogus identify due to stuck DRQ.
38396 Thanks to Pavel Roskin for testing.
38397 (grub_device_initialize): Remove unsafe status register check.
38398 Thanks to 'phcoder' for problem report and patch.
38399 Prevent sign extension in debug message.
38400
230c0ad6 384012009-05-23 Colin D Bennett <colin@gibibit.com>
38402
38403 Cleaned up `include/grub/normal.h'. Grouped prototypes by
38404 definition file, and functions defined in `normal/menu.c' have had
38405 their prototypes moved to `include/grub/menu.h' for consistency.
38406
38407 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
38408 from normal.h.
38409 (grub_menu_get_entry): Likewise.
38410 (grub_menu_get_timeout): Likewise.
38411 (grub_menu_set_timeout): Likewise.
38412 (grub_menu_execute_entry): Likewise.
38413 (grub_menu_execute_with_fallback): Likewise.
38414 (grub_menu_entry_run): Likewise.
38415
38416 * include/grub/normal.h: Re-ordered and grouped function
38417 prototypes by file that the function is defined in.
38418 (grub_menu_execute_callback): Removed; moved to menu.h.
38419 (grub_menu_get_entry): Likewise.
38420 (grub_menu_get_timeout): Likewise.
38421 (grub_menu_set_timeout): Likewise.
38422 (grub_menu_execute_entry): Likewise.
38423 (grub_menu_execute_with_fallback): Likewise.
38424 (grub_menu_entry_run): Likewise.
38425 (grub_menu_addentry): Renamed from this ...
38426 (grub_normal_add_menu_entry): ... to this.
38427
38428 * normal/main.c (grub_menu_addentry): Renamed from this ...
38429 (grub_normal_add_menu_entry): ... to this.
38430
38431 * script/sh/execute.c (grub_script_execute_menuentry): Update
38432 reference to renamed grub_menu_addentry function.
38433
861f03a5 384342009-05-23 Felix Zielcke <fzielcke@z-51.de>
38435
38436 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
38437
96b1619a 384382009-05-22 Pavel Roskin <proski@gnu.org>
38439
bf6a5fb2 38440 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
38441 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
38442 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
38443 compiling for the i386 targets, but not for the utilities.
38444
96b1619a 38445 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
38446 to grub_uint8_t.
38447 (grub_root_drive): Likewise.
38448 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
38449 remove alignment.
38450 (grub_root_drive): Change size to byte.
38451 (grub_start_addr): Remove.
38452 (grub_end_addr): Likewise.
38453 (grub_apm_bios_info): Likewise.
38454
b729776b 384552009-05-21 Felix Zielcke <fzielcke@z-51.de>
38456
38457 * normal/i386: Remove.
38458 * normal/powerpc: Likewise.
38459 * normal/sparc64: Likewise.
38460 * normal/x86_64: Likewise.
38461
0a15ce80 384622009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
38463
38464 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 38465 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 38466 * loader/i386/xnu_helper.S: Likewise
d6da58e6 38467
33db9015 384682009-05-18 Colin D Bennett <colin@gibibit.com>
38469
d6da58e6 38470 Display error messages when parsing a Lua statement fails.
38471 Previously, executing a syntactically invalid statement like
38472 ")foo" or "bar;" would silently fail.
33db9015 38473
38474 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 38475 (grub_lua_parse_line): Improved reporting of Lua parser and
38476 execution errors.
33db9015 38477
46422c89 384782009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38479
38480 Remove -Werror which causes build to fail on some systems
38481
38482 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
38483 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
38484 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 38485
22f53a96 384862009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38487
38488 trampoline for linux on 64-bit platform
38489
18f547ad 38490 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
38491 loader/i386/efi/linux_trampoline.S
38492 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 38493 declaration
d6da58e6 38494 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
38495 here
22f53a96 38496 * loader/i386/linux_trampoline.S: moved here
d6da58e6 38497 * loader/i386/efi/linux.c (allocate_pages): reserve space for
38498 trampoline
22f53a96 38499 (jumpvector): removed
38500 (grub_linux_trampoline_start): new declaration
38501 (grub_linux_trampoline_end): likewise
38502 (grub_linux_boot): use trampoline when on 64-bit platform
38503 * loader/i386/linux.c: likewise
38504
cb5a0f40 385052009-05-16 Pavel Roskin <proski@gnu.org>
38506
38507 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
38508 const to avoid a warning.
38509 (grub_lua_setenv): Likewise.
38510 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
38511 lmsg to fix a warning.
38512
334f2c28 385132009-05-16 Felix Zielcke <fzielcke@z-51.de>
38514
38515 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 38516 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38517 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
38518 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38519 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38520 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38521 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38522 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 38523
59e5d3ec 385242009-05-16 Felix Zielcke <fzielcke@z-51.de>
38525
38526 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
38527
9d87a1ba 385282009-05-16 Bean <bean123ch@gmail.com>
38529
38530 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
38531 (lua_mod_SOURCES): New variable.
38532 (lua_mod_CFLAGS): Likewise.
38533 (lua_mod_LDFLAGS): Likewise.
38534
38535 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
38536 (setjmp_mod_SOURCES): New variable.
38537 (setjmp_mod_CFLAGS): Likewise.
38538 (setjmp_LDFLAGS): Likewise.
38539
38540 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
38541 (setjmp_mod_SOURCES): New variable.
38542 (setjmp_mod_CFLAGS): Likewise.
38543 (setjmp_LDFLAGS): Likewise.
38544
38545 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38546 (setjmp_mod_SOURCES): New variable.
38547 (setjmp_mod_CFLAGS): Likewise.
38548 (setjmp_LDFLAGS): Likewise.
38549
38550 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38551 (setjmp_mod_SOURCES): New variable.
38552 (setjmp_mod_CFLAGS): Likewise.
38553 (setjmp_LDFLAGS): Likewise.
38554
38555 * normal/i386/setjmp.S: Moved from here ...
38556 * lib/i386/setjmp.S: ... Moved here
38557 * normal/x86_64/setjmp.S: Moved from here ...
38558 * lib/x86_64/setjmp.S: ... Moved here
38559 * normal/powerpc/setjmp.S: Moved from here ...
38560 * lib/powerpc/setjmp.S: ... Moved here
38561 * normal/sparc64/setjmp.S: Moved from here ...
38562 * lib/sparc64/setjmp.S: ... Moved here
38563
38564 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
38565 returns_twice in mingw.
38566
38567 * script/lua/grub_lib.c: New file.
38568 * script/lua/grub_lib.h: Likewise.
38569 * script/lua/grub_lua.h: Likewise.
38570 * script/lua/grub_main.c: Likewise.
38571 * script/lua/lapi.c: Likewise.
38572 * script/lua/lapi.h: Likewise.
38573 * script/lua/lauxlib.c: Likewise.
38574 * script/lua/lauxlib.h: Likewise.
38575 * script/lua/lbaselib.c: Likewise.
38576 * script/lua/lcode.c: Likewise.
38577 * script/lua/lcode.h: Likewise.
38578 * script/lua/ldblib.c: Likewise.
38579 * script/lua/ldebug.c: Likewise.
38580 * script/lua/ldebug.h: Likewise.
38581 * script/lua/ldo.c: Likewise.
38582 * script/lua/ldo.h: Likewise.
38583 * script/lua/ldump.c: Likewise.
38584 * script/lua/lfunc.c: Likewise.
38585 * script/lua/lfunc.h: Likewise.
38586 * script/lua/lgc.c: Likewise.
38587 * script/lua/lgc.h: Likewise.
38588 * script/lua/linit.c: Likewise.
38589 * script/lua/liolib.c: Likewise.
38590 * script/lua/llex.c: Likewise.
38591 * script/lua/llex.h: Likewise.
38592 * script/lua/llimits.h: Likewise.
38593 * script/lua/lmathlib.c: Likewise.
38594 * script/lua/lmem.c: Likewise.
38595 * script/lua/lmem.h: Likewise.
38596 * script/lua/loadlib.c: Likewise.
38597 * script/lua/lobject.c: Likewise.
38598 * script/lua/lobject.h: Likewise.
38599 * script/lua/lopcodes.c: Likewise.
38600 * script/lua/lopcodes.h: Likewise.
38601 * script/lua/loslib.c: Likewise.
38602 * script/lua/lparser.c: Likewise.
38603 * script/lua/lparser.h: Likewise.
38604 * script/lua/lstate.c: Likewise.
38605 * script/lua/lstate.h: Likewise.
38606 * script/lua/lstring.c: Likewise.
38607 * script/lua/lstring.h: Likewise.
38608 * script/lua/lstrlib.c: Likewise.
38609 * script/lua/ltable.c: Likewise.
38610 * script/lua/ltable.h: Likewise.
38611 * script/lua/ltablib.c: Likewise.
38612 * script/lua/ltm.c: Likewise.
38613 * script/lua/ltm.h: Likewise.
38614 * script/lua/lua.h: Likewise.
38615 * script/lua/luaconf.h: Likewise.
38616 * script/lua/lualib.h: Likewise.
38617 * script/lua/lundump.c: Likewise.
38618 * script/lua/lundump.h: Likewise.
38619 * script/lua/lvm.c: Likewise.
38620 * script/lua/lvm.h: Likewise.
38621 * script/lua/lzio.c: Likewise.
38622 * script/lua/lzio.h: Likewise.
38623
5e898c9d 386242009-05-16 Bean <bean123ch@gmail.com>
38625
38626 * include/grub/kernel.h (grub_module_header_types): Add type
38627 OBJ_TYPE_CONFIG.
38628
38629 * kern/main.c (grub_load_config): New function.
38630 (grub_main): Call grub_load_config to read boot config.
38631
38632 * grub-mkimage (generate_image): New parameter config_path.
38633 (options): New option --config.
38634 (main): Parse --config option, and pass it to generate_image.
38635
cf353a47 386362009-05-14 Christian Franke <franke@computer.org>
38637
38638 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
38639 This fixes build on Cygwin.
38640
3834887f 386412009-05-14 Pavel Roskin <proski@gnu.org>
38642
38643 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
38644 jump. This saves two bytes, so the typical case of 2 swapped
38645 drives would fit 32 bytes.
38646
8090fc01 386472009-05-13 Pavel Roskin <proski@gnu.org>
38648
ac963883 38649 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
38650 grub_uint32_t to avoid a warning.
38651
8090fc01 38652 * loader/i386/linux.c (allocate_pages): When assigning
38653 real_mode_mem, cast through grub_size_t to fix a warning. The
38654 code already makes sure that the value would fit a pointer.
38655 (grub_linux_setup_video): Cast render_target->data to
38656 grub_size_t to fix a warning.
38657
18f547ad 386582009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 38659
38660 * commands/i386/pc/drivemap.c: New file - implement drivemap
38661 command.
38662 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
38663 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
38664
6f6a8b28 386652009-05-13 Pavel Roskin <proski@gnu.org>
38666
38667 * util/i386/pc/grub-setup.c (setup): Remove unused variable
38668 embedding_area_exists.
38669
15fbf4c4 386702009-05-13 Robert Millan <rmh.grub@aybabtu.com>
38671
38672 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
38673 it easier to understand / work with.
59978c8a 38674 Improve warning messages for cases where there's no embedding area,
38675 or when it is too small (or core.img too large).
15fbf4c4 38676
238e871f 386772009-05-13 Pavel Roskin <proski@gnu.org>
38678
0ab3a9a4 38679 * loader/i386/pc/multiboot2.c: Add necessary includes for
38680 grub_multiboot2_real_boot().
38681
a2c8c5f8 38682 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
38683 PX record is always little-endian. We only need the lower 2
38684 bytes of the mode.
38685
faec96af 38686 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
38687 facilitate code reuse.
38688 (grub_cpio_mount): Use "struct head", not a char buffer. This
38689 fixes a warning reported by gcc 4.4.
38690
238e871f 38691 * kernel/disk.c (grub_disk_read): Use void pointer for the
38692 buffer.
38693 (grub_disk_write): Use const void pointer for the buffer.
38694 Adjust all callers. Remove unnecessary casts.
38695
901d2f0c 386962009-05-10 Robert Millan <rmh.grub@aybabtu.com>
38697
38698 * util/i386/pc/grub-install.in: Update copyright year.
38699
18f547ad 387002009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 38701
38702 gptsync
38703
38704 * commands/gptsync.c: new file
38705 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
38706 (gptsync_mod_SOURCES): new variable
38707 (gptsync_mod_CFLAGS): likewise
38708 (gptsync_mod_LDFLAGS): likewise
18f547ad 38709 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 38710 new definition
38711 (GRUB_PC_PARTITION_TYPE_HFS): likewise
38712 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
38713 * conf/i386-ieee1275.rmk: likewise
38714 * conf/i386-pc.rmk: likewise
38715 * conf/powerpc-ieee1275.rmk: likewise
38716
b4ba690a 387172009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38718
38719 Fixed grub-emu
38720
38721 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
38722 (grub_dl_ref): likewise
38723
317e1a44 387242009-05-08 Robert Millan <rmh.grub@aybabtu.com>
38725
38726 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
38727 split in two functions (one for msdos and one for gpt).
38728
041b8094 387292009-05-08 Pavel Roskin <proski@gnu.org>
38730
752473c2 38731 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
38732 not modified.
38733
041b8094 38734 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
38735 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
38736 Initialize them with -1. Add sanity check for bad1. Eliminate
38737 nerr variable.
38738
172800ce 387392009-05-08 David S. Miller <davem@davemloft.net>
38740
38741 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
38742
29aa5e81 387432009-05-06 Robert Millan <rmh.grub@aybabtu.com>
38744
38745 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 38746 existence.
29aa5e81 38747
96613b62 387482009-05-05 Felix Zielcke <fzielcke@z-51.de>
38749
38750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 38751 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 38752
eef73c8a 387532009-05-05 David S. Miller <davem@davemloft.net>
38754
38755 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
38756
119494b5 387572009-05-05 Pavel Roskin <proski@gnu.org>
38758
38759 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
38760 of grub_dl_ref() and grub_dl_unref().
38761 * commands/parttool.c: Remove preprocessor conditionals around
38762 grub_dl_ref() and grub_dl_unref().
38763 * fs/affs.c: Likewise.
38764 * fs/afs.c: Likewise.
38765 * fs/cpio.c: Likewise.
38766 * fs/ext2.c: Likewise.
38767 * fs/fat.c: Likewise.
38768 * fs/hfs.c: Likewise.
38769 * fs/hfsplus.c: Likewise.
38770 * fs/iso9660.c: Likewise.
38771 * fs/jfs.c: Likewise.
38772 * fs/minix.c: Likewise.
38773 * fs/ntfs.c: Likewise.
38774 * fs/reiserfs.c: Likewise.
38775 * fs/sfs.c: Likewise.
38776 * fs/udf.c: Likewise.
38777 * fs/ufs.c: Likewise.
38778 * fs/xfs.c: Likewise.
38779 * include/grub/dl.h: Likewise.
38780 * loader/xnu.c: Likewise.
38781
de5fd76e 387822009-05-04 Pavel Roskin <proski@gnu.org>
38783
38784 * commands/acpi.c: Remove unused variable my_mod.
38785 * partmap/amiga.c: Likewise.
38786 * partmap/apple.c: Likewise.
38787 * partmap/gpt.c: Likewise.
38788 * partmap/pc.c: Likewise.
38789 * partmap/sun.c: Likewise.
38790 * term/gfxterm.c: Likewise.
38791 * term/i386/pc/vesafb.c: Likewise.
38792 * term/i386/pc/vga.c: Likewise.
38793
983598ad 387942009-05-04 David S. Miller <davem@davemloft.net>
38795
38796 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
38797 pointer args to grub_ieee1275_get_property().
38798
8aadec43 38799 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
38800
9554b15e 38801 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
38802 devices, and do not traverse down under controller nodes.
38803
67e23c90 38804 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
38805 (grub_ofdisk_open): Use it to un-escape "," characters.
38806 * kern/disk.c (find_part_sep): New.
38807 (grub_disk_open): Use it to find the first non-escaped ','
38808 character in the disk name.
38809 * util/ieee1275/devicemap.c (escape_of_path): New.
38810 (grub_util_emit_devicemap_entry): Use it.
38811 * util/sparc64/ieee1275/grub-install.in: Update script to
38812 strip partition specifiers properly by not triggering on
38813 '\' escaped ',' characters.
38814
74bfdd2f 388152009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38816
38817 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
38818 to 0x300.
38819 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
38820 resolutions.
38821 (linux_vesafb_modes): Add a lot of additional modes to the list (based
38822 on documentation from Wikipedia).
38823
4241d2b1 388242009-05-04 Pavel Roskin <proski@gnu.org>
38825
38826 * disk/ata.c: Spelling fixes.
38827 * disk/raid.c: Likewise.
38828 * disk/usbms.c: Likewise.
38829 * disk/dmraid_nvidia.c: Likewise.
38830 * kern/ieee1275/openfw.c: Likewise.
38831 * kern/ieee1275/init.c: Likewise.
38832 * kern/ieee1275/cmain.c: Likewise.
38833 * boot/i386/pc/cdboot.S: Likewise.
38834 * video/readers/png.c: Likewise.
38835 * video/i386/pc/vbe.c: Likewise.
38836 * fs/udf.c: Likewise.
38837 * fs/hfs.c: Likewise.
38838 * fs/reiserfs.c: Likewise.
38839 * efiemu/runtime/efiemu.c: Likewise.
38840 * efiemu/main.c: Likewise.
38841 * efiemu/mm.c: Likewise.
38842 * include/grub/elf.h: Likewise.
38843 * include/grub/xnu.h: Likewise.
38844 * include/grub/usbdesc.h: Likewise.
38845 * include/grub/usb.h: Likewise.
38846 * include/grub/script_sh.h: Likewise.
38847 * include/grub/lib/LzmaEnc.h: Likewise.
38848 * include/grub/efiemu/efiemu.h: Likewise.
38849 * include/grub/command.h: Likewise.
38850 * normal/menu.c: Likewise.
38851 * normal/main.c: Likewise.
38852 * normal/datetime.c: Likewise.
38853 * bus/usb/uhci.c: Likewise.
38854 * mmap/i386/uppermem.c: Likewise.
38855 * mmap/mmap.c: Likewise.
38856 * commands/acpi.c: Likewise.
38857 * commands/test.c: Likewise.
38858 * partmap/apple.c: Likewise.
38859 * font/font.c: Likewise.
38860 * loader/sparc64/ieee1275/linux.c: Likewise.
38861 * loader/macho.c: Likewise.
38862 * loader/i386/bsd_trampoline.S: Likewise.
38863 * loader/i386/bsd.c: Likewise.
38864 * loader/xnu.c: Likewise.
38865 * term/i386/pc/vesafb.c: Likewise.
38866 * term/usb_keyboard.c: Likewise.
38867 * util/resolve.c: Likewise.
38868 * util/getroot.c: Likewise.
38869
0cfc0083 388702009-05-04 Felix Zielcke <fzielcke@z-51.de>
38871
38872 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
38873
7c1d00cd 388742009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38875
38876 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
38877 build error.
38878
b01f0548 388792009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38880
38881 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
38882 parameter only available on BIOS.
38883
ecc3eb22 388842009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38885
38886 Removed wrong semicolon in declaration
38887
38888 * grub/misc.h (grub_dprintf): remove semicolon
38889
112972a9 388902009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38891
38892 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
38893 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
38894 is done by grub_cmd_linux() now).
38895 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
38896 restore video to text mode.
38897 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
38898 indicates lack of "vga=" parameter. "vga=0" is mapped to
38899 `GRUB_LINUX_VID_MODE_NORMAL'.
38900
afd5c115 389012009-05-04 Felix Zielcke <fzielcke@z-51.de>
38902
38903 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
38904 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
38905 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 38906 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 38907 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
38908 `grub_script.tab.c'.
38909
38910 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38911 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38912 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38913 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38914 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38915
faa517ce 38916 * Makefile.in: Remove duplicated 2008 in Copyright line.
38917
ae0c0bdc 389182009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38919
473d1e45 38920 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 38921 unconditionally.
38922 * include/grub/util/misc.h (grub_util_warn): New declaration.
38923
38924 * util/i386/pc/grub-install.in: Understand --force and pass it down
38925 to grub-setup.
38926
38927 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
38928 down to setup().
38929 (setup): Improve error messages and add warnings when requested to
38930 install in odd layouts. Refuse to install using blocklists unless
38931 --force was set.
38932
18f547ad 389332009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 38934
38935 * disk/raid.c (grub_raid_scan_device): Improve debug message.
38936
6d260daa 389372009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38938
38939 Updated copyright year
38940
38941 * fs/hfsplus.c: updated copyright year
18f547ad 38942
69f853f8 389432009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38944
38945 HFS+ UUID
38946
18f547ad 38947 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 38948 in the space previously used by unused3
38949 (grub_hfsplus_uuid): new function
38950 (grub_hfsplus_fs): added uuid field
38951
4c402e73 389522009-05-03 Pavel Roskin <proski@gnu.org>
38953
38954 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
38955 suppress warnings. It's no longer needed.
38956 * disk/host.c: Likewise.
38957 * disk/ata_pthru.c: Likewise.
38958 * disk/loopback.c: Likewise.
38959 * hook/datehook.c: Likewise.
38960 * parttool/pcpart.c: Likewise.
38961 * fs/i386/pc/pxe.c: Likewise.
38962 * fs/ntfscomp.c: Likewise.
38963 * efiemu/main.c: Likewise.
38964 * mmap/mmap.c: Likewise.
38965 * commands/crc.c: Likewise.
38966 * commands/hexdump.c: Likewise.
38967 * commands/hdparm.c: Likewise.
38968 * commands/acpi.c: Likewise.
38969 * commands/echo.c: Likewise.
38970 * commands/minicmd.c: Likewise.
38971 * commands/blocklist.c: Likewise.
38972 * commands/memrw.c: Likewise.
38973 * commands/loadenv.c: Likewise.
38974 * commands/usbtest.c: Likewise.
38975 * commands/lsmmap.c: Likewise.
38976 * commands/boot.c: Likewise.
38977 * commands/parttool.c: Likewise.
38978 * commands/configfile.c: Likewise.
38979 * commands/search.c: Likewise.
38980 * commands/ieee1275/suspend.c: Likewise.
38981 * commands/cat.c: Likewise.
38982 * commands/i386/pc/pxecmd.c: Likewise.
38983 * commands/i386/pc/play.c: Likewise.
38984 * commands/i386/pc/halt.c: Likewise.
38985 * commands/i386/pc/vbeinfo.c: Likewise.
38986 * commands/i386/pc/vbetest.c: Likewise.
38987 * commands/lspci.c: Likewise.
38988 * commands/date.c: Likewise.
38989 * commands/handler.c: Likewise.
38990 * commands/ls.c: Likewise.
38991 * commands/test.c: Likewise.
38992 * commands/cmp.c: Likewise.
38993 * commands/efi/loadbios.c: Likewise.
38994 * commands/efi/fixvideo.c: Likewise.
38995 * commands/halt.c: Likewise.
38996 * commands/help.c: Likewise.
38997 * commands/reboot.c: Likewise.
38998 * hello/hello.c: Likewise.
38999 * script/sh/main.c: Likewise.
39000 * loader/xnu.c: Likewise.
39001 * term/terminfo.c: Likewise.
39002 * term/i386/pc/serial.c: Likewise.
39003 * term/usb_keyboard.c: Likewise.
39004
515b5079 390052009-05-03 David S. Miller <davem@davemloft.net>
39006
39007 * normal/menu.c: Include grub/parser.h
39008
dfc31a22 390092009-05-03 Pavel Roskin <proski@gnu.org>
39010
2fee74f1 39011 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
39012 not char*.
39013 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
39014 Suggested by Javier Martín <lordhabbit@gmail.com>
39015
dfc31a22 39016 * util/i386/pc/grub-mkrescue.in: Allow for the case when
39017 efiemu??.o doesn't exist.
39018 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
39019 copying.
39020
18f547ad 390212009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 39022
39023 FreeBSD 64-bit support
39024
18f547ad 39025 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 39026 and loader/i386/bsd_trampoline.S
39027 (bsd_mod_ASFLAGS): new variable
39028 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
39029 (FREEBSD_MODTYPE_KERNEL64): likewise
39030 (grub_bsd64_trampoline_start): likewise
39031 (grub_bsd64_trampoline_end): likewise
39032 (grub_bsd64_trampoline_selfjump): likewise
39033 (grub_bsd64_trampoline_gdt): likewise
39034 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
39035 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
39036 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
39037 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 39038 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 39039 of "attrib" member
39040 * loader/i386/bsd_pagetable.c: new file
39041 * loader/i386/bsd_trampoline.S: likewise
39042 * loader/i386/bsd.c (ALIGN_QWORD): new macro
39043 (ALIGN_VAR): likewise
39044 (entry_hi): new variable
39045 (kern_end_mdofs): likewise
39046 (is_64bit): likewise
39047 (grub_freebsd_add_meta): use ALIGN_VAR
39048 (grub_e820_mmap): new declaration
39049 (grub_freebsd_add_mmap): new function
39050 (grub_freebsd_add_meta_module): support 64 bit kernels
39051 (grub_freebsd_list_modules): use ALIGN_VAR
39052 (gdt_descriptor): new declaration
39053 (grub_freebsd_boot): support 64 bit kernels
39054 (grub_bsd_elf64_hook): new function
39055 (grub_bsd_load_elf): support elf64
39056
038c5720 390572009-05-03 Bean <bean123ch@gmail.com>
39058
39059 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
39060 after we get the result of if statement.
39061
fc45fb58 390622009-05-03 Bean <bean123ch@gmail.com>
39063
39064 * Makefile.in (enable_efiemu): New variable.
39065
39066 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
39067 set.
39068 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
39069 path.
39070 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
39071 path, add -mno-red-zone option.
39072 (efiemu64_s.o): Likewise.
39073 (efiemu64.o): Use macro $^ for source file.
39074
39075 * configure.ac (--enable-efiemu): New option.
39076
bbee0f2b 390772009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
39078
39079 xnu support
39080
39081 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
39082 (pkglib_MODULES): add xnu.mod
39083 (xnu_mod_SOURCES): new variable
39084 (xnu_mod_CFLAGS): likewise
39085 (xnu_mod_LDFLAGS): likewise
39086 (xnu_mod_ASFLAGS): likewise
39087 * conf/i386-pc.rmk: likewise
39088 * conf/x86_64-efi.rmk: likewise
7dd4a573 39089 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 39090 new declaration
39091 * include/grub/i386/macho.h: new file
39092 * include/grub/i386/xnu.h: likewise
39093 * include/grub/macho.h: likewise
39094 * include/grub/machoload.h: likewise
39095 * include/grub/x86_64/macho.h: likewise
39096 * include/grub/x86_64/xnu.h: likewise
39097 * include/grub/xnu.h: likewise
39098 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
39099 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
39100 * loader/i386/efi/xnu.c: new file
39101 * loader/i386/pc/xnu.c: likewise
39102 * loader/i386/xnu.c: likewise
39103 * loader/i386/xnu_helper.S: likewise
39104 * loader/macho.c: likewise
39105 * loader/xnu.c: likewise
39106 * loader/xnu_resume.c: likewise
39107 * util/grub-dumpdevtree: likewise
39108 * include/grub/i386/pit.h: include grub/err.h
39109 (grub_pit_wait): export
39110 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 39111
5caf964d 391122009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39113
39114 Efiemu
7dd4a573 39115
5caf964d 39116 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 39117 _linux_efi, linux_efi.
39118 new files in grub-emu
5caf964d 39119 new targets efiemu32.o and efiemu64.o
39120 * loader/linux_normal_efiemu.c: likewise
39121 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 39122 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 39123 files to copy
39124 * include/grub/autoefi.h: new file
7dd4a573 39125 * include/grub/i386/efiemu.h: likewise
5caf964d 39126 * include/grub/i386/pc/efiemu.h: likewise
39127 * include/grub/efi/api.h: add LL suffix when necessary
39128 new definitions relating to tables
39129 * include/grub/efiemu/efiemu.h: new file
39130 * include/grub/efiemu/runtime.h: likewise
39131 * efiemu/prepare.c: likewise
39132 * efiemu/loadcore_common.c: likewise
39133 * efiemu/loadcore64.c: likewise
39134 * efiemu/runtime/efiemu.sh: likewise
39135 * efiemu/runtime/efiemu.S: likewise
39136 * efiemu/runtime/efiemu.c: likewise
39137 * efiemu/runtime/config.h: likewise
39138 * efiemu/prepare32.c: likewise
39139 * efiemu/main.c: likewise
39140 * efiemu/modules/pnvram.c: likewise
39141 * efiemu/modules/i386: likewise
39142 * efiemu/modules/i386/pc: likewise
39143 * efiemu/modules/acpi.c: likewise
39144 * efiemu/i386/pc/cfgtables.c: likewise
39145 * efiemu/i386/loadcore64.c: likewise
39146 * efiemu/i386/loadcore32.c: likewise
39147 * efiemu/prepare64.c: likewise
39148 * efiemu/loadcore.c: likewise
39149 * efiemu/symbols.c: likewise
39150 * efiemu/mm.c: likewise
39151 * efiemu/loadcore32.c: likewise
7dd4a573 39152
391532009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 39154
39155 ACPI spoofing
39156
39157 * commands/acpi.c: new file
39158 * commands/i386/pc/acpi.c: likewise
39159 * commands/efi/acpi.c: likewise
39160 * include/grub/acpi.h: likewise
39161 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
39162 (acpi_mod_SOURCES): new variable
39163 (acpi_mod_CFLAGS): likewise
39164 (acpi_mod_LDFLAGS): likewise
39165 * conf/i386-efi.rmk: likewise
39166 * conf/x86_64-efi.rmk: likewise
39167
7dd4a573 391682009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 39169
39170 Missing part from mmap patch
39171
39172 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
39173 (grub_mmap_unregister)
39174 (grub_mmap_free_and_unregister): use grub_mmap_register
39175
7dd4a573 391762009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 39177
39178 Mmap services
39179
39180 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
39181 * loader/i386/linux.c (find_mmap_size): likewise
39182 (allocate_pages): likewise
39183 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
39184 (grub_fill_multiboot_mmap): likewise
39185 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
39186 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
39187 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
39188 (OPENBSD_MMAP_RESERVED): likewise
39189 * include/grub/i386/pc/memory.h: include grub/memory.h
39190 (grub_lower_mem): removed
39191 (grub_upper_mem): likewise
39192 (GRUB_MACHINE_MEMORY_ACPI): new definition
39193 (GRUB_MACHINE_MEMORY_NVS): likewise
39194 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
39195 (GRUB_MACHINE_MEMORY_HOLE): likewise
39196 (grub_machine_mmap_register): likewise
39197 (grub_machine_mmap_unregister): likewise
39198 (grub_machine_get_upper): likewise
39199 (grub_machine_get_lower): likewise
39200 (grub_machine_get_post64): likewise
39201 * include/grub/i386/efi/memory.h: new file
39202 * include/grub/x86_64/efi/memory.h: likewise
39203 * include/grub/efi/memory.h: likewise
39204 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
39205 (mmap_mod_SOURCES): new variable
39206 (mmap_mod_LDFLAGS): likewise
39207 (mmap_mod_ASFLAGS): likewise
39208 * conf/i386-coreboot.rmk: likewise
39209 * conf/i386-ieee1275.rmk: likewise
39210 * conf/i386-efi.rmk: likewise
39211 * conf/x86_64-efi.rmk: likewise
39212 * include/grub/types.h (UINT_TO_PTR): new macro
39213 (PTR_TO_UINT32): likewise
39214 (PTR_TO_UINT64): likewise
39215 * include/grub/memory.h: new file
39216 * mmap/i386/pc/mmap.c: likewise
39217 * mmap/i386/pc/mmap_helper.S: likewise
39218 * mmap/i386/uppermem.c: likewise
39219 * mmap/mmap.c: likewise
39220 * mmap/efi/mmap.c: likewise
7dd4a573 39221 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 39222 grub_upper_mem
39223 * kern/i386/pc/init.c (grub_lower_mem): removed variable
39224 (grub_upper_mem): likewise
39225 (grub_machine_init): don't use grub_upper_mem,
39226 make grub_lower_mem local
39227 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
39228 grub_mmap_iterate and grub_mmap_get_upper
39229 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
39230
d558e6b5 392312009-05-02 Bean <bean123ch@gmail.com>
39232
39233 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
39234 script/sh/parser.y.
39235 (pkglib_MODULES): Add normal.mod and sh.mod.
39236 (normal_SOURCES): New variable.
39237 (normal_mod_CFLAGS): Likewise.
39238 (normal_mod_LDFLAGS): Likewise.
39239 (sh_mod_SOURCES): Likewise.
39240 (sh_mod_CFLAGS): Likewise.
39241 (sh_mod_LDFLAGS): Likewise.
39242
39243 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
39244 script/sh/lexer.c_DEPENDENCIES.
39245 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
39246 kern/rescue_reader.c and kern/rescue_parser.c.
39247 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
39248 (grub_emu_SOURCES): Change source files.
39249 (pkglib_MODULES): Remove normal.mod.
39250 (normal_SOURCES): Removed.
39251 (normal_mod_CFLAGS): Likewise.
39252 (normal_mod_LDFLAGS): Likewise.
39253 * conf/i386-coreboot.rmk: Likewise.
39254 * conf/i386-efi.rmk: Likewise.
39255 * conf/i386-ieee1276.rmk: Likewise.
39256 * conf/powerpc-ieee1275.rmk: Likewise.
39257 * conf/sparc64-ieee1275.rmk: Likewise.
39258 * conf/x86_64-efi.rmk: Likewise.
39259
39260 * include/grub/command.h (grub_command_execute): New inline function.
39261
39262 * include/grub/menu.h (grub_menu_entry): Removed commands field.
39263
39264 * include/grub/normal.h: Remove <grub/setjmp.h>.
39265 (grub_fs_module_list): Moved to normal/autofs.c.
39266 (grub_exit_env): Removed.
39267 (grub_command_execute): Likewise.
39268 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
39269 parameter script.
39270 (read_command_list): New function declaration.
39271 (read_fs_list): Likewise.
39272
39273 * include/parser.h: Include <grub/reader.h>.
39274 (grub_parser_split_cmdline): Change type of getline parameter.
39275 (grub_parser): New structure.
39276 (grub_parser_class): New variable.
39277 (grub_parser_execute): New function declaration.
39278 (grub_register_rescue_parser): Likewise.
39279 (grub_parser_register): New inline function.
39280 (grub_parser_unregister): Likewise.
39281 (grub_parser_get_current): Likewise.
39282 (grub_parser_set_current): Likewise.
39283
39284 * include/grub/reader.h: New file.
39285 * kern/reader.c: Likewise.
39286 * kern/rescue_parser.c: Likewise.
39287 * kern/rescue_reader.c: Likewise.
39288 * normal/autofs.c: Likewise.
39289 * normal/dyncmd.c: Likewise.
39290
39291 * include/grub/rescue.h: Removed.
39292 * normal/command.h: Likewise.
39293
39294 * include/grub/script.h: Moved to ...
39295 * include/grub/script_sh.h: ... Moved here.
39296 * normal/execute.c: Moved to ...
39297 * script/sh/execute.c: ... Moved here.
39298 * normal/function.c: Moved to ...
39299 * script/sh/function.c: ... Moved here.
39300 * normal/lexer.c: Moved to ...
39301 * script/sh/lexer.c: ... Moved here.
39302 * normal/parser.y: Moved to ...
39303 * script/sh/parser.y: ... Moved here.
39304 * normal/script.c: Moved to ...
39305 * script/sh/script.c: ... Moved here.
39306
39307 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
39308 <grub/reader.h>.
39309 (grub_exit_env): Removed.
39310 (fs_module_list): Moved to normal/autofs.c.
39311 (grub_file_getline): Don't handle comment here.
39312 (free_menu): Skip removed field entry->commands.
39313 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
39314 script parameter.
39315 (read_config_file): Removed nested parameter, change getline function.
39316 (grub_enter_normal_mode): Removed.
39317 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
39318 (read_command_list): Likewise.
39319 (autoload_fs_module): Moved to normal/autofs.c.
39320 (read_fs_list): Likewise.
39321 (reader_nested): New variable.
39322 (grub_normal_execute): Run parser.sh to switch to sh parser.
39323 (grub_cmd_rescue): Removed.
39324 (cmd_normal): Removed.
39325 (grub_cmd_normal): Unregister itself at the beginning. Don't register
39326 rescue command.
39327 (grub_cmdline_run): New function.
39328 (grub_normal_reader_init): Likewise.
39329 (grub_normal_read_line): Likewise.
39330 (grub_env_write_pager): Likewise.
39331 (cmdline): New variable.
39332 (grub_normal_reader): Likewise.
39333 (GRUB_MOD_INIT): Register normal reader and set as current, register
39334 pager hook, register normal command with grub_register_command_prio,
39335 so that it won't show up in command.lst.
39336 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
39337 grub_fs_autoload_hook.
39338
39339 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
39340 (grub_menu_execute_entry): Replace grub_script_execute with
39341 grub_parser_execute, change parameter to grub_command_execute.
39342
39343 * normal/menu_text.c: Remove <grub/script.h>.
39344
39345 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
39346 and <grub/parser.h>.
39347 (run): Change editor_getline to use new parser interface. Change
39348 parameter to grub_command_execute.
39349
39350 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
39351 <grub/reader.h> and <grub/parser.h>.
39352 (grub_load_normal_mode): Execute normal command.
39353 (grub_main): Call grub_register_core_commands,
39354 grub_register_rescue_parser and grub_register_rescue_reader, use
39355 grub_reader_loop to enter input loop.
39356
7dd4a573 39357 * kern/parser.c (grub_parser_split_cmdline): Change type of
39358 getline parameter.
d558e6b5 39359 (grub_parser_class): New variable.
39360 (grub_parser_execute): New function.
39361
39362 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
39363 * loader/multiboot2.c: Likewise.
39364 * loader/sparc64/ieee1275/linux.c: Likewise.
39365
39366 * util/grub-emu.c (read_command_list): New dummy function.
39367
18db813d 393682009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39369
39370 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
39371 count to 16 for CCISS and IDA.
39372
6c67de15 393732009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39374
39375 * normal/menu_text.c (grub_wait_after_message): Print a newline
39376 after waiting for user input.
39377
39378 * loader/i386/linux.c: Include `<grub/normal.h>'.
39379 (grub_cmd_linux): Improve the error message about `ask' mode, by
39380 waiting for user input so it's not missed (we can do this, since
39381 user requested interaction).
39382
d9dc87b0 393832009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39384
39385 Added missing lst to grub-mkrescue
39386
39387 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
39388 and ${input_dir}/parttool.lst
39389
ac8a2baa 393902009-04-30 David S. Miller <davem@davemloft.net>
39391
ad22a610 39392 * util/hostdisk.c (device_is_wholedisk): New function.
39393 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
39394 zero only if device_is_wholedisk() returns true.
39395
6966215d 39396 * util/hostdisk.c (convert_system_partition_to_system_disk):
39397 Handle virtual disk devices named /dev/vdiskX as found on sparc
39398 and powerpc.
39399
ac8a2baa 39400 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
39401 lettered partition specifier is found, convert to numbered.
39402
979b4fb4 394032009-04-29 David S. Miller <davem@davemloft.net>
39404
e2bf39b2 39405 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
39406 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39407
3c64e104 39408 * normal/command.c: Add missing newline at end of file.
39409
979b4fb4 39410 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
39411 warnings.
39412 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
39413 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
39414 grub_ofdisk_read): Likewise, and deal similarly with the fact that
39415 ihandles have a 32-bit type but need to be stored in a "void *".
39416
136d9f82 394172009-04-28 Pavel Roskin <proski@gnu.org>
39418
9459c306 39419 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
39420 not disk. Adjust all dependencies.
2e08a26a 39421 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 39422 grub_disk_close().
39423
136d9f82 39424 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
39425 parent's partition, don't copy it by reference, as it gets freed
39426 on close.
39427
7dd4a573 394282009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 39429
39430 Preboot hooks support
39431
39432 * commands/boot.c (struct grub_preboot_t): new declaration
39433 (preboots_head): new variable
39434 (preboots_tail): likewise
39435 (grub_loader_register_preboot_hook): new function
39436 (grub_loader_unregister_preboot_hook): likewise
39437 (grub_loader_set): launch preboot hooks
39438 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
39439 (grub_loader_register_preboot_hook): new declaration
39440 (grub_loader_unregister_preboot_hook): likewise
39441
5af922b5 394422009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39443
39444 Warning fix
39445
7dd4a573 39446 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 39447 calling grub_dprintf
39448
a5562c30 394492009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
39450
39451 Bug and warning fixes
39452
7dd4a573 39453 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 39454 declaration
39455 * commands/test.c (test_parse): fixed bug with file tests and corrected
39456 declaration of find_file
39457
4006f85c 394582009-04-26 Pavel Roskin <proski@gnu.org>
39459
39460 * Makefile.in: Don't install empty manual pages if help2man is
39461 missing. Use help2man option for output, not shell redirection.
39462
5c77c3de 394632009-04-26 David S. Miller <davem@davemloft.net>
39464
39465 * util/grub-mkdevicemap.c (make_device_map): Add missing
39466 NESTED_FUNC_ATTR to process_device().
39467
033b10a8 394682009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39469
39470 Test command
39471
39472 * commands/test.c: rewritten to use bash-like test
39473
e4343593 394742009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39475
39476 Parttool autoloading and improvements
39477
7dd4a573 39478 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 39479 (parttool.lst): new target
39480 * genmk.rb: generate parttool-*
39481 (CLEANFILES): add #{parttool}
39482 (PARTTOOLFILES): new variable
39483 * genparttoollist.sh: new file
7dd4a573 39484 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 39485 (grub_pcpart_type): likewise
39486 * commands/parttool.c (helpmsg): new variable
39487 (grub_cmd_parttool): output help if not enough arguments are supplied
39488 autoload modules
39489 (GRUB_MOD_INIT(parttool)): use helpmsg
39490
0d312500 394912009-04-24 David S. Miller <davem@davemloft.net>
39492
7dd4a573 39493 Avoiding opening same device multiple times in device iterator.
0d312500 39494
39495 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 39496 and use it to build a list of partitions in iterate_disk() and
0d312500 39497 iterate_partition().
39498
ac20caff 39499 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
39500 on disk->data.
39501
0dcf7495 39502 * disk/ieee1275/nand.c (grub_nand_iterate): Return
39503 grub_devalias_iterate() result instead of unconditional 0.
39504 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
39505 Also, capture hook return value, either directly or via
39506 grub_children_iterate(), and propagate to caller.
39507 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
39508 grub_children_iterate): Return value is now 'int' instead of
39509 'grub_err_t'.
39510 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
39511 like a proper iterator, stopping when hooks return non-zero.
39512 (grub_devalias_iterate): Likewise.
39513
c8c08833 395142009-04-23 David S. Miller <davem@davemloft.net>
39515
39516 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
39517
f01005a8 395182009-04-22 David S. Miller <davem@davemloft.net>
39519
39520 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
39521 is larger than address_cells, use that value for address_cells too.
39522
4e8269da 39523 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
39524 IEEE1275_MAX_PATH_LEN): Define.
39525 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
39526 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
39527 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
39528 'devtype'. Explicitly NULL terminate devalias expansion.
39529
a1447506 39530 * util/sparc64/ieee1275/misc.c: New file.
39531 * util/sparc64/ieee1275/grub-setup.c: New file.
39532 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
39533 * util/sparc64/ieee1275/grub-mkimage.c: New file.
39534 * util/sparc64/ieee1275/grub-install.in: New file.
39535 * util/ieee1275/ofpath.c: New file.
39536 * util/ieee1275/devicemap.c: New file.
39537 * util/devicemap.c: New file.
39538 * util/deviceiter.c: New file.
39539 * kern/sparc64/ieee1275/init.c: New file.
39540 * include/grub/util/ofpath.h: New file.
39541 * include/grub/util/deviceiter.h: New file.
39542 * util/grub-mkdevicemap.c: Include deviceiter.h.
39543 Implement using grub_util_emit_devicemap_entry and
39544 grub_util_iterate_devices.
39545 * conf/i386-corebook.rmk: Build util/deviceiter.c and
39546 util/devicemap.c into grub-mkdevicemap
39547 * conf/i386-efi.rmk: Likewise.
39548 * conf/i386-ieee1275.rmk: Likewise.
39549 * conf/i386-pc.rmk: Likewise.
39550 * conf/powerpc-ieee1275.rmk: Likewise.
39551 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
39552 images and installation utilities. Build kernel as image
39553 instead of as elf binary. Use common rules as much as possible.
39554
7dd4a573 395552009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 39556
39557 Correct GPT definition
39558
7dd4a573 39559 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 39560 of "attrib" member
39561
c6c5219f 395622009-04-19 Felix Zielcke <fzielcke@z-51.de>
39563
39564 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
39565
0552ff9f 395662009-04-19 David S. Miller <davem@davemloft.net>
39567
39568 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
39569 (grub_rescue_cmd_linux): Rename to...
39570 (grub_cmd_linux): and fix prototype.
39571 (grub_rescue_cmd_initrd): Rename to...
39572 (grub_cmd_initrd): and fix prototype.
39573 (cmd_linux, cmd_initrd): New.
39574 (GRUB_MOD_INIT(linux)): Use grub_register_command().
39575 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
39576
d1a282fc 395772009-04-17 Pavel Roskin <proski@gnu.org>
39578
07c5039f 39579 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
39580 format.
39581 (grub_ohci_transfer): Likewise.
39582
b012002d 39583 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
39584
1bc09c35 39585 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
39586 return without a value. Fix inconsistent indentation.
39587
e0ff9126 39588 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
39589 match struct grub_fs.
39590
d1a282fc 39591 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
39592 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
39593 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
39594 * commands/lspci.c (grub_lspci_iter): Likewise.
39595
a96df3f2 395962009-04-16 Bean <bean123ch@gmail.com>
39597
39598 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
39599 value.
39600
41bb0fe9 396012009-04-15 Pavel Roskin <proski@gnu.org>
39602
39603 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
39604 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
39605 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
39606 definitions.
39607
596c6970 396082009-04-15 Felix Zielcke <fzielcke@z-51.de>
39609
39610 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 39611 that no multiple data or metadata areas are supported and `Unknown
596c6970 39612 metadata header'.
39613
7dd4a573 396142009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 39615
39616 Move loader out of the kernel
39617
39618 * kern/loader.c: moved to ...
39619 * commands/boot.c: ... moved here
39620 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
39621 * commands/boot.c (grub_cmd_boot): moved here. All users updated
39622 * include/grub/kernel.h (grub_machine_fini): export
39623 * include/grub/loader.h (grub_loader_is_loaded): update declaration
39624 (grub_loader_set): likewise
39625 (grub_loader_unset): likewise
39626 (grub_loader_boot): likewise
39627 * conf/common.rmk: new module boot.mod
39628 (pkglib_MODULES): add boot.mod
39629 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
39630 (grub_emu_SOURCES): likewise
39631 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
39632 (grub_emu_SOURCES): likewise
39633 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
39634 (grub_emu_SOURCES): likewise
39635 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
39636 (grub_emu_SOURCES): likewise
39637 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
39638 (grub_emu_SOURCES): likewise
7dd4a573 39639 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
39640 (grub_emu_SOURCES): likewise
0d5d5653 39641 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 39642 (grub_emu_SOURCES): likewise
0d5d5653 39643
7dd4a573 396442009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 39645
39646 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 39647
5999d619 39648 * kern/misc.c (grub_itoa): Removed function
39649 (grub_ltoa): likewise
39650 (grub_vsprintf): use grub_lltoa
39651
7dd4a573 396522009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 39653
39654 Restore grub-emu
39655
39656 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
39657 * conf/i386-coreboot.rmk: likewise
39658 * conf/i386-ieee1275.rmk: likewise
39659 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 39660
20318222 396612009-04-15 Felix Zielcke <fzielcke@z-51.de>
39662
39663 * INSTALL: Add that `./autogen.sh' needs to be run before
39664 `./configure.'.
39665
d05f0df3 396662009-04-14 Bean <bean123ch@gmail.com>
39667
39668 * Makefile.in (pkglib_DATA): Add handler.lst.
39669 (handler.lst): New rule.
39670
39671 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
39672 * conf/i386-coreboot.rmk: Likewise.
39673 * conf/i386-ieee1275.rmk: Likewise.
39674 * conf/i386-efi.rmk: Likewise.
39675 * conf/x86_64-efi.rmk: Likewise.
39676 * conf/powerpc-ieee1275.rmk: Likewise.
39677 * conf/sparc64-ieee1275.rmk: Likewise.
39678
39679 * genhandlerlist.sh: New file.
39680
39681 * genmk.rb: Add rules to generate handler.lst.
39682
39683 * include/grub/normal.h (grub_file_getline): New function definition.
39684 (read_handler_list): Likewise.
39685 (free_handler_list): Likewise.
39686
39687 * include/grub/term.h (grub_term_register_input): Add name parameter
39688 for auto generation of handler.lst.
39689 (grub_term_register_output): Likewise.
39690
39691 * normal/handler.c: New file.
39692
39693 * normal/main.c (get_line): Renamed to grub_file_getline.
39694 (read_config_file): Use the newly renamed grub_file_getline.
39695 (read_command_list): Likewise.
39696 (read_fs_list): Likewise.
39697 (grub_normal_execute): Call read_handler_list to parse handler.lst.
39698 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
39699
39700 * term/efi/console.c (grub_console_init): Add name parameter for auto
39701 generation of handler.lst.
39702 * term/gfxterm.c: Likewise.
39703 * term/i386/pc/at_keyboard.c: Likewise.
39704 * term/i386/pc/console.c: Likewise.
39705 * term/i386/pc/serial.c: Likewise.
39706 * term/i386/pc/vesafb.c: Likewise.
39707 * term/i386/pc/vga.c: Likewise.
39708 * term/i386/pc/vga_text.c: Likewise.
39709 * term/ieee1275/ofconsole.c: Likewise.
39710 * term/usb_keyboard.c: Likewise.
39711
33c846be 397122009-04-14 Bean <bean123ch@gmail.com>
39713
39714 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
39715 properly with null character.
39716
4484e01e 397172009-04-14 Felix Zielcke <fzielcke@z-51.de>
39718
39719 * configure: Remove.
39720 * config.h.in: Likewise.
f93d668e 39721 * stamp-h.in: Likewise.
4484e01e 39722 * DISTLIST: Likewise.
39723 * conf/common.mk: Likewise.
39724 * conf/i386-coreboot.mk: Likewise.
39725 * conf/i386-efi.mk: Likewise.
39726 * conf/i386-ieee1275.mk: Likewise.
39727 * conf/i386.mk: Likewise.
39728 * conf/i386-pc.mk: Likewise.
39729 * conf/powerpc-ieee1275.mk: Likewise.
39730 * conf/sparc64-ieee1275.mk: Likewise.
39731 * conf/x86_64-efi.mk: Likewise.
39732
39733 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
39734 develop on GRUB.
39735
7dd4a573 397362009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 39737 David S. Miller <davem@davemloft.net>
39738
39739 * util/hostdisk.c (make_device_name): Fix buffer length
39740 calculations.
39741
e25b5a8c 397422009-04-14 Felix Zielcke <fzielcke@z-51.de>
39743
39744 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
39745 <sys/param.h> and <sys/sysctl.h>.
39746 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
39747 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
39748 opening the device and reset them afterwards.
39749
1f1f580c 397502009-04-13 Pavel Roskin <proski@gnu.org>
39751
39752 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
39753 Reported by John Stanley <jpsinthemix@verizon.net>
39754
7ebc2d6b 397552009-04-13 Robert Millan <rmh@aybabtu.com>
39756
39757 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 39758 that name for menuentries when appropriate.
7ebc2d6b 39759
d8ba3667 397602009-04-13 Felix Zielcke <fzielcke@z-51.de>
39761
39762 * util/grub.d/10_freebsd.in: Add a missing `fi'.
39763
cba416eb 397642009-04-13 Robert Millan <rmh@aybabtu.com>
39765
39766 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
39767 to Linux, simply abort telling the user it's no longer supported.
39768
a547a745 397692009-04-13 Felix Zielcke <fzielcke@z-51.de>
39770
39771 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 39772 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 39773 `freebsd_loadenv' only when devices.hints exist.
39774
232a769c 397752009-04-13 Pavel Roskin <proski@gnu.org>
39776
39777 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
39778
c3012039 397792009-04-13 Felix Zielcke <fzielcke@z-51.de>
39780
39781 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
39782 partition number.
39783 (grub_drive): Likewise.
39784
234022fe 397852009-04-13 David S. Miller <davem@davemloft.net>
39786
39787 * kern/sparc64/ieee1275/ieee1275.c: New file.
39788 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
39789 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
39790 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
39791 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
39792 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
39793 grub_ieee1275_alloc_physmem): Declare new exported functions.
39794
d8e1836c 39795 * include/grub/sparc64/ieee1275/loader.h: New file.
39796 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39797 * include/grub/sparc64/kernel.h: Likewise.
39798 * loader/sparc64/ieee1275/linux.c: Likewise.
39799
96bd81ec 39800 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
39801 (grub_fstest_SOURCES): Likewise.
39802
6a4737e5 39803 * util/hostdisk.c (make_device_name): Do not make any assumptions
39804 about the length of drive names.
39805
1d7a72fd 39806 * kern/dl.c (grub_dl_load_file): Close file immediately when
39807 we are done using it.
39808
56bc2471 398092009-04-12 David S. Miller <davem@davemloft.net>
39810
39811 * kern/misc.c (grub_ltoa): Fix cast when handling negative
39812 values. Noticed by Pavel Roskin.
39813
df38d0bb 39814 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
39815 target compiler.
7dd4a573 39816
e382e93a 39817 * genmk.rb: Add more flexible image type specification, also
39818 pass --strip-unneeded to objcopy.
39819 * conf/i386-pc.rmk: Use *_FORMAT.
39820 * conf/i386-pc.mk: Rebuilt.
39821
f5dbbca9 39822 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
39823 (OFDISK_HASH_SZ): Define.
39824 (ofdisk_hash): New hash table.
39825 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
39826 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
39827 instead of device phandle which is not unique.
39828
91c88b12 39829 * kern/sparc64/ieee1275/init.c: Delete, replace with...
39830 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
39831 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
39832 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
39833 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
39834 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
39835 GRUB_KERNEL_MACHINE_DATA_END): Define.
39836 (grub_kernel_image_size, grub_total_module_size): Declare.
39837
5b5d4aa5 398382009-04-12 Pavel Roskin <proski@gnu.org>
39839
7dd4a573 39840 * configure.ac: Change the logic when we check for target tools.
39841 Do it when the target is specified and it's different from the
39842 specified value of the host.
5b5d4aa5 39843
c91e1793 398442009-04-11 Felix Zielcke <fzielcke@z-51.de>
39845
39846 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
39847 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
39848 GNU/kFreeBSD. Check if a device is a character device. Use
39849 DIOCGMEDIASIZE to get the size.
39850 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
39851 support for GNU/kFreeBSD.
39852 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
39853 is a character device instead of a block device. Add support for
39854 FreeBSD device names.
39855
39856 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
39857 is a character device instead of a block device.
39858
39859 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
39860 is a character device instead of a block device.
39861
b1ac8644 398622009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
39863
39864 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
39865 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
39866 FreeBSD. Check if a device is a character device. Use
39867 DIOCGMEDIASIZE to get the size.
39868 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
39869 support for FreeBSD.
39870 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
39871 is a character device instead of a block device. Add support for
39872 FreeBSD device names.
39873
39874 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
39875 a character device instead of a block device.
39876 (grub_util_check_char_device): New function.
39877
39878 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
39879 a character device instead of a block device.
39880
39881 * include/grub/util/getroot.h (grub_util_check_char_device): New
39882 prototype.
39883
a3f7515a 398842009-04-11 David S. Miller <davem@davemloft.net>
39885
39886 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
39887 static libgcc.
39888 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
39889 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
39890 function, if present.
39891 (__bswapdi2): Likewise.
39892
0d44993d 39893 * include/grub/sparc64/ieee1275/boot.h: New file.
39894 * boot/sparc64/ieee1275/boot.S: Likewise.
39895 * boot/sparc64/ieee1275/diskboot.S: Likewise.
39896
ed3d2bc2 39897 * kern/misc.c (grub_ltoa): New function.
39898 (grub_vsprintf): Use it to format 'long' integers.
39899
d3bfb59c 399002009-04-10 David S. Miller <davem@davemloft.net>
39901
39902 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
39903 slots are of type grub_ieee1275_cell_t.
39904 (grub_nand_read): Likewise.
39905 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
39906 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
39907 macros are used to compare values in arg/ret block of the call.
39908 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39909 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
39910 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
39911 grub_ieee1275_instance_to_path, grub_ieee1275_write,
39912 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
39913 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
39914 grub_ieee1275_close, grub_ieee1275_set_property,
39915 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
39916 grub_ieee1275_cell_t.
39917 * kern/ieee1275/openfw.c (grub_map): Likewise.
39918 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
39919 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
39920
450e2238 39921 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
39922 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
39923 (grub_devalias_iterate): Likewise.
39924
7dd4a573 399252009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 39926
39927 UFS improvements
39928
39929 * fs/ufs.c (INODE_NBLOCKS): new definition
39930 (struct grub_ufs_dirent): added fields for non-BSD dirents
39931 (grub_ufs_get_file_block): fixed double indirect handling
39932 (grub_ufs_lookup_symlink): use more robust way to determine whether
39933 symlink is inline
39934 (grub_ufs_find_file): support for non-BSD dirents
39935 (grub_ufs_dir): support for non-BSD dirents
39936
e7e6862a 399372009-04-10 Bean <bean123ch@gnail.com>
39938
39939 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
39940 attribute, otherwise the size would be wrong for i386 platform.
39941
39942 * include/grub/pci.h (grub_pci_read_word): New inline function.
39943 (grub_pci_read_byte): Likewise.
39944 (grub_pci_write): Likewise.
39945 (grub_pci_write_word): Likewise.
39946 (grub_pci_write_byte): Likewise.
39947
39948 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
39949
39950 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
39951 (find_framebuf): Scan pci to locate the frame buffer address.
39952
39953 * commands/efi/fixvideo.c: New file.
39954
39955 * commands/efi/loadbios.c: Likewise.
39956
39957 * commands/memrw.c: Likewise.
39958
39959 * util/grub-dumpbios.in: Likewise.
39960
39961 * conf/common.rmk (grub-dumpbios): New utility.
39962 (pkglib_MODULES): New module memrw.mod.
39963 (memrw_mod_SOURCE): New macro.
39964 (memrw_mod_CFLAGS): Likewise.
39965 (memrw_mod_LDFLAGS): Likewise.
39966
7dd4a573 39967 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 39968 fixvideo.mod.
39969 (loadbios_mod_SOURCE): New macro.
39970 (loadbios_mod_CFLAGS): Likewise.
39971 (loadbios_mod_LDFLAGS): Likewise.
39972 (fixvideo_mod_SOURCE): Likewise.
39973 (fixvideo_mod_CFLAGS): Likewise.
39974 (fixvideo_mod_LDFLAGS): Likewise.
39975
7dd4a573 39976 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 39977 fixvideo.mod.
39978 (loadbios_mod_SOURCE): New macro.
39979 (loadbios_mod_CFLAGS): Likewise.
39980 (loadbios_mod_LDFLAGS): Likewise.
39981 (fixvideo_mod_SOURCE): Likewise.
39982 (fixvideo_mod_CFLAGS): Likewise.
39983 (fixvideo_mod_LDFLAGS): Likewise.
39984
af63ada2 399852009-04-08 Felix Zielcke <fzielcke@z-51.de>
39986
39987 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
39988
c2cdde70 399892009-04-07 David S. Miller <davem@davemloft.net>
39990
39991 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
39992 support for R_SPARC_OLO10 relocations. Fix compile warning for
39993 R_SPARC_WDISP30 case.
ea3f72cf 39994 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 39995
761319cf 399962009-04-06 Pavel Roskin <proski@gnu.org>
39997
1007d1f5 39998 * include/grub/misc.h (ARRAY_SIZE): New macro.
39999 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
40000 New macro.
40001 * loader/i386/linux.c (allocate_pages): Use free_pages().
40002 (grub_linux_unload): Don't use free_pages().
40003 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
40004 wrong index. Treat all other modes as text modes.
40005 (grub_cmd_linux): Initialize vid_mode unconditionally to
40006 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
40007
761319cf 40008 * commands/help.c (print_command_help): Use cmd->prio, not
40009 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
40010
ea761d40 400112009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 40012
ea761d40 40013 Parttool
40014
40015 * parttool/pcpart.c: new file
40016 * commands/parttool.c: likewise
40017 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
40018 (parttool_mod_SOURCES): new variable
40019 (parttool_mod_CFLAGS): likewise
40020 (parttool_mod_LDFLAGS): likewise
40021 (pcpart_mod_SOURCES): likewise
40022 (pcpart_mod_CFLAGS): likewise
40023 (pcpart_mod_LDFLAGS): likewise
7dd4a573 40024 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 40025 and parttool/pcpart.c
40026 * conf/i386-efi.rmk: likewise
40027 * conf/i386-ieee1275.rmk: likewise
40028 * conf/i386-pc.rmk: likewise
40029 * conf/powerpc-ieee1275.rmk: likewise
40030 * conf/sparc64-ieee1275.rmk: likewise
40031 * conf/x86_64-ieee1275.rmk: likewise
40032
05aaebfb 400332009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
40034
40035 Support for mtime and further expandability of dir command
40036
40037 * include/grub/lib/datetime.h: moved to ...
7dd4a573 40038 * include/grub/datetime.h: ... moved here and added
05aaebfb 40039 declaration of grub_unixtime2datetime. All users updated
7dd4a573 40040 * include/grub/fs.h: new syntax for dir and mtime functions in
40041 struct grub_fs
05aaebfb 40042 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
40043 and GRUB_FSHELP_FLAGS_MASK
40044 * commands/ls.c (grub_ls_list_files): Write mtime in long format
40045 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
40046 (grub_ext2_mtime): new function
40047 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
40048 (grub_hfsplus_mtime): new function
40049 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
40050 (GRUB_UFS_ATTR_FILE): likewise
40051 (GRUB_UFS_ATTR_LNK): likewise
40052 (struct grub_ufs_sblock): new fields mtime
40053 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
40054 all users updated
40055 (grub_ufs_dir): mtime support
40056 (grub_ufs_mtime): new function
40057 * fs/affs.c (grub_affs_dir): use new dir syntax
40058 * fs/afs.c (grub_afs_dir): likewise
40059 * fs/cpio.c (grub_cpio_dir): likewise
40060 * fs/fat.c (grub_fat_find_dir): likewise
40061 * fs/hfs.c (grub_hfs_dir): likewise
40062 * fs/iso9660.c (grub_iso9660_dir): likewise
40063 * fs/jfs.c (grub_jfs_dir): likewise
40064 * fs/minix.c (grub_minix_dir): likewise
40065 * fs/ntfs.c (grub_ntfs_dir): likewise
40066 * fs/reiserfs.c (grub_reiserfs_dir): likewise
40067 * fs/sfs.c (grub_sfs_dir): likewise
40068 * fs/xfs.c (grub_xfs_dir): likewise
40069 * util/hostfs.c (grub_hostfs_dir): likewise
40070 * lib/datetime.c: moved to ...
40071 * normal/datetime.c: ... moved here
40072 (grub_unixtime2datetime): new function
40073 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 40074 * normal/completion.c (iterate_dir): use new dir syntax
40075 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 40076 last modification time of a volume
7dd4a573 40077 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 40078 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 40079 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 40080 (normal_mod_SOURCES): likewise
40081 (datetime_mod_SOURCES): Removed lib/datetime.c
40082 * conf/i386-efi.rmk: likewise
7dd4a573 40083 * conf/i386-ieee1275.rmk: likewise
05aaebfb 40084 * conf/i386-pc.rmk: likewise
40085 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 40086 * conf/sparc64-ieee1275.rmk: likewise
40087 * conf/x86_64-efi.rmk: likewise
05aaebfb 40088
8a7e1a14 400892009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
40090
40091 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 40092
40093 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 40094 on grub_fat_find_dir
40095 (grub_fat_find_dir): use grub_fat_iterate_dir
40096 (grub_fat_label): likewise
40097
04186a9c 400982009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
40099
7dd4a573 40100 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 40101 and command.h
40102 remove extraneous kernel_elf_HEADERS
40103
da4c0bb6 401042009-04-04 Bean <bean123ch@gnail.com>
40105
40106 * include/grub/util/misc.h: Add dummy function fsync for mingw.
40107
40108 * util/misc.c: Likewise.
40109
54ad9555 401102009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40111
40112 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
40113 instead of grub_printf.
40114
7a6bf9f2 401152009-04-03 Robert Millan <rmh@aybabtu.com>
40116
40117 * loader/i386/linux.c (grub_linux_setup_video): Fill
40118 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
40119 values from `mode info' structure instead of hardcoded
40120 values.
40121
3fcc2083 401222009-04-01 Pavel Roskin <proski@gnu.org>
40123
40124 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
40125 unused now.
40126 * genmk.rb: Likewise.
40127 * configure.ac: Likewise.
40128
5ec9740b 401292009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
40130
40131 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
40132 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
40133
5270cec8 401342009-04-01 David S. Miller <davem@davemloft.net>
40135
40136 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 40137 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 40138 (grub_setjmp): Mark with 'returns_twice' attribute.
40139 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
40140 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
40141 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
40142
9c3dd854 401432009-04-01 Robert Millan <rmh@aybabtu.com>
40144
40145 Reapply fix from 2008-07-28 which was accidentally reverted; also
40146 perform the same fix to a similar check in same function.
40147
40148 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
40149 with the same number are found, just use issue a warning with
40150 grub_dprintf(), as this error has been reported to be non-fatal.
40151
0d818b7e 401522009-03-31 Pavel Roskin <proski@gnu.org>
40153
40154 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
40155 for cross-compilation.
40156
95646d92 401572009-03-30 Robert Millan <rmh@aybabtu.com>
40158
40159 Fix i386-ieee1275 build.
40160
40161 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
40162 Remove declaration.
40163
6a003ed1 401642009-03-30 Pavel Roskin <proski@gnu.org>
40165
40166 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
40167 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
40168 zero-terminated, rely only on the strlen value. Fix comparison
40169 of strings differing in length.
40170
92f33540 401712009-03-30 Robert Millan <rmh@aybabtu.com>
40172
40173 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
40174 checking for abi version. Improve error messages on BIOS to notify
40175 user about `linux16' command.
40176
a8c48fd5 401772009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
40178
f968172e 40179 Leak fixes
a8c48fd5 40180
f968172e 40181 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
40182 in case of collision
40183 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 40184
9c323f09 401852009-03-29 Robert Millan <rmh@aybabtu.com>
40186
40187 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
40188 set `vid_mode' accordingly.
40189 (grub_linux_boot): Process `vid_mode' and set video mode.
40190
ae68f423 401912009-03-29 Robert Millan <rmh@aybabtu.com>
40192
40193 * util/grub.d/10_linux.in (linux_entry): New function.
40194 Factorize generation of Linux boot entries.
40195
5709cfc4 401962009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
40197
40198 Make the format of Environment Block plain text. The boot loader
40199 part is not tested well yet.
7dd4a573 40200
5709cfc4 40201 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
40202 (buffer): Removed.
40203 (envblk): Likewise.
40204 (usage): Remove "info" and "clear". Add "unset". Update the
40205 description of "set", as this does not delete variables any
40206 longer.
40207 (create_envblk_file): Complete rewrite.
40208 (open_envblk_file): Likewise.
40209 (cmd_info): Removed.
40210 (cmd_list): Likewise.
40211 (cmd_set): Likewise.
40212 (cmd_clear): Likewise.
40213 (list_variables): New function.
40214 (write_envblk): Likewise.
40215 (set_variables): Likewise.
40216 (unset_variables): Likewise.
40217 (main): Complete rewrite.
40218
40219 * commands/loadenv.c (buffer): Removed.
40220 (envblk): Likewise.
40221 (open_envblk_file): New function.
40222 (read_envblk_file): Complete rewrite.
40223 (grub_cmd_load_env): Likewise.
40224 (grub_cmd_list_env): Likewise.
40225 (struct blocklist): New struct.
40226 (free_blocklists): New function.
40227 (check_blocklists): Likewise.
40228 (write_blocklists): Likewise.
40229 (grub_cmd_save_env): Complete rewrite.
40230
40231 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
40232 a plain text signature.
40233 (GRUB_ENVBLK_MAXLEN): Removed.
40234 (struct grub_envblk): Complete rewrite.
40235 (grub_envblk_find): Removed.
40236 (grub_envblk_insert): Likewise.
40237 (grub_envblk_open): New prototype.
40238 (grub_envblk_set): Likewise.
40239 (grub_envblk_delete): Put const to VALUE.
40240 (grub_envblk_iterate): Put const to NAME and VALUE.
40241 (grub_envblk_close): New prototype.
40242 (grub_envblk_buffer): New inline function.
40243 (grub_envblk_size): Likewise.
40244
40245 * lib/envblk.c: Include grub/mm.h.
40246 (grub_env_find): Removed.
40247 (grub_envblk_open): New function.
40248 (grub_envblk_close): Likewise.
40249 (escaped_value_len): Likewise.
40250 (find_next_line): Likewise.
40251 (grub_envblk_insert): Removed.
40252 (grub_envblk_set): New function.
40253 (grub_envblk_delete): Complete rewrite.
40254 (grub_envblk_iterate): Likewise.
40255
a9368fd3 402562009-03-28 Robert Millan <rmh@aybabtu.com>
40257
40258 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
40259 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
40260 variables. Use 16-bit loader.
40261 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
40262 loader.
40263 * kern/i386/loader.S (grub_linux_boot): Rename to ...
40264 (grub_linux16_boot): ... this. Update all users.
40265 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
40266 (grub_linux_boot): ... this. Update all users.
40267
40268 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
40269 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
40270 commands to `linux16' and `initrd16'.
40271 (GRUB_MOD_FINI(linux)): Rename to ...
40272 (GRUB_MOD_FINI(linux16)): ... this.
40273
e4dd5a7e 402742009-03-24 Pavel Roskin <proski@gnu.org>
40275
40276 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
40277 not just for compilation.
40278
c04d6e05 402792009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
40280
40281 Move multiboot helper out of kernel
40282
40283 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
40284 `loader/i386/multiboot_helper.S'.
40285 * conf/i386-coreboot.rmk: Likewise
40286 * conf/i386-ieee1275.rmk: Likewise
40287
40288 * kern/i386/loader.S: Move multiboot helpers from here...
40289 * loader/i386/multiboot_helper.S: ...moved here
40290 * include/grub/i386/loader.h: Move declarations of multiboot
40291 helpers from here...
40292 * include/grub/i386/multiboot.h: ...moved here
40293 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
40294
42a5b3fc 402952009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40296
40297 * kern/env.c (grub_env_context_open): Added an argument to specify
40298 whether a new context inherits exported variables from current
40299 one. This is useful when making a sandbox to interpret a config
40300 file.
40301 All callers updated.
40302
40303 * include/grub/env.h (grub_env_context_open): Updated the prototype.
40304
b28bbc4e 403052009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40306
40307 * kern/env.c (grub_env_context_close): Fix memory leaks.
40308
f04f02e4 403092009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40310
40311 * normal/main.c (grub_normal_execute): Added an argument
40312 BATCH to specify if an interactive interface should be provided
40313 after reading a config file.
40314 All callers updated.
40315 (read_command_list): Prevent being executed twice.
40316 (read_fs_list): Likewise.
40317
42a5b3fc 40318 * include/grub/normal.h (grub_normal_execute): Updated the
40319 prototype.
f04f02e4 40320
41473ac2 403212009-03-22 Pavel Roskin <proski@gno.org>
40322
fbc00b0c 40323 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
40324 _start.
40325 * kern/i386/pc/startup.S: Likewise.
40326 * kern/i386/efi/startup.S: Likewise.
40327 * kern/i386/ieee1275/startup.S: Likewise.
40328 * kern/i386/coreboot/startup.S: Likewise.
40329 * kern/x86_64/efi/startup.S: Likewise.
40330
41473ac2 40331 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
40332 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
40333 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
40334
2274cc8f 403352009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
40336
40337 Bugfixes in multiboot for bugs uncovered by solaris kernel.
40338
40339 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
40340 limit detection.
40341 Use vaddr of correct segment for entry_point.
40342
b1b797cb 403432009-03-21 Bean <bean123ch@gmail.com>
40344
40345 * commands/blocklist.c: Add include file <grub/command.h>, remove
40346 <grub/normal.h> and <grub/arg.h>.
40347 (grub_cmd_blocklist): Use the new command interface.
40348 (GRUB_MOD_INIT): Likewise.
40349 (GRUB_MOD_FINI): Likewise.
40350 * commands/boot.c: Likewise.
40351 * commands/cat.c: Likewise.
40352 * commands/cmp.c: Likewise.
40353 * commands/configfile.c: Likewise.
40354 * commands/crc.c: Likewise.
40355 * commands/echo.c: Likewise.
40356 * commands/halt.c: Likewise.
40357 * commands/handler.c: Likewise.
40358 * commands/hdparm.c: Likewise.
40359 * commands/help.c: Likewise.
40360 * commands/hexdump.c: Likewise.
40361 * commands/loadenv.c: Likewise.
40362 * commands/ls.c: Likewise.
40363 * commands/lsmmap.c: Likewise.
40364 * commands/lspci.c: Likewise.
40365 * commands/loadenv.c: Likewise.
40366 * commands/read.c: Likewise.
40367 * commands/reboot.c: Likewise.
40368 * commands/search.c: Likewise.
40369 * commands/sleep.c: Likewise.
40370 * commands/test.c: Likewise.
40371 * commands/usbtest.c: Likewise.
40372 * commands/videotest.c: Likewise.
40373 * commands/i386/cpuid.c: Likewise.
40374 * commands/i386/pc/halt.c: Likewise.
40375 * commands/i386/pc/play.c: Likewise.
40376 * commands/i386/pc/pxecmd.c: Likewise.
40377 * commands/i386/pc/vbeinfo.c: Likewise.
40378 * commands/i386/pc/vbetest.c: Likewise.
40379 * commands/ieee1275/suspend.c: Likewise.
40380 * disk/loopback.c: Likewise.
40381 * font/font_cmd.c: Likewise.
40382 * hello/hello.c: Likewise.
40383 * loader/efi/appleloader.c: Likewise.
40384 * loader/efi/chainloader.c: Likewise.
40385 * loader/i386/bsd.c: Likewise.
40386 * loader/i386/efi/linux.c: Likewise.
40387 * loader/i386/ieee1275/linux.c: Likewise.
40388 * loader/i386/linux.c: Likewise.
40389 * loader/i386/pc/chainloader.c: Likewise.
40390 * loader/i386/pc/linux.c: Likewise.
40391 * loader/powerpc/ieee1275/linux.c: Likewise.
40392 * loader/multiboot_loader.c: Likewise.
40393 * term/gfxterm.c: Likewise.
40394 * term/i386/pc/serial.c: Likewise.
40395 * term/terminfo.c: Likewise.
40396
40397 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
40398 * term/i386/pc/vga.c: Likewise.
40399 * video/readers/jpeg.c: Likewise.
40400 * video/readers/png.c: Likewise.
40401 * video/readers/tga.c: Likewise.
40402
40403 * util/grub-fstest (cmd_loopback): Removed.
40404 (cmd_blocklist): Likewise.
40405 (cmd_ls): Likewise.
40406 (grub_register_command): Likewise.
40407 (grub_unregister_command): Likewise.
40408 (execute_command): Use grub_command_find to locate command and execute
40409 it.
40410
40411 * include/grub/efi/chainloader.h: Removed.
40412 * loader/efi/chainloader_normal.c: Likewise.
40413 * loader/i386/bsd_normal.c: Likewise.
40414 * loader/i386/pc/chainloader_normal.c: Likewise.
40415 * loader/i386/pc/multiboot_normal.c: Likewise.
40416 * loader/linux_normal.c: Likewise.
40417 * loader/multiboot_loader_normal.c: Likewise.
40418 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40419
40420 * gencmdlist.sh: Scan new registration command grub_register_extcmd
40421 and grub_register_command_p1.
40422
40423 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
40424 kern/command.c, lib/arg.c and commands/extcmd.c.
40425 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
40426 (minicmd_mod_SOURCES): New variable.
40427 (minicmd_mod_CFLAGS): Likewise.
40428 (minicmd_mod_LDFLAGS): Likewise.
40429 (extcmd_mod_SOURCES): Likewise.
40430 (extcmd_mod_CFLAGS): Likewise.
40431 (extcmd_mod_LDFLAGS): Likewise.
40432 (boot_mod_SOURCES): Removed.
40433 (boot_mod_CFLAGS): Likewise.
40434 (boot_mod_LDFLAGS): Likewise.
40435
40436 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
40437 kern/corecmd.c.
40438 (kernel_img_HEADERS): Add command.h.
40439 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
40440 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
40441 and lib/arg.c.
40442 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
40443 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
40444 remove the corresponding normal mode command.
40445 (normal_mod_SOURCES): Remove normal/arg.c.
40446 * conf/i386-coreboot.rmk: Likewise.
40447 * conf/i386-efi.rmk: Likewise.
40448 * conf/i386-ieee1275.rmk: Likewise.
40449 * conf/powerpc-ieee1275.rmk: Likewise.
40450 * conf/x86_64-efi.rmk: Likewise.
40451
40452 * include/grub/arg.h: Move from here ...
40453 * include/grub/lib/arg.h: ... to here.
40454
40455 * normal/arg.c: Move from here ...
40456 * lib/arg.c: ... to here.
40457
40458 * commands/extcmd.c: New file.
40459 * commands/minicmd.c: Likewise.
40460 * include/grub/command.h: Likewise.
40461 * include/grub/extcmd.h: Likewise.
40462 * kern/command.c: Likewise.
40463 * kern/corecmd.c: Likewise.
40464
40465 * kern/list.c (grub_list_iterate): Return int instead of void.
40466 (grub_list_insert): New function.
40467 (grub_prio_list_insert): Likewise.
40468
40469 * kern/rescue.c (grub_rescue_command): Removed.
40470 (grub_rescue_command_list): Likewise.
40471 (grub_rescue_register_command): Likewise.
40472 (grub_rescue_unregister_command): Likewise.
40473 (grub_rescue_cmd_boot): Move to minicmd.c
40474 (grub_rescue_cmd_help): Likewise.
40475 (grub_rescue_cmd_info): Likewise.
40476 (grub_rescue_cmd_boot): Likewise.
40477 (grub_rescue_cmd_testload): Likewise.
40478 (grub_rescue_cmd_dump): Likewise.
40479 (grub_rescue_cmd_rmmod): Likewise.
40480 (grub_rescue_cmd_lsmod): Likewise.
40481 (grub_rescue_cmd_exit): Likewise.
40482 (grub_rescue_print_devices): Moved to corecmd.c.
40483 (grub_rescue_print_files): Likewise.
40484 (grub_rescue_cmd_ls): Likewise.
40485 (grub_rescue_cmd_insmod): Likewise.
40486 (grub_rescue_cmd_set): Likewise.
40487 (grub_rescue_cmd_unset): Likewise.
7d074e3c 40488 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 40489 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 40490 commands, remove grub_rescue_register_command calls.
b1b797cb 40491
7d074e3c 40492 * normal/command.c (grub_register_command): Removed.
b1b797cb 40493 (grub_unregister_command): Likewise.
40494 (grub_command_find): Likewise.
40495 (grub_iterate_commands): Likewise.
40496 (rescue_command): Likewise.
40497 (export_command): Moved to corecmd.c.
40498 (set_command): Removed.
40499 (unset_command): Likewise.
40500 (insmod_command): Likewise.
40501 (rmmod_command): Likewise.
40502 (lsmod_command): Likewise.
40503 (grub_command_init): Likewise.
40504
40505 * normal/completion.c (iterate_command): Use cmd->prio to check for
40506 active command.
40507 (complete_arguments): Use grub_extcmd_t structure to find options.
40508 (grub_normal_do_completion): Change function grub_iterate_commands to
40509 grub_command_iterate.
40510
40511 * normal/execute.c (grub_script_execute_cmd): No need to parse
40512 argument here.
40513
40514 * normal/main.c (grub_dyncmd_dispatcher): New function.
40515 (read_command_list): Register unload commands as dyncmd.
40516 (grub_cmd_normal): Use new command interface, register rescue,
40517 unregister normal at entry, register normal, unregister rescue at exit.
40518
40519 * include/grub/list.h (grub_list_test_t): New type.
40520 (grub_list_iterate): Return int instead of void.
40521 (grub_list_insert): New function.
40522 (GRUB_AS_NAMED_LIST_P): New macro.
40523 (GRUB_AS_PRIO_LIST): Likewise.
40524 (GRUB_AS_PRIO_LIST_P): Likewise.
40525 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
40526 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
40527 (grub_prio_list): New structure.
40528 (grub_prio_list_insert): New function.
40529 (grub_prio_list_remove): New inline function.
40530
40531 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
40532 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
40533 (GRUB_COMMAND_FLAG_MENU): Likewise.
40534 (GRUB_COMMAND_FLAG_BOTH): Likewise.
40535 (GRUB_COMMAND_FLAG_TITLE): Likewise.
40536 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
40537 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
40538 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
40539 (grub_command): Likewise.
40540 (grub_register_command): Likewise.
40541 (grub_command_find): Likewise.
40542 (grub_iterate_commands): Likewise.
40543 (grub_command_init): Likewise.
40544 (grub_arg_parse): Likewise.
40545 (grub_arg_show_help): Likewise.
40546
40547 * include/grub/rescue.h (grub_rescue_register_command): Removed.
40548 (grub_rescue_unregister_command): Likewise.
40549
40550 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
40551 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
40552 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
40553
40554 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
40555 grub_rescue_cmd_initrd.
40556 * include/grub/i386/loader.h: Likewise.
40557 * include/grub/x86_64/loader.h: Likewise.
40558
40559 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
40560
1f4147aa 405612009-03-21 Bean <bean123ch@gmail.com>
40562
40563 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
40564 instead of stat in mingw environment.
40565
40566 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
40567
40568 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
40569
40570 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
40571 AC_CONFIG_LINKS.
40572
2156d5ba 405732009-03-21 Bean <bean123ch@gmail.com>
40574
40575 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
40576 out of range error.
40577
177b82ca 405782009-03-18 Michel Dänzer <michel@daenzer.net>
40579
40580 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
40581 checking inode flags for EXT4_EXTENTS_FLAG.
40582
14aad807 405832009-03-18 Robert Millan <rmh@aybabtu.com>
40584
40585 * loader/i386/linux.c: Include `<grub/video.h>' and
40586 `<grub/i386/pc/vbe.h>'..
40587 (grub_linux_setup_video): New function. Loosely based on the EFI one.
40588 (grub_linux32_boot): Attempt to configure video settings with
40589 grub_linux_setup_video().
40590 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
40591 to avoid grub_console_fini() which would step out of graphical mode
40592 unconditionally.
40593
8cf83a27 405942009-03-14 Robert Millan <rmh@aybabtu.com>
40595
40596 Fix build on powerpc.
40597 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
40598
40164e75 405992009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
40600
40601 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
40602 background image command.
40603
c58bc32a 406042009-03-12 Colin D Bennett <colin@gibibit.com>
40605
40606 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
40607 (grub_gfxterm_putchar): Extract pairs of identical calls to
40608 draw_cursor out of conditional blocks.
40609
5415144a 406102009-03-11 Pavel Roskin <proski@gnu.org>
40611
40612 * fs/hfs.c (grub_hfs_strncasecmp): New function.
40613 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
40614
6394042e 406152009-03-11 Robert Millan <rmh@aybabtu.com>
40616
40617 * loader/i386/multiboot_elfxx.c
40618 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
40619
b7b50e5f 406202009-03-11 Felix Zielcke <fzielcke@z-51.de>
40621
40622 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
40623 `kern/handler.c'.
40624
1ca7fc96 406252009-03-11 Robert Millan <rmh@aybabtu.com>
40626
40627 * loader/i386/multiboot.c (code_size): New variable.
40628 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 40629 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 40630 4-byte alignment to MBI and others by increasing
7d074e3c 40631 `boot_loader_name_length' appropriately.
1ca7fc96 40632
40633 * loader/i386/multiboot_elfxx.c
40634 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
40635
a83ea1d2 406362009-03-09 Felix Zielcke <fzielcke@z-51.de>
40637
40638 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
40639 `fs/ext2.c'.
40640
aa9f3bff 406412009-03-08 Robert Millan <rmh@aybabtu.com>
40642
40643 Make loader/i386/linux.c usable on i386-pc again.
40644
40645 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
40646 memory to heap.
40647 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
40648 `#error' stanza.
40649
d8b3b60e 406502009-03-07 Bean <bean123ch@gmail.com>
40651
40652 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
40653 allocation.
40654
b362c9e9 406552009-03-06 Robert Millan <rmh@aybabtu.com>
40656
40657 Fix display issue on terminals with screen size other than 80x25
40658 (e.g. gfxterm with resolution higher than 640x480).
40659
40660 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 40661 position relative to the center of the terminal instead of relying
b362c9e9 40662 on a hardcoded offset.
40663
9304eef1 406642009-03-04 Robert Millan <rmh@aybabtu.com>
40665
40666 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
40667 installed.
40668
40669 * Makefile.in (host_kernel): New variable.
40670 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
40671 scripts instead of just the windows one.
40672 * configure.ac: Initialize and AC_SUBST `host_kernel'.
40673
eabc95fb 406742009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 40675
40676 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
40677 `kern/handler.c'.
40678 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40679 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40680 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40682 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40683 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40684
ceb1223c 406852009-03-04 Felix Zielcke <fzielcke@z-51.de>
40686
40687 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
40688 or if there's no space for the disk label and print the partition number on a
40689 invalid magic.
40690
4910684a 406912009-03-04 Felix Zielcke <fzielcke@z-51.de>
40692
40693 * util/misc.c: Include <time.h>.
40694 (grub_millisleep): New function.
40695
7e9ca17a 406962009-03-04 Bean <bean123ch@gmail.com>
40697
40698 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
40699 another option -mno-red-zone.
40700
40701 * commands/handler.c: Change module description.
40702
40703 * kern/handler.c: Add missing space at the end of description line.
40704
40705 * kern/list.c: Likewise.
40706
f501677c 407072009-03-03 Robert Millan <rmh@aybabtu.com>
40708
40709 Move more components to the relocation area, and fix mbi pointer
40710 handling to use the destination rather than the origin (thanks to
40711 Vladimir Serbinenko for spotting).
40712
40713 * loader/i386/multiboot.c (mbi_dest): New variable.
40714 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
40715 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
40716 relocation area.
40717
9902d047 407182009-03-01 Bean <bean123ch@gmail.com>
40719
50fb7002 40720 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 40721 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
40722 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
40723 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
40724
40725 * loader/i386/efi/linux.c (acpi_guid): New variable.
40726 (acpi_guid): Likewise.
40727 (EBDA_SEG_ADDR): New constant.
40728 (LOW_MEM_ADDR): Likewise.
40729 (FAKE_EBDA_SEG): Likewise.
40730 (fake_bios_data): New function.
40731 (grub_linux_boot): Call fake_bios_data.
40732
71b9f361 407332009-03-01 Bean <bean123ch@gmail.com>
40734
40735 * commands/terminal.c: Removed.
40736
40737 * commands/handler.c: New file.
40738
40739 * include/grub/list.h: Likewise.
40740
40741 * include/grub/handler.h: Likewise.
40742
40743 * kern/list.c: Likewise.
40744
40745 * kern/handler.c: Likewise.
40746
40747 * kern/term.h: Include header file <grub/handler.h>.
40748 (grub_term_input): Move next field to the beginning.
40749 (grub_term_output): Likewise.
40750 (grub_term_input_class): New variable.
40751 (grub_term_output_class): Likewise.
40752 (grub_term_register_input): Changed to inline function.
40753 (grub_term_register_output): Likewise.
40754 (grub_term_unregister_input): Likewise.
40755 (grub_term_unregister_output): Likewise.
40756 (grub_term_set_current_input): Likewise.
40757 (grub_term_set_current_output): Likewise.
40758 (grub_term_get_current_input): Likewise.
40759 (grub_term_get_current_output): Likewise.
40760 (grub_term_iterate_input): Removed.
40761 (grub_term_iterate_output): Likewise.
40762
40763 * kern/term.c (grub_term_list_input): Removed.
40764 (grub_term_list_output): Likewise.
40765 (grub_term_input_class): New variable.
40766 (grub_term_output_class): Likewise.
50fb7002 40767 (grub_cur_term_input): Change variable as macro.
71b9f361 40768 (grub_cur_term_output): Likewise.
40769 (grub_term_register_input): Removed.
40770 (grub_term_register_output): Likewise.
40771 (grub_term_unregister_input): Likewise.
40772 (grub_term_unregister_output): Likewise.
40773 (grub_term_set_current_input): Likewise.
40774 (grub_term_set_current_output): Likewise.
40775 (grub_term_iterate_input): Likewise.
40776 (grub_term_iterate_output): Likewise.
40777 (grub_term_get_current_input): Likewise.
40778 (grub_term_get_current_output): Likewise.
40779
40780 * util/grub-editenv.c: Include header file <grub/handler.h>.
40781 (grub_term_get_current_input): Removed.
40782 (grub_term_get_current_output): Likewise.
40783 (grub_term_input_class): New variable.
50fb7002 40784 (grub_term_output_class): Likewise.
71b9f361 40785
40786 * util/grub-fstest.c (grub_term_get_current_input): Removed.
40787 (grub_term_get_current_output): Likewise.
40788 (grub_term_input_class): New variable.
50fb7002 40789 (grub_term_output_class): Likewise.
71b9f361 40790
40791 * util/grub-probe.c (grub_term_get_current_input): Removed.
40792 (grub_term_get_current_output): Likewise.
40793 (grub_term_input_class): New variable.
50fb7002 40794 (grub_term_output_class): Likewise.
71b9f361 40795
40796 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
40797 (grub_term_get_current_output): Likewise.
40798 (grub_term_input_class): New variable.
50fb7002 40799 (grub_term_output_class): Likewise.
71b9f361 40800
40801 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
40802 (terminal_mod_SOURCES): Likewise.
40803 (terminal_mod_CFLAGS): Likewise.
40804 (terminal_mod_LDFLAGS): Likewise.
40805
40806 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
40807 handler.c.
40808 (kernel_img_SOURCES): Add list.c and handler.c.
40809 (kernel_img_HEADERS): Add list.h and handler.h.
40810
40811 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40812 handler.c.
40813 (kernel_mod_SOURCES): Add list.c and handler.c.
40814 (kernel_mod_HEADERS): Add list.h and handler.h.
40815
40816 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
40817 handler.c.
40818 (kernel_elf_SOURCES): Add list.c and handler.c.
40819 (kernel_elf_HEADERS): Add list.h and handler.h.
40820
40821 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40822 handler.c.
40823 (kernel_elf_SOURCES): Add list.c and handler.c.
40824 (kernel_elf_HEADERS): Add list.h and handler.h.
40825
40826 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40827 handler.c.
40828 (kernel_mod_SOURCES): Add list.c and handler.c.
40829 (kernel_mod_HEADERS): Add list.h and handler.h.
40830
40831 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40832 handler.c.
40833 (kernel_elf_SOURCES): Add list.c and handler.c.
40834 (kernel_elf_HEADERS): Add list.h and handler.h.
40835
8a31787f 408362009-02-27 Robert Millan <rmh@aybabtu.com>
40837
40838 Factorize elf32 / elf64 code in Multiboot loader. This will
40839 prevent it from getting out of sync again.
40840
40841 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
40842 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
40843 grub_multiboot_load_elf64): Move from here ...
40844 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
40845 grub_multiboot_load_elf): ... to here (new file).
40846
51cd3dfc 408472009-02-27 Robert Millan <rmh@aybabtu.com>
40848
40849 * util/grub.d/10_linux.in: Rename "single-user mode" to
40850 "recovery mode".
40851
6e8c9c3a 408522009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
40853
40854 Don't leak in SCSI code.
40855 * disk/scsi.c (grub_scsi_close): free `scsi'.
40856
4b6bf4f9 408572009-02-27 Robert Millan <rmh@aybabtu.com>
40858
40859 * loader/i386/pc/multiboot.c: Move from here ...
40860 * loader/i386/multiboot.c: ... to here. Update all users.
40861
b9413424 408622009-02-27 Robert Millan <rmh@aybabtu.com>
40863
40864 Patch from Alexandre Bique <bique.alexandre@gmail.com>
40865 * util/i386/pc/grub-setup.c (setup): Fix directory path.
40866
50fb7002 408672009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 40868
40869 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
40870 b-tree.
40871
8cc50345 408722009-02-27 Robert Millan <rmh@aybabtu.com>
40873
40874 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
40875 `0x' qualifier as 0 when base is specified as parameter).
40876
6e09b8b7 408772009-02-24 Bean <bean123ch@gmail.com>
40878
40879 * configure.ac: Check for -mcmodel=large in x86_64 target.
40880
40881 * include/grub/efi/api.h (efi_call_10): New macro.
40882 (efi_wrap_10): New function.
40883
40884 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
40885 (GRUB_PE32_REL_BASED_HIGH): Likewise.
40886 (GRUB_PE32_REL_BASED_LOW): Likewise.
40887 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
40888 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
40889 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
40890 (GRUB_PE32_REL_BASED_SECTION): Likewise.
40891 (GRUB_PE32_REL_BASED_REL): Likewise.
40892 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
40893 (GRUB_PE32_REL_BASED_DIR64): Likewise.
40894 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
40895
40896 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
40897 issue.
40898
40899 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
40900 (efi_wrap_10): New function.
40901
40902 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
40903
40904 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
40905 MB/MBP model (NV chipset).
40906 (devdata_devs): Add devpath_5 to the list.
40907
40908 * load/i386/efi/linux.c (video_base): Remove variable.
40909 (RGB_MASK): New macro.
40910 (RGB_MAGIC): Likewise.
40911 (LINE_MIN): Likewise.
40912 (LINE_MAX): Likewise.
40913 (FBTEST_STEP): Likewise.
40914 (FBTEST_COUNT): Likewise.
40915 (fb_list): New variable.
40916 (grub_find_video_card): Remove function.
40917 (find_framebuf): New function.
40918 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
40919 line length.
40920
40921 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
40922 problem for x86_64.
40923
74b21bee 409242009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
40925
40926 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
40927
40928 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
40929 coding tool name.
40930
a455f472 409312009-02-22 Robert Millan <rmh@aybabtu.com>
40932
40933 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
40934 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
40935 in our relocation, instead of using it directly from heap. Also
40936 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
40937
6374daf3 409382009-02-21 Robert Millan <rmh@aybabtu.com>
40939
40940 Implement USB keyboard support (based on patch by Marco Gerards)
40941
40942 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
40943 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
40944 (usb_keyboard_mod_LDFLAGS): New variables.
40945
40946 * term/usb_keyboard.c: New file.
40947
8fa4ea70 409482009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
40949
40950 Corrected wrong declaration
40951
40952 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
40953
353976ac 409542009-02-14 Christian Franke <franke@computer.org>
40955
40956 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
40957 (grub_lspci_iter): Print class code and programming interface byte.
40958
6aa1169b 409592009-02-14 Christian Franke <franke@computer.org>
40960
40961 * gendistlist.sh: Ignore `.svn' directories.
40962
265372ca 409632009-02-14 Felix Zielcke <fzielcke@z-51.de>
40964
40965 * fs/fat.c: Add 2009 to Copyright line.
40966
9ff516f3 409672009-02-14 Christian Franke <franke@computer.org>
40968
40969 * commands/hdparm.c: New file. Provides `hdparm' command
40970 which sends ATA commands via grub_disk_ata_pass_through ().
40971
40972 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
40973
40974 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
40975 and <grub/cpu/io.h> to include/grub/ata.h.
40976 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
40977 (GRUB_CDROM_SECTOR_SIZE): Remove.
40978 (GRUB_ATA_*): Move to include/grub/ata.h.
40979 (GRUB_ATAPI_*): Likewise.
40980 (enum grub_ata_commands): Likewise.
40981 (enum grub_ata_timeout_milliseconds): Likewise.
40982 (struct grub_ata_device): Likewise.
40983 (grub_ata_regset): Likewise.
40984 (grub_ata_regget): Likewise.
40985 (grub_ata_regset2): Likewise.
40986 (grub_ata_regget2): Likewise.
40987 (grub_ata_check_ready): Likewise.
40988 (grub_ata_wait_not_busy): Remove static, exported in
40989 include/grub/ata.h.
40990 (grub_ata_wait_drq): Likewise.
40991 (grub_ata_pio_read): Likewise.
40992
40993 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
40994 function for hdparm.mod.
40995
40996 * include/grub/ata.h: New file, contains declarations from
40997 disk/ata.c.
40998 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
40999
41000 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
41001 (grub_disk_ata_pass_through): New exported variable.
41002
41003 * kern/disk.c (grub_disk_ata_pass_through): New variable.
41004
772e23da 410052009-02-13 Colin D Bennett <colin@gibibit.com>
41006
41007 Support multiple fallback entries, and provide an API to support
41008 executing default+fallback menu entries. Renamed the `terminal' menu
41009 viewer to `text'.
41010
41011 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
41012 variable declaration.
41013 (grub_menu_execute_callback): New structure declaration.
41014 (grub_menu_execute_callback_t): New typedef.
41015 (grub_menu_execute_with_fallback): New function declaration.
41016 (grub_menu_get_entry): Likewise.
41017 (grub_menu_get_timeout): Likewise.
41018 (grub_menu_set_timeout): Likewise.
41019
41020 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
41021
41022 * normal/menu.c (grub_wait_after_message): Moved to
41023 `normal/menu_text.c'.
41024 (draw_border): Likewise.
41025 (print_message): Likewise.
41026 (print_entry): Likewise.
41027 (print_entries): Likewise.
41028 (grub_menu_init_page): Likewise.
41029 (get_entry_number): Likewise.
41030 (print_timeout): Likewise.
41031 (run_menu): Likewise.
41032 (grub_menu_execute_entry): Likewise.
41033 (show_text_menu): Likewise.
41034 (get_and_remove_first_entry_number): New function.
41035 (grub_menu_execute_with_fallback): Likewise.
41036 (get_entry): Renamed to ...
41037 (grub_menu_get_entry): .. this and made it global.
41038 (get_timeout): Renamed to ...
41039 (grub_menu_get_timeout): ... this and made it global.
41040 (set_timeout): Renamed to ...
41041 (grub_menu_set_timeout): ... this and made it global.
41042 (grub_normal_terminal_menu_viewer): Renamed to ...
41043 (grub_normal_text_menu_viewer): ... this.
41044
41045 * normal/menu_text.c: New file. Extracted text-menu-specific code
41046 from normal/menu.c.
41047
41048 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
41049 (normal_mod_SOURCES): Likewise.
41050
41051 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41052 (normal_mod_SOURCES): Likewise.
41053
41054 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41055 (normal_mod_SOURCES): Likewise.
41056
41057 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
41058 (normal_mod_SOURCES): Likewise.
41059
41060 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41061 (normal_mod_SOURCES): Likewise.
41062
41063 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41064 (normal_mod_SOURCES): Likewise.
41065
41066 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41067 (normal_mod_SOURCES): Likewise.
41068
16ac430e 410692009-02-11 Robert Millan <rmh@aybabtu.com>
41070
41071 * util/grub.d/00_header.in: Update old reference to `font' command.
41072
06ff20fc 410732009-02-10 Felix Zielcke <fzielcke@z-51.de>
41074
41075 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
41076
41077 Based on patch from Javier Martín.
41078
96da9407 410792009-02-09 Felix Zielcke <fzielcke@z-51.de>
41080
41081 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 41082 to avoid false positives with FAT.
96da9407 41083 (grub_fstest_SOURCES): Likewise.
41084 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41085 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41087 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
41088 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41089 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41090
6dca6fe4 410912009-02-09 Felix Zielcke <fzielcke@z-51.de>
41092
06ff20fc 41093 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 41094 bpb.version_specific.fat12_or_fat16.fstype and
41095 bpb.version_specific.fat32.fstype.
41096
2550c62f 410972009-02-08 Robert Millan <rmh@aybabtu.com>
41098
be110b30 41099 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 41100
56978920 411012009-02-08 Robert Millan <rmh@aybabtu.com>
41102
41103 * Makefile.in (host_os, host_cpu): New variables.
41104 (target_os): Remove. Update all users.
41105
d64399b5 411062009-02-08 Marco Gerards <marco@gnu.org>
41107
41108 * Makefile.in (enable_grub_emu_usb): New variable.
41109 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
41110 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
41111 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
41112 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
41113 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
41114 `usbtest.mod' and `usbms.mod'.
41115 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
41116 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
41117 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
41118 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
41119 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
41120 variables.
41121
41122 * disk/usbms.c: New file.
41123
41124 * include/grub/usb.h: Likewise.
41125
41126 * include/grub/usbtrans.h: Likewise.
41127
41128 * include/grub/usbdesc.h: Likewise.
41129
41130 * bus/usb/usbtrans.c: Likewise.
41131
41132 * bus/usb/ohci.c: Likewise.
41133
41134 * bus/usb/uhci.c: Likewise.
41135
41136 * bus/usb/usbhub.c: Likewise.
41137
41138 * bus/usb/usb.c: Likewise.
41139
41140 * commands/usbtest.c: Likewise.
41141
41142 * util/usb.c: Likewise.
50fb7002 41143
d64399b5 41144 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
41145
41146 * configure.ac: Test for libusb presence.
50fb7002 41147
d64399b5 41148 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
41149
2b40d6bb 411502009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
41151
41152 * kern/mm.c: Add more comments.
41153
73a4ce81 411542009-02-08 Robert Millan <rmh@aybabtu.com>
41155
41156 Patch from Javier Martín.
41157 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
41158 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
41159
f821ce59 411602009-02-08 Robert Millan <rmh@aybabtu.com>
41161
41162 * fs/cpio.c: Split tar functionality to ...
41163 * fs/tar.c: ... here (new file). Update all users.
41164
aebfc4b0 411652009-02-07 Robert Millan <rmh@aybabtu.com>
41166
41167 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
41168 backward-incompatible features.
41169
41170 Based on patch from Javier Martín, with some adjustments.
41171
50fb7002 411722009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 41173
41174 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
41175
0bb5115e 411762009-02-07 Robert Millan <rmh@aybabtu.com>
41177
41178 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
41179 position of `disk/lvm.c' to ensure grub_init_all() always picks it
41180 after the RAID stuff.
41181
38a0f8e7 411822009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
41183
50fb7002 41184 Fixes problem when running vbetest command as reported by
38a0f8e7 41185 Vladimir Serbinenko <phcoder@gmail.com>.
41186
41187 * (grub_vbe_set_video_mode): Fixed problem with text modes.
41188
3143cc1c 411892009-02-04 Felix Zielcke <fzielcke@z-51.de>
41190
41191 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
41192 /dev/md/NpN style mdraid devices.
41193
9cba6fce 411942009-02-03 Felix Zielcke <fzielcke@z-51.de>
41195
41196 * util/unifont2pff.rb: Remove.
41197
e507a2c1 411982009-02-03 Felix Zielcke <fzielcke@z-51.de>
41199
41200 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
41201 `#'.
41202
d2c2b4cd 412032009-02-03 Felix Zielcke <fzielcke@z-51.de>
41204
41205 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
41206 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41207 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41208 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
41209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41210 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41211 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41212
b4315fb0 412132009-02-02 Christian Franke <franke@computer.org>
41214
41215 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
41216
de3aa260 412172009-02-01 Felix Zielcke <fzielcke@z-51.de>
41218
7c3ff286 41219 * INSTALL: Note that we now require at least autoconf 2.59 and
41220 that LZO is optional.
de3aa260 41221
825a182b 412222009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41223
41224 Base on patch on bug #24154 created by Tomas Tintera
41225 <trosos@seznam.cz>.
41226
41227 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
41228
a69ef770 412292009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41230
7c3ff286 41231 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 41232 <bero@arklinux.org>.
41233
41234 * normal/parser.y (script_init): Add missing semicolon.
41235
6fa42fa6 412362009-01-31 Colin D Bennett <colin@gibibit.com>
41237
7c3ff286 41238 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 41239 (free_menu_entry_classes): Added.
41240 (grub_normal_menu_addentry): Added class property handling.
41241 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
41242 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
41243
41244 * normal/menu_viewer.c: New file.
41245
41246 * normal/menu.c (run_menu_entry): Renamed to ...
41247 (grub_menu_execute_entry): ... this and made it as global.
41248 (grub_menu_run): Renamed to ...
41249 (show_text_menu): ... this and made it local.
41250 (show_text_menu): Adapt to new function names.
41251 (grub_normal_terminal_menu_viewer): New global variable.
41252
41253 * include/grub/menu.h: New file.
41254
41255 * include/grub/menu_viewer.h: New file.
41256
41257 * include/grub/normal.h: Added include to grub/menu.h.
41258 (grub_menu_entry): Moved to include/grub/menu.h.
41259 (grub_menu_entry_t): Likewise.
41260 (grub_menu): Likewise.
41261 (grub_menu_t): Likewise.
41262 (grub_normal_terminal_menu_viewer): Added.
41263 (grub_menu_execute_entry): Likewise.
41264 (grub_menu_run): Removed.
41265
41266 * DISTLIST: Added include/grub/menu.h.
41267 Added include/grub/menu_viewer.h.
41268 Added normal/menu_viewer.c.
41269
412702009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
41271
41272 * normal/execute.c (grub_script_execute_menuentry): Changed to use
41273 arglist for menutitle arguments.
41274
41275 * normal/main.c (grub_normal_menu_addentry): Likewise.
41276
41277 * normal/parser.y (menuentry): Likewise.
41278
41279 * normal/script.c (grub_script_create_cmdmenu): Likewise.
41280
41281 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
41282 (grub_script_create_cmdmenu): Likewise.
41283
41284 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
41285
41286 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
41287 changes.
41288
41289 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
41290
41291 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
41292
41293 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
41294
41295 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41296
41297 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41298
41299 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41300
56192c23 413012009-01-30 Christian Franke <franke@computer.org>
41302
41303 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
41304 in option help text.
41305
d72521b3 413062009-01-27 Pavel Roskin <proski@gnu.org>
41307
41308 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
41309
994b5e84 413102009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41311
41312 * commands/lsmmap.c: Add include to grub/machine/memory.h.
41313
41314 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
41315
41316 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
41317 unregister function.
41318
6a7eab2c 413192009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41320
41321 * disk/scsi.c (grub_scsi_read): Fix sign problem.
41322
41323 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
41324
41325 * util/grub-mkfont.c (usage): Fix typo.
41326
41327 * util/elf/grub-mkimage.c (load_modules): Fix warning.
41328
1806b56e 413292009-01-26 Daniel Mierswa <impulze@impulze.org>
41330
3fb18f09 41331 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
41332
336e1fb9 41333 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
41334
1806b56e 41335 * kern/misc.c (grub_strcasecmp): New function.
41336 (grub_strcasecmp): Use grub_size_t instead of int for length.
41337 Fix return value.
41338 * include/grub/misc.h: Update function prototypes.
41339
580b2a0f 413402009-01-26 Robert Millan <rmh@aybabtu.com>
41341
41342 * configure.ac: Fix cross-compilation check.
ef257b36 41343
d31c24f1 413442009-01-22 Christian Franke <franke@computer.org>
41345
41346 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
41347 (precision) digit string. Allow `.format2' without `format1' (width).
41348 Limit input chars for `%s' output to `format2' if specified. This is
41349 compatible with standard printf ().
41350
3138b44c 413512009-01-22 Christian Franke <franke@computer.org>
41352
41353 * disk/ata.c (grub_ata_wait_status): Replace by ...
41354 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
41355 other status bits may be invalid while BSY is asserted.
41356 (grub_ata_check_ready): New function.
41357 (grub_ata_cmd): Removed.
41358 (grub_ata_wait_drq): New function.
41359 (grub_ata_strncpy): Remove inline.
41360 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
41361 and error check now done by grub_ata_wait_drq ().
41362 (grub_ata_pio_write): Likewise.
41363 (grub_atapi_identify): Set DEV before check for !BSY. Use
41364 grub_ata_wait_drq () to wait for data.
41365 (grub_ata_device_initialize): Add status register check to
41366 detect missing SATA slave devices. Add debug messages.
41367 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
41368 (grub_atapi_packet): Set DEV before check for !BSY. Replace
41369 transfer loop by grub_ata_pio_write ().
41370 (grub_ata_identify): Set DEV before check for !BSY. Use
41371 grub_ata_wait_drq () to wait for data.
ef257b36 41372 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 41373 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
41374 read/write in one loop. Fix invalid command on write. Fix incomplete
41375 command on (size % batch) == 0. Add missing error check after write of
41376 last block. Add debug messages.
41377 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
41378
59a64ef6 413792009-01-19 Christian Franke <franke@computer.org>
41380
41381 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
41382 (GRUB_ATAPI_IREASON_*): Likewise.
41383 (grub_ata_pio_write): Fix timeout error return.
41384 (grub_atapi_identify): Add grub_ata_wait () after cmd.
41385 (grub_atapi_wait_drq): New function.
41386 (grub_atapi_packet): New parameter `size'.
41387 Use grub_atapi_wait_drq () and direct write instead of
41388 grub_ata_pio_write ().
41389 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
41390 reads the number of bytes requested by the device for each DRQ
41391 assertion.
41392 (grub_atapi_write): Remove old implementation, return not
41393 implemented instead.
41394
1cfe20b3 413952009-01-19 Christian Franke <franke@computer.org>
41396
41397 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
41398 of 512 to calculate data size.
41399 (grub_scsi_read12): Likewise.
41400 (grub_scsi_write10): Likewise.
41401 (grub_scsi_write12): Likewise.
41402 (grub_scsi_read): Adjust size according to blocksize.
41403 Add checks for invalid blocksize and unaligned transfer.
41404
bee5fe5d 414052009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
41406
41407 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
41408
ef257b36 41409 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 41410 width glyphs.
41411
3e643f8c 414122009-01-19 Robert Millan <rmh@aybabtu.com>
41413
41414 * config.guess: Update to latest version from config git.
41415 * config.sub: Likewise.
41416
4fa80998 414172009-01-17 Felix Zielcke <fzielcke@z-51.de>
41418
41419 * Makefile.in: Change font compilation to use new grub-mkfont instead
41420 of java version.
41421
41422 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
41423 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41424 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41425 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41426 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41427 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41428 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41429 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41430 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41431
7086085b 414322009-01-16 Christian Franke <franke@computer.org>
41433
41434 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
41435 (enum grub_ata_timeout_milliseconds): New enum.
41436 (grub_ata_wait_status): Add parameter milliseconds.
41437 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
41438 recovery from timed-out commands.
41439 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
41440 return grub_errno instead of REG_ERROR.
41441 (grub_ata_pio_write): Add parameter milliseconds.
41442 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
41443 Pass milliseconds to grub_ata_wait_status () and
41444 grub_ata_pio_read ().
41445 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
41446 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
41447 grub_ata_wait_status (). Fix IDENTIFY timeout check.
41448 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
41449 It is not suitable for device detection, because DEV bit is ignored,
41450 the command may run too long, and not all devices set the signature
41451 properly.
41452 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
41453 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
41454 Fix device selection, DEV bit must be set first to address the registers
41455 of the correct device.
41456 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
41457 grub_ata_pio_read/write ().
41458 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
41459 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
41460
4a412913 414612009-01-13 Carles Pina i Estany <carles@pina.cat>
41462
41463 * util/grub-editenv.c (main): Use fseeko(), not fseek().
41464
7795c55e 414652009-01-13 Bean <bean123ch@gmail.com>
d913988c 41466
41467 * util/grub-mkfont.c (write_font): forget to remove some debug code.
41468
7795c55e 414692009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 41470
41471 * Makefile.in: (enable_grub_mkfont): New variable.
41472 (freetype_cflags): Likewise.
41473 (freetype_libs): Likewise.
41474
41475 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
41476 (grub_mkfont_SOURCES): New variable.
41477 (grub_mkfont_CFLAGS): Likewise.
41478 (grub_mkfont_LDFLAGS): Likewise.
41479
41480 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
41481 library if `--enable-grub-mkfont' is requested.
41482 (enable_grub_mkfont): New variable.
41483 (freetype_cflags): Likewise.
41484 (freetype_libs): Likewise.
41485
41486 * util/grub-mkfont.c: New file.
41487
093af1fe 414882009-01-12 Christian Franke <franke@computer.org>
41489
41490 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
41491 mode check. Fix setting of compat_use[].
41492
f36cc108 414932009-01-10 Robert Millan <rmh@aybabtu.com>
41494
41495 Update a few copyright years which we forgot to do in 2008 (only for
41496 files whose changes made in 2008 were copyright-significant)
41497
41498 * Makefile.in: Add 2008 to Copyright line.
41499 * disk/ieee1275/ofdisk.c: Likewise.
41500 * disk/efi/efidisk.c: Likewise.
41501 * kern/dl.c: Likewise.
41502 * kern/sparc64/ieee1275/init.c: Likewise.
41503 * kern/mm.c: Likewise.
41504 * kern/efi/mm.c: Likewise.
41505 * boot/i386/pc/boot.S: Likewise.
41506 * genfslist.sh: Likewise.
41507 * fs/iso9660.c: Likewise.
41508 * fs/hfs.c: Likewise.
41509 * fs/jfs.c: Likewise.
41510 * fs/minix.c: Likewise.
41511 * fs/ufs.c: Likewise.
41512 * gensymlist.sh.in: Likewise.
41513 * genkernsyms.sh.in: Likewise.
41514 * include/grub/misc.h: Likewise.
41515 * include/grub/types.h: Likewise.
41516 * include/grub/symbol.h: Likewise.
41517 * include/grub/elf.h: Likewise.
41518 * include/grub/kernel.h: Likewise.
41519 * include/grub/disk.h: Likewise.
41520 * include/grub/dl.h: Likewise.
41521 * include/grub/i386/linux.h: Likewise.
41522 * include/grub/i386/pc/biosdisk.h: Likewise.
41523 * include/grub/efi/api.h: Likewise.
41524 * include/grub/efi/pe32.h: Likewise.
41525 * include/grub/util/misc.h: Likewise.
41526 * normal/execute.c: Likewise.
41527 * normal/arg.c: Likewise.
41528 * normal/completion.c: Likewise.
41529 * normal/lexer.c: Likewise.
41530 * normal/parser.y: Likewise.
41531 * normal/misc.c: Likewise.
41532 * commands/i386/pc/vbeinfo.c: Likewise.
41533 * commands/hexdump.c: Likewise.
41534 * commands/terminal.c: Likewise.
41535 * commands/ls.c: Likewise.
41536 * commands/help.c: Likewise.
41537 * partmap/pc.c: Likewise.
41538 * loader/efi/chainloader.c: Likewise.
41539 * loader/multiboot_loader.c: Likewise.
41540 * loader/i386/pc/multiboot2.c: Likewise.
41541 * term/efi/console.c: Likewise.
41542 * term/i386/pc/serial.c: Likewise.
41543 * util/lvm.c: Likewise.
41544 * util/console.c: Likewise.
41545 * util/i386/efi/grub-mkimage.c: Likewise.
41546 * util/raid.c: Likewise.
41547
7f02114b 415482009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
41549
41550 * commands/videotest.c: Removed include to grub/machine/memory.h.
41551
41552 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
41553 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
41554 (video_mod_SOURCES): Removed.
41555 (video_mod_CFLAGS): Likewise.
41556 (video_mod_LDFLAGS): Likewise.
41557 (gfxterm_mod_SOURCES): Likewise.
41558 (gfxterm_mod_CFLAGS): Likewise.
41559 (gfxterm_mod_LDFLAGS): Likewise.
41560 (videotest_mod_SOURCES): Likewise.
41561 (videotest_mod_CFLAGS): Likewise.
41562 (videotest_mod_LDFLAGS): Likewise.
41563 (bitmap_mod_SOURCES): Likewise.
41564 (bitmap_mod_CFLAGS): Likewise.
41565 (bitmap_mod_LDFLAGS): Likewise.
41566 (tga_mod_SOURCES): Likewise.
41567 (tga_mod_CFLAGS): Likewise.
41568 (tga_mod_LDFLAGS): Likewise.
41569 (jpeg_mod_SOURCES): Likewise.
41570 (jpeg_mod_CFLAGS): Likewise.
41571 (jpeg_mod_LDFLAGS): Likewise.
41572 (png_mod_SOURCES): Likewise.
41573 (png_mod_CFLAGS): Likewise.
41574 (png_mod_LDFLAGS): Likewise.
41575
41576 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
41577 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
41578 (video_mod_SOURCES): Added.
41579 (video_mod_CFLAGS): Likewise.
41580 (video_mod_LDFLAGS): Likewise.
41581 (videotest_mod_SOURCES): Likewise.
41582 (videotest_mod_CFLAGS): Likewise.
41583 (videotest_mod_LDFLAGS): Likewise.
41584 (bitmap_mod_SOURCES): Likewise.
41585 (bitmap_mod_CFLAGS): Likewise.
41586 (bitmap_mod_LDFLAGS): Likewise.
41587 (tga_mod_SOURCES): Likewise.
41588 (tga_mod_CFLAGS): Likewise.
41589 (tga_mod_LDFLAGS): Likewise.
41590 (jpeg_mod_SOURCES): Likewise.
41591 (jpeg_mod_CFLAGS): Likewise.
41592 (jpeg_mod_LDFLAGS): Likewise.
41593 (png_mod_SOURCES): Likewise.
41594 (png_mod_CFLAGS): Likewise.
41595 (png_mod_LDFLAGS): Likewise.
41596 (gfxterm_mod_SOURCES): Likewise.
41597 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 41598 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 41599
41600 * term/gfxterm.c: Removed include to grub/machine/memory.h,
41601 grub/machine/console.h.
41602
644fff97 416032009-01-04 Jerone Young <jerone@gmail.com>
41604
41605 Make on screen instructions clearer
41606
41607 Based on patch created by Jidanni <jidanni@jidanni.org>
41608
41609 * normal/menu.c: print clearer instructions on the screen
41610
1e901a75 416112009-01-02 Colin D Bennett <colin@gibibit.com>
41612
41613 New font engine.
34c44600 41614
1e901a75 41615 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
41616 build system and fixed gfxterm.c to work with different sized fonts.
41617
41618 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 41619
1e901a75 41620 * configure: Re-generated.
34c44600 41621
1e901a75 41622 * DISTLIST: Removed font/manager.c.
41623 Added font/font.c.
41624 Added font/font_cmd.c.
34c44600 41625
1e901a75 41626 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
41627 compilation.
34c44600 41628
1e901a75 41629 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 41630
41631 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 41632
41633 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 41634
1e901a75 41635 * normal/menu.c: Likewise.
34c44600 41636
1e901a75 41637 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
41638 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 41639
1e901a75 41640 * include/grub/font.h: Replaced with new file.
34c44600 41641
1e901a75 41642 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
41643 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
41644 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
41645 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
41646 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 41647 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 41648 fg_red, fg_green, fg_blue, fg_alpha.
41649 (grub_video_adapter): Removed blit_glyph.
34c44600 41650 (grub_video_blit_glyph): Removed.
41651
1e901a75 41652 * font/manager.c: Removed file.
34c44600 41653
41654 * font/font.c: New file.
41655
1e901a75 41656 * font/font_cmd.c: Likewise.
34c44600 41657
1e901a75 41658 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 41659
1e901a75 41660 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
41661 (grub_video_vbe_map_rgba): Likewise.
41662 (grub_video_vbe_unmap_color_int): Likewise.
41663 (grub_video_vbe_blit_glyph): Removed.
41664 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 41665
1e901a75 41666 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
41667 (get_pixel): Likewise.
34c44600 41668 (set_pixel): Likewise.
41669
1e901a75 41670 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 41671
1e901a75 41672 * term/gfxterm.c: Adapted to new font engine.
34c44600 41673
1e901a75 41674 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 41675
1e901a75 41676 * term/i386/pc/vga.c: Likewise.
34c44600 41677
1e901a75 41678 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 41679
1e901a75 41680 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 41681
1e901a75 41682 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 41683
1e901a75 41684 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 41685
1e901a75 41686 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 41687
1e901a75 41688 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 41689
1e901a75 41690 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 41691
1e901a75 41692 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 41693
1e901a75 41694 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41695
41696 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 41697
1e901a75 41698 * util/grub-mkconfig_lib.in: Changed font extension.
41699
278922e8 417002008-12-28 Felix Zielcke <fzielcke@z-51.de>
41701
41702 * util/getroot.c (grub_util_get_grub_dev): Add support for
41703 /dev/md/dNNpNN style partitionable mdraid devices.
41704
3ced05cf 417052008-12-12 Alex Smith <alex@alex-smith.me.uk>
41706
41707 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
41708 at a time limit of the PXE TFTP API correctly.
41709 (grub_pxefs_close): Likewise.
41710
7fd0ee30 417112008-11-29 Robert Millan <rmh@aybabtu.com>
41712
34c44600 41713 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 41714 grub_ata_device_initialize() calls.
41715
34c44600 417162008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 41717
41718 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
41719 iteration failed.
41720 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
41721
89313780 417222008-11-28 Robert Millan <rmh@aybabtu.com>
41723
41724 Fix build on powerpc-ieee1275. Based on patch created by
41725 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
41726 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41727 `kern/ieee1275/mmap.c'.
41728 * include/grub/powerpc/ieee1275/memory.h: New file.
41729
15257703 41730 Provide grub-install on coreboot.
41731 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
41732 (grub_install_SOURCES): New variable.
41733 * util/i386/pc/grub-install.in: Add a few condition checks to make it
41734 usable on coreboot.
41735
9fc5388a 417362008-11-25 Felix Zielcke <fzielcke@z-51.de>
41737
41738 * util/grub-fstest.c (grub_term_get_current_input): Change return type
41739 to `grub_term_input_t'.
41740 (grub_term_get_current_output): Change return type to
41741 `grub_term_output_t'.
41742
bc3a2f31 417432008-11-22 Robert Millan <rmh@aybabtu.com>
41744
34c44600 41745 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 41746 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
41747 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
41748 grub_vga_text_cls().
41749
80fc88f2 41750 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 41751 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 41752
cbf36fd3 41753 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
41754 to 0x200000 (avoids trouble with some OFW implementations, and matches
41755 with the one in Yaboot).
41756 Reported by Manoel Abranches
41757
73e8e268 417582008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 41759
41760 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
41761 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
41762
73e8e268 41763 * util/grub-mkconfig_lib.in (grub_warn): New function.
41764 (convert_system_path_to_grub_path): Use grub_warn() when issuing
41765 warnings, to obtain consistent formatting.
41766 * util/grub.d/00_header.in: Likewise.
41767 * util/update-grub_lib.in: Likewise.
41768
e94045a1 41769 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 41770 Move comment text to `#error' stanza.
e94045a1 41771
79d29fd7 41772 Harmonize ieee1275's grub_available_iterate() with the generic
41773 grub_machine_mmap_iterate() interface (fixes a recently-introduced
41774 build problem on i386-ieee1275):
41775 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
41776 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
41777 parameter `type'. Update all users of this function.
41778 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41779 `kern/ieee1275/mmap.c'.
41780 * kern/ieee1275/init.c
41781 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
41782 with ...
41783 (grub_machine_mmap_iterate): ... this.
41784 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
41785 return type to `grub_err_t'. Update all implementations of this
41786 function prototype.
41787 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
41788 Likewise.
41789
60d6b16e 41790 Add `lsmmap' command (lists firmware-provided memory map):
41791 * commands/lsmmap.c: New file.
41792 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
41793 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
41794 variables.
41795 * conf/powerpc-ieee1275.rmk: Likewise.
41796 * conf/i386-coreboot.rmk: Likewise.
41797 * conf/i386-ieee1275.rmk: Likewise.
41798
ebaaf49b 417992008-11-19 Robert Millan <rmh@aybabtu.com>
41800
41801 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 41802 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
41803 constraints to initrd allocation (based on code from
41804 loader/i386/pc/linux.c). Without them, initrd was allocated too high
41805 for Linux to find it.
ebaaf49b 41806
dfab719f 418072008-11-14 Robert Millan <rmh@aybabtu.com>
41808
41809 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
41810 order to cope with duplicate slashes.
41811
10fc3eb9 418122008-11-14 Robert Millan <rmh@aybabtu.com>
41813
41814 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
41815 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
41816 don't want to mess with lower memory, because it is used in the Linux
41817 loader.
41818
41819 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 41820 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 41821 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
41822 is in our heap (probably as a result of it being corrupted during
2f2a3442 41823 decompression). Add #error instance with comment to explain why this
41824 loader isn't currently usable on PC/BIOS.
10fc3eb9 41825
e2e07847 418262008-11-14 Robert Millan <rmh@aybabtu.com>
41827
41828 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 41829 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 41830
fe8e8d69 418312008-11-12 Robert Millan <rmh@aybabtu.com>
41832
41833 Make loader/i386/linux.c buildable on i386-pc (although disabled).
41834
41835 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
41836 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
41837 from here ...
41838 * include/grub/i386/pc/memory.h: ... to here.
41839
976b07d0 418402008-11-12 Robert Millan <rmh@aybabtu.com>
41841
41842 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
41843 split).
41844
41845 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
41846 (grub_console_cur_color, grub_console_real_putchar)
41847 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41848 (grub_console_setcolorstate, grub_console_setcolor)
41849 (grub_console_getcolor): Move from here ...
41850 * include/grub/i386/vga_common.h: ... to here (new file).
41851
41852 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
41853 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
41854 `<grub/i386/io.h>'.
41855 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
41856 `<grub/i386/vga_common.h>'.
41857
76679cd3 418582008-11-12 Robert Millan <rmh@aybabtu.com>
41859
41860 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
41861 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
41862 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
41863 variables.
41864 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41865 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
41866
41867 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
41868 grub_console_init() with call to grub_vga_text_init().
41869 (grub_machine_fini): Replace call to
41870 grub_console_fini() with call to grub_vga_text_fini() and
41871 grub_at_keyboard_fini().
41872
41873 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
41874 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41875 (grub_console_setcolorstate, grub_console_setcolor)
41876 (grub_console_getcolor): New function prototypes.
41877
41878 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
41879 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
41880 (grub_vga_text_setcursor): Static-ize.
41881 (grub_vga_text_term): New structure.
41882 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
41883
41884 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
41885 (grub_console_cur_color, grub_console_standard_color)
41886 (grub_console_normal_color, grub_console_highlight_color)
41887 (map_char, grub_console_putchar, grub_console_getcharwidth)
41888 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
41889 (grub_console_getcolor): Move from here ...
41890 * term/i386/vga_common.c: ... to here (same function names).
41891
95b841d3 418922008-11-12 Robert Millan <rmh@aybabtu.com>
41893
41894 Use newly-added Multiboot support in coreboot.
41895
41896 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41897 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
41898
41899 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
41900 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
41901 (codestart): Store the MBI in `startup_multiboot_info' when we're
41902 being loaded using Multiboot.
41903
41904 * kern/i386/coreboot/init.c (grub_machine_init): Move
41905 grub_at_keyboard_init() call to beginning of function (useful for
41906 debugging). Call grub_machine_mmap_init() before attempting to use
41907 grub_machine_mmap_iterate().
41908 (grub_lower_mem, grub_upper_mem): Move from here ...
41909 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
41910 here (new file).
41911
41912 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
41913 function prototype.
41914
761ca975 419152008-11-12 Robert Millan <rmh@aybabtu.com>
41916
41917 Fix a regression introduced by the at_keyboard.mod split. Because
41918 some terminals are default on some platforms and non-default on
41919 others, the first terminal being registered determines which is
41920 going to be default.
41921
41922 * kern/term.c (grub_term_register_input): If this is the first
41923 terminal being registered, set it as the current one.
41924 (grub_term_register_output): Likewise.
41925
41926 * term/efi/console.c (grub_console_init): Do not call
41927 grub_term_set_current_output() or grub_term_set_current_input().
41928 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
41929 * term/i386/pc/console.c (grub_console_init): Likewise.
41930 (grub_console_fini): Do not call grub_term_set_current_input()
41931 (but leave grub_term_set_current_output() to restore text mode).
41932
6c529df7 419332008-11-10 Robert Millan <rmh@aybabtu.com>
41934
41935 * util/grub.d/00_header.in: Add backward compatibility check for
41936 versions of terminal.mod that don't understand `terminal_input' or
41937 `terminal_output'.
41938
132e4113 419392008-11-09 Robert Millan <rmh@aybabtu.com>
41940
41941 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
41942 `terminal_input' / `terminal_output', not `terminal'.
41943
ac293d50 419442008-11-08 Robert Millan <rmh@aybabtu.com>
41945
41946 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 41947 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 41948
0025933a 419492008-11-08 Robert Millan <rmh@aybabtu.com>
41950
41951 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 41952 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 41953 members. Update all users.
41954 * util/console.c (grub_ncurses_term): Split in ...
41955 (grub_ncurses_term_input): ... this, and ...
41956 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 41957 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 41958
37c86336 419592008-11-08 Robert Millan <rmh@aybabtu.com>
41960
41961 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
41962 (PKGDATA): Add $(pkgdata_SRCDIR).
41963 (pkglib_BUILDDIR): New variable.
41964 (pkgdata_SRCDIR): New variable.
41965 (build_env.mk): New target.
41966 (include_DATA): New variable.
41967 (install-local): Install $(include_DATA) files in $(includedir).
41968
b6c15a2d 419692008-11-07 Pavel Roskin <proski@gnu.org>
41970
d99d46f1 41971 * gendistlist.sh: Use C locale for sorting to ensure consistent
41972 output on all systems.
41973
b6c15a2d 41974 * util/grub.d/00_header.in: Remove incorrect space before
41975 "serial".
41976
c32ee8c9 419772008-11-07 Robert Millan <rmh@aybabtu.com>
41978
41979 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
41980 per specification.
41981 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
41982 * loader/multiboot_loader.c (find_multi_boot2_header): New function
41983 (based on find_multi_boot1_header).
41984 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
41985 using find_multi_boot2_header(), and abort if neither Multiboot or
41986 Multiboot headers were found.
41987
651c29b7 419882008-11-07 Robert Millan <rmh@aybabtu.com>
41989
41990 Modularize at_keyboard.mod:
41991
41992 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
41993 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
41994 (at_keyboard_mod_LDFLAGS): New variables.
41995
41996 Actual terminal split:
41997
41998 * include/grub/term.h (struct grub_term): Split in ...
41999 (struct grub_term_input): ... this, and ...
42000 (struct grub_term_output): ... this. Update all users.
42001 (grub_term_set_current): Split in ...
42002 (grub_term_set_current_input): ... this, and ...
42003 (grub_term_set_current_output): ... this.
42004 (grub_term_get_current): Split in ...
42005 (grub_term_get_current_input): ... this, and ...
42006 (grub_term_get_current_output): ... this.
42007 (grub_term_register): Split in ...
42008 (grub_term_register_input): ... this, and ...
42009 (grub_term_register_output): ... this.
42010 (grub_term_unregister): Split in ...
42011 (grub_term_unregister_input): ... this, and ...
42012 (grub_term_unregister_output): ... this.
42013 (grub_term_iterate): Split in ...
42014 (grub_term_iterate_input): ... this, and ...
42015 (grub_term_iterate_output): ... this.
42016
42017 * kern/term.c (grub_term_list): Split in ...
42018 (grub_term_list_input): ... this, and ...
42019 (grub_term_list_output): ... this. Update all users.
42020 (grub_cur_term): Split in ...
42021 (grub_cur_term_input): ... this, and ...
42022 (grub_cur_term_output): ... this. Update all users.
42023 (grub_term_set_current): Split in ...
42024 (grub_term_set_current_input): ... this, and ...
42025 (grub_term_set_current_output): ... this.
42026 (grub_term_get_current): Split in ...
42027 (grub_term_get_current_input): ... this, and ...
42028 (grub_term_get_current_output): ... this.
42029 (grub_term_register): Split in ...
42030 (grub_term_register_input): ... this, and ...
42031 (grub_term_register_output): ... this.
42032 (grub_term_unregister): Split in ...
42033 (grub_term_unregister_input): ... this, and ...
42034 (grub_term_unregister_output): ... this.
42035 (grub_term_iterate): Split in ...
42036 (grub_term_iterate_input): ... this, and ...
42037 (grub_term_iterate_output): ... this.
42038
42039 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
42040 a check for input and one for output (and only attempt to get keys
42041 from user when input works).
42042
42043 * util/grub-probe.c (grub_term_get_current): Split in ...
42044 (grub_term_get_current_input): ... this, and ...
42045 (grub_term_get_current_output): ... this.
42046 * util/grub-fstest.c: Likewise.
42047 * util/i386/pc/grub-setup.c: Likewise.
42048 * util/grub-editenv.c: Likewise.
42049
42050 Portability adjustments:
42051
42052 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
42053 `term/i386/pc/at_keyboard.c'.
42054 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
42055 grub_keyboard_controller_init() (now handled by terminal .init).
42056 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
42057 grub_at_keyboard_init().
42058 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
42059 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
42060 at_keyboard.mod via input terminal interface).
42061 * include/grub/i386/coreboot/console.h: Convert into a stub for
42062 `<grub/i386/pc/console.h>'.
42063
42064 Migrate full terminals to new API:
42065
42066 * term/efi/console.c (grub_console_term): Split into ...
42067 (grub_console_term_input): ... this, and ...
42068 (grub_console_term_output): ... this. Update all users.
42069 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
42070 (grub_ofconsole_init): Split into ...
42071 (grub_ofconsole_init_input): ... this, and ...
42072 (grub_ofconsole_init_output): ... this.
42073 (grub_ofconsole_term): Split into ...
42074 (grub_ofconsole_term_input): ... this, and ...
42075 (grub_ofconsole_term_output): ... this. Update all users.
42076 * term/i386/pc/serial.c (grub_serial_term): Split into ...
42077 (grub_serial_term_input): ... this, and ...
42078 (grub_serial_term_output): ... this. Update all users.
42079 * term/i386/pc/console.c (grub_console_term): Split into ...
42080 (grub_console_term_input): ... this, and ...
42081 (grub_console_term_output): ... this. Update all users.
42082 (grub_console_term_input): Only enable it on PC/BIOS platform.
42083 (grub_console_init): Remove grub_keyboard_controller_init() call.
42084
42085 Migrate input terminals to new API:
42086
42087 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
42088 `i386' and `i386/pc' to enable build on x86_64 (this driver is
42089 i386-specific anyway).
42090 (grub_console_checkkey): Rename to ...
42091 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
42092 users.
42093 (grub_keyboard_controller_orig): New variable.
42094 (grub_console_getkey): Rename to ...
42095 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
42096 users.
42097 (grub_keyboard_controller_init): Static-ize. Save original
42098 controller value so that it can be restored ...
42099 (grub_keyboard_controller_fini): ... here (new function).
42100 (grub_at_keyboard_term): New structure.
42101 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
42102 functions.
42103
42104 Migrate output terminals to new API:
42105
42106 * term/i386/pc/vga.c (grub_vga_term): Change type to
42107 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
42108 members. Update all users.
42109 * term/gfxterm.c (grub_video_term): Change type to
42110 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
42111 members. Update all users.
42112 * include/grub/i386/pc/console.h (grub_console_checkkey)
42113 (grub_console_getkey): Do not export (no longer needed by gfxterm,
42114 etc).
42115
42116 Migrate `terminal' command and userland tools to new API:
42117
42118 * commands/terminal.c (grub_cmd_terminal): Split into ...
42119 (grub_cmd_terminal_input): ... this, and ...
42120 (grub_cmd_terminal_output): ... this.
42121 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
42122 `terminal_input' and `terminal_output'.
42123 * util/grub.d/00_header.in: Adjust `terminal' calls to new
42124 `terminal_input' / `terminal_output' API.
42125 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
42126 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
42127 provided ${GRUB_TERMINAL}, convert it).
42128
96e5d876 421292008-11-04 Robert Millan <rmh@aybabtu.com>
42130
42131 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
42132 for FreeBSD.
42133 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
42134
556f3775 421352008-11-03 Bean <bean123ch@gmail.com>
42136
42137 * kern/elf.c (grub_elf32_load): Revert to previous code.
42138 (grub_elf64_load): Likewise.
42139
42140 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
42141
926b9823 421422008-11-01 Robert Millan <rmh@aybabtu.com>
42143
42144 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
42145 (TARGET_CPPFLAGS): Likewise.
42146 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
42147
1432e958 421482008-11-01 Carles Pina i Estany <carles@pina.cat>
42149
42150 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
42151
dba3f844 421522008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 42153
42154 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
42155 addition of objects until the code is not going to be able to fail.
42156
dba3f844 421572008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 42158
42159 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
42160 (add a missing NULL check, and correct them by moving the pointer
42161 operations after the actual check).
42162
7ab28c21 421632008-10-29 Robert Millan <rmh@aybabtu.com>
42164
42165 * util/i386/pc/grub-install.in: Handle empty string as output from
42166 make_system_path_relative_to_its_root().
42167
1b7748eb 421682008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
42169
42170 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
42171 circular metadata worst case scenario. If the metadata is circular
42172 then copy the wrap in place.
42173 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
42174 project lib/format_text/layout.h
42175 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
42176
c9618ab2 421772008-10-03 Felix Zielcke <fzielcke@z-51.de>
42178
7a36edca 42179 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 42180
bf981c62 421812008-10-03 Felix Zielcke <fzielcke@z-51.de>
42182
42183 * util/update-grub_lib.in: Mention filename in warning message.
42184
6d994591 421852008-09-29 Felix Zielcke <fzielcke@z-51.de>
42186
42187 * NEWS: Update for rename of update-grub to grub-mkconfig.
42188
18ade780 421892008-09-29 Felix Zielcke <fzielcke@z-51.de>
42190
42191 * util/update-grub_lib.in: Copy to ...
42192 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 42193 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 42194 * util/update-grub.in: Rename to ...
42195 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
42196 option. Add `--output' option to allow users to specify the generated
42197 configuration file. Default to stdout.
42198 (update_grub_dir): Rename to ...
42199 (grub_mkconfig_dir): ... this.
42200 (grub_cfg): Default to an empty string.
42201 * conf/common.rmk (update-grub): Rename to ...
42202 (grub-mkconfig): ... this.
42203 (update-grub_lib): Copy to ...
42204 (grub-mkconfig_lib): ... this.
42205 (update-grub_SCRIPTS): Copy to ...
42206 (grub-mkconfig_SCRIPTS): ... this. Update all users.
42207 (update-grub_DATA): Rename to ...
42208 (grub-mkconfig_DATA): ... this.
42209
556ce6ac 422102008-09-28 Robert Millan <rmh@aybabtu.com>
42211
42212 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
42213 to `modified'. Add the real `created' field.
42214 (grub_iso9660_uuid): Use `modified' rather than `created' for
42215 constructing the UUID.
42216
422172008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 42218
42219 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
42220 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
42221
92274e85 422222008-09-28 Bean <bean123ch@gmail.com>
42223
42224 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
42225 Thanks to Christian Franke for finding this bug.
42226
add6f17a 422272008-09-25 Robert Millan <rmh@aybabtu.com>
42228
42229 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
42230 instances of grub_util_get_disk_name() (see previous commit).
42231
d2a367b8 422322008-09-25 Robert Millan <rmh@aybabtu.com>
42233
42234 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
42235 `util/i386/get_disk_name.c'.
42236 * conf/i386-efi.rmk: Likewise.
42237 * conf/x86_64-efi.rmk: Likewise.
42238 * conf/i386-coreboot.rmk: Likewise.
42239 * conf/i386-ieee1275.rmk: Likewise.
42240 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
42241 `util/ieee1275/get_disk_name.c'.
42242 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
42243 * util/ieee1275/get_disk_name.c: Remove file.
42244 * util/i386/get_disk_name.c: Remove file.
42245 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
42246 "hd%d" for device.map entries, rather than using
42247 grub_util_get_disk_name().
42248
81a06771 422492008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 42250
42251 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
42252 warning.
42253 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
42254
5a004279 422552008-09-24 Carles Pina i Estany <carles@pina.cat>
42256
42257 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
42258 Changed to 0x5100.
42259 (GRUB_TERM_PPAGE): Changed to 0x4900.
42260
397093d3 422612008-09-24 Robert Millan <rmh@aybabtu.com>
42262
42263 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
42264 macros (they were i386-pc specific).
42265 * include/grub/sparc64/ieee1275/console.h: Likewise.
42266 * include/grub/efi/console.h: Likewise.
42267
a91b6c7c 422682008-09-22 Bean <bean123ch@gmail.com>
42269
42270 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
42271 resident and in attribute list.
42272
42273 * include/grub/ntfs.h (BMP_LEN): Removed.
42274
c40fd116 422752008-09-22 Bean <bean123ch@gmail.com>
42276
81a06771 42277 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 42278 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
42279
42280 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
42281 error occurs, as grub_disk_open will call grub_disk_close, which will
42282 call p->close (scsi).
42283
81a06771 422842008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 42285
42286 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
42287 (AC_PREREQ): Bumped to 2.59.
42288 (AC_TRY_COMPILE): Replace obsolete macro with ...
42289 (AC_COMPILE_IFELSE): ... this.
42290 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
42291 (AC_LINK_IFELSE): ... this.
42292
5dc43410 422932008-09-21 Felix Zielcke <fzielcke@z-51.de>
42294
42295 * autogen.sh: Add a call to `gendistlist.sh'.
42296
9035dce4 422972008-09-19 Christian Franke <franke@computer.org>
42298
42299 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
42300 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
42301 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
42302 Export __enable_execute_stack() to modules.
42303 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
42304 New function.
42305
7fd75377 423062008-09-09 Felix Zielcke <fzielcke@z-51.de>
42307
040030b3 42308 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
42309 Sort the list.
42310
423112008-09-09 Felix Zielcke <fzielcke@z-51.de>
42312
42313 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 42314 #include <grub/util/hostdisk.h>.
42315
89d5ffcf 423162008-09-08 Robert Millan <rmh@aybabtu.com>
42317
42318 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
42319 segments when their filesz is zero (grub_file_read() interprets
81a06771 42320 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 42321 Use `lowest_segment' rather than 0 for calculating the current
42322 segment load address.
42323
40da438f 423242008-09-08 Robert Millan <rmh@aybabtu.com>
42325
42326 * util/hostdisk.c (open_device): Replace a grub_util_info() call
42327 with grub_dprintf("hostdisk", ...), as it was so verbose that it
42328 clobbered useful information.
42329
ddbf5556 423302008-09-08 Robert Millan <rmh@aybabtu.com>
42331
42332 * include/grub/util/biosdisk.h: Move to ...
42333 * include/grub/util/hostdisk.h: ... here. Update all users.
42334 * util/biosdisk.c: Move to ...
42335 * util/hostdisk.c: ... here. Update all users.
42336
783d0f48 423372008-09-07 Robert Millan <rmh@aybabtu.com>
42338
42339 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
42340 variables.
42341 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
42342 and length can be stored directly in the `mbi->mmap_addr' and
42343 `mbi->mmap_length' struct fields.
42344
548e2ea5 423452008-09-07 Robert Millan <rmh@aybabtu.com>
42346
42347 * conf/i386.rmk: New file. Provides declaration for building
42348 `cpuid.mod'.
42349 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
42350 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
42351 variables.
42352 Include `conf/i386.mk'.
42353 * conf/i386-efi.rmk: Likewise.
42354 * conf/x86_64-efi.rmk: Likewise.
42355 * conf/i386-coreboot.rmk: Likewise.
42356 * conf/i386-ieee1275.rmk: Likewise.
42357
0ea85a37 423582008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
42359
42360 Based on patch created by Colin D Bennett <colin@gibibit.com>.
42361 Adds optimization support for BGR based modes.
42362
42363 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
42364 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42365 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42366 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42367 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42368 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42369 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42370 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42371 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42372 (grub_video_i386_vbeblit_index_index): Likewise.
42373 (grub_video_i386_vbeblit_replace_directN): Added.
42374 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42375 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42376 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42377 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42378 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42379 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 42380 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 42381 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42382 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42383 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42384 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42385 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42386 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42387
42388 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
42389 (grub_video_i386_vbefill_R8G8B8): Likewise.
42390 (grub_video_i386_vbefill_index): Likewise.
42391 (grub_video_i386_vbefill_direct32): Added.
42392 (grub_video_i386_vbefill_direct24): Likewise.
42393 (grub_video_i386_vbefill_direct16): Likewise.
42394 (grub_video_i386_vbefill_direct8): Likewise.
42395
81a06771 42396 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 42397 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
42398 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
42399 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
42400 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
42401 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 42402
0ea85a37 42403 * video/video.c (grub_video_get_blit_format): Updated to use new
42404 blit formats. Added handling for 16 bit color modes.
81a06771 42405
42406 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 42407 fillers.
42408 (common_blitter): Updated to use new blitters.
42409
42410 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
42411 Removed.
42412 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42413 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42414 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42415 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42416 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42417 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42418 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42419 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42420 (grub_video_i386_vbeblit_index_index): Likewise.
42421 (grub_video_i386_vbeblit_replace_directN): Added.
42422 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42423 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42424 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42425 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42426 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42427 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42428 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42429 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42430 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42431 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42432 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42433 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42434 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 42435
0ea85a37 42436 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
42437 (grub_video_i386_vbefill_R8G8B8): Likewise.
42438 (grub_video_i386_vbefill_index): Likewise.
42439 (grub_video_i386_vbefill_direct32): Added.
42440 (grub_video_i386_vbefill_direct24): Likewise.
42441 (grub_video_i386_vbefill_direct16): Likewise.
42442 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 42443
0ea85a37 42444 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
42445 types.
81a06771 42446
0ea85a37 42447 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
42448 types.
81a06771 42449
0ea85a37 42450 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
42451 blitter types.
81a06771 42452
0ea85a37 42453 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
42454 types.
42455
e8a83df6 424562008-09-06 Felix Zielcke <fzielcke@z-51.de>
42457
42458 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
42459 RAID level 1.
42460
6bcd8ee5 424612008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 42462
6bcd8ee5 42463 * fs/iso9660.c (grub_iso9660_date): New structure.
42464 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
42465 (grub_iso9660_uuid): New function.
c375ae58 42466
59261157 424672008-09-05 Bean <bean123ch@gmail.com>
42468
42469 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
42470
42471 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
42472 insensitive bit for names in Win32 and Win32 & DOS namespace.
42473
42474 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
42475
42476 * include/grub/types.h (LONG_MAX): Likewise.
42477
58b6645a 424782008-09-04 Felix Zielcke <fzielcke@z-51.de>
42479
4ee55921 42480 * util/getroot.c: Include <config.h>.
42481 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
42482 add support for /dev/md/N devices and handle LVM double dash escaping.
42483
424842008-09-04 Felix Zielcke <fzielcke@z-51.de>
42485
42486 * config.guess: Update to latest version from config git.
42487 * config.sub: Likewise.
58b6645a 42488
9124f65d 424892008-09-03 Robert Millan <rmh@aybabtu.com>
42490
42491 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
42492 `disk->total_sectors'.
42493
81a06771 424942008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 42495
42496 * include/grub/normal.h: Fixed incorrect comment for
42497 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
42498
81a06771 424992008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 42500
42501 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
42502 values with defines.
42503
42504 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
42505 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
42506 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
42507 (GRUB_VBE_MODEATTR_COLOR): Likewise.
42508 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
42509 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
42510 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
42511 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
42512 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
42513 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
42514 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
42515 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
42516 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
42517 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
42518 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
42519 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
42520 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
42521 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
42522 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
42523
93d5cbf8 425242008-08-31 Robert Millan <rmh@aybabtu.com>
42525
42526 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
42527 declaration.
42528 (grub_multiboot): Fix a few warnings.
42529
21751d50 425302008-08-31 Robert Millan <rmh@aybabtu.com>
42531
42532 * loader/i386/pc/multiboot.c: Update comment not to say that
42533 boot_device support is unimplemented.
42534
e27a75c5 425352008-08-31 Robert Millan <rmh@aybabtu.com>
42536
42537 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
42538 or memory map support are unimplemented.
42539
81a06771 425402008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 42541
42542 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
42543
81a06771 425442008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 42545
42546 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
42547 total video memory in 'vbeinfo' output; show color format details for
42548 each video mode.
42549
7c5d8d95 425502008-08-30 Pavel Roskin <proski@gnu.org>
42551
42552 * util/genmoddep.c: Remove for real this time.
42553 * DISTLIST: Remove util/genmoddep.c.
42554
4cebd25a 425552008-08-30 Robert Millan <rmh@aybabtu.com>
42556
42557 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
42558 as required by Multiboot spec (it was already 4-byte aligned, but
42559 only by chance).
42560
b497a269 425612008-08-29 Pavel Roskin <proski@gnu.org>
42562
e3925185 42563 * kern/powerpc/ieee1275/crt0.S: Rename to ...
42564 * kern/powerpc/ieee1275/startup.S: ... this.
42565 * conf/powerpc-ieee1275.rmk: Adjust for the above.
42566 * DISTLIST: Likewise.
42567
b497a269 42568 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
42569 grub/cpu/kernel.h. Add start label for consistency with other
42570 platforms. Add grub_prefix immediately after start. Add jump
42571 to the code after grub_prefix.
42572 * include/grub/powerpc/kernel.h: Provide valid values for
42573 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
42574
6e5a42fe 425752008-08-29 Bean <bean123ch@gmail.com>
42576
42577 * configure.ac: Change host_os to cygwin for mingw.
42578 (asprintf): New check for function.
42579
42580 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
42581 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
42582
42583 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 42584 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 42585 sync, sleep and grub_util_get_disk_size for mingw.
42586
42587 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
42588 to get size in mingw.
42589 (open_device): Use flag O_BINARY if it's defined.
42590 (find_root_device): Add dummy code for mingw.
42591
42592 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
42593 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
42594 (get_scsi_disk_name): Return 0 for mingw.
42595
42596 * util/hostfs.c: #include <grub/util/misc.h>.
42597 (grub_hostfs_open): Use "rb" flag to open file, use
42598 grub_util_get_disk_size to get disk size for mingw.
42599
42600 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
42601 (asprintf): New function if HAVE_ASPRINTF is not set.
42602 (sync): New function for mingw.
42603 (sleep): Likewise.
42604 (grub_util_get_disk_size): Likewise.
42605
ab3f2673 426062008-08-28 Pavel Roskin <proski@gnu.org>
42607
42608 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42609 kern/time.c.
42610
1c282483 426112008-08-28 Robert Millan <rmh@aybabtu.com>
42612
42613 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
42614
678e849c 426152008-08-28 Robert Millan <rmh@aybabtu.com>
42616
42617 Change find_grub_drive() syntax so it doesn't prevent it from
42618 detecting NULL names as errors.
42619
42620 * util/biosdisk.c (find_grub_drive): Move free slot search code
42621 from here ...
42622 (find_free_slot): ... to here.
42623 (read_device_map): Use find_free_slot() to search for free slots.
42624
965c75ca 426252008-08-27 Marco Gerards <marco@gnu.org>
42626
42627 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
42628 (scsi_mod_SOURCES): New variable.
42629 (scsi_mod_CFLAGS): Likewise
42630 (scsi_mod_LDFLAGS): Likewise.
42631
42632 * disk/scsi.c: New file.
42633
42634 * include/grub/scsi.h: Likewise.
42635
42636 * include/grub/scsicmd.h: Likewise.
42637
42638 * disk/ata.c: Include <grub/scsi.h>.
42639 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
42640 instead.
42641 (grub_ata_iterate): Skip ATAPI devices.
42642 (grub_ata_open): Only handle ATAPI devices.
42643 (struct grub_atapi_read): Removed.
42644 (grub_atapi_readsector): Likewise.
42645 (grub_ata_read): No longer handle ATAPI devices.
42646 (grub_ata_write): Likewise.
42647 (grub_atapi_iterate): New function.
42648 (grub_atapi_read): Likewise.
42649 (grub_atapi_write): Likewise.
42650 (grub_atapi_open): Likewise.
42651 (grub_atapi_close): Likewise.
42652 (grub_atapi_dev): New variable.
42653 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
42654 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
42655
42656 * include/grub/disk.h (enum grub_disk_dev_id): Add
42657 `GRUB_DISK_DEVICE_SCSI_ID'.
42658
c07ae501 426592008-08-26 Robert Millan <rmh@aybabtu.com>
42660
42661 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
42662 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
42663 descriptive.
42664
5ed20adc 426652008-08-23 Bean <bean123ch@gmail.com>
42666
42667 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
42668 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42669 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
42670 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
42671 dm_nv.mod.
42672 (raid5rec_mod_SOURCES): New macro.
42673 (raid5rec_mod_CFLAGS): Likewise.
42674 (raid5rec_mod_LDFLAGS): Likewise.
42675 (raid6rec_mod_SOURCES): Likewise.
42676 (raid6rec_mod_CFLAGS): Likewise.
42677 (raid6rec_mod_LDFLAGS): Likewise.
42678 (mdraid_mod_SOURCES): Likewise.
42679 (mdraid_mod_CFLAGS): Likewise.
42680 (mdraid_mod_LDFLAGS): Likewise.
42681 (dm_nv_mod_SOURCES): Likewise.
42682 (dm_nv_mod_CFLAGS): Likewise.
42683 (dm_nv_mod_LDFLAGS): Likewise.
42684
42685 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
42686 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42687 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42688
42689 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
42690 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42691
42692 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42693
42694 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42695
42696 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42697
42698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42699
42700 * disk/raid5_recover.c: New file.
42701
42702 * disk/raid6_recover.c: Likewise.
42703
42704 * disk/mdraid_linux.c: Likewise.
42705
42706 * disk/dmraid_nvidia.c: Likewise.
42707
42708 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
42709 ULONG_MAX.
42710
42711 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
42712 calculate the size of raid device.
42713 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
42714 different layout of raid5.
42715 (grub_raid_scan_device): Remove code specific to mdraid.
42716 (grub_raid_list): New variable.
42717 (free_array): New function.
42718 (grub_raid_register): Likewise.
42719 (grub_raid_unregister): Likewise.
42720 (grub_raid_rescan): Likewise.
42721 (GRUB_MOD_INIT): Don't iterate device here.
42722 (GRUB_MOD_FINI): Use free_array to release resource.
42723
42724 * include/grub/raid.h: Remove macro and structure specific to mdraid.
42725 (grub_raid5_recover_func_t): New function variable type.
42726 (grub_raid6_recover_func_t): Likewise.
42727 (grub_raid5_recover_func): New variable.
42728 (grub_raid6_recover_func): Likewise.
42729 (grub_raid_register): New function.
42730 (grub_raid_unregister): Likewise.
42731 (grub_raid_rescan): Likewise.
42732 (grub_raid_block_xor): Likewise.
42733
42734 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
42735 (CMD_CRC): New macro.
42736 (part): Removed.
42737 (read_file): Handle device as well as file.
42738 (cmd_crc): New function.
42739 (fstest): Handle multiple disks.
42740 (options): Remove part, raw and long, add root and diskcount.
42741 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 42742 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 42743 add handling for the new options, support multiple disks.
42744
42745 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
42746
29c18915 427472008-08-23 Bean <bean123ch@gmail.com>
42748
42749 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
42750
42751 * genfslist.sh: Ignore kernel.mod.
42752
42753 * genpartmaplist.sh: Likewise.
42754
8415f261 427552008-08-23 Robert Millan <rmh@aybabtu.com>
42756
42757 * util/getroot.c (find_root_device): Skip anything that starts with
42758 a dot, not just directories. This avoids things like /dev/.tmp.md0.
42759
d5a7dc5b 427602008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 42761
d5a7dc5b 42762 * util/update-grub.in (GRUB_GFXMODE): Export variable.
42763 * util/grub.d/00_header.in: Allow the administrator to change default
42764 gfxmode via ${GRUB_GFXMODE}.
42765
380cfbb4 427662008-08-21 Felix Zielcke <fzielcke@z-51.de>
42767
42768 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
42769
c9baafe7 427702008-08-21 Robert Millan <rmh@aybabtu.com>
42771
42772 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
42773 loader.
42774 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
42775 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
42776
e290bef2 427772008-08-20 Carles Pina i Estany <carles@pina.cat>
42778
42779 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
42780 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
42781
f9dbfc96 427822008-08-19 Robert Millan <rmh@aybabtu.com>
42783
42784 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
42785 (struct grub_virtual_screen): Remove `cursor_color'.
42786 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
42787 initialization.
42788 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
42789
dd6bd6ab 427902008-08-18 Robert Millan <rmh@aybabtu.com>
42791
42792 Unify (identical) linux_normal.c files.
42793 * loader/i386/efi/linux_normal.c: Move from here ...
42794 * loader/linux_normal.c: ... to here. Update all users.
42795 * loader/i386/pc/linux_normal.c: Delete. Update all users.
42796 * loader/i386/ieee1275/linux_normal.c: Likewise.
42797
7f42f83e 427982008-08-18 Robert Millan <rmh@aybabtu.com>
42799
42800 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
42801 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
42802 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
42803 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
42804 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
42805 New macros.
42806 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
42807 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
42808 (GRUB_LINUX_CL_END_OFFSET): ... to here.
42809 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
42810 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
42811 (GRUB_EFI_CL_END_OFFSET): Rename to ...
42812 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
42813 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
42814 Initialize `params->video_cursor_x' and `params->video_cursor_y'
42815 portably using grub_getxy().
42816 Replace `-EFI' with `-bzImage' in boot message.
42817
38487ddb 428182008-08-17 Robert Millan <rmh@aybabtu.com>
42819
42820 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
42821
deceb3ec 428222008-08-17 Robert Millan <rmh@aybabtu.com>
42823
42824 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
42825
42826 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
42827 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
42828 (grub_machine_mmap_iterate): New function declaration.
42829 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
42830 structure.
42831 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
42832 macros.
42833
42834 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
42835 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
42836 Move e820 parsing from here ...
42837 * kern/i386/pc/mmap.c: New file.
42838 (grub_machine_mmap_iterate): ... to here.
42839
42840 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
42841 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
42842 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
42843 (grub_available_iterate): Redeclare to return `void', and redeclare
42844 its hook to use grub_uint64_t as addr and size parameters, and rename
42845 to ...
42846 (grub_machine_mmap_iterate): ... this. Update all users.
42847
42848 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
42849 to make it more readable. Rename to ...
42850 (grub_machine_mmap_iterate): ... this.
42851
42852 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
42853 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
42854 (grub_multiboot): Allocate an extra region after the payload, and fill
42855 it with a Multiboot memory map. Adjust a.out loader to calculate size
42856 with the extra space.
42857 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
42858 with the extra space.
42859
f8aa0f43 428602008-08-17 Carles Pina i Estany <carles@pina.cat>
42861
9807deb9 42862 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 42863
605f5bb6 428642008-08-17 Felix Zielcke <fzielcke@z-51.de>
42865
42866 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
42867 mdate-sh to the list `find' searches for.
42868 * DISTLIST: Regenerated.
42869
210db6c6 428702008-08-16 Felix Zielcke <fzielcke@z-51.de>
42871
42872 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
42873 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 42874 genmoddep.awk, gensymlist.sh.in.
42875 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 42876 * DISTLIST: Regenerated.
48cdbfd4 42877 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 42878
1082b929 428792008-08-16 Robert Millan <rmh@aybabtu.com>
42880
42881 * disk/raid.c (grub_raid_init): Handle/report errors set by
42882 grub_device_iterate().
42883 * disk/lvm.c (grub_lvm_init): Likewise.
42884
42ce5170 428852008-08-15 Bean <bean123ch@gmail.com>
42886
42887 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42888 and datehook.mod.
42889 (datetime_mod_SOURCES): New macro.
42890 (datetime_mod_CFLAGS): Likewise.
42891 (datetime_mod_LDFLAGS): Likewise.
42892 (date_mod_SOURCES): Likewise.
42893 (date_mod_CFLAGS): Likewise.
42894 (date_mod_LDFLAGS): Likewise.
42895 (datehook_mod_SOURCES): Likewise.
42896 (datehook_mod_CFLAGS): Likewise.
42897 (datehook_mod_LDFLAGS): Likewise.
42898
42899 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42900 and datehook.mod.
42901 (datetime_mod_SOURCES): New macro.
42902 (datetime_mod_CFLAGS): Likewise.
42903 (datetime_mod_LDFLAGS): Likewise.
42904 (date_mod_SOURCES): Likewise.
42905 (date_mod_CFLAGS): Likewise.
42906 (date_mod_LDFLAGS): Likewise.
42907 (datehook_mod_SOURCES): Likewise.
42908 (datehook_mod_CFLAGS): Likewise.
42909 (datehook_mod_LDFLAGS): Likewise.
42910
42911 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42912 and datehook.mod.
42913 (datetime_mod_SOURCES): New macro.
42914 (datetime_mod_CFLAGS): Likewise.
42915 (datetime_mod_LDFLAGS): Likewise.
42916 (date_mod_SOURCES): Likewise.
42917 (date_mod_CFLAGS): Likewise.
42918 (date_mod_LDFLAGS): Likewise.
42919 (datehook_mod_SOURCES): Likewise.
42920 (datehook_mod_CFLAGS): Likewise.
42921 (datehook_mod_LDFLAGS): Likewise.
42922
42923 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42924 and datehook.mod.
42925 (datetime_mod_SOURCES): New macro.
42926 (datetime_mod_CFLAGS): Likewise.
42927 (datetime_mod_LDFLAGS): Likewise.
42928 (date_mod_SOURCES): Likewise.
42929 (date_mod_CFLAGS): Likewise.
42930 (date_mod_LDFLAGS): Likewise.
42931 (datehook_mod_SOURCES): Likewise.
42932 (datehook_mod_CFLAGS): Likewise.
42933 (datehook_mod_LDFLAGS): Likewise.
42934
42935 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42936 and datehook.mod.
42937 (datetime_mod_SOURCES): New macro.
42938 (datetime_mod_CFLAGS): Likewise.
42939 (datetime_mod_LDFLAGS): Likewise.
42940 (date_mod_SOURCES): Likewise.
42941 (date_mod_CFLAGS): Likewise.
42942 (date_mod_LDFLAGS): Likewise.
42943 (datehook_mod_SOURCES): Likewise.
42944 (datehook_mod_CFLAGS): Likewise.
42945 (datehook_mod_LDFLAGS): Likewise.
42946
42947 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
42948
42949 * commands/date.c: New file.
42950
42951 * hook/datehook.c: Likewise.
42952
42953 * include/grub/lib/datetime.h: Likewise.
42954
42955 * include/grub/i386/cmos.h: Likewise.
42956
42957 * lib/datetime.c: Likewise.
42958
42959 * lib/i386/datetime.c: Likewise.
42960
42961 * lib/efi/datetime.c: Likewise.
42962
0e9242da 429632008-08-14 Robert Millan <rmh@aybabtu.com>
42964
42965 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
42966 (grub_mkelfimage_SOURCES): New variable.
42967 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
42968
42969 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
42970 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
42971 * conf/powerpc-ieee1275.rmk: Likewise.
42972 * conf/i386-ieee1275.rmk: Likewise.
42973
42974 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
42975 * kern/i386/coreboot/init.c: Likewise.
42976
42977 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
42978 with `<grub/cpu/kernel.h>'.
42979 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
42980 to ...
42981 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
42982 * kern/i386/coreboot/startup.S: Likewise.
42983
42984 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
42985 (GRUB_MOD_GAP): Remove.
42986 * include/grub/powerpc/kernel.h: New file.
42987 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
42988 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42989 * include/grub/i386/kernel.h: New file.
42990 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
42991 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
42992 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42993
42994 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
42995 `grub-mkelfimage'.
42996 Use --directory when invoking grub_mkimage.
42997
42998 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
42999 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
43000 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
43001 and GRUB_KERNEL_CPU_PREFIX.
43002
b86408f8 430032008-08-14 Felix Zielcke <fzielcke@z-51.de>
43004
d5e619ca 43005 * include/grub/err.h (grub_err_printf): New function prototype.
43006 * util/misc.c (grub_err_printf): New function.
43007 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
43008 grub_printf.
43009 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 43010
7161f0e0 430112008-08-13 Robert Millan <rmh@aybabtu.com>
43012
43013 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
43014
a1967522 430152008-08-13 Robert Millan <rmh@aybabtu.com>
43016
43017 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
43018 boot entry.
43019
371458b5 430202008-08-12 Robert Millan <rmh@aybabtu.com>
43021
43022 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
43023 of the relocation code from here ...
43024 (grub_multiboot): ... to here.
43025 (forward_relocator, backward_relocator): Move from here ...
43026 * kern/i386/loader.S (grub_multiboot_forward_relocator)
43027 (grub_multiboot_backward_relocator): ... to here.
43028 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
43029 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
43030 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
43031 (grub_multiboot_forward_relocator_end)
43032 (grub_multiboot_backward_relocator)
43033 (grub_multiboot_backward_relocator_end): New variables.
43034
05f9452b 430352008-08-12 Bean <bean123ch@gmail.com>
43036
43037 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
43038
20024ab0 430392008-08-11 Robert Millan <rmh@aybabtu.com>
43040
43041 * kern/i386/linuxbios/startup.S: Move from here ...
43042 * kern/i386/coreboot/startup.S: ... to here.
43043
43044 * kern/i386/linuxbios/init.c: Move from here ...
43045 * kern/i386/coreboot/init.c: ... to here.
43046
43047 * kern/i386/linuxbios/table.c: Move from here ...
43048 * kern/i386/coreboot/mmap.c: ... to here.
43049
43050 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
43051
e352e9cd 430522008-08-11 Robert Millan <rmh@aybabtu.com>
43053
43054 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
43055 errors. Leave it to the upper layer to handle them.
43056
2d05bc6a 430572008-08-09 Christian Franke <franke@computer.org>
43058
43059 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
43060 * conf/common.rmk: Install `grub-pe2elf' only if requested.
43061 Install `grub.d/10_windows' only on Cygwin.
43062 * configure.ac: Add subst of `target_os'.
43063 Check `target_os' also before setting TARGET_OBJ2ELF.
43064 Add `--enable-grub-pe2elf'.
43065
042bd419 430662008-08-08 Robert Millan <rmh@aybabtu.com>
43067
43068 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
43069 (grub_last_time): Change type to grub_uint64_t.
43070 (grub_disk_open): Migrate code from to using grub_get_time_ms().
43071 (grub_disk_close): Likewise.
43072
43073 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
43074 (run_menu): Migrate code from to using grub_get_time_ms().
43075
43076 * util/misc.c (grub_get_time_ms): New function.
43077
7f280db5 430782008-08-08 Marco Gerards <marco@gnu.org>
43079
43080 * disk/ata.c (grub_ata_regget): Change return type to
43081 `grub_uint8_t'.
43082 (grub_ata_regget2): Likewise.
43083 (grub_ata_wait_status): New function.
43084 (grub_ata_wait_busy): Removed function, updated all users to use
43085 `grub_ata_wait_status'.
43086 (grub_ata_wait_drq): Likewise.
43087 (grub_ata_cmd): New function.
43088 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
43089 error handling.
43090 (grub_ata_pio_write): Add error handling.
43091 (grub_atapi_identify): Likewise.
43092 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
43093 handling.
43094 (grub_ata_identify): Use `grub_ata_cmd' and improve error
43095 handling. Actually use the detected registers. Reorder the
43096 detection logic such that it is easier to read.
43097 (grub_ata_pciinit): Do not assign the same ID to each controller.
43098 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
43099 handling.
43100 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
43101
43102 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
43103
1fbc5e66 431042008-08-08 Marco Gerards <marco@gnu.org>
43105
43106 * NEWS: Update.
43107
819ce6c0 431082008-08-07 Bean <bean123ch@gmail.com>
43109
43110 * include/grub/x86_64/pci.h: New file.
43111
5c41d44d 431122008-08-07 Christian Franke <franke@computer.org>
43113
43114 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
43115 (TIMER2_GATE): Likewise.
43116 (grub_pit_wait): Add enable/disable of the timer2 gate
43117 bit of port 0x61. This fixes a possible infinite loop.
43118
5ebc275d 431192008-08-07 Bean <bean123ch@gmail.com>
43120
43121 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
43122 kern/i386/tsc.c and kern/i386/pit.c.
43123
43124 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
43125 x86_64 platform.
43126
43127 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
43128 <grub/i386/tsc.h>.
43129
43130 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
43131
e383b3d0 431322008-08-07 Bean <bean123ch@gmail.com>
43133
43134 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
43135
43136 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
43137
43138 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
43139 multiple inclusion. Add #include <grub/types.h>.
43140
1cbb58ac 431412008-08-06 Christian Franke <franke@computer.org>
43142
43143 * conf/common.rmk: Build and install `10_windows'.
43144 * util/grub.d/10_windows.in: New script.
43145
337f5a1e 431462008-08-06 Pavel Roskin <proski@gnu.org>
43147
43148 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
43149
057bc4ac 431502008-08-06 Robert Millan <rmh@aybabtu.com>
43151
43152 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
43153 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
43154
2b99f123 431552008-08-06 Bean <bean123ch@gmail.com>
43156
43157 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
43158 (grub_pxefs_fs_int): Remove dummy definition.
43159 (grub_pxefs_open): Use data->block_size to store the current block
43160 size setting.
43161 (grub_pxefs_read): Use block size stored in data->block_size. As the
43162 value of grub_pxe_blksize can be changed after the file is opened.
43163
9f0234cb 431642008-08-06 Bean <bean123ch@gmail.com>
43165
43166 * fs/i386/pc/pxe.c (curr_file): new variable.
43167 (grub_pxefs_open): Simply the handling of pxe file system. Don't
43168 require the dummy internal file system anymore.
43169 (grub_pxefs_read): Removed.
43170 (grub_pxefs_close): Likewise.
43171 (grub_pxefs_fs_int): Likewise.
43172 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
43173 connection when we switch file.
43174 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
43175
a55d42e0 431762008-08-06 Robert Millan <rmh@aybabtu.com>
43177
43178 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
43179 `halt.mod'.
43180 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
43181 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
43182
43183 * kern/i386/halt.c: New file.
43184 * kern/i386/reboot.c: Likewise.
43185 * include/grub/i386/reboot.h: Likewise.
43186 * include/grub/i386/halt.h: Likewise.
43187
43188 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
43189 Include `<grub/cpu/halt.h>'.
43190 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
43191 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
43192
43193 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
43194 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
43195 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
43196 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
43197 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
43198 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
43199 from here ...
43200 * include/grub/i386/at_keyboard.h: ... to here.
43201
24371d26 432022008-08-05 Robert Millan <rmh@aybabtu.com>
43203
43204 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
43205 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
43206 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
43207 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43208 `kern/generic/millisleep.c'.
43209
43210 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
43211 instead of grub_get_rtc().
43212 (grub_tsc_init): Initialize `tsc_boot_time'.
43213
43214 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
43215 (grub_machine_init): Use grub_tsc_init() rather than
43216 installing an RTC-based handler via grub_install_get_time_ms().
43217
43218 * kern/i386/pit.c: New file.
43219 * include/grub/i386/pit.h: Likewise.
43220
9e7007b3 432212008-08-05 Bean <bean123ch@gmail.com>
43222
43223 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
43224
43225 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
43226 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
43227 (pxe_mod_SOURCES): New macro.
43228 (pxe_mod_CFLAGS): Likewise.
43229 (pxe_mod_LDFLAGS): Likewise.
43230 (pxecmd_mod_SOURCES): Likewise.
43231 (pxecmd_mod_CFLAGS): Likewise.
43232 (pxecmd_mod_LDFLAGS): Likewise.
43233
43234 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
43235 (grub_pxe_call): Likewise.
43236
43237 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
43238
43239 * commands/i386/pc/pxecmd.c: New file.
43240
9f0234cb 43241 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 43242
43243 * include/grub/i386/pc/pxe.h: Likewise.
43244
6977d49f 432452008-08-05 Bean <bean123ch@gmail.com>
43246
43247 * util/console.c (grub_console_cur_color): New variable.
43248 (grub_console_standard_color): Likewise.
43249 (grub_console_normal_color): Likewise.
43250 (grub_console_highlight_color): Likewise.
43251 (color_map): Likewise.
43252 (use_color): Likewise.
43253 (NUM_COLORS): New macro.
43254 (grub_ncurses_setcolorstate): Handle color properly.
43255 (grub_ncurses_setcolor): Don't change color here, just remember the
43256 settings, color will be set in grub_ncurses_setcolorstate.
43257 (grub_ncurses_getcolor): New function.
43258 (grub_ncurses_init): Initialize color pairs.
43259 (grub_ncurses_term): New member grub_ncurses_getcolor.
43260
9c2ff3ee 432612008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 43262
9c2ff3ee 43263 High resolution timer support. Implemented for x86 CPUs using TSC.
43264 Extracted generic grub_millisleep() so it's linked in only as needed.
43265 This requires a Pentium compatible CPU; if the RDTSC instruction is
43266 not supported, then it falls back on the generic grub_get_time_ms()
43267 implementation that uses the machine's RTC.
43268
43269 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
43270 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43271 `kern/generic/millisleep.c'.
43272
43273 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
43274 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
43275
43276 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
43277 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
43278
43279 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43280
43281 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
43282 `kern/generic/millisleep.c'.
43283
43284 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43285
43286 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
43287
43288 * kern/generic/rtc_get_time_ms.c: New file.
43289
43290 * kern/generic/millisleep.c: New file.
337f5a1e 43291
9c2ff3ee 43292 * kern/misc.c: Don't include
43293 <kern/time.h> anymore.
43294 (grub_millisleep_generic): Removed.
43295
43296 * commands/sleep.c (grub_interruptible_millisleep): Uses
43297 grub_get_time_ms() instead of grub_get_rtc().
43298
43299 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
43300 function.
43301 (grub_cpu_is_cpuid_supported): New inline function.
43302 (grub_cpu_is_tsc_supported): New inline function.
43303 (grub_tsc_init): New function prototype.
43304 (grub_tsc_get_time_ms): New function prototype.
43305
43306 * kern/i386/tsc.c (grub_get_time_ms): New file.
43307
43308 * include/grub/time.h: Include <grub/types.h.
43309 (grub_millisleep_generic): Removed.
43310 (grub_get_time_ms): New prototype.
43311 (grub_install_get_time_ms): New prototype.
43312 (grub_rtc_get_time_ms): New prototype.
43313
43314 * kern/time.c (grub_get_time_ms): New function.
43315 (grub_install_get_time_ms): New function.
43316
43317 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
43318 <grub/time.h> anymore.
43319 (grub_millisleep): Removed.
43320 (grub_machine_init): Call grub_tsc_init.
43321
43322 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
43323 get_time_ms() implementation.
43324
43325 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
43326 (ieee1275_get_time_ms): New function.
43327 (grub_machine_init): Install get_time_ms() implementation.
43328
43329 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
43330 (grub_machine_init): Call grub_tsc_init().
43331 (grub_millisleep): Removed.
bf06a93f 43332
9c2ff3ee 43333 * kern/ieee1275/init.c (grub_millisleep): Removed.
43334 (grub_machine_init): Install ieee1275_get_time_ms()
43335 implementation.
43336 (ieee1275_get_time_ms): New function.
43337 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
43338 real work.
43339
9ec92aaf 433402008-08-05 Marco Gerards <marco@gnu.org>
43341
43342 * disk/ata.c: Include <grub/pci.h>.
43343 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
43344 (grub_ata_initialize): Rewritten.
43345 (grub_ata_device_initialize): New function.
43346
8d23f507 433472008-08-04 Pavel Roskin <proski@gnu.org>
43348
43349 * kern/main.c: Include grub/mm.h.
43350
5e15ee3d 433512008-08-04 Robert Millan <rmh@aybabtu.com>
43352
43353 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
43354 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
43355 corruption problem).
43356
a9053f8f 433572008-08-04 Robert Millan <rmh@aybabtu.com>
43358
43359 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
43360 warnings introduced in my last commit.
43361
dd19c7d7 433622008-08-03 Robert Millan <rmh@aybabtu.com>
43363
43364 Make PCI available on all i386 architectures.
43365
43366 * include/grub/i386/pc/pci.h: Move from here ...
43367 * include/grub/i386/pci.h: ... to here.
43368
43369 * include/grub/i386/pc/pci.h: Remove.
43370 * include/grub/i386/efi/pci.h: Remove.
43371 * include/grub/x86_64/efi/pci.h: Remove.
43372
43373 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
43374 `<grub/cpu/pci.h>'.
43375
43376 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
43377 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
43378 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
43379
43380 * conf/i386-ieee1275.rmk: Likewise.
43381
e14a6184 433822008-08-03 Robert Millan <rmh@aybabtu.com>
43383
43384 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
43385 (grub_console_setcursor): Make it possible to set cursor off.
43386
52768e37 433872008-08-03 Robert Millan <rmh@aybabtu.com>
43388
43389 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
43390 of modules instead of assuming which platform provides what.
43391 * util/update-grub.in: Likewise.
43392
2d52f57f 433932008-08-03 Robert Millan <rmh@aybabtu.com>
43394
43395 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
43396 instead of `grub_install_dos_part' to determine whether a drive needs
43397 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 43398 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 43399
2a5cd121 434002008-08-02 Robert Millan <rmh@aybabtu.com>
43401
43402 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
43403
93808428 434042008-08-02 Robert Millan <rmh@aybabtu.com>
43405
43406 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
43407 of informational grub_dprintf() calls.
43408
3bd0a12a 434092008-08-02 Robert Millan <rmh@aybabtu.com>
43410
43411 * disk/memdisk.c (memdisk_size): Don't initialize.
43412 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
43413
43414 * include/grub/i386/pc/kernel.h
43415 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
43416 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
43417 (grub_memdisk_image_size, grub_arch_memdisk_addr)
43418 (grub_arch_memdisk_size): Remove.
43419
43420 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
43421 field (was only used to transfer a constant). Add `type' field to
43422 support multiple module types.
43423 (grub_module_iterate): New function.
43424
43425 * kern/device.c (grub_device_open): Do not hide error messages
43426 when grub_disk_open() fails. Use grub_print_error() instead.
43427
43428 * kern/i386/pc/init.c (grub_arch_modules_addr)
43429 (grub_arch_memdisk_size): Remove functions.
43430 (grub_arch_modules_addr): Return the module address in high memory
43431 (now that it isn't copied anymore).
43432
43433 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
43434 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
43435 decompression routine (grub_total_module_size already includes that
43436 now). Don't copy modules back to low memory.
43437
43438 * kern/main.c: Include `<grub/mm.h>'.
43439 (grub_load_modules): Split out (and use) ...
43440 (grub_module_iterate): ... this function, which iterates through
43441 module objects and runs a hook.
43442 Comment out grub_mm_init_region() call, as it would cause non-ELF
43443 modules to be overwritten.
43444
43445 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
43446 the memdisk image in its own region, make it part of the module list.
43447 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
43448 (main): Parse --memdisk|-m option, and pass user-provided path as
43449 parameter to generate_image().
43450 (add_segments): Pass `memdisk_path' down to load_modules().
43451 (load_modules): Embed memdisk image in module section when requested.
43452 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
43453 `header.type' instead of `header.offset'.
43454
43455 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
43456 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
43457 (memdisk_mod_LDFLAGS): New variables.
43458 * conf/i386-coreboot.rmk: Likewise.
43459 * conf/i386-ieee1275.rmk: Likewise.
43460
a927cc73 434612008-08-02 Robert Millan <rmh@aybabtu.com>
43462
43463 * loader/i386/pc/multiboot.c (playground, forward_relocator)
43464 (backward_relocator): New variables. Used to allocate and relocate
43465 the payload, respectively.
43466 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 43467 address, install the appropriate relocator code in each bound of
a927cc73 43468 the payload, and set the entry point such that
43469 grub_multiboot_real_boot() will jump to one of them.
43470
43471 * kern/i386/loader.S (grub_multiboot_payload_size)
43472 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43473 (grub_multiboot_payload_entry_offset): New variables.
43474 (grub_multiboot_real_boot): Set cpu context to what the relocator
43475 expects, and jump to the relocator instead of the payload.
43476
43477 * include/grub/i386/loader.h (grub_multiboot_payload_size)
43478 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43479 (grub_multiboot_payload_entry_offset): Export.
43480
b15d8a0c 434812008-08-01 Bean <bean123ch@gmail.com>
43482
43483 * normal/menu_entry.c (editor_getline): Don't return the original
43484 string as result, as it will be released by lexer once it has done
43485 using it.
43486
cdfb3d22 434872008-08-01 Robert Millan <rmh@aybabtu.com>
43488
43489 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
43490 within menuentries, not before them.
43491 util/grub.d/10_hurd.in: Likewise.
43492
9175e93d 434932008-08-01 Bean <bean123ch@gmail.com>
43494
43495 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
43496 (bufio_mod_SOURCES): New macro.
43497 (bufio_mod_CFLAGS): Likewise.
43498 (bufio_mod_LDFLAGS): Likewise.
43499
43500 * include/grub/bufio.h: New file.
43501
43502 * io/bufio.c: Likewise.
43503
43504 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
43505 (grub_video_reader_png): Use grub_buffile_open to open file.
43506
43507 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
43508 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
43509
43510 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
43511 (grub_video_reader_tga): Use grub_buffile_open to open file.
43512
43513 * font/manager.c: Include <grub/bufio.h>.
43514 (add_font): Use grub_buffile_open to open file.
43515
3d8383e7 435162008-07-31 Robert Millan <rmh@aybabtu.com>
43517
43518 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
43519 ELF segments, use a macro for arbitrarily accessing any of them instead
43520 of preparing a pointer that allows access to one at a time.
43521 (grub_multiboot_load_elf64): Likewise.
43522
16e641b6 435232008-07-31 Bean <bean123ch@gmail.com>
43524
43525 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
43526 GRUB_KERNEL_MACHINE_DATA_END.
43527
59198b72 435282008-07-30 Robert Millan <rmh@aybabtu.com>
43529
43530 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
43531 Increase from 0x50 to 0x60.
43532 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
43533 use UUIDs to identify the root drive for them. If that's not
43534 possible, abort.
43535 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
43536 check, for cross-disk installs.
43537
ae88bca3 435382008-07-30 Robert Millan <rmh@aybabtu.com>
43539
43540 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
43541 is non-empty, use it to set the `prefix' environment variable instead
43542 of the usual approach.
43543 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
43544 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
43545 environment variable instead of dummy make_install_device().
43546
43547 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
43548 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 43549 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 43550
43551 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
43552 New variable reference.
43553 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
43554 New macro. Defines offset of `grub_prefix' within startup.S (relative
43555 to `start').
43556 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
43557 section within startup.S (relative to `start').
43558 * include/grub/i386/coreboot/kernel.h: Likewise.
43559
43560 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
43561 Overwrite grub_prefix with its contents, at the beginning of the
43562 first segment.
43563 (main): Understand -p|--prefix.
43564
14f41dd1 435652008-07-30 Robert Millan <rmh@aybabtu.com>
43566
43567 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
43568
4ca049a3 435692008-07-30 Robert Millan <rmh@aybabtu.com>
43570
43571 * term/i386/pc/vga_text.c (grub_console_cls): Use
43572 grub_console_gotoxy() to go back to beginning of the screen.
43573 Found by Patrick Georgi <patrick.georgi@coresystems.de>
43574
2921d337 435752008-07-29 Christian Franke <franke@computer.org>
43576
43577 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43578 Add conversion of emulated mount points on Cygwin.
43579
b609876d 435802008-07-29 Christian Franke <franke@computer.org>
43581
43582 * util/update-grub.in: Add a check for admin
43583 group on Cygwin.
43584 Remove old `grub.cfg.new' before creation.
43585 Add `-f' to `mv' to handle the different filesystem
43586 semantics of Windows.
43587
e93e4679 435882008-07-29 Bean <bean123ch@gmail.com>
43589
43590 * normal/main.c (get_line): Fix buffer overflow bug.
43591
41694fd0 435922008-07-28 Robert Millan <rmh@aybabtu.com>
43593
43594 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
43595 (struct grub_apple_header): New struct. Describes the layout of
43596 the partmap header.
43597 (apple_partition_map_iterate): Check the header magic as well as the
43598 partition magic (which was already being checked).
43599
cfd0b4e6 436002008-07-28 Pavel Roskin <proski@gnu.org>
43601
43602 * genmk.rb: Add a warning to the beginning of the output that
43603 it's a generated file and should not be edited.
43604
93cce016 436052008-07-28 Robert Millan <rmh@aybabtu.com>
43606
43607 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
43608 with the same number are found, just use issue a warning with
43609 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 43610
cd1df915 436112008-07-27 Robert Millan <rmh@aybabtu.com>
43612
43613 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
43614 information.
43615
b70a8427 436162008-07-27 Bean <bean123ch@gmail.com>
43617
43618 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
43619 (grub_fat_find_dir): Ignore case when comparing filename.
43620
8f5e379f 436212008-07-27 Bean <bean123ch@gmail.com>
43622
43623 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
43624 smallino, as it's more descriptive, and i8count can be confused with
43625 the other field count.
43626 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
43627 inode type.
43628
a85cd5a0 436292008-07-27 Bean <bean123ch@gmail.com>
43630
43631 * commands/crc.c: New file.
43632
43633 * lib/crc.c: Likewise.
43634
43635 * include/grub/lib/crc.h: Likewise.
43636
43637 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
43638
43639 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
43640 (hexdump): Move this function to ...
43641
43642 * lib/hexdump.c: ... here.
43643
43644 * include/grub/hexdump.h: Renamed to ...
43645
43646 * include/grub/lib/hexdump.h: ... this.
43647
43648 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
43649
43650 * util/grub-editenv.c: Likewise.
43651
43652 * include/envblk.h: Renamed to ...
43653
43654 * include/lib/envblk.h: ... this.
43655
43656 * util/envblk.c: Renamed to ...
43657
43658 * lib/envblk.c: ... this.
43659
43660 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
43661 lib/hexdump.c.
43662 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
43663 (pkglib_MODULES): Add crc.mod.
43664 (hexdump_mod_SOURCES): Add lib/hexdump.c.
43665 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
43666 (crc_mod_SOURCES): New macro.
43667 (crc_mod_CFLAGS): Likewise.
43668 (crc_mod_LDFLAGS): Likewise.
43669
43670 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
43671
43672 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43673
43674 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43675
43676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43677
43678 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
43679
c298def0 436802008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 43681
43682 * commands/help.c: Include <grub/term.h>.
43683 (TERM_WIDTH): Removed. Updated all users.
43684
cc349fb3 436852008-07-27 Pavel Roskin <proski@gnu.org>
43686
43687 * util/getroot.c (find_root_device): Rephrase a comment to avoid
43688 spurious warnings about a comment within a comment.
43689
9051607e 436902008-07-25 Robert Millan <rmh@aybabtu.com>
43691
43692 * util/getroot.c (find_root_device): Skip devices that match
43693 /dev/dm-[0-9]. This lets the real device be found for any type of
43694 abstraction (LVM, EVMS, RAID..).
43695 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
43696 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
43697 device is found first, find_root_device() will now skip it.
43698
01453bfc 436992008-07-24 Pavel Roskin <proski@gnu.org>
43700
43701 * include/grub/types.h: Use __builtin_bswap32() and
43702 __builtin_bswap64() with gcc 4.3 and newer.
43703
6af9849f 437042008-07-24 Christian Franke <franke@computer.org>
43705
3a0fa256 43706 * util/i386/pc/grub-install.in: If `--debug' is specified,
43707 pass `--verbose' to grub-setup.
43708 Abort script if make_system_path_relative_to_its_root() fails.
43709
7810e747 437102008-07-24 Bean <bean123ch@gmail.com>
43711
43712 * configure.ac: Fixed a bug caused by the previous cygwin patch,
43713 variable `target_platform' should be `platform'.
43714
42290e17 437152008-07-24 Bean <bean123ch@gmail.com>
43716
51cc5193 43717 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 43718 (grub_png_init_fixed_block): New function.
43719 (grub_png_decode_image_data): Handle fixed huffman code compression.
43720
2a8a80e4 437212008-07-24 Bean <bean123ch@gmail.com>
43722
43723 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
43724 (grub_pe2elf_SOURCES): New macro.
43725 (CLEANFILES): Add grub-pe2elf.
43726
43727 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
43728 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
43729 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
43730 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
43731 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
43732 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
43733 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
43734 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
43735 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
43736 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
43737 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
43738 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
43739 (GRUB_PE32_DT_FUNCTION): Likewise.
43740 (GRUB_PE32_REL_I386_DIR32): Likewise.
43741 (GRUB_PE32_REL_I386_REL32): Likewise.
43742 (grub_pe32_symbol): New structure.
43743 (grub_pe32_reloc): Likewise.
43744
43745 * util/grub-pe2elf.c: New file.
43746
43747 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
43748 start symbol in non pc platform.
43749
43750 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
43751
43752 The following patches are from Christian Franke.
43753
43754 * include/grub/dl.h: Remove .previous, gas supports this only
43755 for ELF format.
43756
43757 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
43758 Remove .type, gas supports this only for ELF format.
43759
43760 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
43761 nullbytes in symbol table. This fixes an infinite loop if table is
43762 zero filled.
43763
43764 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
43765 TARGET_IMG_LDFLAGS and EXEEXT.
43766
43767 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
43768 TARGET_IMG_LDFLAGS_AC.
43769 (grub_CHECK_STACK_ARG_PROBE): New function.
43770
43771 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
43772
43773 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
43774
43775 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
43776 to set TARGET_IMG_LD* accordingly.
43777 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
43778 Add call to grub_CHECK_STACK_ARG_PROBE.
43779 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
43780
43781 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
43782
43783 * genmk.rb: Add EXEEXT to CLEANFILES.
43784
12ccdb75 437852008-07-23 Robert Millan <rmh@aybabtu.com>
43786
43787 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
43788 define the codes for arrows and lines used for the menu).
43789 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
43790 as well.
43791
43792 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
43793 fonts, because the latter are too slow.
43794
18eeaf04 437952008-07-21 Bean <bean123ch@gmail.com>
43796
43797 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
43798 a20. Run keyboard test last, as it will cause macbook to halt.
43799
b095e2ad 438002008-07-18 Pavel Roskin <proski@gnu.org>
43801
43802 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
43803 load foreign architecture modules correctly anyway. Keep
43804 support for loading host architecture modules, whether we
43805 compile them or not.
43806
737feb35 438072008-07-17 Pavel Roskin <proski@gnu.org>
43808
3f4ce737 43809 * configure.ac: Use -m32 or -m64 regardless of whether we had to
43810 change target_cpu. The compiler default can mismatch target_cpu
43811 in any case.
43812
4ad2d049 43813 * disk/efi/efidisk.c: Fix format warnings on x86_64.
43814 * kern/efi/efi.c: Likewise.
43815
f6130a12 43816 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
43817 target compiler is functional.
43818 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
43819 are set up.
43820
58393a2d 43821 * configure.ac: Default to efi platform for x86_64-apple. Allow
43822 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
43823 adjustments from the rest, only do them if target is not
43824 explicitly given. Merge other adjustments with the final sanity
43825 check. Remove an extraneous check for supported CPU. Be
43826 specific which CPU and which platform is not supported.
43827
737feb35 43828 * configure.ac: Default to pc platform for x86_64.
43829
546f966a 438302008-07-17 Robert Millan <rmh@aybabtu.com>
43831
43832 Partial LinuxBIOS -> Coreboot rename.
43833
43834 * conf/i386-linuxbios.rmk: Renamed to ...
43835 * conf/i386-coreboot.rmk: ... this.
43836 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
43837 * configure.ac: Accept "coreboot" as input platform (but maintain
43838 compatibility with "linuxbios").
43839 * include/grub/i386/linuxbios: Renamed to ...
43840 * include/grub/i386/coreboot: ... this.
43841
20011694 438422008-07-17 Bean <bean123ch@gmail.com>
43843
43844 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 43845 (appleldr_mod_SOURCE): New variable.
20011694 43846 (appleldr_mod_CFLAGS): Likewise.
43847 (appleldr_mod_LDFLAGS): Likewise.
43848 (pci_mod_SOURCES): Likewise.
43849 (pci_mod_CFLAGS): Likewise.
43850 (pci_mod_LDFLAGS): Likewise.
43851 (lspci_mod_SOURCES): Likewise.
43852 (lspci_mod_CFLAGS): Likewise.
43853 (lspci_mod_LDFLAGS): Likewise.
43854
43855 * conf/x86_64-efi.rmk: New file.
43856
43857 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
43858 macro.
43859 (grub_efidisk_write): Likewise.
43860
43861 * include/efi/api.h (efi_call_0): New macro.
43862 (efi_call_1): Likewise.
43863 (efi_call_2): Likewise.
43864 (efi_call_3): Likewise.
43865 (efi_call_4): Likewise.
43866 (efi_call_5): Likewise.
43867 (efi_call_6): Likewise.
43868
43869 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
43870 grub_rescue_cmd_chainloader.
43871
43872 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
43873 (grub_pe32_optional_header): Change some fields based on i386 or
43874 x86_64 platform.
43875 (GRUB_PE32_PE32_MAGIC): Likewise.
43876
43877 * include/grub/efi/uga_draw.h: New file.
43878
43879 * include/grub/elf.h (STN_ABS): New constant.
43880 (R_X86_64_NONE): Relocation constant for x86_64.
43881 (R_X86_64_64): Likewise.
43882 (R_X86_64_PC32): Likewise.
43883 (R_X86_64_GOT32): Likewise.
43884 (R_X86_64_PLT32): Likewise.
43885 (R_X86_64_COPY): Likewise.
43886 (R_X86_64_GLOB_DAT): Likewise.
43887 (R_X86_64_JUMP_SLOT): Likewise.
43888 (R_X86_64_RELATIVE): Likewise.
43889 (R_X86_64_GOTPCREL): Likewise.
43890 (R_X86_64_32): Likewise.
43891 (R_X86_64_32S): Likewise.
43892 (R_X86_64_16): Likewise.
43893 (R_X86_64_PC16): Likewise.
43894 (R_X86_64_8): Likewise.
43895 (R_X86_64_PC8): Likewise.
43896
43897 * include/grub/i386/efi/pci.h: New file.
43898
43899 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
43900 Change it value based on platform.
43901 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
43902 (GRUB_E820_RAM): Likewise.
43903 (GRUB_E820_RESERVED): Likewise.
43904 (GRUB_E820_ACPI): Likewise.
43905 (GRUB_E820_NVS): Likewise.
43906 (GRUB_E820_EXEC_CODE): Likewise.
43907 (GRUB_E820_MAX_ENTRY): Likewise.
43908 (grub_e820_mmap): New structure.
43909 (linux_kernel_header): Change the efi field according to different
43910 kernel version, also field from linux_kernel_header.
43911
43912 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
43913
43914 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
43915 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
43916 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
43917 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
43918 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
43919 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
43920 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
43921 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
43922 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
43923 (GRUB_PCI_ADDR_IO_MASK): Likewise.
43924
43925 * include/grub/x86_64/efi/kernel.h: New file.
43926
43927 * include/grub/x86_64/efi/loader.h: Likewise.
43928
43929 * include/grub/x86_64/efi/machine.h: Likewise.
43930
43931 * include/grub/x86_64/efi/pci.h: Likewise.
43932
43933 * include/grub/x86_64/efi/time.h: Likewise.
43934
43935 * include/grub/x86_64/linux.h: Likewise.
43936
43937 * include/grub/x86_64/setjmp.h: Likewise.
43938
43939 * include/grub/x86_64/time.h: Likewise.
43940
43941 * include/grub/x86_64/types.h: Likewise.
43942
43943 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
43944 GRUB_TARGET_SIZEOF_VOID_P.
43945
43946 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
43947 (grub_efi_locate_handle): Likewise.
43948 (grub_efi_open_protocol): Likewise.
43949 (grub_efi_set_text_mode): Likewise.
43950 (grub_efi_stall): Likewise.
43951 (grub_exit): Likewise.
43952 (grub_reboot): Likewise.
43953 (grub_halt): Likewise.
43954 (grub_efi_exit_boot_services): Likewise.
43955 (grub_get_rtc): Likewise.
43956
43957 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
43958 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
43959 (grub_efi_allocate_pages): Wrap efi calls.
43960 (grub_efi_free_pages): Wrap efi calls.
43961 (grub_efi_get_memory_map): Wrap efi calls.
43962
43963 * kern/x86_64/dl.c: New file.
43964
43965 * kern/x86_64/efi/callwrap.S: Likewise.
43966
43967 * kern/x86_64/efi/startup.S: Likewise.
43968
43969 * loader/efi/appleloader.c: Likewise.
43970
43971 * loader/efi/chainloader.c (cmdline): New variable.
43972 (grub_chainloader_unload): Wrap efi calls.
43973 (grub_chainloader_boot): Likewise.
43974 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
43975 command line.
43976
43977 * loader/efi/chainloader_normal.c (chainloader_command):
43978 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
43979 command line.
43980
43981 * loader/i386/efi/linux.c (allocate_pages): Change allocation
43982 method.
43983 (grub_e820_add_region): New function.
43984 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
43985 booting.
43986 (grub_find_video_card): New function.
43987 (grub_linux_setup_video): New function.
43988 (grub_rescue_cmd_linux): Probe for video information.
43989
43990 * normal/x86_64/setjmp.S: New file.
43991
43992 * term/efi/console.c (map_char): New function.
43993 (grub_console_putchar): Map unicode char.
43994 (grub_console_checkkey): Wrap efi calls.
43995 (grub_console_getkey): Likewise.
43996 (grub_console_getwh): Likewise.
43997 (grub_console_gotoxy): Likewise.
43998 (grub_console_cls): Likewise.
43999 (grub_console_setcolorstate): Likewise.
44000 (grub_console_setcursor): Likewise.
44001
44002 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
44003
59652a20 440042008-07-16 Pavel Roskin <proski@gnu.org>
44005
ef294055 44006 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
44007 format strings.
44008
59652a20 44009 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
44010 pointer, not an integer. This fixes a warning and prevents
44011 precision loss on 64-bit systems.
44012 (relocate_addresses): Remove unneeded cast.
44013
afc3b5d7 440142008-07-15 Pavel Roskin <proski@gnu.org>
44015
506b2b3e 44016 * kern/i386/ieee1275/init.c: Include grub/cache.h.
44017
62ead89c 44018 * term/ieee1275/ofconsole.c: Disable code unused on i386.
44019
c4cd51d7 44020 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
44021 Fix comparison between signed and unsigned.
44022
0d3d8f28 44023 * include/grub/i386/ieee1275/console.h: Declare
44024 grub_console_init() and grub_console_fini().
44025
8804b286 44026 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
44027 It's empty and unused.
44028
ee01cf35 44029 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
44030 beginning to avoid warnings with some compilers.
44031
afc3b5d7 44032 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
44033 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
44034
e4e8eaa5 440352008-07-14 Pavel Roskin <proski@gnu.org>
44036
407aceb4 44037 * kern/env.c (grub_register_variable_hook): Don't copy empty
44038 string, it leaks memory. Pass "" to grub_env_set(), it should
44039 handle constant strings.
44040
e4e8eaa5 44041 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
44042 * commands/cmp.c (grub_cmd_cmp): Likewise.
44043 * kern/dl.c (grub_dl_flush_cache): Likewise.
44044 (grub_dl_load_core): Likewise.
44045 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
44046 (grub_elf64_load_phdrs): Likewise.
44047
d4e2dad3 440482008-07-13 Pavel Roskin <proski@gnu.org>
44049
44050 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
44051 between signed and unsigned.
44052 (LzmaEnc_Finish): Fix warning about an unused parameter.
44053
aa24b516 440542008-07-13 Bean <bean123ch@gmail.com>
44055
44056 * Makefile.in (enable_lzo): New rule.
44057
44058 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
44059
44060 * configure.ac (ENABLE_LZO): New option --enable-lzo.
44061
44062 * boot/i386/pc/lnxboot.S: #include <config.h>.
44063
44064 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 44065 its value according to the compression algorithm used, lzo or lzma.
aa24b516 44066
44067 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
44068 compression algorithm according to configure macro.
44069
44070 * kern/i386/pc/startup.S (codestart): Likewise.
44071
44072 * kern/i386/pc/lzma_decode.S: New file.
44073
44074 * include/grub/lib/LzFind.h: Likewise.
44075
44076 * include/grub/lib/LzHash.h: Likewise.
44077
44078 * include/grub/lib/LzmaDec.h: Likewise.
44079
44080 * include/grub/lib/LzmaEnc.h: Likewise.
44081
44082 * include/grub/lib/LzmaTypes.h: Likewise.
44083
44084 * lib/LzFind.c: Likewise.
44085
44086 * lib/LzmaDec.c: Likewise.
44087
44088 * lib/LzmaEnc.c: Likewise.
44089
4ae821ac 440902008-07-13 Bean <bean123ch@gmail.com>
44091
44092 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
44093 (grub_ext4_extent_header): New structure.
44094 (grub_ext4_extent): Likewise.
44095 (grub_ext4_extent_idx): Likewise.
44096 (grub_ext4_find_leaf): New function.
44097 (grub_ext2_read_block): Handle extents.
44098
9a745147 440992008-07-12 Robert Millan <rmh@aybabtu.com>
44100
44101 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
44102
d49a4cf6 441032008-07-11 Robert Millan <rmh@aybabtu.com>
44104
44105 * util/grub.d/40_custom.in: New file. Example on how to add custom
44106 entries to /etc/grub.d.
44107 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
44108 40_custom (implicitly, by merging all the grub.d rules).
44109
947414b4 441102008-07-11 Pavel Roskin <proski@gnu.org>
44111
0059cf6f 44112 * commands/read.c (grub_getline): Fix invalid memory access.
44113 Don't add newline to the variable value.
44114
947414b4 44115 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
44116 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
44117 (serial_hw_get_port): Check validity of the port number.
44118 (grub_cmd_serial): Check return value of serial_hw_get_port().
44119
62a02d00 441202008-07-07 Pavel Roskin <proski@gnu.org>
44121
44122 * boot/i386/pc/diskboot.S (notification_string): Replace
44123 "Loading kernel" with just "loading". This is shorter, less
44124 confusing and saves a few bytes for possible future changes.
44125
3e5581b0 441262008-07-05 Pavel Roskin <proski@gnu.org>
44127
ea387a48 44128 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
44129 size for ATAPI devices, they are undefined. Output sector
44130 number in decimal form.
44131
3e5581b0 44132 * disk/ata.c: Use named constants for status bits.
44133
fdecb8fd 441342008-07-04 Pavel Roskin <proski@gnu.org>
44135
bcd35b90 44136 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
44137 grub_addr_t before casting it to the void pointer to fix a
44138 warning. Non-addressable regions are discarded earlier.
44139 (grub_arch_modules_addr): Cast _end to grub_addr_t.
44140 * kern/i386/linuxbios/table.c: Include grub/misc.h.
44141 (check_signature): Don't shadow table_header.
44142 (grub_linuxbios_table_iterate): Cast numeric constants to
44143 grub_linuxbios_table_header_t.
44144 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
44145 grub_stop().
44146
af58ab3d 44147 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
44148 prevent warnings.
44149
1759aa57 44150 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
44151 pointer, which can cause warnings. Support 64-bit addresses.
44152
fdecb8fd 44153 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
44154 of sizeof(long). This fixes PowerPC image generation on x86_64.
44155
8516d2a8 441562008-07-04 Robert Millan <rmh@aybabtu.com>
44157
44158 This fixes a performance issue when pc & gpt partmap iterators
44159 didn't abort iteration even after our hook found what it was
fe987087 44160 looking for (often causing expensive probes of non-existent drives).
8516d2a8 44161
44162 Some callers relied on previous buggy behaviour, since they would
34c44600 44163 raise an error when their own hooks caused early abortion of its
8516d2a8 44164 iteration.
44165
44166 * kern/device.c (grub_device_open): Improve error message.
44167 * disk/lvm.c (grub_lvm_open): Likewise.
44168 * disk/raid.c (grub_raid_open): Likewise.
44169
44170 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
44171 when hook requests it, independently of grub_errno.
44172 (pc_partition_map_probe): Do not fail when find_func() caused
44173 early abortion of pc_partition_map_iterate().
44174
44175 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
44176 when hook requests it, independently of grub_errno.
44177 (gpt_partition_map_probe): Do not fail when find_func() caused
44178 early abortion of gpt_partition_map_iterate().
44179
44180 * kern/partition.c (grub_partition_iterate): Abort parent iteration
44181 when hook requests it, independently of grub_errno. Do not fail when
44182 part_map_iterate_hook() caused early abortion of p->iterate().
44183
44184 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
44185 when grub_partition_iterate() returned with non-zero.
44186
277d0de9 441872008-07-03 Pavel Roskin <proski@gnu.org>
44188
44189 * disk/ata.c (grub_ata_pio_write): Check status before writing,
44190 like we do in grub_ata_pio_read().
44191 (grub_ata_readwrite): Always write individual sectors. Fix the
44192 sector count for the remainder.
44193 (grub_ata_write): Enable writing to ATA devices. Correctly
44194 report error for ATAPI devices.
44195
d4c9b428 441962008-07-02 Pavel Roskin <proski@gnu.org>
44197
e43fc690 44198 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
44199 warning.
44200
f707af42 44201 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
44202 for every read sector, we already increment it for the whole
44203 batch. This fixes reading more than 256 sectors at once.
44204
11e16b15 44205 * util/grub-editenv.c (cmd_info): Cast argument to long
44206 explicitly. ptrdiff_t reduces to int on i386.
44207
cbabfdd4 44208 * util/grub-editenv.c (main): Be specific which parameter is
44209 missing.
44210
b8fbce0a 44211 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
44212 (memdisk): Make memdisk_orig_addr a pointer.
44213
c9c8e606 44214 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
44215 for file offsets, use grub_off_t instead. Fix printf format
44216 warnings.
44217
ca62e598 44218 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
44219 there. Real unexpected warnings should not drown in the noise
44220 about known problems.
44221
ce8d1766 44222 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
44223 grub_disk_addr_t for memory addresses.
44224
00c7a56a 44225 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
44226 explicitly to fix a warning.
44227
08d3ef09 44228 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
44229
cb71ba20 44230 * Makefile.in (MODULE_LDFLAGS): New variable.
44231 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
44232 the linker accepts --build-id=none.
44233 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
44234 MODULE_LDFLAGS.
44235 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
44236
d4c9b428 44237 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
44238 those in Linux XFS code. Provide a way to access 64-bit parent
44239 inode.
44240 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
44241 the end of struct grub_xfs_dir_header.
44242
d4156eee 442432008-07-02 Bean <bean123ch@gmail.com>
44244
44245 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
44246 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44247 and GRUB_IEEE1275_FLAG_NO_ANSI.
44248
44249 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
44250 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44251 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
44252
44253 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
44254 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
44255
44256 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
44257 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
44258
44259 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
44260 esc sequence on non ANSI terminal.
44261 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
44262
44263 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
44264 beginning of file.
44265
2270f77b 442662008-07-02 Bean <bean123ch@gmail.com>
44267
44268 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
44269 (grub_editenv_SOURCES): New variable.
44270 (pkglib_MODULES): Add loadenv.mod.
44271 (loadenv_mod_SOURCES): New variable.
44272 (loadenv_mod_CFLAGS): Likewise.
44273 (loadenv_mod_LDFLAGS): Likewise.
44274
44275 * include/grub/envblk.h: New file.
44276
44277 * util/envblk.c: New file.
44278
44279 * util/grub-editenv.c: New file.
44280
44281 * commands/loadenv.c: New file.
44282
0e9e51ec 442832008-07-01 Pavel Roskin <proski@gnu.org>
44284
d89b7634 44285 * include/multiboot2.h (struct multiboot_tag_module): Use char,
44286 not unsigned char. This fixes warnings and is consistent with
44287 other tags.
44288
bf1835b1 44289 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
44290
8222a04b 44291 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
44292
6a42d99d 44293 * term/tparm.c (analyze): Always set *popcount.
44294
10b159d1 44295 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
44296 cast to fix a warning.
44297
b8789f6c 44298 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
44299 cast to suppress a warning.
44300
29d7e38a 44301 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
44302 grub_fshelp_read_file() expects.
44303
f341f669 44304 * fs/fat.c: Fix UUID calculation on big-endian systems. We
44305 write uuid as a 32-bit value in CPU byte order, so declare and
44306 use it as such.
44307
0e9e51ec 44308 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
44309 long if the format specifier expects it.
44310 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
44311 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44312 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
44313 long to fix a warning.
44314 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
44315 grub_dprintf() arguments to fix warnings.
44316
3aefa857 443172008-06-30 Pavel Roskin <proski@gnu.org>
44318
56c7668b 44319 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
44320 install_bsd_part immediately before core.img is embedded or
44321 modified on disk. This fixes core.img verification if core.img
44322 cannot be embedded.
44323
3aefa857 44324 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
44325 core_path to calculate the blocklist.
44326 Patch from Javier Martín <lordhabbit@gmail.com>
44327
5444088d 443282008-06-29 Robert Millan <rmh@aybabtu.com>
44329
44330 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
44331 block to disk block.
44332 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
44333 Patch from Niels Böhm <bitbucket@arcor.de>
44334
674835c8 443352008-06-29 Robert Millan <rmh@aybabtu.com>
44336
44337 * util/update-grub_lib.in (font_path): Search for fonts in
44338 /boot/grub first, which is more likely to be readable (we aren't
44339 deciding where fonts live, just looking for them).
44340
f527dbc8 443412008-06-26 Pavel Roskin <proski@gnu.org>
44342
6c2d8df6 44343 * util/biosdisk.c (read_device_map): Don't leave dead map
44344 entries for devices failing stat() check.
44345
f527dbc8 44346 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
44347 core_path_dev for the core.img path on the target device.
44348
aebe3d13 443492008-06-26 Robert Millan <rmh@aybabtu.com>
44350
44351 * disk/fs_uuid.c: New file.
44352 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
44353 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
44354 (fs_uuid_mod_LDFLAGS): New variables.
44355 * include/grub/disk.h (grub_disk_dev_id): Add
44356 `GRUB_DISK_DEVICE_UUID_ID'.
44357 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
44358 implement iterate().
44359
37aaf354 443602008-06-26 Robert Millan <rmh@aybabtu.com>
44361
44362 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
44363 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
44364 Linux image includes no initrd.
44365
25ff262a 443662008-06-21 Javier Martín <lordhabbit@gmail.com>
44367
44368 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
44369 call to resolve the core image location that effectively appended the
44370 name twice.
44371
76a2bd44 443722008-06-21 Robert Millan <rmh@aybabtu.com>
44373
44374 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
44375 call from here ...
44376
44377 * util/grub.d/10_hurd.in: ... to here ...
44378 * util/grub.d/10_linux.in: ... and here.
44379
650e1c79 443802008-06-19 Robert Millan <rmh@aybabtu.com>
44381
fe987087 44382 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 44383 after it has been set by grub_machine_set_prefix().
44384
6ce63911 443852008-06-19 Robert Millan <rmh@aybabtu.com>
44386
44387 * commands/search.c (search_label, search_fs_uuid, search_file): Print
44388 search result when not saving to variable, not the other way around.
44389 When saving to variable, abort iteration as soon as a match is found.
44390
73940cec 443912008-06-19 Robert Millan <rmh@aybabtu.com>
44392
44393 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
44394 check for partition that provides /boot/grub. Its logic is flawed,
44395 as it prevents prepare_grub_to_access_device() from being called
44396 multiple times.
44397
3c62a39d 443982008-06-19 Robert Millan <rmh@aybabtu.com>
44399
44400 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
44401 "insmod" command directly when abstraction modules are needed,
fe987087 44402 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 44403 since it had already been processed).
44404
47395a42 444052008-06-19 Pavel Roskin <proski@gnu.org>
44406
44407 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
44408 changed. This is needed in case GRUB_LIBDIR changes.
44409 * conf/i386-ieee1275.rmk: Likewise.
44410 * conf/i386-linuxbios.rmk: Likewise.
44411 * conf/i386-pc.rmk: Likewise.
44412 * conf/powerpc-ieee1275.rmk: Likewise.
44413
a145ac2d 444142008-06-18 Pavel Roskin <proski@gnu.org>
44415
44416 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
44417 kernel_elf_symlist.c to symlist.c for consistency with other
44418 architectures. Update all users.
44419 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
44420
7847c51e 444212008-06-18 Robert Millan <rmh@aybabtu.com>
44422
44423 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
44424 it in prefix.
44425
44426 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
44427 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
44428 a RAID device, run setup() for all members independently on whether
44429 LVM abstraction is being used.
44430 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
44431 If grub-mkimage has set `*install_dos_part == -2', don't override this
44432 value.
44433 Perform *install_dos_part adjustments independently on whether
44434 we're embedding or not.
44435 Clarify error message when image is too big for embedding.
44436 Remove duplicate *install_dos_part stanza.
44437
b23e5644 444382008-06-17 Robert Millan <rmh@aybabtu.com>
44439
44440 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
44441 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
44442 variables.
44443 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
44444 values in grub_ofconsole_normal_color and
44445 grub_ofconsole_highlight_color (they're not directly related to
44446 background and foreground).
44447 (grub_ofconsole_setcolorstate): Extract background and foreground
44448 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
44449
0aac2f79 444502008-06-17 Robert Millan <rmh@aybabtu.com>
44451
44452 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
44453 /boot/grub for the check in last commit, not /boot (they could be
44454 different partitions).
44455
3cca7ef3 444562008-06-16 Robert Millan <rmh@aybabtu.com>
44457
44458 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
44459 asked to setup access for the same partition that provides /boot,
44460 don't bother using UUIDs since our root already has the value we
44461 want.
44462
347396d8 444632008-06-16 Robert Millan <rmh@aybabtu.com>
44464
44465 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
44466 I2O devices.
44467 Patch from Sven Mueller <sven@debian.org>.
44468
991477f8 444692008-06-16 Robert Millan <rmh@aybabtu.com>
44470
44471 * util/update-grub.in: Check for $EUID instead of $UID.
44472 Reported by Vincent Zweije.
44473
d31a32a1 444742008-06-16 Bean <bean123ch@gmail.com>
44475
fe987087 44476 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 44477 (grub_ext2_read_block): Likewise.
44478 (grub_ext2_read_inode): Likewise.
44479 (grub_ext2_mount): Likewise.
44480 (grub_ext2_close): Likewise.
44481 (grub_ext3_get_journal): Removed.
44482
fe987087 44483 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 44484 (grub_reiserfs_read_symlink): Likewise.
44485 (grub_reiserfs_mount): Likewise.
44486 (grub_reiserfs_open): Likewise.
44487 (grub_reiserfs_read): Likewise.
44488 (grub_reiserfs_close): Likewise.
44489 (grub_reiserfs_get_journal): Removed.
44490
44491 * fs/fshelp.c (grub_fshelp_read): Removed.
44492 (grub_fshelp_map_block): Likewise.
44493
44494 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
44495 (grub_fshelp_journal): Likewise.
44496 (grub_fshelp_read): Likewise.
44497 (grub_fshelp_map_block): Likewise.
44498
3540a760 444992008-06-16 Pavel Roskin <proski@gnu.org>
44500
44501 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
44502 floating point anymore.
44503 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
44504
95614c84 445052008-06-15 Pavel Roskin <proski@gnu.org>
44506
44507 * commands/ls.c (grub_ls_list_files): Use integer calculations
44508 for human readable format, avoid floating point use.
44509 * kern/misc.c (grub_ftoa): Remove.
44510 (grub_vsprintf): Remove floating point support.
44511
50465dd6 445122008-06-15 Robert Millan <rmh@aybabtu.com>
44513
fe6b695a 44514 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 44515 devices.
44516 Reported by Max Vozeler.
44517
a9207284 445182008-06-15 Robert Millan <rmh@aybabtu.com>
44519
44520 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
44521 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
44522 skipped later.
44523 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
44524 the beginning of the prefix.
44525
44526 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
44527 It is assumed that if we have a memdisk, grub-mkimage has set
44528 grub_prefix to include the "(memdisk)" drive in it.
44529
a7cbd45a 445302008-06-15 Robert Millan <rmh@aybabtu.com>
44531
44532 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
44533 Initialize keyboard controller after registering the terminal, so that
44534 grub_printf() can be called from grub_keyboard_controller_init().
44535
21cf716a 445362008-06-15 Robert Millan <rmh@aybabtu.com>
44537
44538 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
44539 extent-btree which is written as big endian on disk.
44540 Reported by Alain Greppin <al@chilibi.org>.
44541
23a64d8e 445422008-06-14 Robert Millan <rmh@aybabtu.com>
44543
44544 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
44545 * util/i386/pc/grub-install.in (modules): Likewise.
44546
d687651c 445472008-06-13 Pavel Roskin <proski@gnu.org>
44548
44549 * commands/ls.c (grub_ls_list_files): Fix format warnings.
44550
dfe9ddd4 445512008-06-13 Bean <bean123ch@gmail.com>
44552
44553 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
44554
44555 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
44556
44557 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
44558 to indicate sparse block.
44559
16ae7781 445602008-06-12 Pavel Roskin <proski@gnu.org>
44561
e6d1a308 44562 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
44563 number, grub_fshelp_read() does it for us.
44564
16ae7781 44565 * fs/fshelp.c (grub_fshelp_read): New function. Implement
44566 linear disk read with journal translation.
44567 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
44568 * include/grub/fshelp.h: Declare grub_fshelp_read().
44569
40fd3a2b 445702008-06-09 Pavel Roskin <proski@gnu.org>
44571
44572 * fs/minix.c (grub_minix_mount): Handle error reading
44573 superblock.
44574
f5679726 445752008-06-08 Robert Millan <rmh@aybabtu.com>
44576
44577 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
44578 don't append the RAID prefix afterwards.
44579 Reported by Clint Adams.
44580
ce525529 445812008-06-08 Robert Millan <rmh@aybabtu.com>
44582
44583 Based on description from Pavel:
44584 * kern/disk.c (grub_disk_check_range): Rename to ...
44585 (grub_disk_adjust_range): ... this. Add a comment explaining the
44586 tasks performed by this function.
44587
ad4936a0 445882008-06-08 Robert Millan <rmh@aybabtu.com>
44589
44590 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
44591 `num_serial' (for consistency with other variables).
44592 (struct grub_ntfs_data): Add `uuid' member.
44593 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
44594 (grub_ntfs_uuid): New function.
44595 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
44596
dc20b0f9 445972008-06-07 Pavel Roskin <proski@gnu.org>
44598
44599 * util/biosdisk.c (open_device): Revert last change to the
44600 function, it broke installation. The sector needs to be
44601 different dependent on which device is opened.
44602
c5e3cfba 446032008-06-06 Robert Millan <rmh@aybabtu.com>
44604
44605 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
44606 rest of GRUB, and breakage doesn't happen if its value were modified.
44607
44608 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44609 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
44610 a constant (same value).
44611 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
44612 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
44613
26a1f8c4 446142008-06-06 Robert Millan <rmh@aybabtu.com>
44615
44616 * util/biosdisk.c (open_device): Do not modify sector offset when
44617 accessing a partition. kern/disk.c already handles this for us.
44618
25d6b327 446192008-06-06 Robert Millan <rmh@aybabtu.com>
44620
44621 * util/grub-emu.c (grub_machine_init): Move code in this function from
44622 here ...
44623 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
44624 segfault in case grub_printf() is called).
44625
44626 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
44627 grub_probe. Update all users not to explicitly add it again.
44628 (grub_device): New variable; contains corresponding device for grubdir.
44629 (fs_module, partmap_module, devabstraction_module): Pass
44630 `--device ${grub_device}' to grub_probe to avoid traversing /dev
44631 every time.
44632
9ece62fb 446332008-06-05 Robert Millan <rmh@aybabtu.com>
44634
44635 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
44636 is found, print it (same layout as with labels).
44637
1ad36d37 446382008-06-04 Robert Millan <rmh@aybabtu.com>
44639
44640 * util/biosdisk.c (get_drive): Rename to ...
44641 (find_grub_drive): ... this. Update all users.
44642
44643 (get_os_disk): Rename to ...
44644 (convert_system_partition_to_system_disk): ... this. Update all users.
44645
44646 (find_drive): Rename to ...
44647 (find_system_device): ... this. Update all users.
44648
e6a30859 446492008-06-04 Robert Millan <rmh@aybabtu.com>
44650
44651 * util/biosdisk.c (get_os_disk): Handle IDA devices.
44652 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44653 (make_device_map): Likewise.
44654
00c108a4 446552008-06-01 Robert Millan <rmh@aybabtu.com>
44656
44657 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
44658 before dereferencing it.
44659
44660 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
44661 union with fat12/fat16-specific ones. Add some new fields, including
44662 `num_serial' for both versions.
44663 (struct grub_fat_data): Add `uuid' member.
44664 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
44665 names. Initialize `data->uuid' using `num_serial'.
44666 (grub_fat_uuid): New function.
44667 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
44668
44669 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
44670 (grub_reiserfs_uuid): New function.
44671 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
44672 member.
44673
44674 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
44675 (grub_xfs_uuid): New function.
44676 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
44677
1385c5bb 446782008-06-01 Robert Millan <rmh@aybabtu.com>
44679
44680 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
44681 code that is backward compatible with pre-uuid search command.
44682
c682dfd7 446832008-05-31 Robert Millan <rmh@aybabtu.com>
44684
44685 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
44686 floppies after everything else, to ensure floppy drive isn't accessed
44687 unnecessarily (patch from Bean).
44688
b7db5d47 446892008-05-31 Robert Millan <rmh@aybabtu.com>
44690
44691 * commands/search.c (search_label, search_fs_uuid, search_file): Do
44692 not print device names when we were asked to set a variable.
44693
6e037aa9 446942008-05-31 Robert Millan <rmh@aybabtu.com>
44695
44696 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
44697 using "cursor-on" and "cursor-off" commands (understood at least by
44698 the Open Firmware flavour on OLPC).
44699
41305bc8 447002008-05-31 Michael Gorven <michael@gorven.za.net>
44701
44702 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
44703 on and off sequences.
44704
69ba137e 447052008-05-31 Robert Millan <rmh@aybabtu.com>
44706
44707 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
44708 * util/update-grub.in: Likewise.
44709
520ae21b 447102008-05-30 Pavel Roskin <proski@gnu.org>
44711
44712 * util/biosdisk.c (linux_find_partition): Simplify logic and
44713 make the code more universal. Keep special processing for
44714 devfs, but use a simple rule for all other devices. If the
44715 device ends with a number, append 'p' and the partition number.
44716 Otherwise, append only the partition number.
44717
5786569b 447182008-05-30 Robert Millan <rmh@aybabtu.com>
44719
44720 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
44721 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
44722 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
44723 the `root' parameter to Linux.
44724
51500452 447252008-05-30 Robert Millan <rmh@aybabtu.com>
44726
44727 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
44728 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
44729 --fs_uuid with --fs-uuid.
44730 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
44731 all filesystems support them).
44732
811d3878 447332008-05-30 Robert Millan <rmh@aybabtu.com>
44734
44735 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 44736 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 44737
cab63c95 447382008-05-30 Robert Millan <rmh@aybabtu.com>
44739
44740 * util/grub.d/00_header.in: Remove obsolete comment referencing
44741 convert_system_path_to_grub_path().
44742 * util/update-grub.in: Likewise.
44743 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
44744 (convert_system_path_to_grub_path): Add a warning message explaining
44745 that this function is deprecated. Rely on is_path_readable_by_grub()
44746 for the readability checks.
44747 (font_path): Use is_path_readable_by_grub() for the readability
44748 check rather than convert_system_path_to_grub_path().
44749
972e2f7a 447502008-05-30 Robert Millan <rmh@aybabtu.com>
44751
44752 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
44753 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
44754 converting it first.
44755 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
44756 grub.cfg for access to font file, and afterwards call it again to set
44757 the root device.
44758
62191274 447592008-05-30 Robert Millan <rmh@aybabtu.com>
44760
44761 * commands/search.c (options): Add --fs_uuid option.
44762 (search_fs_uuid): New function.
44763 (grub_cmd_search): Fix --set argument passing.
44764 Use search_fs_uuid() when requested via --fs_uuid.
44765 (grub_search_init): Update help message.
44766 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
44767 and redeclare it as an array of 16-bit words.
44768 (grub_ext2_uuid): New function.
44769 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
44770 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
44771 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
44772 (GRUB_DEVICE_BOOT_UUID): New variables.
44773 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
44774 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
44775 whenever possible.
44776 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
44777 just assume `root' variable has the right value.
44778 * util/grub.d/10_linux.in: Likewise.
44779 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
44780 via PRINT_FS_UUID.
44781 (main): Recognise `-t fs_uuid' argument.
44782
01b73ec8 447832008-05-30 Robert Millan <rmh@aybabtu.com>
44784
44785 * util/biosdisk.c (map): Redefine structure to hold information
44786 about GRUB drive name.
fe6b695a 44787 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 44788 drive names.
44789 (call_hook): Remove.
44790 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
44791 member. Assume drive has partitions.
44792 (grub_util_biosdisk_open): Access device names via `.device' struct
44793 member.
44794 (open_device): Likewise.
44795 (find_drive): Likewise.
44796 (read_device_map): Adjust map[] usage to match the new struct
44797 definition. Don't check for duplicates (still possible, but not cheap
44798 anymore).
44799 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
44800 (make_device_name): Remove assumption of BIOS-like drive names.
44801
22f16596 448022008-05-30 Pavel Roskin <proski@gnu.org>
44803
44804 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
44805 compiling execute.c doesn't need grub_script.tab.h anymore.
44806 (normal/command.c_DEPENDENCIES): Likewise.
44807 (normal/function.c_DEPENDENCIES): Likewise.
44808 * conf/i386-ieee1275.rmk: Likewise.
44809 * conf/i386-linuxbios.rmk: Likewise.
44810 * conf/i386-pc.rmk: Likewise.
44811 * conf/powerpc-ieee1275.rmk: Likewise.
44812 * conf/sparc64-ieee1275.rmk: Likewise.
44813
528ad8f2 448142008-05-29 Pavel Roskin <proski@gnu.org>
44815
d1dff95d 44816 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
44817 when scanning metadata for volume group name.
44818
528ad8f2 44819 * include/grub/script.h: Don't include grub_script.tab.h. It's
44820 a generated file, which may only be included from the files with
44821 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
44822 use union YYSTYPE, as the later allows forward declaration.
44823 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
44824
47248e08 448252008-05-29 Robert Millan <rmh@aybabtu.com>
44826
44827 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
44828 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
44829 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
44830 (grub_console_checkkey): Add grub_dprintf() call to report unknown
44831 scan codes.
44832
ee632529 448332008-05-29 Robert Millan <rmh@aybabtu.com>
44834
44835 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
44836 control key combinations.
44837
eee96e08 448382008-05-29 Robert Millan <rmh@aybabtu.com>
44839
44840 * util/powerpc/ieee1275/grub-install.in: Move from here ...
44841 * util/ieee1275/grub-install.in: ... to here.
44842 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
44843 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
44844 (grub_install_SOURCES): Likewise.
44845
da9a6a94 448462008-05-29 Robert Millan <rmh@aybabtu.com>
44847
44848 * fs/affs.c: Update copyright year.
44849 * fs/ext2.c: Likewise.
44850 * fs/fshelp.c: Likewise.
44851 * fs/hfsplus.c: Likewise.
44852 * fs/ntfs.c: Likewise.
44853 * fs/xfs.c: Likewise.
44854 * include/grub/fshelp.h: Likewise.
44855 * util/grub-mkdevicemap.c: Likewise.
44856
12e65f3a 448572008-05-28 Robert Millan <rmh@aybabtu.com>
44858
44859 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
44860 might need to be fatfs to support some firmware implementations
44861 (e.g. OFW or EFI).
44862
23023641 448632008-05-28 Robert Millan <rmh@aybabtu.com>
44864
44865 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
44866 devices.
44867 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44868 (make_device_map): Likewise.
44869
887d2619 448702008-05-20 Bean <bean123ch@gmail.com>
44871
44872 * fs/fshelp.c (grub_fshelp_map_block): New function.
44873 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
44874 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
44875
44876 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
44877 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
44878 (grub_fshelp_journal): New structure.
44879 (grub_fshelp_map_block): New function prototype.
44880 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
44881 (grub_fshelp_map_block): Likewise.
44882
44883 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
44884 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
44885 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
44886 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
44887 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
44888 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
44889 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
44890 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
44891 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
44892 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
44893 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
44894 (grub_ext2_sblock): New members for journal support.
44895 (grub_ext3_journal_header): New structure.
44896 (grub_ext3_journal_revoke_header): Likewise.
44897 (grub_ext3_journal_block_tag): Likewise.
44898 (grub_ext3_journal_sblock): Likewise.
44899 (grub_fshelp_node): New members logfile and journal.
44900 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
44901 grub_fshelp_map_block to get real block number.
44902 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
44903 number.
44904 (grub_ext2_read_inode): Likewise.
44905 (grub_ext3_get_journal): New function.
44906 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
44907 (grub_ext2_close): Release memory used by journal.
44908
44909 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
44910 (REISERFS_MAGIC_DESC_BLOCK): New macro.
44911 (grub_reiserfs_transaction_header): Renamed to
44912 grub_reiserfs_description_block, replace field data with real_blocks.
44913 (grub_reiserfs_commit_block): New structure.
44914 (grub_reiserfs_data): New member journal.
44915 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
44916 number.
44917 (grub_reiserfs_read_symlink): Likewise.
44918 (grub_reiserfs_iterate_dir): Likewise.
44919 (grub_reiserfs_open): Likewise.
44920 (grub_reiserfs_read): Likewise.
44921 (grub_reiserfs_get_journal): New function.
44922 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
44923 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
44924 using grub_reiserfs_get_journal.
44925 (grub_reiserfs_close): Release memory used by journal.
44926
44927 * fs/affs.c (grub_affs_read_block): Change block type to
44928 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
44929
44930 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
44931
44932 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
44933
44934 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
44935
44936 * fs/udf.c (grub_udf_read_block): Change block type to
44937 grub_disk_addr_t. Use type cast to avoid warning.
44938
44939 * fs/xfs.c (grub_xfs_read_block): Likewise.
44940
b7c6bed5 449412008-05-16 Christian Franke <franke@computer.org>
44942
44943 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
44944 to ensure that break with ESC will always work.
44945 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
44946 Remove ESC from keyboard queue.
44947
eedf167f 449482008-05-16 Christian Franke <franke@computer.org>
44949
44950 * util/biosdisk.c: [__CYGWIN__] Add includes.
44951 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
44952 (get_os_disk): Move variable declarations to OS specific
44953 parts to avoid warning.
44954 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
44955 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
44956 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
44957 Cygwin.
44958 * util/getroot.c: [__CYGWIN__] Add includes.
44959 (strip_extra_slashes): Fix "/" case.
44960 [__CYGWIN__] (get_win32_path): New function.
44961 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
44962 [__CYGWIN__] (find_root_device): Disable.
44963 [__CYGWIN__] (get_bootsec_serial): New function.
44964 [__CYGWIN__] (find_cygwin_root_device): Likewise.
44965 [__linux__] (grub_guess_root_device): Add early returns to simplify
44966 structure.
44967 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
44968 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
44969 check for Linux only.
44970
a079699e 449712008-05-15 Bean <bean123ch@gmail.com>
44972
44973 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
44974 keyboard hang problem in apple's intel mac.
44975
1cf4059a 449762008-05-09 Robert Millan <rmh@aybabtu.com>
44977
44978 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
44979 devices.
44980 * util/grub-mkdevicemap.c (get_virtio_disk_name)
44981 (make_device_map): Likewise.
44982 Reported by Aurelien Jarno <aurel32@debian.org>
44983
ed759390 449842008-05-07 Ian Campbell <ijc@hellion.org.uk>
44985
44986 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
44987 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
44988 (make_device_map): Output entries for xvd type disks.
44989
b56c4eaa 449902008-05-07 Robert Millan <rmh@aybabtu.com>
44991
44992 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
44993 devices.
44994 * util/grub-mkdevicemap.c (get_cciss_disk_name)
44995 (make_device_map): Likewise.
44996 Reported by Roland Dreier <rdreier@cisco.com>
44997
7f8866ed 449982008-05-07 Robert Millan <rmh@aybabtu.com>
44999
45000 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
45001 grub_strstr() call. Correct a few mistakes in failure path handling.
45002
b0346e0f 450032008-05-06 Robert Millan <rmh@aybabtu.com>
45004
45005 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
45006 Do not print a trailing slash (therefore, the root directory is an
45007 empty string).
45008 (convert_system_path_to_grub_path): Do not remove trailing slash
45009 from make_system_path_relative_to_its_root() output.
45010
45011 * util/i386/pc/grub-install.in: Add trailing slash to output from
45012 make_system_path_relative_to_its_root().
45013
6cf12cbd 450142008-05-06 Robert Millan <rmh@aybabtu.com>
45015
45016 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
45017 ensures that output lines aren't intermangled with those sent to
45018 stderr (via grub_util_info()).
45019 * util/grub-probe.c (grub_refresh): Likewise.
45020 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
45021
0fbb3117 450222008-05-05 Christian Franke <franke@computer.org>
45023
45024 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
45025 Add Cygwin device names.
45026 (get_ide_disk_name) [__CYGWIN__]: Likewise.
45027 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
45028 (check_device): Return error instead of success on empty name.
45029 (make_device_map): Move label inside linux specific code to
45030 prevent compiler warning.
45031
8124cdb7 450322008-04-30 Robert Millan <rmh@aybabtu.com>
45033
45034 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
45035 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
45036 first boot option.
45037 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
45038
094c01d0 450392008-04-29 Robert Millan <rmh@aybabtu.com>
45040
45041 * docs/grub.cfg: New file (example GRUB configuration).
45042
f4b1fc02 450432008-04-26 Robert Millan <rmh@aybabtu.com>
45044
329ce2a5 45045 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
45046 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
45047 and `disk/ieee1275/nand.c'.
f4b1fc02 45048
25f16ec1 450492008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 45050
25f16ec1 45051 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
45052 i386-linuxbios.
45053
45054 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
45055 change the buffer size to 4096 for cdrom device.
45056
45057 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
45058 and nand.mod.
45059 (_linux_mod_SOURCES): New variable.
45060 (_linux_mod_CFLAGS): Likewise.
45061 (_linux_mod_LDFLAGS): Likewise.
45062 (linux_mod_SOURCES): Likewise.
45063 (linux_mod_CFLAGS): Likewise.
45064 (linux_mod_LDFLAGS): Likewise.
45065 (nand_mod_SOURCES): Likewise.
45066 (nand_mod_CFLAGS): Likewise.
45067 (nand_mod_LDFLAGS): Likewise.
45068
45069 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
45070 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
45071 type property. (nand device in olpc don't have this property)
45072
45073 * include/grub/disk.h (grub_disk_dev_id): New macro
45074 GRUB_DISK_DEVICE_NAND_ID.
45075
45076 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
45077 function prototype.
45078 (grub_rescue_cmd_initrd): Likewise.
45079
45080 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
45081 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
45082 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 45083
25f16ec1 45084 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
45085 GRUB_MACHINE_IEEE1275 is defined.
45086
45087 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
45088 Use NESTED_FUNC_ATTR attribute on the hook parameter.
45089
45090 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
45091 on nested function heap_init.
45092 (grub_upper_mem): New variable for i386-ieee1275.
45093 (grub_get_extended_memory): New function for i386-ieee1275.
45094 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
45095
45096 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
45097 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
45098 property.
f19dbdb7 45099
25f16ec1 45100 * loader/i386/ieee1275/linux.c: New file.
45101
45102 * loader/i386/ieee1275/linux_normal.c: New file.
45103
45104 * disk/ieee1275/nand.c: New file.
45105
e89d61e9 451062008-04-18 Thomas Schwinge <tschwinge@gnu.org>
45107
45108 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
45109 value.
45110 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
45111
602566f6 451122008-04-18 Robert Millan <rmh@aybabtu.com>
45113
45114 Restructures early code path on ieee1275 to unify grub_main() as
45115 the first C function that is executed in every platform.
45116
45117 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
45118 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
45119 cmain().
45120 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
45121 * kern/ieee1275/cmain.c (cmain): Rename to ...
45122 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
45123 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
45124 at the beginning.
45125
57490c2b 451262008-04-18 Robert Millan <rmh@aybabtu.com>
45127
45128 * util/update-grub.in: Fix syntax error when setting
45129 `GRUB_PRELOAD_MODULES'.
45130 Reported by Stephane Chazelas <stephane@artesyncp.com>
45131
1977517d 451322008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
45133
45134 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
45135 section into account, newer toolchains generate unique build ids
45136 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 45137 we want build ids to be preserved
1977517d 45138 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
45139 far from other sections don't cause the raw binary images grow
45140 size
45141
bfb1f1a2 451422008-04-15 Robert Millan <rmh@aybabtu.com>
45143
45144 * disk/lvm.c: Update copyright year.
45145 * kern/misc.c: Likewise.
45146
01979850 451472008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
45148
45149 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 45150 there is no memory left for physical volume name.
01979850 45151
0a1150e2 451522008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
45153
45154 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
45155 volume name mapping to support bigger than 9 character names properly.
45156
82ead3fe 451572008-04-13 Robert Millan <rmh@aybabtu.com>
45158
45159 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
45160 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
45161
e54a72f5 451622008-04-13 Christian Franke <franke@computer.org>
45163
45164 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
45165 to create a floppy emulation boot CD when non emulation mode
45166 does not work.
45167 Enable Joliet CD filesystem extension.
45168
9fe86034 451692008-04-13 Robert Millan <rmh@aybabtu.com>
45170
45171 * kern/misc.c (grub_strncat): Fix off-by-one error.
45172 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
45173
45174 * kern/env.c (grub_env_context_close): Clear current context, not
45175 previous one.
45176 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
45177
45178 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
45179
7ceeee39 451802008-04-13 Robert Millan <rmh@aybabtu.com>
45181
45182 Improve robustness when handling LVM.
45183
45184 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 45185 (and leave `*p' unmodified).
7ceeee39 45186 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
45187 through it.
45188 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
45189 iterating through it.
45190 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
45191 through it.
fe6b695a 45192 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 45193 when due) on each grub_lvm_getvalue() or grub_strstr() call.
45194 Don't assume `vg->pvs != NULL' when iterating through it.
45195
58cd3d85 451962008-04-13 Robert Millan <rmh@aybabtu.com>
45197
45198 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
45199 * genmk.rb (partmap): New variable.
45200 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
45201 (#{partmap}): New target rule.
45202 * genpartmaplist.sh: New file.
45203 * Makefile.in (pkglib_DATA): Add partmap.lst.
45204 (partmap.lst): New target rule.
45205 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
45206 modules (including all partition maps), instead of preloading them.
45207
78b51059 452082007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
45209
45210 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
45211 `linux-boot-prober' (if installed) to detect other operating
45212 systems which are installed on the computer and add them to
45213 the boot menu.
45214 * conf/common.rmk: Build and install 30_os-prober.
45215
a91627b4 452162008-04-12 Robert Millan <rmh@aybabtu.com>
45217
45218 * kern/powerpc/ieee1275/init.c: Move from here ...
45219 * kern/ieee1275/init.c: ... to here. Update all users.
45220
45221 * kern/powerpc/ieee1275/cmain.c: Move from here ...
45222 * kern/ieee1275/cmain.c: ... to here. Update all users.
45223
45224 * kern/powerpc/ieee1275/openfw.c: Move from here ...
45225 * kern/ieee1275/openfw.c: ... to here. Update all users.
45226
45227 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
45228 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
45229
322562ea 452302008-04-10 Pavel Roskin <proski@gnu.org>
45231
45232 * configure.ac: Always use "_cv_" in cache variables for
45233 compatibility with Autoconf 2.62.
45234
a02a73c5 452352008-04-07 Robert Millan <rmh@aybabtu.com>
45236
45237 Revert grub/machine/init.h addition by Pavel (since it breaks on
45238 i386-ieee1275 and others):
45239 * util/i386/pc/misc.c: Remove grub/machine/init.h.
45240 * util/powerpc/ieee1275/misc.c: Likewise.
45241
25c024b1 452422008-04-07 Robert Millan <rmh@aybabtu.com>
45243
45244 * util/grub-probe.c (probe): Improve error message.
45245
3cbd2f98 452462008-04-07 Robert Millan <rmh@aybabtu.com>
45247
45248 * util/biosdisk.c (read_device_map): Skip devices that don't exist
45249 (this prevents the presence of a bogus entry from ruining the whole
45250 thing).
45251
87a297bf 452522008-04-06 Pavel Roskin <proski@gnu.org>
45253
36747a62 45254 * util/biosdisk.c: Include grub/util/biosdisk.h.
45255 * util/grub-fstest.c (execute_command): Make static.
45256 * util/grub-mkdevicemap.c (check_device): Likewise.
45257 * util/i386/pc/misc.c: Include grub/machine/init.h.
45258 * util/powerpc/ieee1275/misc.c: Likewise.
45259 * util/lvm.c: Include grub/util/lvm.h.
45260 * util/misc.c: Include grub/kernel.h, grub/misc.h and
45261 grub/cache.h.
45262 * util/raid.c: Include grub/util/raid.h.
45263 (grub_util_getdiskname): Make static.
45264
87a297bf 45265 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
45266 grub_hostfs_fini(), as they are called from grub_init_all() and
45267 grub_fini_all() respectively. This fixes an infinite loop in
45268 grub-fstest due to double registration of hostfs.
45269 Reported by Christian Franke <Christian.Franke@t-online.de>
45270
f6ce7629 452712008-04-05 Pavel Roskin <proski@gnu.org>
45272
45273 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
45274 all 8 functions. Otherwise, probe function 0 only.
45275
070e49e4 452762008-04-04 Pavel Roskin <proski@gnu.org>
45277
8b088a4c 45278 * commands/lspci.c (grub_lspci_iter): Print the bus number
45279 correctly.
45280
4f657021 45281 * commands/lspci.c (grub_pci_classes): Fix typos.
45282 (grub_lspci_iter): Don't print func twice. Print vendor ID
45283 before device ID, as it's normally done.
45284
070e49e4 45285 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45286 Fix signedness warnings.
45287 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
45288 Likewise.
45289 * util/ieee1275/get_disk_name.c: Include config.h so that
45290 _GNU_SOURCE is defined and getline() is declared. Mark an
45291 unused argument as such. Fix a signedness warning.
45292
ba7328dc 452932008-04-02 Pavel Roskin <proski@gnu.org>
45294
26887f22 45295 * genkernsyms.sh.in: Use more robust assignments for CC and
45296 srcdir. Quote srcdir.
45297 * gensymlist.sh.in: Likewise. Assert at the compile time that
45298 the symbol table is not empty.
45299
ba7328dc 45300 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
45301 * fs/cpio.c (grub_cpio_read): Likewise.
45302
0f582c6b 453032008-04-01 Pavel Roskin <proski@gnu.org>
45304
4b6e1995 45305 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
45306 * disk/host.c (grub_host_open): Likewise.
45307 * disk/loopback.c (grub_loopback_open): Likewise.
45308 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
45309 disk->id as in disk/host.c, not a multi-character constant.
45310
828a2768 45311 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
45312 later is obsolete, potentially dangerous and sets a bad example.
45313 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
45314 * util/misc.c (grub_util_get_image_size): Likewise.
45315
2bb4fb47 45316 * disk/loopback.c (options): Improve help for "--partitions".
45317
0f582c6b 45318 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
45319 options to align them with the short options, e.g. "echo -e".
45320
a33224e0 453212008-03-31 Bean <bean123ch@gmail.com>
45322
45323 * video/reader/png.c (grub_png_data): New member is_16bit and
45324 image_data.
45325 (grub_png_decode_image_header): Detect 16 bit png image.
45326 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
45327 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
45328 (grub_video_reader_png): Release memory occupied by image_data.
45329
45330 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
45331 4096 bytes.
45332 (grub_nfs_mount): Skip the test for sector per cluster.
45333
45334 * include/grub/ntfs.h (MAX_SPC): Removed.
45335
86cb4f54 453362008-03-31 Bean <bean123ch@gmail.com>
45337
45338 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
45339 (grub_probe_SOURCES): Add fs/afs.c.
45340 (grub_fstest_SOURCES): Likewise.
45341 (afs_mod_SOURCES): New variable.
45342 (afs_mod_CFLAGS): Likewise.
45343 (afs_mod_LDFLAGS): Likewise.
45344
45345 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
45346 (grub_emu_SOURCES): Likewise.
45347
45348 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45349
45350 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45351
45352 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45353
45354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45355
45356 * fs/afs.c: New file.
45357
17c74c21 453582008-03-30 Pavel Roskin <proski@gnu.org>
45359
4cb68e89 45360 * disk/host.c: Include grub/misc.h to fix a warning.
45361 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
45362 warnings about implicit declarations.
45363
8790bb04 45364 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
45365 variable.
45366 * include/grub/i386/loader.h: Change declaration of
45367 grub_linux_boot() to match what grub_loader_set() expects.
45368 * util/getroot.c (grub_guess_root_device): Return const char* to
45369 fix a warning.
45370 * util/grub-probe.c (probe): Fix a warning about uninitialized
45371 abstraction_name variable.
45372 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
45373 second argument as unused to fix a warning.
45374
9a3f3296 45375 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
45376 missing grub_error() call.
45377
0ecef90d 45378 * util/update-grub_lib.in: Define datarootdir, since Autoconf
45379 2.60 and newer uses it to define datadir.
45380
0bf6d401 45381 * commands/sleep.c: Fix warning about implicit declaration.
45382 * disk/memdisk.c: Likewise.
45383 * loader/aout.c: Likewise.
45384 * loader/i386/bsd_normal.c: Likewise.
45385 * util/grub-probe.c: Likewise.
45386
7cdacf97 45387 * commands/i386/cpuid.c (has_longmode): Make static.
45388 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
45389 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
45390
17c74c21 45391 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
45392 GDT. This is more robust, as %ds can change.
45393 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
45394 calling real_to_prot().
45395 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
45396
80a3e68b 453972008-03-28 Pavel Roskin <proski@gnu.org>
45398
45399 * kern/i386/pc/startup.S: Assert that uncompressed functions
45400 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
45401 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
45402 code, as they push parts of the code (error handlers) beyond
45403 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
45404 code as correctness and size.
45405
77bcd272 454062008-03-28 Pavel Roskin <proski@gnu.org>
45407
45408 * kern/i386/pc/startup.S
45409 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
45410 data block address to the real mode, keep offset minimal. This
45411 works around a bug in AWARD BIOS on old Athlon systems, which
45412 makes CD detection hang.
45413
c5dfd43b 454142008-03-26 Pavel Roskin <proski@gnu.org>
45415
45416 * normal/color.c (grub_parse_color_name_pair): Make `name' a
45417 const.
45418 * include/grub/normal.h: Add grub_parse_color_name_pair()
45419 declaration.
45420
bf962df2 454212008-03-24 Bean <bean123ch@gmail.com>
45422
45423 * disk/i386/pc/biosdisk.c (cd_start): Removed.
45424 (cd_count): Removed.
45425 (cd_drive): New variable.
45426 (grub_biosdisk_get_drive): Don't check for (cdN) device.
45427 (grub_biosdisk_call_hook): Likewise.
45428 (grub_biosdisk_iterate): Change cdrom detection method.
45429 (grub_biosdisk_open): Replace cd_start with cd_drive.
45430 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
45431 detect cdrom device.
45432
45433 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
45434 Removed.
45435 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
45436 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
45437 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
45438 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
45439 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
45440 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
45441 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
45442 (grub_biosdisk_cdrp): New structure.
45443 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
45444
45445 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
45446
45447 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
45448 device.
45449
45450 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
45451 New function.
45452
68e7fc7a 454532008-03-20 Robert Millan <rmh@aybabtu.com>
45454
45455 Remove 2 TiB limit in ata.mod.
45456 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
45457 (grub_ata_dumpinfo): Print sector count with 0x%llx.
45458 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
45459 grub_uint64_t instead of grub_uint32_t.
45460
38ad2cf5 454612008-03-05 Bean <bean123ch@gmail.com>
45462
45463 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
45464 (grub_multiboot): Set boot device.
45465
45466 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
45467
2b89344e 454682008-03-02 Bean <bean123ch@gmail.com>
45469
45470 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
45471 symlink_buffer.
45472
87a95d1f 454732008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
45474
45475 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
45476 texinfo.tex.
45477
45478 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
45479 modified.
45480
45481 * docs/fdl.texi: New file.
f19dbdb7 45482
87a95d1f 45483 * docs/mdate-sh: New file. Copied from gnulib.
45484 * docs/texinfo.tex: Likewise.
45485
45486 * config.guess: Updated from gnulib.
45487 * install-sh: Likewise.
45488
7dc15d8e 454892008-02-28 Robert Millan <rmh@aybabtu.com>
45490
45491 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
45492 (aout_mod_SOURCES): New variable.
45493 (aout_mod_CFLAGS): Likewise.
45494 (aout_mod_LDFLAGS): Likewise.
45495
45496 * conf/i386-ieee1275.rmk: Likewise.
45497
b00ab696 454982008-02-28 Robert Millan <rmh@aybabtu.com>
45499
45500 * util/update-grub.in: Reorganise terminal validity check. Accept
45501 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
45502 Based on suggestion by Franklin PIAT.
45503
79ca2d78 455042008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
45505
45506 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
45507 function.
45508 * util/getroot.c (grub_util_check_block_device): New function that
45509 returns the given argument if it is a block device and returns NULL else.
45510 * util/grub-probe.c (argument_is_device): New variable.
45511 (probe): Promote device_name from a variable to an argument. Receive
45512 device_name from grub_util_check_block_device() if path is NULL and from
45513 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 45514 (options): Introduce new parameter '-d, --device'.
79ca2d78 45515 (main): Add description of the new parameter to the help screen.
45516 Rename path variable to argument. Set argument_is_device if the '-d'
45517 option is given. Pass argument to probe() depending on
45518 argument_is_device.
45519
0d16e571 455202008-02-24 Bean <bean123ch@gmail.com>
45521
45522 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
45523 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
45524 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
45525 (GRUB_ISO9660_VOLDESC_PART): Likewise.
45526 (GRUB_ISO9660_VOLDESC_END): Likewise.
45527 (grub_iso9660_primary_voldesc): New member escape.
45528 (grub_iso9660_data): New member joliet.
45529 (grub_iso9660_convert_string): New function.
45530 (grub_iso9660_mount): Detect joliet extension.
45531 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
45532 (grub_iso9660_iso9660_label): Likewise.
45533
45534 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
45535 (grub_setup_SOURCES): Add fs/udf.c.
45536 (grub_fstest_SOURCES): Likewise.
45537 (udf_mod_SOURCES): New variable.
45538 (udf_mod_CFLAGS): Likewise.
45539 (udf_mod_LDFLAGS): Likewise.
45540
45541 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
45542 (grub_emu_SOURCES): Likewise.
45543
45544 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45545
45546 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45547
45548 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45549
45550 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45551
45552 * fs/udf.c: New file.
45553
8a594a17 455542008-02-24 Robert Millan <rmh@aybabtu.com>
45555
45556 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
45557 (normal/lexer.c_DEPENDENCIES): New variables.
45558 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45559 (normal/lexer.c_DEPENDENCIES): Likewise.
45560 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
45561 (normal/lexer.c_DEPENDENCIES): Likewise.
45562 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
45563 (normal/lexer.c_DEPENDENCIES): Likewise.
45564 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45565 (normal/lexer.c_DEPENDENCIES): Likewise.
45566 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45567 (normal/lexer.c_DEPENDENCIES): Likewise.
45568
2dc33c03 455692008-02-23 Robert Millan <rmh@aybabtu.com>
45570
45571 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
45572 since they were intended to be in hex. This didn't break previously
45573 because of a bug in gpt_partition_map_iterate() (see below).
45574
45575 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
45576 when checking the validity of GPT header.
45577 Remove `partno', since it always provides the same information as `i'.
45578
f6f4cfb0 455792008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
45580
45581 * include/grub/efi/time.h: Fix a wrong comment.
45582
79ff665f 455832008-02-19 Pavel Roskin <proski@gnu.org>
45584
45585 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
45586 message.
45587
d38e24c2 455882008-02-19 Bean <bean123ch@gmail.com>
45589
45590 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
45591 (aout_mod_SOURCES): New variable.
45592 (aout_mod_CFLAGS): Likewise.
45593 (aout_mod_LDFLAGS): Likewise.
45594 (_bsd_mod_SOURCES): New variable.
45595 (_bsd_mod_CFLAGS): Likewise.
45596 (_bsd_mod_LDFLAGS): Likewise.
45597 (bsd_mod_SOURCES): New variable.
45598 (bsd_mod_CFLAGS): Likewise.
45599 (bsd_mod_LDFLAGS): Likewise.
45600
45601 * include/grub/aout.h: New file.
45602
45603 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
45604
45605 * include/grub/i386/bsd.h: New file.
45606
45607 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
45608 to make it public.
45609
45610 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
45611 function is called, so that it's possible to change it inside the hook.
45612 (grub_elf64_load): Likewise.
45613 (grub_elf_file): Don't close the file if elf header is not found.
45614 (grub_elf_close): Close the file if grub_elf_file fails (The new
45615 grub_elf_file won't close it).
45616 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
45617 (grub_elf64_size): Likewise.
45618
45619 * kern/i386/loader.S (grub_unix_real_boot): New function.
45620
45621 * loader/aout.c: New file.
45622
45623 * loader/i386/bsd.c: New file.
45624
45625 * loader/i386/bsd_normal.c: New file.
45626
45627 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
45628
45629 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 45630 can test other formats.
d38e24c2 45631
b93bdb0f 456322008-02-19 Robert Millan <rmh@aybabtu.com>
45633
45634 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
45635 (grub_gpt_partition_type_empty): Redefine with macro from
45636 `<grub/gpt_partition.h>'.
45637 (gpt_partition_map_iterate): Adjust partition type comparison.
45638
45639 Export `entry' as partmap-specific `part.data' struct.
45640 (grub_gpt_header, grub_gpt_partentry): Move from here ...
45641
45642 * include/grub/gpt_partition.h (grub_gpt_header)
45643 (grub_gpt_partentry): ... to here (new file).
45644
45645 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
45646
45647 (grub_gpt_partition_type_bios_boot): New const variable, defined
45648 with macro from `<grub/gpt_partition.h>'.
45649
45650 (setup): Replace `first_start' with `embed_region', which keeps
45651 track of the embed region (and is partmap-agnostic).
45652
45653 Replace find_first_partition_start() with find_usable_region(),
45654 which finds a usable region for embedding using partmap-specific
45655 knowledge (supports PC/MSDOS and GPT).
45656
45657 Fix all assumptions that the embed region start at sector 1, using
45658 `embed_region.start' from now on. Similarly, use `embed_region.end'
45659 rather than `first_start' to calculate available size.
45660
45661 In grub_util_info() message, replace "into after the MBR" with an
45662 indication of the specific sector our embed region starts at.
45663
66cb40f6 456642008-02-19 Robert Millan <rmh@aybabtu.com>
45665
45666 * DISTLIST: Replace `commands/ieee1275/halt.c' and
45667 `commands/ieee1275/reboot.c' with `commands/halt.c' and
45668 `commands/reboot.c'.
45669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45670 (halt_mod_SOURCES): Likewise.
45671 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45672 (halt_mod_SOURCES): Likewise.
45673
b7202015 456742008-02-17 Christian Franke <franke@computer.org>
45675
45676 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
45677
32b0fc49 456782008-02-17 Robert Millan <rmh@aybabtu.com>
45679
45680 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45681 set `first_start' to 0 for non-PC/MSDOS partition maps.
45682
aca63502 456832008-02-16 Robert Millan <rmh@aybabtu.com>
45684
45685 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45686 do not assume partition map is PC/MSDOS before performing checks that
45687 are specific to that layout.
45688
0de8be86 456892008-02-13 Robert Millan <rmh@aybabtu.com>
45690
45691 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
45692 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
45693 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
45694
c3db8364 456952008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
45696
45697 * configure.ac: Only a cosmetic change on the handling of
45698 -fno-stack-protector.
45699
f714229e 457002008-02-12 Alexandre Boeglin <alex@boeglin.org>
45701
c3db8364 45702 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
45703 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
45704 reboot.c.
f714229e 45705 (grub_install_SOURCES): Add halt.mod and reboot.mod.
45706 (halt_mod_SOURCES): New variable.
45707 (halt_mod_CFLAGS): Likewise.
45708 (halt_mod_LDFLAGS): Likewise.
45709 (reboot_mod_SOURCES): Likewise.
45710 (reboot_mod_CFLAGS): Likewise.
45711 (reboot_mod_LDFLAGS): Likewise.
45712
c3db8364 45713 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
45714 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
45715 reboot.c.
f714229e 45716 (halt_mod_SOURCES): Likewise.
45717 (reboot_mod_SOURCES): Likewise.
45718
c3db8364 45719 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
45720 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 45721 (reboot_mod_SOURCES): Likewise.
45722
45723 * commands/i386/pc/reboot.c: merge this file ...
45724
45725 * commands/ieee1275/reboot.c: ... and this file ...
45726
45727 * commands/reboot.c: ... to this file.
c3db8364 45728 Add some precompiler directive to include the correct header for
45729 each machine.
f714229e 45730
45731 * commands/ieee1275/halt.c: move this file ...
45732
45733 * commands/halt.c: ... to here.
c3db8364 45734 Add some precompiler directive to include the correct header for
45735 each machine.
f714229e 45736
45737 * include/grub/efi/efi.h (grub_reboot): New function declaration.
45738 (grub_halt): Likewise.
45739
45740 * kern/efi/efi.c (grub_reboot): New function.
45741 (grub_halt): Likewise.
45742
c74493e0 457432008-02-12 Robert Millan <rmh@aybabtu.com>
45744
45745 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
45746 /dev (like it is done for /dev/mapper). This doesn't provide support
45747 for EVMS, but at least it is now easy to identify the problem when it
45748 arises.
45749
d0db4b04 457502008-02-11 Robert Millan <rmh@aybabtu.com>
45751
45752 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
45753 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
45754 comparing it with -1, not 0.
45755
bf748642 457562008-02-10 Robert Millan <rmh@aybabtu.com>
45757
45758 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
45759 `disk/lvm.c'.
45760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45761 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
45762
45763 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
45764 `disk/lvm.c' to the end of the list.
45765 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45766 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45767
b5db202a 457682008-02-10 Robert Millan <rmh@aybabtu.com>
45769
45770 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
45771 grub_print_error() instead. This will let user know why we're entering
45772 rescue mode.
45773 Based on suggestions from Sam Morris.
45774
83abee31 457752008-02-10 Alexandre Boeglin <alex@boeglin.org>
45776
45777 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
45778 on remaining N args, instead of "--" arg N times.
45779
78d5a08b 457802008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
45781
45782 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
45783 (fill_with_default_glyph): Changed to use unknown_glyph for fill
45784 pattern for unknown glyphs.
45785
68807e5f 457862008-02-09 Robert Millan <rmh@aybabtu.com>
45787
45788 * configure.ac: Probe for `help2man'.
45789 * Makefile.in (builddir): New variable.
45790 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
45791 or otherwise add a few flags/options to it.
45792 (install-local): For every executable utility or script that is
45793 installed, invoke $(HELP2MAN) to install a manpage based on --help
45794 output.
45795
45796 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
45797 that it doesn't prevent --help from working in build tree.
45798
45799 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
45800 with `bug-grub@gnu.org'.
45801 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
45802 * util/update-grub.in (usage): New function.
45803 Implement proper argument check, with support for --help and --version
45804 (as well as existing -y).
45805
458062008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 45807
45808 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
45809 avoid overwriting previous output.
45810 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
45811
c1962162 458122008-02-09 Robert Millan <rmh@aybabtu.com>
45813
45814 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
45815 drawing the menu.
45816
3dac2e3f 458172008-02-09 Robert Millan <rmh@aybabtu.com>
45818
45819 * commands/sleep.c: New file.
45820 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
45821 (sleep_mod_SOURCES): New variable.
45822 (sleep_mod_CFLAGS): Likewise.
45823 (sleep_mod_LDFLAGS): Likewise.
45824
7a634e08 458252008-02-09 Robert Millan <rmh@aybabtu.com>
45826
45827 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
45828 situations in which we can deduce the RAID size and the superblock
45829 doesn't match it.
45830
b92f0c18 458312008-02-09 Robert Millan <rmh@aybabtu.com>
45832
45833 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
45834 and return a grub_diskmemberlist_t composed of LVM physical volumes.
45835 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
45836
45837 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
45838 and return a grub_diskmemberlist_t composed of physical array members.
45839 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
45840
45841 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
45842 prototype.
45843 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
45844 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
45845 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
45846
45847 * util/grub-probe.c (probe): Move partmap probing code from here ...
45848 (probe_partmap): ... to here.
45849 (probe): Use probe_partmap() once for the disk we're probing, and
45850 additionally, when such disk contains a memberlist() struct member,
45851 once for each disk that is contained in the structure returned by
45852 memberlist().
45853
91a4bf68 458542008-02-09 Robert Millan <rmh@aybabtu.com>
45855
45856 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
45857 environment variable to 'all' in order to obtain debug output from
45858 non-util/ code.
45859 * util/i386/pc/grub-setup.c (main): Likewise.
45860
a96f9caa 458612008-02-08 Robert Millan <rmh@aybabtu.com>
45862
45863 * disk/raid.c (grub_raid_scan_device): Check for
45864 `array->device[sb.this_disk.number]' rather than for
45865 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 45866 guaranteed to be accessible.
a96f9caa 45867
b37a9222 458682008-02-08 Robert Millan <rmh@aybabtu.com>
45869
45870 * disk/raid.c: Update copyright.
45871 * fs/cpio.c: Likewise.
45872 * include/grub/raid.h: Likewise.
45873 * loader/i386/pc/multiboot.c: Likewise.
45874 * util/hostfs.c: Likewise.
45875
5626aee1 458762008-02-08 Robert Millan <rmh@aybabtu.com>
45877
45878 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
45879 to a grub_disk_t array.
45880 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
45881 `device[x]'.
45882 (grub_raid_scan_device): Replace `device[x].name' accesses with
45883 `device[x]->name'. Simplify initialization of `array->device[x]'.
45884
554f0187 458852008-02-08 Robert Millan <rmh@aybabtu.com>
45886
45887 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
45888 grub_dprintf() calls.
45889 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
45890 error message.
45891
1ec8425d 458922008-02-07 Christian Franke <franke@computer.org>
45893
45894 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
45895 instead of fseek and ftell to support large files.
45896 (grub_hostfs_read): Likewise.
45897
f2156fda 458982008-02-07 Robert Millan <rmh@aybabtu.com>
45899
45900 Patch from Jeroen Dekkers.
45901 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 45902 failure, since successfully reading all array members might not be
f2156fda 45903 required.
45904
9216e0e7 459052008-02-06 Robert Millan <rmh@aybabtu.com>
45906
45907 * util/grub-probe.c (probe): Simplify partmap probing (with the
45908 assumption that the first word up to the underscore equals to
45909 the module name).
45910
b0dfd29a 459112008-02-06 Christian Franke <franke@computer.org>
45912
45913 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
45914 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
45915 last block of a cpio or tar stream.
45916 Check for "TRAILER!!!" instead of any empty data
45917 block to detect last block of a cpio stream.
45918 (grub_cpio_dir): Fix constness of variable np.
45919 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
45920 cpio or tar trailer is detected. This fixes a crash
45921 on open of a non existing file.
45922
c32865bf 459232008-02-05 Bean <bean123ch@gmail.com>
45924
45925 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
45926 address of entry.
45927 (grub_multiboot_load_elf64): Likewise.
45928 (grub_multiboot): Initialize mbi structure.
45929
45930 * util/grub-fstest.c: Don't include unused header file script.h.
45931
fe6b695a 45932 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 45933 of file.
45934 (grub_fstest_SOURCES): Likewise.
45935
409480b7 459362008-02-05 Robert Millan <rmh@aybabtu.com>
45937
45938 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
45939 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
45940 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
45941 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
45942
45943 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
45944 (translation_table): Replace hardcoded values with macros
45945 provided by `<grub/term.h>'.
45946
45947 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
45948 (keyboard_map): Correct/add a few values, with macros provided
45949 by `<grub/term.h>'.
45950 (keyboard_map_shift): Zero values that don't differ from their
45951 `keyboard_map' equivalents.
45952 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
45953 Discard the second scan code that is always sent by Caps lock.
45954 Only use `keyboard_map_shift' when it provides a non-zero value,
45955 otherwise fallback to `keyboard_map'.
45956
99fadbaa 459572008-02-04 Bean <bean123ch@gmail.com>
45958
45959 * Makefile.in (enable_grub_fstest): New variable.
45960
45961 * conf/common.rmk (grub_fstest_init.lst): New rule.
45962 (grub_fstest_init.h): Likewise.
45963 (grub_fstest_init.c): Likewise.
45964 (util/grub-fstest.c_DEPENDENCIES): New variable.
45965 (grub_fstest_SOURCES): Likewise.
45966
45967 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
45968
45969 * util/grub-fstest.c: New file.
45970
bf567c50 459712008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45972
45973 Make grub-setup handle a separate root device.
f19dbdb7 45974
bf567c50 45975 * util/i386/pc/grub-setup.c (setup): Always open the root device,
45976 so that the root device can be compared with the destination
45977 device.
45978 When embedding the core image, if the root and destination devices
45979 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
45980 0xFF.
45981 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 45982
9be6b98b 459832008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45984
45985 Add support for having a grub directory in a different drive. This
45986 is still only the data handling part.
f19dbdb7 45987
9be6b98b 45988 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
45989 (codestart): Save %dh in GRUB_ROOT_DRIVE.
45990 (grub_root_drive): New variable.
45991
45992 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
45993 instead of GRUB_BOOT_DRIVE to construct a device name. Set
45994 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
45995 as it was.
45996
45997 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
45998
45999 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
46000 macro.
46001 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
46002
46003 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
46004 is bogus, because PXE booting does not specify any drive
46005 correctly.
46006
46007 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
46008 am not sure if this is really correct.
46009
46010 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
46011 is always identical to the boot drive when booting from a CD.
46012
46013 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
46014 longer.
46015 (root_drive): New variable.
46016 (real_start): Unconditionally set %dh to ROOT_DRIVE.
46017 (setup_sectors): Push %dx right after popping it, because %dh will
46018 be modified later.
46019 (copy_buffer): Restore %dx.
46020
e0ca0677 460212008-02-03 Robert Millan <rmh@aybabtu.com>
46022
46023 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
46024 use `cdboot.img' for cdrom images.
46025
3b3f6629 460262008-02-03 Robert Millan <rmh@aybabtu.com>
46027
46028 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
46029 only setup gfxterm when `font' command has succeeded.
46030
d42b3672 460312008-02-03 Robert Millan <rmh@aybabtu.com>
46032
46033 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
46034 (grub_rescue_cmd_multiboot_loader)
46035 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
46036
fa370ea6 460372008-02-03 Pavel Roskin <proski@gnu.org>
46038
e0c5dacb 46039 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 46040 %edx and %esi from stack only after grub_gate_a20() is called.
46041 grub_gate_a20() clobbers %edx.
46042
f2a76e1d 460432008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
46044
46045 * configure.ac (AC_INIT): Bumped to 1.96.
46046
46047 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
46048 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
46049 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
46050 video/readers/png.c.
46051
90fd32d1 460522008-02-03 Bean <bean123ch@gmail.com>
9be665dd 46053
46054 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
46055 (cdboot_img_SOURCES): New variable.
46056 (cdboot_img_ASFLAGS): New variable.
46057 (cdboot_img_LDFLAGS): New variable.
46058
46059 * boot/i386/pc/cdboot.S: New file.
46060
46061 * disk/i386/pc/biosdisk.c (cd_start): New variable.
46062 (cd_count): Likewise.
46063 (grub_biosdisk_get_drive): Add support for cd device.
46064 (grub_biosdisk_call_hook): Likewise.
46065 (grub_biosdisk_iterate): Likewise.
46066 (grub_biosdisk_open): Likewise.
46067 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
46068 (grub_biosdisk_rw): Support reading from cd device.
46069 (GRUB_MOD_INIT): Iterate cd devices.
46070
46071 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
46072 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
46073 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
46074
46075 * kern/i386/pc/init.c (make_install_device): Check for cd device.
46076
4020aa53 460772008-02-02 Robert Millan <rmh@aybabtu.com>
46078
46079 * commands/read.c: New file.
46080 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
46081 (read_mod_SOURCES): New variable.
46082 (read_mod_CFLAGS): Likewise.
46083 (read_mod_LDFLAGS): Likewise.
46084
e03a1132 460852008-02-02 Robert Millan <rmh@aybabtu.com>
46086
46087 * normal/main.c (grub_normal_execute): Check for `menu->size' when
46088 determining whether menu has to be displayed.
46089
58c69220 460902008-02-02 Marco Gerards <marco@gnu.org>
46091
46092 * bus/pci.c: New file.
46093
46094 * include/grub/pci.h: Likewise.
46095
46096 * include/grub/i386/pc/pci.h: Likewise.
46097
46098 * commands/lspci.c: Likewise.
46099
46100 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
46101 `lspci.mod'.
46102 (pci_mod_SOURCES): New variable.
46103 (pci_mod_CFLAGS): Likewise.
46104 (pci_mod_LDFLAGS): Likewise.
46105 (lspci_mod_SOURCES): Likewise.
46106 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 46107 (lspci_mod_LDFLAGS): Likewise.
58c69220 46108
c004e1b4 461092008-02-02 Bean <bean123ch@gmail.com>
46110
46111 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
46112 (grub_ufs_get_file_block): Fix indirect block calculation problem.
46113
46114 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
46115 (grub_xfs_btree_node): New structure.
46116 (grub_xfs_btree_root): New structure.
46117 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
46118 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
46119 (GRUB_XFS_EXTENT_BLOCK): Likewise.
46120 (GRUB_XFS_EXTENT_SIZE): Likewise.
46121 (grub_xfs_read_block): Support btree format type.
46122 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
46123 Use directory block as basic unit.
46124
46125 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
46126
46127 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
46128 __attribute__ ((__regparm__ (1))).
46129
f95562bf 461302008-02-01 Robert Millan <rmh@aybabtu.com>
46131
46132 Correct a mistake in previous commit.
46133
46134 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
46135 top.
46136 (normal/command.c_DEPENDENCIES): New variable.
46137
7d31f41f 461382008-02-01 Robert Millan <rmh@aybabtu.com>
46139
46140 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
46141 top.
46142 (normal/command.c_DEPENDENCIES): New variable.
46143 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
46144 * conf/i386-ieee1275.rmk: Likewise.
46145 * conf/i386-linuxbios.rmk: Likewise.
46146 * conf/i386-pc.rmk: Likewise.
46147 * conf/sparc64-ieee1275.rmk: Likewise.
46148 * conf/powerpc-ieee1275.rmk: Likewise.
46149 (grub_emu_SOURCES): Add `fs/fshelp.c'.
46150
46151 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
46152
60b6be74 461532008-02-01 Robert Millan <rmh@aybabtu.com>
46154
46155 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
46156 call at beginning of function.
46157
078522ab 461582008-01-31 Pavel Roskin <proski@gnu.org>
46159
46160 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 46161 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
46162 (grub_mkrescue_SOURCES): Likewise.
078522ab 46163 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
46164
ccaa8a5f 461652008-01-30 Robert Millan <rmh@aybabtu.com>
46166
46167 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
46168 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
46169 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
46170 (grub_probe_SOURCES): ... to here.
46171
46172 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
46173 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
46174 * conf/i386-ieee1275.rmk: Likewise.
46175 * conf/i386-linuxbios.rmk: Likewise.
46176 * conf/powerpc-ieee1275.rmk: Likewise.
46177
ae5a9cd7 461782008-01-30 Tristan Gingold <gingold@free.fr>
46179
46180 * kern/rescue.c: Silently accept empty lines.
46181
70bc2ef2 461822008-01-29 Bean <bean123ch@gmail.com>
46183
46184 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
46185 (real_code_2): Code cleanup and change comment style.
46186 (move_memory): Avoid using 32-bit address mode.
46187
6a4d50ea 461882008-01-29 Bean <bean123ch@gmail.com>
46189
46190 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
46191 (png_mod_SOURCES): New variable.
46192 (png_mod_CFLAGS): Likewise.
46193 (png_mod_LDFLAGS): Likewise.
46194
46195 * video/readers/png.c: New file.
46196
11cc30ac 461972008-01-28 Robert Millan <rmh@aybabtu.com>
46198
46199 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
46200 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
46201 `ifndef GRUB_MOD_GAP' hack.
46202 * util/elf/grub-mkimage.c (add_segments): Likewise.
46203
3abc589f 462042008-01-27 Robert Millan <rmh@aybabtu.com>
46205
46206 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
46207 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 46208 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 46209
e1907778 462102008-01-27 Robert Millan <rmh@aybabtu.com>
46211
46212 Get grub-emu to build again (including parallel builds).
46213
46214 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
46215 Split into ...
46216 (util/grub-emu.c_DEPENDENCIES): ... this, ...
46217 (normal/execute.c_DEPENDENCIES): ... this, ...
46218 (grub-emu_DEPENDENCIES): ... and this.
46219
46220 * conf/i386-efi.rmk: Likewise.
46221 * conf/i386-linuxbios.rmk: Likewise.
46222 * conf/i386-ieee1275.rmk: Likewise.
46223 * conf/powerpc-ieee1275.rmk: Likewise.
46224 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
46225
2216b101 462262008-01-27 Robert Millan <rmh@aybabtu.com>
46227
46228 * NEWS: Add a few items.
46229
f75172d9 462302008-01-27 Robert Millan <rmh@aybabtu.com>
46231
46232 Fix parallel builds with grub-emu. Based on earlier commit for
46233 grub-probe and grub-setup.
46234
46235 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46236 (util/grub-emu.c_DEPENDENCIES): ... this.
46237 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46238 (util/grub-emu.c_DEPENDENCIES): ... this.
46239 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46240 (util/grub-emu.c_DEPENDENCIES): ... this.
46241 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46242 (util/grub-emu.c_DEPENDENCIES): ... this.
46243 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46244 (util/grub-emu.c_DEPENDENCIES): ... this.
46245
3f51de77 462462008-01-27 Pavel Roskin <proski@gnu.org>
46247
46248 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
46249 to create a gap between _end and the modules added to the image
46250 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
46251 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
46252 * util/elf/grub-mkimage.c (add_segments): Likewise.
46253
2033f53e 462542008-01-26 Pavel Roskin <proski@gnu.org>
46255
46256 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
46257 just return an error.
46258
22da1f6f 462592008-01-26 Bean <bean123ch@gmail.com>
46260
46261 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
46262 (grub_reiserfs_get_item): Save offset of the next item.
46263 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
46264
2a9525e6 462652008-01-25 Robert Millan <rmh@aybabtu.com>
46266
46267 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
46268 make all filesystem sources appear together (possibly fixing omissions
46269 while at it).
46270 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46271 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46272 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46274
46275 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
46276 add `kern/file.c'.
46277 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
46278 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46279 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
46280 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46281
46282 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
46283 (probe): Add a sanity check to make sure of our ability to read
46284 requested files when probing for filesystem type.
46285
46286 * genmk.rb: Update copyright year (2007).
46287
46288 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
46289 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
46290 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
46291 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
46292 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
46293 : Remove function prototypes.
46294
b95f71b5 462952008-01-25 Robert Millan <rmh@aybabtu.com>
46296
46297 Revert my previous commits (based on wrong assumption of how grub_errno
46298 works).
46299
fe6b695a 46300 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 46301 * kern/file.c (grub_file_open): Likewise.
46302
d08bbb49 463032008-01-24 Pavel Roskin <proski@gnu.org>
46304
46305 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
46306 that hang if GRUB tries to setup colors.
46307 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
46308 colors for firmwares that don't support it.
46309 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
46310 Recognize Open Hack'Ware, set flags to work around its
46311 limitations.
46312
605e36ed 463132008-01-24 Robert Millan <rmh@aybabtu.com>
46314
46315 * kern/file.c (grub_file_open): Do not account previous failures of
46316 unrelated functions when grub_errno is checked for.
46317 Reported by Oleg Strikov.
46318
bac332a1 463192008-01-24 Bean <bean123ch@gmail.com>
46320
46321 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
46322 (grub_ufs_sblock): New member volume name.
46323 (grub_ufs_find_file): Fix string copy bug.
46324 (grub_ufs_label): Implement this function properly.
46325
46326 * fs/hfs.c (grub_hfs_cnid_type): New enum.
46327 (grub_hfs_iterate_records): Use the correct file number for extents
46328 and catalog file. Fix problem in next index calculation.
46329 (grub_hfs_find_node): Replace recursive function call with loop.
46330 (grub_hfs_iterate_dir): Replace recursive function call with loop.
46331
15c80c09 463322008-01-23 Robert Millan <rmh@aybabtu.com>
46333
46334 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
46335 `<grub/symbol.h>' and `<grub/multiboot.h>'.
46336 (grub_multiboot2_real_boot): New function prototype.
46337
46338 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
46339 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
46340
46341 * kern/i386/ieee1275/init.c (grub_os_area_addr)
46342 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
46343
305338fd 463442008-01-23 Robert Millan <rmh@aybabtu.com>
46345
46346 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
46347 #ifdef'ed out grub_printf().
46348
3ea52685 463492008-01-23 Robert Millan <rmh@aybabtu.com>
46350
46351 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
46352 grub_dprintf calls, since they make "debug=all" mode unusable.
46353 (grub_console_checkkey): Likewise.
46354
5882ae4b 463552008-01-23 Robert Millan <rmh@aybabtu.com>
46356
46357 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
46358 `term/i386/pc/at_keyboard.c'.
46359 (pkglib_MODULES): Add `serial.mod'.
46360 (serial_mod_SOURCES): New variable.
46361 (serial_mod_CFLAGS): Likewise.
46362 (serial_mod_LDFLAGS): Likewise.
46363
46364 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
46365 `<grub/powerpc/ieee1275/console.h>'.
46366 (grub_keyboard_controller_init): New function prototype.
46367 (grub_console_checkkey): Likewise.
46368 (grub_console_getkey): Likewise.
46369
46370 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
46371 keyboard on i386.
46372
46373 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
46374 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
46375
06ab5303 463762008-01-23 Robert Millan <rmh@aybabtu.com>
46377
46378 * kern/i386/pc/init.c (make_install_device): When memdisk image is
46379 present, "(memdisk)/boot/grub" becomes the default prefix.
46380
46381 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
46382 a memdisk tarball with all the modules. Add --overlay=DIR option that
46383 allows users to overlay additional files into the image.
46384
dbb475a4 463852008-01-23 Robert Millan <rmh@aybabtu.com>
46386
46387 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
46388 and `machine/memory.h'.
46389 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
46390 (_multiboot_mod_SOURCES): New variable.
46391 (_multiboot_mod_CFLAGS): Likewise.
46392 (_multiboot_mod_LDFLAGS): Likewise.
46393 (multiboot_mod_SOURCES): Likewise.
46394 (multiboot_mod_CFLAGS): Likewise.
46395 (multiboot_mod_LDFLAGS): Likewise.
46396
46397 * include/grub/i386/ieee1275/loader.h: New file.
46398
46399 * include/grub/i386/ieee1275/machine.h: Likewise.
46400
46401 * include/grub/i386/ieee1275/memory.h: Likewise.
46402
46403 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
46404 variable declaration.
46405 (grub_os_area_size): Likewise.
46406
46407 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
46408 (grub_lower_mem, grub_upper_mem): New variables.
46409 (grub_stop_floppy): New function (just to make
46410 grub_multiboot2_real_boot() happy).
46411
46412 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
46413 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
46414 (grub_stop): New function.
46415 Include `"../realmode.S"' and `"../loader.S"'.
46416
46417 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
46418 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
46419
46420 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
46421 rely on grub_multiboot2_real_boot() for final boot.
46422
25638629 464232008-01-22 Robert Millan <rmh@aybabtu.com>
46424
46425 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
46426 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
46427 device that doesn't look like an SD card.
46428 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46429 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
46430 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
46431 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
46432 found.
46433
9dad816d 464342008-01-22 Robert Millan <rmh@aybabtu.com>
46435
46436 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
46437 avoid claiming over our own code.
46438
34842f2d 464392008-01-22 Bean <bean123ch@gmail.com>
46440
46441 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
46442 (jpeg_mod_SOURCES): New variable.
46443 (jpeg_mod_CFLAGS): Likewise.
46444 (jpeg_mod_LDFLAGS): Likewise.
46445
46446 * video/readers/jpeg.c : New file.
46447
44023a28 464482008-01-22 Bean <bean123ch@gmail.com>
46449
46450 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
46451 there are no more items.
46452
bc2d8ac6 464532008-01-21 Robert Millan <rmh@aybabtu.com>
46454
46455 * kern/mm.c (grub_mm_init_region): Improve debug message.
46456
261bd4bc 464572008-01-21 Robert Millan <rmh@aybabtu.com>
46458
46459 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
46460 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
46461 address.
46462 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
46463 a C macro.
46464 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
46465 Indicates start of upper memory.
46466 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
46467 (generate_image): Abort when image size is big enough to corrupt
46468 upper memory.
46469
46470 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
46471 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
46472 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46473 instead of hardcoding 0xA0000.
46474 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
46475 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46476 instead of hardcoding 0xA0000.
46477
f970b55e 464782008-01-21 Robert Millan <rmh@aybabtu.com>
46479
46480 * disk/memdisk.c (memdisk_size): New variable.
46481 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
46482 `memdisk_size'.
46483 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
46484 image to dynamic memory.
46485 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
46486 `memdisk_size'. Free memdisk block.
46487
1a8b0526 464882008-01-21 Robert Millan <rmh@aybabtu.com>
46489
46490 Fix detection of very small filesystems (like tar).
46491
46492 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
46493 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
46494 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
46495 a problem with this disk).
46496
6e9b4aab 464972008-01-21 Robert Millan <rmh@aybabtu.com>
46498
46499 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
46500 on grub_biosdisk_rw_standard() error.
46501
0d8837b2 465022008-01-21 Robert Millan <rmh@aybabtu.com>
46503
46504 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
46505 recent changes.
46506 * kern/elf.c: Likewise.
46507 * kern/ieee1275/ieee1275.c: Likewise.
46508 * kern/powerpc/ieee1275/openfw.c: Likewise.
46509 * term/ieee1275/ofconsole.c: Likewise.
46510
ffd36e34 465112008-01-21 Robert Millan <rmh@aybabtu.com>
46512
46513 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
46514
3f0093d0 46515 * include/grub/kernel.h (grub_arch_memdisk_addr)
46516 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 46517
3f0093d0 46518 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
46519 (grub_arch_memdisk_size): ... to here.
ffd36e34 46520
6c391b21 465212008-01-21 Robert Millan <rmh@aybabtu.com>
46522
46523 Mostly based on bugfix from Bean.
46524
46525 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
46526 attribute with hook() parameter.
46527 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
46528 declaration.
46529 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
46530 attribute with hook() parameter.
46531 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
46532 declaration.
46533
55a581dc 465342008-01-21 Robert Millan <rmh@aybabtu.com>
46535
46536 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
46537 (pkglib_MODULES): Add `memdisk.mod'.
46538 (memdisk_mod_SOURCES): New variable.
46539 (memdisk_mod_CFLAGS): Likewise.
46540 (memdisk_mod_LDFLAGS): Likewise.
46541
46542 * disk/memdisk.c: New file.
46543
46544 * include/grub/disk.h (grub_disk_dev_id): Add
46545 `GRUB_DISK_DEVICE_MEMDISK_ID'.
46546
46547 * include/grub/i386/pc/kernel.h
46548 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
46549 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
46550 (grub_kernel_image_size): New variable declaration.
46551 (grub_total_module_size): Likewise.
46552 (grub_memdisk_image_size): Likewise.
46553
46554 * include/grub/i386/pc/memory.h
46555 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
46556
46557 * include/grub/kernel.h: Include `<grub/symbol.h>'.
46558 (grub_arch_memdisk_addr): New variable declaration.
46559 (grub_arch_memdisk_size): Likewise.
46560
46561 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
46562 (grub_arch_memdisk_size): Likewise.
46563
46564 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
46565 (codestart): Replace hardcoded `0x100000' with
46566 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
46567
46568 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
46569 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
46570 not NULL, append the contents of the file it refers to, at the end of
46571 the compressed kernel image. Initialize `grub_memdisk_image_size'
46572 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
46573 (options): Add "memdisk"|'m' option.
46574 (main): Parse --memdisk|-m option, and pass user-provided path as
46575 parameter to generate_image().
46576
3d7f54c9 465772008-01-20 Robert Millan <rmh@aybabtu.com>
46578
46579 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
46580 grub_dprintf() calls from here ...
46581 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
46582
0bf74728 465832008-01-20 Robert Millan <rmh@aybabtu.com>
46584
46585 Fix detection of "real mode" when /options/real-mode? doesn't exist.
46586
46587 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
46588 declaration.
46589 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
46590 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
46591 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 46592 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 46593 property).
46594 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
46595 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
46596
33bf70a7 465972008-01-19 Robert Millan <rmh@aybabtu.com>
46598
fe6b695a 46599 Get rid of confusing function (superseded by
33bf70a7 46600 `grub_ieee1275_get_integer_property')
46601 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
46602 prototype.
46603 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
46604 function.
46605 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
46606 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 46607 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 46608
e2da7d26 466092008-01-19 Robert Millan <rmh@aybabtu.com>
46610
46611 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
46612 command after "shut-down", since implementations differ on which
46613 the command for halt is.
46614
59f1fd8d 466152008-01-19 Robert Millan <rmh@aybabtu.com>
46616
46617 * include/grub/i386/linuxbios/console.h: Add header protection.
46618 (grub_keyboard_controller_init): New function prototype.
46619 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
46620 (KEYBOARD_COMMAND_READ): Likewise.
46621 (KEYBOARD_COMMAND_WRITE): Likewise.
46622 (KEYBOARD_SCANCODE_SET1): Likewise.
46623 (grub_keyboard_controller_write): New function.
46624 (grub_keyboard_controller_read): Likewise.
46625 (grub_keyboard_controller_init): Likewise.
46626
46627 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
46628 (grub_console_init): On coreboot/LinuxBIOS, call
46629 grub_keyboard_controller_init().
46630
5f5a7c15 466312008-01-19 Robert Millan <rmh@aybabtu.com>
46632
46633 PowerPC changes provided by Pavel Roskin.
46634
46635 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
46636 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
46637 don't rely on cmain() doing it.
46638 * kern/i386/ieee1275/startup.S (_start): Store %eax in
46639 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
46640
1210e168 466412008-01-16 Robert Millan <rmh@aybabtu.com>
46642
46643 * include/grub/i386/linuxbios/memory.h
46644 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
46645 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
46646 receive `table_header' as argument. Instead, probe for it in the
46647 known memory ranges where it can be present.
46648 (grub_available_iterate): Do not pass a fixed `table_header' address
46649 to grub_linuxbios_table_iterate().
46650
3d04eab8 466512008-01-15 Robert Millan <rmh@aybabtu.com>
46652
46653 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
46654 * conf/i386-ieee1275.rmk: New file.
46655 * include/grub/i386/ieee1275/console.h: Likewise.
46656 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
46657 * include/grub/i386/ieee1275/kernel.h: Likewise.
46658 * include/grub/i386/ieee1275/time.h: Likewise.
46659 * kern/i386/ieee1275/init.c: Likewise.
46660 * kern/i386/ieee1275/startup.S: Likewise.
46661
d1bc1b73 466622008-01-15 Robert Millan <rmh@aybabtu.com>
46663
46664 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
46665 when pointers are 32-bit (but still do set it to one when they are
46666 64-bit).
46667
66a65807 466682008-01-15 Robert Millan <rmh@aybabtu.com>
46669
46670 * include/grub/ieee1275/ieee1275.h
46671 (grub_ieee1275_get_integer_property): New function prototype.
46672
46673 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
46674 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 46675 grub_ieee1275_get_property() to handle endianness.
66a65807 46676
46677 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
46678 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 46679 where appropriate.
66a65807 46680 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
46681 (grub_map): Likewise.
46682 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
46683
a83ccafd 466842008-01-15 Bean <bean123ch@gmail.com>
46685
46686 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
46687 (grub_script_execute_cmdline): Reset grub_errno.
46688
46689 * normal/main.c (read_config_file): Reset grub_errno.
46690
46691 * normal/parse.y (script_init): New.
46692 (script): Move function and menuentry here.
46693 (delimiter): New.
46694 (command): Add delimiter at the end of command.
46695 (commands): Adjust to match the new command.
46696 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 46697 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 46698 (if): Use the new commands.
46699
46700 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
46701
df6ecfc6 467022008-01-15 Robert Millan <rmh@aybabtu.com>
46703
46704 * normal/menu.c (run_menu): Move timeout message from here ...
46705 (print_timeout): ... to here.
46706 (run_menu): Use print_timeout() once during initial draw to print
46707 the whole message, and again in every clock tick to update only
46708 the number of seconds.
46709
87ae25eb 467102008-01-15 Robert Millan <rmh@aybabtu.com>
46711
46712 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
46713 actual size of `available' from grub_ieee1275_get_property(), and
46714 restrict parsing to that bound.
46715
47bf09a4 467162008-01-15 Christian Franke <franke@computer.org>
46717
46718 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
46719 (argp_program_version): Remove variable.
46720 (argp_program_bug_address): Likewise.
46721 (options): Convert from struct argp_option to struct option.
46722 (struct arguments): Remove.
46723 (parse_opt): Remove.
46724 (usage): New function.
46725 (main): Replace struct args members by simple variables.
46726 Replace argp_parse() by getopt_long().
46727 Add switch to evaluate options.
46728 Add missing "(...)" around root_dev in prefix string.
46729
c86f1469 467302008-01-14 Robert Millan <rmh@aybabtu.com>
46731
46732 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
46733 for grub_ieee1275_exit(), in order to improve portability.
46734
e622c559 467352008-01-14 Robert Millan <rmh@aybabtu.com>
46736
46737 * util/grub.d/10_linux.in (prefix): Define.
46738 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
46739
44cb1ec8 467402008-01-13 Pavel Roskin <proski@gnu.org>
46741
46742 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
46743 grub_errno if no errors have been detected.
46744
1eb8c802 467452008-01-12 Robert Millan <rmh@aybabtu.com>
46746
46747 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
46748 (grub_util_get_dev_abstraction): New function prototype.
46749
46750 * util/getroot.c: Include `<grub/util/getroot.h>'
46751 (grub_util_get_grub_dev): Move detection of abstraction type to ...
46752 (grub_util_get_dev_abstraction): ... here (new function).
46753
46754 * util/grub-probe.c: Convert PRINT_* to an enum. Add
46755 `PRINT_ABSTRACTION'.
46756 (probe): Probe for abstraction type when requested.
46757 (main): Understand `--target=abstraction'.
46758
46759 * util/i386/efi/grub-install.in: Add abstraction module to core
46760 image when it is found to be necessary.
46761 * util/i386/pc/grub-install.in: Likewise.
46762 * util/powerpc/ieee1275/grub-install.in: Likewise.
46763
46764 * util/update-grub_lib.in (font_path): Return system path without
46765 converting to GRUB path.
46766 * util/update-grub.in: Convert system path returned by font_path()
46767 to a GRUB path. Use `grub-probe -t abstraction' to determine what
46768 abstraction module is needed for loading fonts (if any). Export
46769 that as `GRUB_PRELOAD_MODULES'.
46770 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
46771 insmod commands).
46772
52bd3de9 467732008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
46774
46775 Remove some unused code from reiserfs.
f19dbdb7 46776
52bd3de9 46777 * fs/reiserfs.c (struct grub_reiserfs_key)
46778 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
46779 (struct grub_reiserfs_node_body): Removed.
46780 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46781 Likewise.
46782 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46783 Likewise.
46784 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46785 Likewise.
46786 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46787 Likewise.
46788 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46789 Likewise.
46790 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
46791 Likewise.
46792 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46793 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46794 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46795
2f80039d 467962008-01-10 Robert Millan <rmh@aybabtu.com>
46797
46798 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
46799 Determines if a file is garbage left by packaging systems, etc.
46800 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
46801 for processing /etc/grub.d scripts.
46802 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
46803 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
46804 as a condition for processing Linux images.
46805
87888032 468062008-01-10 Pavel Roskin <proski@gnu.org>
46807
46808 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
46809 to compile reiserfs.c on PowerPC.
46810
7e54fced 468112008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 46812
46813 * kern/device.c (grub_device_iterate): Do not abort device iteration
46814 when one of the devices cannot be opened.
46815 * kern/disk.c (grub_disk_open): Do not account previous failures of
46816 unrelated functions when grub_errno is checked for.
46817
5aa541e6 468182008-01-08 Robert Millan <rmh@aybabtu.com>
46819
46820 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
46821 `! grub_linux_is_bzimage', change order of address comparison to make
46822 it more intuitive, and improve "too big zImage" error message.
46823
7076340d 468242008-01-08 Robert Millan <rmh@aybabtu.com>
46825
46826 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
46827 `$(update-grub_DATA)'.
46828 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
46829 targets.
46830
9ca70333 468312008-01-07 Robert Millan <rmh@aybabtu.com>
46832
46833 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
46834 which instruction is modified by grub-setup during installation
46835 (since it wasn't obvious by only looking at this file).
46836
38ccf575 468372008-01-07 Robert Millan <rmh@aybabtu.com>
46838
46839 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
46840 listing actual TODO items.
46841
f5db4291 468422008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46843
868967cf 46844 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
46845 correctly.
46846 (grub_reiserfs_get_key_offset): Likewise.
46847 (grub_reiserfs_set_key_offset): Likewise.
46848 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 46849 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 46850
46851 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
46852 better to remove the bitfield version completely.
f19dbdb7 46853
868967cf 468542008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46855
f5db4291 46856 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
46857 allocated from the heap, due to the fshelp implementation.
46858 (grub_reiserfs_dir): Free NODE, due to the same reason.
46859
492e6d9d 468602008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46861
46862 Mostly from Vincent Pelletier:
f19dbdb7 46863
492e6d9d 46864 * fs/reiserfs.c: New file.
f19dbdb7 46865
492e6d9d 46866 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
46867 (reiserfs_mod_SOURCES): New variable.
46868 (reiserfs_mod_CFLAGS): Likewise.
46869 (reiserfs_mod_LDFLAGS): Likewise.
46870
46871 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
46872 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
46873 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
46874 normal/color.c.
46875
9ce3e7c1 468762008-01-06 Robert Millan <rmh@aybabtu.com>
46877
46878 * normal/color.c: Remove `<grub/env.h>'.
46879
f3b58148 468802008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
46881
46882 * include/grub/normal.h: Include <grub/env.h>.
46883
7ac3bcfa 468842008-01-05 Robert Millan <rmh@aybabtu.com>
46885
46886 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
46887 usage example with `(hd0,1)'.
fb358190 46888 Reported by Samuel Thibault.
7ac3bcfa 46889
c8ee99d7 468902008-01-05 Robert Millan <rmh@aybabtu.com>
46891
46892 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
46893 (grub_linux_boot_zimage): Rename to ...
46894 (grub_linux_boot): ... this.
46895 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
46896 (grub_linux_boot_zimage): Conditionalize zImage copy.
46897
46898 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
46899 (grub_linux_boot_bzimage): Remove prototype.
46900 (grub_linux_boot_zimage): Rename to ...
46901 (grub_linux_boot): ... this.
46902
46903 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
46904 (grub_linux_boot): Remove function.
46905
0ece25b1 469062008-01-05 Robert Millan <rmh@aybabtu.com>
46907
46908 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
46909 (grub_env_write_color_highlight): Likewise.
46910 (grub_wait_after_message): Likewise.
46911
46912 * normal/color.c: New file.
46913
46914 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46915 (normal_mod_DEPENDENCIES): Likewise.
46916
46917 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46918 (normal_mod_DEPENDENCIES): Likewise.
46919
46920 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46921 (normal_mod_DEPENDENCIES): Likewise.
46922
46923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46924 (normal_mod_DEPENDENCIES): Likewise.
46925
46926 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
46927 for waiting after a message is printed.
46928 * normal/main.c (read_config_file): Likewise.
46929 (grub_normal_init): Register grub_env_write_color_normal() and
46930 grub_env_write_color_highlight() hooks. Mark `color_normal' and
46931 `color_highlight' variables as global.
46932
46933 * normal/menu.c (grub_wait_after_message): New function.
46934 (grub_color_menu_normal): New variable. Replaces ...
46935 (GRUB_COLOR_MENU_NORMAL): ... this macro.
46936 (grub_color_menu_highlight): New variable. Replaces ...
46937 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
46938 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
46939 `GRUB_TERM_COLOR_STANDARD'.
46940 (print_message): Use `grub_setcolorstate' to reload colors. Rename
46941 `normal_code' and `highlight_code' to `old_color_normal' and
46942 `old_color_highlight', respectively.
46943 (grub_menu_init_page): Update colors when drawing the menu, based on
46944 `menu_color_normal' and `menu_color_highlight' variables.
46945 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
46946 a message is printed.
46947
182dd4e5 469482008-01-05 Robert Millan <rmh@aybabtu.com>
46949
46950 * kern/env.c (grub_env_context_open): Propagate hooks for global
46951 variables to new context.
46952
46953 * kern/main.c (grub_set_root_dev): Export `root' variable.
46954
ddf8f6ad 469552008-01-05 Robert Millan <rmh@aybabtu.com>
46956
46957 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 46958 discs unconditionally, since udev and others have options to provide
ddf8f6ad 46959 them.
46960
d8b43d9b 469612008-01-05 Robert Millan <rmh@aybabtu.com>
46962
46963 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
46964
2bff2de3 469652008-01-04 Christian Franke <franke@computer.org>
46966
46967 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
46968 of eisa_mmap.
46969
97eab917 469702008-01-03 Pavel Roskin <proski@gnu.org>
46971
46972 * kern/i386/linuxbios/init.c: Put "void" to all function
46973 declarations with no arguments.
46974 * kern/powerpc/ieee1275/init.c: Likewise.
46975 * term/i386/pc/at_keyboard.c: Likewise.
46976 * term/i386/pc/vga_text.c: Likewise.
46977 * util/grub-mkdevicemap.c: Likewise.
46978
b9416d00 469792008-01-02 Robert Millan <rmh@aybabtu.com>
46980
46981 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
46982 message when loaded image is out of bounds.
46983 (grub_multiboot_load_elf64): Likewise.
46984
92695df9 469852008-01-02 Pavel Roskin <proski@gnu.org>
46986
46987 * util/grub.d/10_linux.in: Try version without ".old" when
46988 looking for initrd. It's better to use initrd from the newer
46989 kernel of the same version than no initrd at all.
46990
d98d9cad 469912008-01-01 Robert Millan <rmh@aybabtu.com>
46992
46993 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
46994
dbfdce36 469952008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
46996
f19dbdb7 46997 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 46998 grub_video_get_active_render_target.
46999 (grub_video_adapter): Added unmap_color and get_active_render_target.
47000
f19dbdb7 47001 * video/video.c: Added grub_video_unmap_color and
dbfdce36 47002 grub_video_get_active_render_target.
47003 (grub_video_get_info): Changed method to accept NULL pointer as an
47004 argument to allow detection of active video adapter.
47005
47006 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
47007 grub_video_vbe_unmap_color_int.
47008 Added grub_video_vbe_unmap_color and
47009 grub_video_vbe_get_active_render_target.
47010 (grub_video_vbe_adapter): Added unmap_color and
47011 get_active_render_target.
47012
f19dbdb7 47013 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 47014 with grub_video_vbe_unmap_color_int.
47015
47016 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
47017 (DEFAULT_NORMAL_COLOR): Likewise.
47018 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
47019 (DEFAULT_FG_COLOR): Removed.
47020 (DEFAULT_BG_COLOR): Likewise.
47021 (DEFAULT_CURSOR_COLOR): Changed value.
47022 (grub_virtual_screen): Added standard_color_setting,
47023 normal_color_setting, highlight_color_setting and term_color.
47024 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
47025 (bitmap_width): Added.
47026 (bitmap_height): Likewise.
47027 (bitmap): Likewise.
47028 (set_term_color): Likewise.
47029 (grub_virtual_screen_setup): Changed to use new terminal coloring
47030 settings.
47031 (grub_gfxterm_init): Added init for bitmap.
47032 (grub_gfxterm_fini): Added destroy for bitmap.
47033 (redraw_screen_rect): Updated to use background bitmap and new
47034 terminal coloring.
47035 (scroll_up): Added optimization for case when there is no bitmap.
47036 (grub_gfxterm_cls): Fixed to use correct background color.
47037 (grub_virtual_screen_setcolorstate): Changed to use new terminal
47038 coloring.
47039 (grub_virtual_screen_setcolor): Likewise.
47040 (grub_virtual_screen_getcolor): Added.
47041 (grub_gfxterm_background_image_cmd): Likewise.
47042 (grub_video_term): Added setcolor and getcolor.
47043 (MOD_INIT): Added registration of background_image command.
47044 (MOD_TERM): Added unregistration for background_image command.
47045
c3c20931 470462007-12-30 Pavel Roskin <proski@gnu.org>
47047
47048 * loader/multiboot_loader.c: Fix multiboot command
47049 unregistration. Fix all typos in the word "multiboot".
47050
df266716 470512007-12-29 Pavel Roskin <proski@gnu.org>
94239199 47052
47053 * util/grub.d/10_linux.in: Refactor search for initrd. Add
47054 support for initrd names used in Fedora.
47055
fc6e896c 470562007-12-26 Bean <bean123ch@gmail.com>
47057
47058 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
47059 (cpio_mod_SOURCES): New variable.
47060 (cpio_mod_CFLAGS): Likewise.
47061 (cpio_mod_LDFLAGS): Likewise.
47062
47063 * fs/cpio.c: New file.
47064
47065 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
47066
47067 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
47068
47069 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
47070
47071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47072
533110ad 470732007-12-25 Robert Millan <rmh@aybabtu.com>
47074
47075 * include/grub/term.h (struct grub_term): Add `getcolor' function.
47076 (grub_getcolor): New function.
47077
47078 * kern/term.c (grub_getcolor): New function.
47079 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
47080 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
47081 (print_entry): Set normal and highlight colors to
47082 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
47083 respectively, before printing and restore them to old
47084 values afterwards.
47085 (grub_menu_init_page): Likewise. Fill an additional colored space
47086 that would otherwise be left blank.
47087
47088 * term/efi/console.c (grub_console_getcolor): New function.
47089 (struct grub_console_term.getcolor): New variable.
47090 * term/i386/pc/console.c (grub_console_getcolor): New function.
47091 (struct grub_console_term.getcolor): New variable.
47092 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
47093 (struct grub_console_term.getcolor): New variable.
47094
47095 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
47096 (struct grub_console_term.setcolor): Remove variable.
47097 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
47098 (struct grub_console_term.setcolor): Remove variable.
47099 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
47100 (struct grub_console_term.setcolor): Remove variable.
47101 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
47102 (struct grub_console_term.setcolor): Remove variable.
47103
4931827f 471042007-12-25 Robert Millan <rmh@aybabtu.com>
47105
47106 * configure.ac: Search for possible unifont.hex locations, and
47107 define UNIFONT_HEX if found.
47108
47109 * Makefile.in (UNIFONT_HEX): Define variable.
47110 (DATA): Rename to ...
47111 (PKGLIB): ... this. Update all users.
47112 (PKGDATA): New variable.
47113 (pkgdata_IMAGES): Rename to ...
47114 (pkglib_IMAGES): ... this. Update all users.
47115 (pkgdata_MODULES): Rename to ...
47116 (pkglib_MODULES): ... this. Update all users.
47117 (pkgdata_PROGRAMS): Rename to ...
47118 (pkglib_PROGRAMS): ... this. Update all users.
47119 (pkgdata_DATA): Rename to ...
47120 (pkglib_DATA): ... this. Update all users.
47121 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
47122 (unicode.pff, ascii.pff): New rules.
47123 (all-local): Add `$(PKGDATA)' dependency.
47124 (install-local): Process `$(PKGDATA)'.
47125
47126 * util/update-grub_lib.in (font_path): Search for *.pff files in
47127 a few more locations, including `${pkgdata}'.
47128
57e57e31 471292007-12-23 Robert Millan <rmh@aybabtu.com>
47130
47131 Patch from Bean <bean123ch@gmail.com>:
47132 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
47133 `size'.
47134
4bc72aa9 471352007-12-21 Bean <bean123ch@gmail.com>
47136
47137 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
47138 (ntfscomp_mod_SOURCES): New variable.
47139 (ntfscomp_mod_CFLAGS): Likewise.
47140 (ntfscomp_mod_LDFLAGS): Likewise.
47141
47142 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
47143 (grub_probe_SOURCES): Likewise.
47144 (grub_emu_SOURCES): Likewise.
47145
47146 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47147 (grub_emu_SOURCES): Likewise.
47148
47149 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47150 (grub_emu_SOURCES): Likewise.
47151
47152 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47153 (grub_emu_SOURCES): Likewise.
47154
47155 * fs/ntfs.c (grub_ntfscomp_func): New variable.
47156 (read_run_list): Renamed to grub_ntfs_read_run_list.
47157 (decomp_nextvcn): Moved to ntfscomp.c.
47158 (decomp_getch): Likewise.
47159 (decomp_get16): Likewise.
47160 (decomp_block): Likewise.
47161 (read_block): Likewise.
47162 (read_data): Partially moved to ntfscomp.c.
47163 (fixup): Change unsigned to grub_uint16_t.
47164 (read_mft): Change unsigned long to grub_uint32_t.
47165 (read_attr): Likewise.
47166 (read_data): Likewise.
47167 (read_run_data): Likewise.
47168 (read_run_list): Likewise.
47169 (read_mft): Likewise.
47170
47171 * fs/ntfscomp.c: New file.
47172
47173 * include/grub/ntfs.h: New file.
47174
af680a87 471752007-12-16 Robert Millan <rmh@aybabtu.com>
47176
47177 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
47178 IDE disk check, since Linux is known to support 20 IDE disks.
47179 Reported by Colin Watson.
47180
84be7599 471812007-12-15 Bean <bean123ch@gmail.com>
47182
47183 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
47184 (lnxboot_img_SOURCES): New variable.
47185 (lnxboot_img_ASFLAGS): Likewise.
47186 (lnxboot_img_LDFLAGS): Likewise.
47187
47188 * boot/i386/pc/lnxboot.S: New file.
47189
6af9db01 471902007-11-24 Pavel Roskin <proski@gnu.org>
47191
47192 * configure.ac: Test if '--build-id=none' is supported by the
47193 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
47194 objcopy to generate incorrect binary files (binutils
47195 2.17.50.0.18-1 as shipped by Fedora 8).
47196 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
47197 linking, so that build ID doesn't break the test.
47198
7361cfe6 471992007-11-24 Pavel Roskin <proski@gnu.org>
47200
47201 * include/grub/i386/time.h: use "void" in the argument list
47202 of grub_cpu_idle().
47203 * include/grub/powerpc/time.h: Likewise.
47204 * include/grub/sparc64/time.h: Likewise.
47205
1593e10c 472062007-11-18 Christian Franke <franke@computer.org>
47207
47208 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
47209 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
47210 This fixes the problem that function keys did not work in grub-emu.
47211
3b8db1a8 472122007-11-18 Christian Franke <franke@computer.org>
47213
47214 * disk/host.c (grub_host_open): Remove attribute unused from
47215 name parameter. Add check for "host". This fixes the problem
47216 that grub-emu does not find partitions.
47217
2e29408d 472182007-11-18 Christian Franke <franke@computer.org>
47219
47220 * util/hostfs.c (is_dir): New function.
47221 (grub_hostfs_dir): Handle missing dirent.d_type case.
47222 (grub_hostfs_read): Add missing fseek().
47223 (grub_hostfs_label): Clear label pointer. This fixes a crash
47224 of grub-emu on "ls (host)".
47225
398cd047 472262007-11-18 Christian Franke <franke@computer.org>
47227
47228 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
47229 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
47230 to 64 bit boundary by default.
47231
c405c391 472322007-11-18 Bean <bean123ch@gmail.com>
47233
47234 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
47235 (hexdump_mod_SOURCES): New variable.
47236 (hexdump_mod_CFLAGS): Likewise.
47237 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 47238
c405c391 47239 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47240
47241 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47242
47243 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47244
47245 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47246
47247 * include/grub/hexdump.h: New file.
47248
47249 * commands/hexdump.c: New file.
47250
5cced7fd 472512007-11-10 Robert Millan <rmh@aybabtu.com>
47252
47253 * commands/i386/pc/play.c (beep_off): Switch order of arguments
47254 in grub_outb() calls.
47255 (beep_on): Likewise.
47256
8b714eb0 472572007-11-10 Christian Franke <franke@computer.org>
47258
47259 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
47260 (grub_menu_run): Likewise.
47261
ce0f1839 472622007-11-10 Robert Millan <rmh@aybabtu.com>
47263
47264 * include/grub/i386/efi/machine.h: New file.
47265 * include/grub/i386/linuxbios/machine.h: Likewise.
47266 * include/grub/i386/pc/machine.h: Likewise.
47267 * include/grub/powerpc/ieee1275/machine.h: Likewise.
47268 * include/grub/sparc64/ieee1275/machine.h: Likewise.
47269
47270 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
47271 (serial_hw_io_addr): New variable.
47272 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
47273 instead of `(unsigned short *) 0x400'.
47274
270c237d 472752007-11-10 Bean <bean123ch@gmail.com>
47276
47277 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
47278
a87783bf 472792007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47280
47281 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
47282 (vga_mod_SOURCES): Added.
47283 (vga_mod_CFLAGS): Likewise.
47284 (vga_mod_LDFLAGS): Likewise.
47285
47286 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
47287 grub_outb() calls.
47288 (set_map_mask): Likewise.
47289 (set_read_map): Likewise.
47290 (set_read_address): Likewise.
47291 (vga_font): Removed variable.
47292 (get_vga_glyph): Removed function.
47293 (invalidate_char): Likewise.
47294 (write_char): Changed to use grub_font_get_glyph() for font
47295 information.
47296 (grub_vga_putchar): Likewise.
47297 (grub_vga_getcharwidth): Likewise.
47298
6433b448 472992007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47300
47301 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
47302 flags.
47303 (pxeboot_img_LDFLAGS): Likewise.
47304 (diskboot_img_LDFLAGS): Likewise.
47305 (kernel_img_LDFLAGS): Likewise.
47306
49178511 473072007-11-06 Robert Millan <rmh@aybabtu.com>
47308
47309 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
47310 in grub_outb() calls.
47311 (serial_hw_init): Likewise.
47312
53b052de 473132007-11-05 Robert Millan <rmh@aybabtu.com>
47314
47315 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
47316 spaces. Skip non-regular files.
47317
5ab33bba 473182007-11-05 Robert Millan <rmh@aybabtu.com>
47319
47320 * kern/disk.c (grub_disk_firmware_fini)
47321 (grub_disk_firmware_is_tainted): New variables.
47322
47323 * include/grub/disk.h (grub_disk_firmware_fini)
47324 (grub_disk_firmware_is_tainted): Likewise.
47325
47326 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
47327 (grub_disk_biosdisk_fini): ... to here.
47328 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
47329 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
47330 is set. Register grub_disk_biosdisk_fini() in
47331 `grub_disk_firmware_fini'.
47332
47333 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
47334 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
47335 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
47336 to finish existing firmware disk interface.
47337
47338 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
47339 (ata_mod_SOURCES): New variable.
47340 (ata_mod_CFLAGS): Likewise.
47341 (ata_mod_LDFLAGS): Likewise.
47342
0149ab7c 473432007-11-05 Robert Millan <rmh@aybabtu.com>
47344
47345 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
47346 (grub_ata_wait): Reimplement using grub_millisleep().
47347
47348 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
47349 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
47350
be7ac41e 473512007-11-03 Marco Gerards <marco@gnu.org>
47352
47353 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
47354 (CRTC_ADDR_PORT): New macro.
47355 (CRTC_DATA_PORT): Likewise.
47356 (CRTC_CURSOR): Likewise.
47357 (CRTC_CURSOR_ADDR_HIGH): Likewise.
47358 (CRTC_CURSOR_ADDR_LOW): Likewise.
47359 (update_cursor): New function.
47360 (grub_console_real_putchar): Call `update_cursor'.
47361 (grub_console_gotoxy): Likewise.
47362 (grub_console_cls): Set the default color when clearing the
47363 screen.
47364 (grub_console_setcursor): Implemented.
47365
bb06ab2e 473662007-11-03 Marco Gerards <marco@gnu.org>
47367
47368 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
47369 become activate.
47370 (grub_ata_pio_write): Likewise.
47371
47372 (grub_atapi_identify): Wait after issuing an ATA command.
47373 (grub_atapi_packet): Likewise.
47374 (grub_ata_identify): Likewise.
47375 (grub_ata_readwrite): Likewise.
47376
cf8f780b 473772007-11-03 Marco Gerards <marco@gnu.org>
47378
47379 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
47380 (grub_ata_pio_write): Likewise.
47381 (grub_ata_readwrite): Use `grub_error', instead of
47382 returning `grub_errno'.
47383
ed649e54 473842007-11-03 Marco Gerards <marco@gnu.org>
47385
47386 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
47387 grub_ata_pio_write once for every single sector, instead of for
47388 multiple sectors.
47389
ca25d8f0 473902007-10-31 Robert Millan <rmh@aybabtu.com>
47391
47392 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
47393
47394 * conf/i386-linuxbios.rmk: New file.
47395
47396 * kern/i386/pc/hardware.c: Likewise.
47397 * term/i386/pc/at_keyboard.c: Likewise.
47398 * term/i386/pc/vga_text.c: Likewise.
47399
47400 * include/grub/i386/linuxbios/boot.h: Likewise.
47401 * include/grub/i386/linuxbios/console.h: Likewise.
47402 * include/grub/i386/linuxbios/init.h: Likewise.
47403 * include/grub/i386/linuxbios/kernel.h: Likewise.
47404 * include/grub/i386/linuxbios/loader.h: Likewise.
47405 * include/grub/i386/linuxbios/memory.h: Likewise.
47406 * include/grub/i386/linuxbios/serial.h: Likewise.
47407 * include/grub/i386/linuxbios/time.h: Likewise.
47408
47409 * kern/i386/linuxbios/init.c: Likewise.
47410 * kern/i386/linuxbios/startup.S: Likewise.
47411 * kern/i386/linuxbios/table.c: Likewise.
47412
e911ecc1 474132007-10-31 Marco Gerards <marco@gnu.org>
47414
47415 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
47416 (ata_mod_SOURCES): New variable.
47417 (ata_mod_CFLAGS): Likewise.
47418 (ata_mod_LDFLAGS): Likewise.
47419
47420 * disk/ata.c: New file.
47421
47422 * include/grub/disk.h (grub_disk_dev_id): Add
47423 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 47424
7f66d0e0 474252007-10-31 Robert Millan <rmh@aybabtu.com>
47426
47427 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
47428 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
47429
47430 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
47431 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
47432
47433 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
47434 `<grub/types.h>'.
47435
47436 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
47437
5cd7dd46 474382007-10-27 Robert Millan <rmh@aybabtu.com>
47439
3236ca65 47440 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 47441
2ebfc90f 474422007-10-22 Robert Millan <rmh@aybabtu.com>
47443
47444 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
47445 `"../realmode.S"'.
47446 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
47447
73fcb0f3 474482007-10-22 Robert Millan <rmh@aybabtu.com>
47449
47450 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
47451 (pkgdata_MODULES): Add `biosdisk.mod'.
47452 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
47453 variables.
47454
47455 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
47456 (grub_biosdisk_init): Replace with ...
47457 (GRUB_MOD_INIT(biosdisk)): ... this.
47458 (grub_biosdisk_fini): Replace with ...
47459 (GRUB_MOD_FINI(biosdisk)): ... this.
47460
47461 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
47462 (grub_machine_init): Remove call to grub_biosdisk_init().
47463 (grub_machine_fini): Remove call to grub_machine_fini().
47464
47465 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
47466
3381d274 474672007-10-22 Robert Millan <rmh@aybabtu.com>
47468
47469 * include/grub/time.h: New file.
47470 * include/grub/i386/time.h: Likewise.
47471 * include/grub/powerpc/time.h: Likewise.
47472 * include/grub/sparc64/time.h: Likewise.
47473
47474 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
47475 instances to ...
47476 (KERNEL_MACHINE_TIME_HEADER): ... this.
47477 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47478 instances to ...
47479 (KERNEL_MACHINE_TIME_HEADER): ... this.
47480 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47481 instances to ...
47482 (KERNEL_MACHINE_TIME_HEADER): ... this.
47483
47484 * kern/i386/efi/init.c: Include `<grub/time.h>'.
47485 (grub_millisleep): New function.
47486 * kern/i386/pc/init.c: Include `<grub/time.h>'.
47487 (grub_millisleep): New function.
47488 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
47489 Remove `grub/machine/time.h' include.
47490 (grub_millisleep): New function.
47491 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
47492 Remove `grub/machine/time.h' include.
47493 (grub_millisleep): New function.
47494
47495 * include/grub/misc.h (grub_div_roundup): New function.
47496
47497 * kern/misc.c: Include `<grub/time.h>'.
47498 (grub_millisleep_generic): New function.
47499
47500 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
47501 Add `time.h'.
47502 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
47503 Add `time.h'.
47504 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
47505 `machine/time.h'. Add `time.h'.
47506 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47507
a39a0312 475082007-10-21 Robert Millan <rmh@aybabtu.com>
47509
47510 * include/grub/misc.h (grub_max): New function.
47511
2aad70e2 475122007-10-21 Robert Millan <rmh@aybabtu.com>
47513
47514 * util/misc.c (grub_util_info): Call fflush() before returning.
47515
54b71c4b 475162007-10-20 Robert Millan <rmh@aybabtu.com>
47517
47518 * genmk.rb (Image): Copy `extra_flags' from here ...
47519 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
47520
47521 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
47522 to `argc' and `args' arguments.
47523
a979f513 475242007-10-17 Robert Millan <rmh@aybabtu.com>
47525
47526 * kern/i386/loader.S: New file.
47527
47528 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
47529 * kern/i386/loader.S (grub_linux_prot_size)... to here.
47530 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
47531 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
47532 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
47533 * kern/i386/loader.S (grub_linux_real_addr)... to here.
47534 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
47535 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
47536 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
47537 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
47538 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
47539 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
47540 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
47541 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
47542
47543 * kern/i386/realmode.S: New file.
47544
47545 * kern/i386/pc/startup.S (protstack): Moved from here ...
47546 * kern/i386/realmode.S (protstack)... to here.
47547 * kern/i386/pc/startup.S (gdt): Moved from here ...
47548 * kern/i386/realmode.S (gdt)... to here.
47549 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
47550 * kern/i386/realmode.S (prot_to_real)... to here.
47551
47552 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
47553 `kern/i386/realmode.S'.
47554
825fc8fd 475552007-10-17 Robert Millan <rmh@aybabtu.com>
47556
47557 * include/grub/i386/loader.h: New file.
47558
47559 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
47560 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47561 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47562 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47563 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
47564 * include/grub/i386/loader.h (grub_linux_prot_size)
47565 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47566 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47567 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47568 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
47569
47570 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
47571
e179b2f4 475722007-10-15 Robert Millan <rmh@aybabtu.com>
47573
47574 * normal/misc.c (grub_normal_print_device_info): Do not probe for
47575 filesystem when dev->disk is unset.
47576 Do probe for filesystem even when dev->disk->has_partitions is set.
47577 In case a filesystem is found, always report it.
47578 In case it isn't, if dev->disk->has_partitions is set, report that
47579 a partition table was found instead of reporting that no filesystem
47580 could be identified.
47581
5db82af6 475822007-10-12 Robert Millan <rmh@aybabtu.com>
47583
47584 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
47585 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
47586
68f6ac74 47587 * include/grub/types.h (grub_host_to_target16): New macro.
47588 (grub_host_to_target32): Likewise.
47589 (grub_host_to_target64): Likewise.
47590 (grub_target_to_host16): Likewise.
47591 (grub_target_to_host32): Likewise.
47592 (grub_target_to_host64): Likewise.
5db82af6 47593
47594 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47595 Renamed from to ...
47596 (GRUB_MOD_ALIGN): ...this. Update all users.
47597
68f6ac74 47598 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
47599 grub_host_to_target32.
47600 Replace grub_be_to_cpu32 with grub_target_to_host32.
47601 (load_modules): Likewise.
47602 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
47603 Replace grub_be_to_cpu32 with grub_target_to_host32.
47604 Replace grub_cpu_to_be16 with grub_host_to_target16.
47605 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 47606
3cf497cc 476072007-10-12 Robert Millan <rmh@aybabtu.com>
47608
47609 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
47610 * util/elf/grub-mkimage.c: ... here.
47611
47612 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
47613 `util/powerpc/ieee1275/grub-mkimage.c'.
47614
c8cc3692 476152007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 47616
c8cc3692 47617 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
47618 and make it easier to figure out.
47619 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
47620 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
47621 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
47622 leave us with less than HEAP_MIN_SIZE total heap.
47623 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 47624
5c58b791 476252007-10-03 Robert Millan <rmh@aybabtu.com>
47626
47627 * include/grub/i386/io.h: New file.
47628 * commands/i386/pc/play.c (inb): Removed.
47629 (outb): Removed.
47630 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47631 with grub_outb().
afcd2ef8 47632 * term/i386/pc/serial.c (inb): Removed.
47633 (outb): Removed.
47634 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47635 with grub_outb().
47636 * term/i386/pc/vga.c (inb): Removed.
47637 (outb): Removed.
47638 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47639 with grub_outb().
5c58b791 47640
1a477ed6 476412007-10-02 Robert Millan <rmh@aybabtu.com>
47642
47643 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
47644 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47645 Reported by Marcin Kurek.
47646
6b5d80fa 476472007-09-07 Robert Millan <rmh@aybabtu.com>
47648
47649 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
47650 SmartFirmware version updates (as released by Sven Luther), and avoid
47651 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
47652 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
47653 known broken.
47654
5618afbf 476552007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47656
47657 From Hitoshi Ozeki:
47658 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
47659 when merging two regions.
47660
6139dcd9 476612007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47662
508e39ee 47663 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
47664 * normal/completion.c (grub_normal_do_completion): Likewise.
47665 Reported by Hitoshi Ozeki.
47666
476672007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 47668
6139dcd9 47669 Do not use devices at boot in chainloading.
f19dbdb7 47670
6139dcd9 47671 * loader/i386/pc/chainloader.c (boot_drive): New variable.
47672 (boot_part_addr): Likewise.
47673 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
47674 with BOOT_DRIVE and BOOT_PART_ADDR.
47675 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
47676 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
47677
38da6516 476782007-08-29 Robert Millan <rmh@aybabtu.com>
47679
47680 Patch from Simon Peter <dn.tlp@gmx.net>:
47681 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
47682 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
47683 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
47684 util/i386/pc/grub-setup.c_DEPENDENCIES.
47685 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
47686 util/grub-probe.c_DEPENDENCIES.
47687 * conf/powerpc-ieee1275.rmk: Likewise.
47688
29d0928c 476892007-08-28 Robert Millan <rmh@aybabtu.com>
47690
47691 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
47692 to tell grub-mkdevicemap how to name devices.
47693 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
47694 feature).
47695
47696 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
47697 util/i386/get_disk_name.c.
47698 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
47699 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
47700 util/ieee1275/get_disk_name.c.
47701
47702 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
47703
47704 * DISTLIST: Add util/i386/get_disk_name.c and
47705 util/ieee1275/get_disk_name.c.
47706
47707 * util/grub-mkdevicemap.c: Replace device naming logic with
47708 grub_util_get_disk_name() calls.
47709
5a0d3cca 477102007-08-20 Robert Millan <rmh@aybabtu.com>
47711
47712 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
47713 (so that it works for both plural and singular quantities).
47714
8b72db2f 477152007-08-05 Robert Millan <rmh@aybabtu.com>
47716
47717 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
47718 so that [xz] isn't taken into account when determining order.
47719
352466bf 477202007-08-02 Marco Gerards <marco@gnu.org>
47721
47722 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
47723 `include/multiboot2.h', `include/grub/elfload.h',
47724 `include/multiboot.h', `include/grub/multiboot.h',
47725 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
47726 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
47727 `kern/elf.c', `loader/multiboot_loader.c',
47728 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
47729 `loader/i386/pc/multiboot2.c',
47730 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
47731 `util/i386/pc/grub-mkrescue.in'. Remove
47732 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
47733 `include/grub/i386/pc/util/biosdisk.h' and
47734 `include/grub/powerpc/ieee1275/multiboot.h'.
47735
8f096014 477362007-08-02 Bean <bean123ch@gmail.com>
47737
47738 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
47739 (ntfs_mod_SOURCES): New variable.
47740 (ntfs_mod_CFLAGS): Likewise.
47741 (ntfs_mod_LDFLAGS): Likewise.
47742
47743 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
47744 (grub_probe_SOURCES): Likewise.
47745 (grub_emu_SOURCES): Likewise.
47746
47747 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47748 (grub_emu_SOURCES): Likewise.
47749
47750 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47751 (grub_emu_SOURCES): Likewise.
f19dbdb7 47752
8f096014 47753 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
47754
47755 * fs/ntfs.c: New file.
47756
9959f7db 477572007-08-02 Bean <bean123ch@gmail.com>
47758
47759 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
47760
47761 * file.h (grub_file): Likewise.
47762
47763 * fshelp.h (grub_fshelp_read_file): Likewise.
47764
47765 * util/i386/pc/grub-setup.c (setup): Likewise.
47766 (save_first_sector): Likewise.
47767 (save_blocklists): Likewise.
f19dbdb7 47768
9959f7db 47769 * fs/affs.c (grub_affs_read_file): Likewise.
47770
47771 * fs/ext2.c (grub_ext2_read_file): Likewise.
47772
47773 * fs/fat.c (grub_fat_read_data): Likewise.
47774
47775 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
47776
47777 * fs/hfs.c (grub_hfs_read_file): Likewise.
47778
47779 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47780
47781 * fs/jfs.c (grub_jfs_read_file): Likewise.
47782
47783 * fs/minix.c (grub_minix_read_file): Likewise.
47784
47785 * fs/sfs.c (grub_sfs_read_file): Likewise.
47786
47787 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 47788
9959f7db 47789 * fs/xfs.c (grub_xfs_read_file): Likewise.
47790
47791 * command/blocklist.c (read_blocklist): Likewise.
47792 (print_blocklist): Likewise.
47793
0a203f83 477942007-08-02 Marco Gerards <marco@gnu.org>
47795
47796 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
47797 `util/hostfs.c'.
47798
47799 * disk/host.c: New file.
47800
47801 * util/hostfs.c: Likewise.
47802
47803 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
47804 return `GRUB_ERR_BAD_FS'.
47805 * fs/sfs.c (grub_sfs_mount): Likewise.
47806 * fs/xfs.c (grub_xfs_mount): Likewise.
47807
47808 * include/grub/disk.h (enum grub_disk_dev_id): Add
47809 `GRUB_DISK_DEVICE_HOST_ID'.
47810
47811 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
47812
e5dfe777 478132007-07-24 Jerone Young <jerone@gmail.com>
47814
f19dbdb7 47815 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 47816 modules for compilation.
47817 * conf/powerpc-ieee1275.rmk: Likewise.
47818
47819 * include/multiboot.h: Move multiboot definitions to one file. Rename
47820 many definitions to not get grub specific.
47821 * include/multiboot2.h: Create header with multiboot 2 definitions.
47822 * include/grub/multiboot.h: Header for grub specific function
47823 prototypes and definitions.
47824 * include/grub/multiboot2.h: Likewise.
47825 * include/grub/multiboot_loader.h: Likewise.
47826 * include/grub/i386/pc/multiboot.h: Removed.
47827 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
47828
47829 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
47830 and 2 to allow for one multiboot and module commands.
47831 * loader/multiboot2.c: Add multiboot2 functionality.
47832 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
47833 and definition names.
47834 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
47835 2 functions.
47836 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
47837 ieee1275 specific multiboot2 code.
47838
47839 * kern/i386/pc/startup.S: Change headers and definition names for
47840 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
47841
daf0f0ba 478422007-07-22 Robert Millan <rmh@aybabtu.com>
47843
47844 * geninitheader.sh: Process file specified in first parameter rather
47845 than hardcoding grub_modules_init.lst.
fe6b695a 47846 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 47847 than hardcoding grub_modules_init.h.
47848
47849 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
47850 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
47851 grub_probe_init.[ch] and grub_setup_init.[ch].
47852
47853 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
47854 grub_modules_init.h with grub_emu_init.h.
47855 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
47856 grub_probe_init.[ch] files.
47857 * conf/i386-efi.rmk: Likewise.
47858 * conf/i386-pc.rmk: Likewise.
47859 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
47860 grub_setup_init.[ch] files.
47861
47862 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
47863 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
47864 to initialize modules rather than a list of hardcoded functions.
47865 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
47866 grub_init_all() to initialize modules rather than a list of hardcoded
47867 functions.
47868
54cdc1cc 478692007-07-22 Robert Millan <rmh@aybabtu.com>
47870
47871 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
47872 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
47873
ad0686cc 478742007-07-22 Robert Millan <rmh@aybabtu.com>
47875
47876 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
47877 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
47878 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
47879 flag when running on SmartFirmware.
47880 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
47881 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
47882 was set.
47883
47884 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47885 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
47886 rather than decreasing it.
47887
47888 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
47889 there's not enough space to do it, fail in the same way as when it
47890 can't be done because there are no partitions.
47891
47892 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
47893 when nvsetenv failed.
47894
969c02ec 478952007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47896
47897 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
47898 because this rule is automatically generated.
47899 (grub-mkrescue): Removed for the same reason as above.
47900
5a79f472 479012007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47902
47903 Migrate to GNU General Public License Version 3.
f19dbdb7 47904
5a79f472 47905 * COPYING: Replaced with the plain text version of GPLv3.
47906
47907 * config.guess: Updated from gnulib.
47908 * config.sub: Likewise.
47909
47910 * geninit.sh: Output a GPLv3 copyright notice.
47911 * geninitheader.sh: Likewise.
47912 * genmodsrc.sh: Likewise.
47913 * gensymlist.sh.in: Likewise.
47914
47915 * boot/i386/pc/boot.S: Upgraded to GPLv3.
47916 * boot/i386/pc/diskboot.S: Likewise.
47917 * boot/i386/pc/pxeboot.S: Likewise.
47918 * commands/blocklist.c: Likewise.
47919 * commands/boot.c: Likewise.
47920 * commands/cat.c: Likewise.
47921 * commands/cmp.c: Likewise.
47922 * commands/configfile.c: Likewise.
47923 * commands/echo.c: Likewise.
47924 * commands/help.c: Likewise.
47925 * commands/ls.c: Likewise.
47926 * commands/search.c: Likewise.
47927 * commands/terminal.c: Likewise.
47928 * commands/test.c: Likewise.
47929 * commands/videotest.c: Likewise.
47930 * commands/i386/cpuid.c: Likewise.
47931 * commands/i386/pc/halt.c: Likewise.
47932 * commands/i386/pc/play.c: Likewise.
47933 * commands/i386/pc/reboot.c: Likewise.
47934 * commands/i386/pc/vbeinfo.c: Likewise.
47935 * commands/i386/pc/vbetest.c: Likewise.
47936 * commands/ieee1275/halt.c: Likewise.
47937 * commands/ieee1275/reboot.c: Likewise.
47938 * commands/ieee1275/suspend.c: Likewise.
47939 * disk/loopback.c: Likewise.
47940 * disk/lvm.c: Likewise.
47941 * disk/raid.c: Likewise.
47942 * disk/efi/efidisk.c: Likewise.
47943 * disk/i386/pc/biosdisk.c: Likewise.
47944 * disk/ieee1275/ofdisk.c: Likewise.
47945 * font/manager.c: Likewise.
47946 * fs/affs.c: Likewise.
47947 * fs/ext2.c: Likewise.
47948 * fs/fat.c: Likewise.
47949 * fs/fshelp.c: Likewise.
47950 * fs/hfs.c: Likewise.
47951 * fs/hfsplus.c: Likewise.
47952 * fs/iso9660.c: Likewise.
47953 * fs/jfs.c: Likewise.
47954 * fs/minix.c: Likewise.
47955 * fs/sfs.c: Likewise.
47956 * fs/ufs.c: Likewise.
47957 * fs/xfs.c: Likewise.
47958 * hello/hello.c: Likewise.
47959 * include/grub/acorn_filecore.h: Likewise.
47960 * include/grub/arg.h: Likewise.
47961 * include/grub/bitmap.h: Likewise.
47962 * include/grub/boot.h: Likewise.
47963 * include/grub/cache.h: Likewise.
47964 * include/grub/device.h: Likewise.
47965 * include/grub/disk.h: Likewise.
47966 * include/grub/dl.h: Likewise.
47967 * include/grub/elfload.h: Likewise.
47968 * include/grub/env.h: Likewise.
47969 * include/grub/err.h: Likewise.
47970 * include/grub/file.h: Likewise.
47971 * include/grub/font.h: Likewise.
47972 * include/grub/fs.h: Likewise.
47973 * include/grub/fshelp.h: Likewise.
47974 * include/grub/gzio.h: Likewise.
47975 * include/grub/hfs.h: Likewise.
47976 * include/grub/kernel.h: Likewise.
47977 * include/grub/loader.h: Likewise.
47978 * include/grub/lvm.h: Likewise.
47979 * include/grub/misc.h: Likewise.
47980 * include/grub/mm.h: Likewise.
47981 * include/grub/net.h: Likewise.
47982 * include/grub/normal.h: Likewise.
47983 * include/grub/parser.h: Likewise.
47984 * include/grub/partition.h: Likewise.
47985 * include/grub/pc_partition.h: Likewise.
47986 * include/grub/raid.h: Likewise.
47987 * include/grub/rescue.h: Likewise.
47988 * include/grub/script.h: Likewise.
47989 * include/grub/setjmp.h: Likewise.
47990 * include/grub/symbol.h: Likewise.
47991 * include/grub/term.h: Likewise.
47992 * include/grub/terminfo.h: Likewise.
47993 * include/grub/tparm.h: Likewise.
47994 * include/grub/types.h: Likewise.
47995 * include/grub/video.h: Likewise.
47996 * include/grub/efi/api.h: Likewise.
47997 * include/grub/efi/chainloader.h: Likewise.
47998 * include/grub/efi/console.h: Likewise.
47999 * include/grub/efi/console_control.h: Likewise.
48000 * include/grub/efi/disk.h: Likewise.
48001 * include/grub/efi/efi.h: Likewise.
48002 * include/grub/efi/pe32.h: Likewise.
48003 * include/grub/efi/time.h: Likewise.
48004 * include/grub/i386/linux.h: Likewise.
48005 * include/grub/i386/setjmp.h: Likewise.
48006 * include/grub/i386/types.h: Likewise.
48007 * include/grub/i386/efi/kernel.h: Likewise.
48008 * include/grub/i386/efi/loader.h: Likewise.
48009 * include/grub/i386/efi/time.h: Likewise.
48010 * include/grub/i386/pc/biosdisk.h: Likewise.
48011 * include/grub/i386/pc/boot.h: Likewise.
48012 * include/grub/i386/pc/chainloader.h: Likewise.
48013 * include/grub/i386/pc/console.h: Likewise.
48014 * include/grub/i386/pc/init.h: Likewise.
48015 * include/grub/i386/pc/kernel.h: Likewise.
48016 * include/grub/i386/pc/loader.h: Likewise.
48017 * include/grub/i386/pc/memory.h: Likewise.
48018 * include/grub/i386/pc/multiboot.h: Likewise.
48019 * include/grub/i386/pc/serial.h: Likewise.
48020 * include/grub/i386/pc/time.h: Likewise.
48021 * include/grub/i386/pc/vbe.h: Likewise.
48022 * include/grub/i386/pc/vbeblit.h: Likewise.
48023 * include/grub/i386/pc/vbefill.h: Likewise.
48024 * include/grub/i386/pc/vbeutil.h: Likewise.
48025 * include/grub/i386/pc/vga.h: Likewise.
48026 * include/grub/ieee1275/ieee1275.h: Likewise.
48027 * include/grub/ieee1275/ofdisk.h: Likewise.
48028 * include/grub/powerpc/libgcc.h: Likewise.
48029 * include/grub/powerpc/setjmp.h: Likewise.
48030 * include/grub/powerpc/types.h: Likewise.
48031 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
48032 * include/grub/powerpc/ieee1275/console.h: Likewise.
48033 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
48034 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
48035 * include/grub/powerpc/ieee1275/loader.h: Likewise.
48036 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
48037 * include/grub/powerpc/ieee1275/time.h: Likewise.
48038 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
48039 * include/grub/sparc64/libgcc.h: Likewise.
48040 * include/grub/sparc64/setjmp.h: Likewise.
48041 * include/grub/sparc64/types.h: Likewise.
48042 * include/grub/sparc64/ieee1275/console.h: Likewise.
48043 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
48044 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
48045 * include/grub/sparc64/ieee1275/time.h: Likewise.
48046 * include/grub/util/biosdisk.h: Likewise.
48047 * include/grub/util/getroot.h: Likewise.
48048 * include/grub/util/lvm.h: Likewise.
48049 * include/grub/util/misc.h: Likewise.
48050 * include/grub/util/raid.h: Likewise.
48051 * include/grub/util/resolve.h: Likewise.
48052 * io/gzio.c: Likewise.
48053 * kern/device.c: Likewise.
48054 * kern/disk.c: Likewise.
48055 * kern/dl.c: Likewise.
48056 * kern/elf.c: Likewise.
48057 * kern/env.c: Likewise.
48058 * kern/err.c: Likewise.
48059 * kern/file.c: Likewise.
48060 * kern/fs.c: Likewise.
48061 * kern/loader.c: Likewise.
48062 * kern/main.c: Likewise.
48063 * kern/misc.c: Likewise.
48064 * kern/mm.c: Likewise.
48065 * kern/parser.c: Likewise.
48066 * kern/partition.c: Likewise.
48067 * kern/rescue.c: Likewise.
48068 * kern/term.c: Likewise.
48069 * kern/efi/efi.c: Likewise.
48070 * kern/efi/init.c: Likewise.
48071 * kern/efi/mm.c: Likewise.
48072 * kern/i386/dl.c: Likewise.
48073 * kern/i386/efi/init.c: Likewise.
48074 * kern/i386/efi/startup.S: Likewise.
48075 * kern/i386/pc/init.c: Likewise.
48076 * kern/i386/pc/lzo1x.S: Likewise.
48077 * kern/i386/pc/startup.S: Likewise.
48078 * kern/ieee1275/ieee1275.c: Likewise.
48079 * kern/powerpc/cache.S: Likewise.
48080 * kern/powerpc/dl.c: Likewise.
48081 * kern/powerpc/ieee1275/cmain.c: Likewise.
48082 * kern/powerpc/ieee1275/crt0.S: Likewise.
48083 * kern/powerpc/ieee1275/init.c: Likewise.
48084 * kern/powerpc/ieee1275/openfw.c: Likewise.
48085 * kern/sparc64/cache.S: Likewise.
48086 * kern/sparc64/dl.c: Likewise.
48087 * kern/sparc64/ieee1275/init.c: Likewise.
48088 * kern/sparc64/ieee1275/openfw.c: Likewise.
48089 * loader/efi/chainloader.c: Likewise.
48090 * loader/efi/chainloader_normal.c: Likewise.
48091 * loader/i386/efi/linux.c: Likewise.
48092 * loader/i386/efi/linux_normal.c: Likewise.
48093 * loader/i386/pc/chainloader.c: Likewise.
48094 * loader/i386/pc/chainloader_normal.c: Likewise.
48095 * loader/i386/pc/linux.c: Likewise.
48096 * loader/i386/pc/linux_normal.c: Likewise.
48097 * loader/i386/pc/multiboot.c: Likewise.
48098 * loader/i386/pc/multiboot_normal.c: Likewise.
48099 * loader/powerpc/ieee1275/linux.c: Likewise.
48100 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
48101 * normal/arg.c: Likewise.
48102 * normal/cmdline.c: Likewise.
48103 * normal/command.c: Likewise.
48104 * normal/completion.c: Likewise.
48105 * normal/execute.c: Likewise.
48106 * normal/function.c: Likewise.
48107 * normal/lexer.c: Likewise.
48108 * normal/main.c: Likewise.
48109 * normal/menu.c: Likewise.
48110 * normal/menu_entry.c: Likewise.
48111 * normal/misc.c: Likewise.
48112 * normal/parser.y: Likewise.
48113 * normal/script.c: Likewise.
48114 * normal/i386/setjmp.S: Likewise.
48115 * normal/powerpc/setjmp.S: Likewise.
48116 * normal/sparc64/setjmp.S: Likewise.
48117 * partmap/acorn.c: Likewise.
48118 * partmap/amiga.c: Likewise.
48119 * partmap/apple.c: Likewise.
48120 * partmap/gpt.c: Likewise.
48121 * partmap/pc.c: Likewise.
48122 * partmap/sun.c: Likewise.
48123 * term/gfxterm.c: Likewise.
48124 * term/terminfo.c: Likewise.
48125 * term/efi/console.c: Likewise.
48126 * term/i386/pc/console.c: Likewise.
48127 * term/i386/pc/serial.c: Likewise.
48128 * term/i386/pc/vesafb.c: Likewise.
48129 * term/i386/pc/vga.c: Likewise.
48130 * term/ieee1275/ofconsole.c: Likewise.
48131 * util/biosdisk.c: Likewise.
48132 * util/console.c: Likewise.
48133 * util/genmoddep.c: Likewise.
48134 * util/getroot.c: Likewise.
48135 * util/grub-emu.c: Likewise.
48136 * util/grub-mkdevicemap.c: Likewise.
48137 * util/grub-probe.c: Likewise.
48138 * util/lvm.c: Likewise.
48139 * util/misc.c: Likewise.
48140 * util/raid.c: Likewise.
48141 * util/resolve.c: Likewise.
48142 * util/update-grub.in: Likewise.
48143 * util/update-grub_lib.in: Likewise.
48144 * util/grub.d/00_header.in: Likewise.
48145 * util/grub.d/10_hurd.in: Likewise.
48146 * util/grub.d/10_linux.in: Likewise.
48147 * util/i386/efi/grub-install.in: Likewise.
48148 * util/i386/efi/grub-mkimage.c: Likewise.
48149 * util/i386/pc/grub-install.in: Likewise.
48150 * util/i386/pc/grub-mkimage.c: Likewise.
48151 * util/i386/pc/grub-mkrescue.in: Likewise.
48152 * util/i386/pc/grub-setup.c: Likewise.
48153 * util/i386/pc/misc.c: Likewise.
48154 * util/powerpc/ieee1275/grub-install.in: Likewise.
48155 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
48156 * util/powerpc/ieee1275/misc.c: Likewise.
48157 * video/bitmap.c: Likewise.
48158 * video/video.c: Likewise.
48159 * video/i386/pc/vbe.c: Likewise.
48160 * video/i386/pc/vbeblit.c: Likewise.
48161 * video/i386/pc/vbefill.c: Likewise.
48162 * video/i386/pc/vbeutil.c: Likewise.
48163 * video/readers/tga.c: Likewise.
48164
3572d015 481652007-07-02 Robert Millan <rmh@aybabtu.com>
48166
48167 * conf/i386-efi.rmk: Replace obsolete reference to
48168 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
48169 with util/getroot.c.
48170 * conf/powerpc-ieee1275.rmk: Likewise.
48171 * conf/sparc64-ieee1275.rmk: Likewise.
48172
48173 * util/grub-emu.c (main): Fix unchecked pointer handling.
48174
2c2a681b 481752007-07-02 Robert Millan <rmh@aybabtu.com>
48176
48177 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
48178 invocation to fail, in order to support partition-less media.
48179
48180 * util/i386/pc/grub-install.in: Likewise.
48181
48182 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
48183 which fs or partmap modules are needed (akin to its sister scripts).
48184
48185 Also use grub-probe to get rid of unportable /proc/mounts check.
48186
48187 Print the same informational message that the other scripts do, before
fe6b695a 48188 exiting.
2c2a681b 48189
6193defe 481902007-06-23 Robert Millan <rmh@aybabtu.com>
48191
fe6b695a 48192 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 48193 a font file can be found and, if so, echo the GRUB path to it.
48194
48195 * util/update-grub.in: Handle multiple terminals depending on user
48196 input, platform availability and font file presence. Propagate
48197 variables of our findings to /etc/grub.d/ children.
48198
48199 * util/grub.d/00_header.in: Handle multiple terminals, based on
48200 environment setup by update-grub.
48201
eface1dc 482022007-06-23 Robert Millan <rmh@aybabtu.com>
48203
ba50d28f 48204 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 48205
bf697e28 482062007-06-21 Robert Millan <rmh@aybabtu.com>
48207
48208 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
48209 indicate end of data section in kernel image.
48210 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
48211 GRUB_KERNEL_MACHINE_DATA_END.
48212
48213 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
48214 space for it.
48215 * kern/i386/efi/startup.S: Likewise.
48216
48217 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
48218 during image generation. Implement --prefix option to override this
48219 patch.
48220 * util/i386/efi/grub-mkimage.c: Likewise.
48221
48222 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
48223 code to make path relative to its root into a separate function.
48224
48225 * util/i386/pc/grub-install.in: Use newly provided
48226 make_system_path_relative_to_its_root() to convert ${grubdir}, then
48227 pass the result to grub-install --prefix.
48228
baa574b4 482292007-06-13 Robert Millan <rmh@aybabtu.com>
48230
48231 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
48232 DEFAULT_DEVICE_MAP.
48233 * util/grub-emu.c: Use above definitions from misc.h instead of
48234 defining them.
48235 * util/grub-mkdevicemap.c: Likewise.
48236 * util/i386/pc/grub-setup.c: Likewise.
48237 * util/grub-probe.c: Likewise.
48238 (probe): Abort with grub_util_error() when either
48239 grub_guess_root_device or grub_util_get_grub_dev fails.
48240
0215dcbf 482412007-06-12 Robert Millan <rmh@aybabtu.com>
48242
48243 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
48244 "pager" assignment.
48245 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
48246 "pcdata".
48247 * util/grub-probe.c (probe): Likewise for "drive_name".
48248
8af2ab7b 482492007-06-11 Robert Millan <rmh@aybabtu.com>
48250
48251 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
48252 not just the cdrom one.
48253
59d31694 482542007-06-11 Robert Millan <rmh@aybabtu.com>
48255
48256 * util/i386/pc/grub-mkrescue.in: Add "set -e".
48257 Add --pkglibdir=DIR option to override pkglibdir.
48258 Mention --image-type=TYPE in help output.
48259 Fix --grub-mkimage (it was a no-op).
fe6b695a 48260 Abort gracefully when no parameter is given.
59d31694 48261
7ee367e4 482622007-06-11 Robert Millan <rmh@aybabtu.com>
48263
48264 * util/i386/pc/grub-mkrescue.in: New file.
48265 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
48266 * Makefile.in: Handle bin_SCRIPTS.
48267
29b0ed46 482682007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
48269
48270 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
48271 list of video modes.
48272
c0f90770 482732007-06-06 Robert Millan <rmh@aybabtu.com>
48274
48275 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
48276 file doesn't exist, or if it is in a filesystem grub can't read.
48277
48278 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
48279 not abort if GRUB_DRIVE could not be defined. Rearrange generated
48280 header comment to fit in 80 columns when the variables are resolved.
48281
48282 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
48283 could be identified by update-grub. Remove redundant check for
fe6b695a 48284 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 48285 handles that).
48286
fb36dc26 482872007-06-04 Robert Millan <rmh@aybabtu.com>
48288
48289 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
48290
48291 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
48292
48293 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
48294
0c68c93e 482952007-06-04 Robert Millan <rmh@aybabtu.com>
48296
48297 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
48298
48299 * include/grub/partition.h: Declare grub_apple_partition_map_init and
48300 grub_apple_partition_map_fini.
48301
48302 * util/biosdisk.c
48303 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
48304 to access >2 TiB disks).
48305
48306 Print disk->total_sectors with %llu instead of %lu, since this
48307 variable is always 64-bit (prevents wrong disk size from being displayed
48308 on either >2 TiB disk or big-endian CPU).
48309
48310 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
48311 into a generic case that supports all (sane) partition maps.
48312
48313 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
48314 breaks big-endian.
48315
48316 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
48317 and grub_apple_partition_map_fini() after that.
48318
0f23eb74 483192007-06-01 Robert Millan <rmh@aybabtu.com>
48320
48321 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
48322
48323 * util/grub.d/00_header.in: Only enable gfxterm when
48324 convert_system_path_to_grub_path() succeeds.
48325
42c71976 483262007-05-20 Robert Millan <rmh@aybabtu.com>
48327
48328 * util/update-grub_lib.in: New file.
48329 * DISTLIST: Add update-grub_lib.in.
48330 * conf/common.rmk: Generate update-grub_lib and install it in
48331 $(lib_DATA).
48332 * Makefile.in: Add install routine for $(lib_DATA).
48333
48334 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
48335 function provided by update-grub_lib to support arbitrary paths of
48336 unifont.pff.
48337 * util/update-grub.in: Use convert_system_path_to_grub_path() to
48338 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
48339
5beb2291 483402007-05-19 Robert Millan <rmh@aybabtu.com>
48341
48342 * commands/i386/cpuid.c: New module.
48343 * DISTLIST: Add it.
48344 * conf/i386-efi.rmk: Enable cpuid.mod.
48345 * conf/i386-pc.rmk: Likewise.
48346
7262eca1 483472007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48348
48349 * kern/disk.c (grub_disk_read): Check return value of
48350 grub_realloc().
48351
260ba823 483522007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48353
48354 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
48355 arrays.
48356 * disk/raid.c (grub_raid_open): Likewise.
48357
1ecb6cf2 483582007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48359
48360 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
48361 stack instead of on the heap.
48362
48363 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
48364 before doing a read on it.
48365
48366 * configure.ac: Only use -fno-stack-protector for the target
48367 environment.
f19dbdb7 48368
21c8cbb1 483692007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48370
48371 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
48372 __attribute_ ((unused)) to mode_type argument.
48373
48374 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 48375
21c8cbb1 48376 * kern/misc.c (memcmp): Fix prototype.
48377
48378 * include/grub/partition.h [GRUB_UTIL]
48379 (grub_gpt_partition_map_init): Add prototype.
48380 (grub_gpt_partition_map_fini): Likewise.
48381
48382 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
48383 at the right place.
48384
48385 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
48386 (grub_fat_read_data): Likewise.
48387 (grub_fat_find_dir): Likewise.
48388
48389 * font/manager.c (find_glyph): Make table a const.
48390 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 48391
849d55d3 483922007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
48393
48394 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
48395 code, first search for device in /dev/mapper, then in /dev.
48396 (grub_util_get_grub_dev): New function.
48397 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
48398 prototype.
48399 * util/grub-probe.c (probe): Remove check for RAID, call
48400 grub_util_get_grub_dev() instead of
48401 grub_util_biosdisk_get_grub_dev().
48402 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
48403 grub_util_biosdisk_get_grub_dev().
48404 * util/i386/pc/grub-setup.c (main): Likewise.
48405
8fff7c2f 484062007-05-16 Robert Millan <rmh@aybabtu.com>
48407
48408 * DISTLIST: Update for the latest changes.
48409 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
48410 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
48411 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
48412 grub/util/biosdisk.h.
48413 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
48414 grub/util/biosdisk.h.
48415
48e12b52 484162007-05-16 Robert Millan <rmh@aybabtu.com>
48417
48418 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
48419
46b9d128 484202007-05-16 Robert Millan <rmh@aybabtu.com>
48421
48422 * util/i386/efi/grub-install.in: New.
48423 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
48424 newly added grub-install.
48425 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
48426 include.
48427 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
48428 grub/util/biosdisk.h.
48429 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
48430 grub/util/biosdisk.h.
48431
2d1a40a9 484322007-05-16 Robert Millan <rmh@aybabtu.com>
48433
48434 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
48435 * include/grub/util/biosdisk.h: ... here.
48436 * util/i386/pc/biosdisk.c: Moved to ...
48437 * util/biosdisk.c: ... here.
48438 * util/i386/pc/getroot.c: Moved to ...
48439 * util/getroot.c: ... here.
48440 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
48441 * util/grub-mkdevicemap.c: ... here.
48442 * util/i386/pc/grub-probe.c: Moved to ...
48443 * util/grub-probe.c: ... here.
48444
9e26e3bc 484452007-05-15 Robert Millan <rmh@aybabtu.com>
48446
48447 * util/update-grub.in: Remove duplicated line in grub.cfg header
48448 message.
48449
57f96397 484502007-05-13 Robert Millan <rmh@aybabtu.com>
48451
48452 * util/update-grub.in: Fix a few assumptions about the devices holding
48453 /, /boot and /boot/grub being the same.
48454 * util/grub.d/00_header.in: Likewise.
48455 * util/grub.d/10_hurd.in: Likewise.
48456 * util/grub.d/10_linux.in: Likewise.
48457
48458 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
48459 patterns. Use that to define the `.old' suffix as older than `'.
48460
48461 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
48462
48463 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
48464 the grub.cfg header message.
48465
2e610d62 484662007-05-11 Robert Millan <rmh@aybabtu.com>
48467
48468 * util/update-grub.in: Create device.map if it doesn't already exist,
48469 before attempting to run grub-probe.
48470 Check for grub-probe and grub-mkdevicemap with the same code
48471 grub-install is using.
48472 Remove test mode.
48473
3f6a10ef 484742007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
48475
48476 * Makefile.in: Add the datarootdir autoconf variable.
48477
02e7b75e 484782007-05-09 Robert Millan <rmh@aybabtu.com>
48479
48480 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 48481 fail gracefully if dev->disk->partition == NULL.
02e7b75e 48482
75f396cc 484832007-05-07 Robert Millan <rmh@aybabtu.com>
48484
48485 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
48486 determine partition map module.
48487 * util/i386/pc/grub-install.in: Use this feature to decide which
48488 partition module to load, instead of hardcoding pc and gpt.
48489
da65cb36 484902007-05-07 Robert Millan <rmh@aybabtu.com>
48491
48492 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
48493 source directory differs from build directory.
48494
b57d6a91 484952007-05-05 Robert Millan <rmh@aybabtu.com>
48496
48497 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
48498 initialisation.
48499
509d00f1 485002007-05-05 Robert Millan <rmh@aybabtu.com>
48501
48502 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
48503
c48f23ef 485042007-05-05 Robert Millan <rmh@aybabtu.com>
48505
48506 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
48507 command-line arguments via ${GRUB_CMDLINE_LINUX}.
48508
20b97658 485092007-05-05 Robert Millan <rmh@aybabtu.com>
48510
48511 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
48512 (grub_probe_SOURCES): Likewise.
48513 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
48514 GPT and initialize dos_part and bsd_part accordingly.
48515 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
48516 install_bsd_part.
48517 (main): Activate gpt module for use during partition identification,
48518 and deactivate it afterwards.
48519 * util/i386/pc/grub-install.in: Add gpt module to core.img.
48520 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
48521 partition identification, and deactivate it afterwards.
48522
99123174 485232007-05-05 Robert Millan <rmh@aybabtu.com>
48524
48525 * term/i386/pc/console.c (grub_console_fini): Call
48526 grub_term_set_current() before grub_term_unregister().
48527
ebd97f6e 485282007-05-04 Robert Millan <rmh@aybabtu.com>
48529
48530 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
48531 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
48532 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
48533 and update-grub_DATA.
48534 * conf/common.rmk: Build and install update-grub components.
48535 * conf/common.mk: Regenerate.
48536 * util/update-grub.in: New. Core of update-grub.
48537 * util/grub.d/00_header.in: New. Generates grub.cfg header.
48538 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
48539 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
48540 * util/grub.d/README: New. Document grub.d directory layout.
48541
b06a264d 485422007-05-01 Robert Millan <rmh@aybabtu.com>
48543
48544 * util/grub-emu.c: Move initialization functions
48545 grub_util_biosdisk_init() and grub_init_all() before
48546 grub_util_biosdisk_get_grub_dev(), which relies on them.
48547
41f0050e 485482007-04-19 Robert Millan <rmh@aybabtu.com>
48549
48550 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
48551 it is used later.
48552
04582bb3 485532007-04-18 Jerone Young <jerone@gmail.com>
48554
f19dbdb7 48555 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 48556 stanza.
48557
08db4632 485582007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 48559
08db4632 48560 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
48561 continue on and look for device node with real device name.
48562
801b76be 485632007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 48564
fe6b695a 48565 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 48566 ability.
48567 * Makefile.in: Add autoconf package transformation code.
48568 * util/i386/pc/grub-install.in: Likewise.
48569 * util/powerpc/ieee1275/grub-install.in: Likewise.
48570
6795c4e1 485712007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48572
48573 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
48574 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
48575 (EXT2_REVISION): Likewise.
48576 (EXT2_INODE_SIZE): Likewise.
48577 (struct grub_ext2_block_group): Added a missing member
48578 "used_dirs".
48579 (grub_ext2_read_inode): Divide by the inode size in a superblock
48580 instead of 128 to obtain INODES_PER_BLOCK.
48581 Use the macro EXT2_INODE_SIZE instead of directly using
48582 SBLOCK->INODE_SIZE.
48583
d70af616 485842007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48585
48586 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
48587 superblock instead of the structure size to compute an
48588 offset. This fixes the problem that GRUB could not read a
48589 filesystem when inode size is different from 128-byte.
48590
3b801603 485912007-03-05 Marco Gerards <marco@gnu.org>
48592
48593 * normal/main.c (read_config_file): When "menu" is not set, create
48594 an initial context.
48595
4785bfe4 485962007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48597
48598 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
48599 (HEAP_LIMIT): New macro.
48600 (grub_claim_heap): Claim memory up to `heaplimit'.
48601
a0cbb023 486022007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48603
48604 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
48605 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
48606 (_start): Likewise.
48607 (grub_arch_modules_addr): Return address after `_end'.
48608 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
48609 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
48610 (add_segments): Calculate `_end' from phdr size and location.
48611 (ALIGN_UP): Moved to ...
48612 * include/grub/misc.h: here.
48613 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
48614 New macro.
48615 (GRUB_IEEE1275_MODULE_BASE): Removed.
48616
fd7d8eba 486172007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48618
48619 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
48620 loop boundary.
48621
9b09e6fc 486222007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48623
48624 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
48625 All users updated.
48626 (grub_elf64_load_hook_t): Likewise.
48627 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
48628 debug output.
48629
3ce27299 486302007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48631
48632 * kern/mm.c: Update copyright.
48633 (grub_mm_debug): Correct syntax error.
48634 (grub_mm_dump_free): New function.
48635 (grub_debug_free): Call `grub_free'.
48636 * include/grub/mm.h: Update copyright.
48637 (grub_mm_dump_free): Add declaration.
48638
077d5fee 486392007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48640
48641 * include/grub/ieee1275/ieee1275.h: Update copyright.
48642 * kern/powerpc/ieee1275/init.c: Likewise.
48643 * kern/powerpc/ieee1275/openfw.c: Likewise.
48644
48645 * loader/powerpc/ieee1275/linux.c: Likewise.
48646 * include/grub/elfload.h: Likewise.
48647 * kern/elf.c: Likewise.
48648 (grub_elf32_load): Pass `base' and `size' parameters. Update all
48649 callers.
48650 (grub_elf64_load): Likewise.
48651 (grub_elf32_load_segment): Move to a nested function.
48652 (grub_elf64_load_segment): Likewise.
48653
dc946850 486542007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48655
48656 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
48657 prototype.
48658 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
48659 (grub_heap_len): Likewise.
48660 (HEAP_SIZE): New macro.
48661 (grub_claim_heap): New function.
48662 (grub_machine_init): Don't claim heap directly. Call
48663 `grub_claim_heap'.
48664 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
48665 (grub_available_iterate): New function.
48666
baa2a121 486672007-02-03 Thomas Schwinge <tschwinge@gnu.org>
48668
48669 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
48670 * configure.ac: Use it for testing the HOST and TARGET compilers.
48671
4fe9862e 486722006-12-13 Thomas Schwinge <tschwinge@gnu.org>
48673
48674 * Makefile.in (enable_grub_emu): New variable.
48675 * configure.ac (--enable-grub-emu): New option.
48676 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
48677 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
48678 * conf/i386-pc.rmk: Likewise.
48679 * conf/powerpc-ieee1275.rmk: Likewise.
48680 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
48681
a8aa5762 486822006-12-12 Marco Gerards <marco@gnu.org>
48683
48684 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
48685
48686 * kern/env.c (grub_env_unset): Don't free the member `value' when
48687 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
48688 pointer.
48689
48690 * normal/main.c (current_menu): Removed.
48691 (free_menu): Unset the `menu' environment variable.
48692 (grub_normal_menu_addentry): Make use of the environment variable
48693 `menu', instead of using the global `current_menu'. Allocate
48694 memory for the sourcecode of this entry.
48695 (read_config_file): New argument `nested', changed all callers.
48696 Only in the case of a new context, initialize a new menu. Set the
48697 `menu' environment variable.
48698 (grub_normal_execute): Don't set and unset the environment
48699 variable `menu' here anymore. Only free the menu when leaving the
48700 context.
48701
48702 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
48703 leak.
48704
957b3a3e 487052006-12-11 Marco Gerards <marco@gnu.org>
48706
48707 * normal/menu_entry.c (run): Fix off by one bug so the last line
48708 is executed. Move the loader check to outside the loop.
48709
ef875714 487102006-12-08 Hollis Blanchard <hollis@penguinppc.org>
48711
48712 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
48713
4e739985 487142006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
48715
48716 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
48717 the number of sectors. Reported by Andrey Shuvikov
48718 <mr_hyro@yahoo.com>.
f19dbdb7 48719
790707f2 487202006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
48721
48722 * kern/disk.c (grub_disk_read): When there is a read error, always
48723 try to read only the necessary data.
f19dbdb7 48724
790707f2 48725 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
48726 disk/raid.c.
48727 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
48728 prototype.
48729 [GRUB_UTIL] (grub_raid_fini): Likewise.
48730 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 48731 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 48732 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
48733 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
48734 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
48735 and grub_raid_fini().
f19dbdb7 48736
03e58196 487372006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48738
48739 * include/grub/types.h (__unused): Rename to UNUSED.
48740 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
48741 (grub_elf64_size): Likewise.
f19dbdb7 48742
ae4f23bf 487432006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48744
48745 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
48746 grub_error_push and grub_error_pop in the error-handling path.
48747 (grub_elf32_load_segment): Only call grub_file_read with non-zero
48748 length.
48749
2166cc83 487502006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48751
48752 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
48753 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48754 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48755 (kernel_elf_SOURCES): Likewise.
48756 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
48757 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
48758 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48759 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48760 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
48761 (elf_mod_SOURCES): New variable.
48762 (elf_mod_CFLAGS): Likewise.
48763 (elf_mod_LDFLAGS): Likewise.
48764 * include/grub/types.h (__unused): New macro.
48765 * include/grub/elfload.h: New file.
48766 * kern/elf.c: Likewise.
48767 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
48768 (ELF32_LOADMASK): New macro.
48769 (ELF64_LOADMASK): Likewise.
48770 (vmlinux): Removed.
48771 (grub_linux_load32): New function.
48772 (grub_linux_load64): Likewise.
48773 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
48774 Use grub_elf_t instead of grub_file_t.
48775
a09d5aa5 487762006-11-02 Hollis Blanchard <hollis@penguinppc.org>
48777
48778 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
48779 `catch_result' to struct set_color_args.
48780
d976fc51 487812006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48782
48783 * normal/menu.c: Include grub/script.h.
48784 * normal/menu_entry.c: Likewise.
48785 * include/grub/normal.h: Do not include grub/script.h.
48786
67507549 487872006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48788
48789 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
48790
69203a99 487912006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48792
48793 * kern/disk.c (grub_disk_open): Print debug messages when opening a
48794 disk.
48795 (grub_disk_close): Print debug messages when closing a disk.
48796 (grub_disk_read): Print debug messages when disk read fails.
48797 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
48798 filesystem type.
48799 * kern/partition.c: Include misc.h.
48800 (grub_partition_iterate): Print debug messages when detecting
48801 partition type.
48802
e2b8278c 488032006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48804
48805 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
48806 is negative.
48807 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
48808
97b2f2ff 488092006-10-26 Hollis Blanchard <hollis@penguinppc.org>
48810
48811 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
48812 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
48813
6555d655 488142006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
48815
48816 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
48817 instead of sizeof(lv). Patch by Michael Guntsche.
48818
4d42b77f 488192006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
48820
48821 * disk/lvm.c: Rename VGS to VG_LIST.
48822 (grub_lvm_iterate): Change VGS->LV to VG-LV.
48823 (grub_lvm_open): Likewise.
48824 Thanks to Michael Guntsche for finding this bug.
48825
5d74d927 488262006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48827
48828 * configure.ac (AC_INIT): Bumped to 1.95.
48829
a1bb27e4 488302006-10-14 Robert Millan <rmh@aybabtu.com>
48831
48832 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
48833 with "/dev/.static/dev/md".
48834
e0994b8b 488352006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48836
48837 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
48838 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
48839 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
48840 DRIVE_NAME are always freed.
48841
48842 * util/i386/pc/biosdisk.c (make_device_name): Add one into
48843 DOS_PART, as a DOS partition is counted from one instead of zero
48844 now. Reported by Robert Millan.
48845
ddd5cee9 488462006-10-14 Robert Millan <rmh@aybabtu.com>
48847
48848 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
48849 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
48850 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
48851 string returned by grub_guess_root_device.
48852 * util/i386/pc/grub-setup.c: Likewise.
48853 * util/i386/pc/grub-probefs.c: Likewise.
48854
48855 * util/i386/pc/grub-probefs.c: Rename to ...
48856 * util/i386/pc/grub-probe.c: ... this.
48857 * DISTLIST: Remove grub-probefs, add grub-probe.
48858 * conf/i386-efi.rmk: Likewise.
48859 * conf/i386-pc.rmk: Likewise.
48860 * util/i386/pc/grub-install.in: Likewise.
48861
48862 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
48863 choose which information we want to print.
48864
2b002173 488652006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48866
48867 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
48868 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
48869 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
48870 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
48871 video/readers/tga.c and video/i386/pc/vbeutil.c.
48872
488732006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
48874
48875 Added support for RAID and LVM.
f19dbdb7 48876
2b002173 48877 * disk/lvm.c: New file.
48878 * disk/raid.c: Likewise.
48879 * include/grub/lvm.h: Likewise.
f19dbdb7 48880 * include/grub/raid.h: Likewise.
2b002173 48881 * include/grub/util/lvm.h: Likewise.
48882 * include/grub/util/raid.h: Likewise.
48883 * util/lvm.c: Likewise.
48884 * util/raid.c: Likewise.
48885
48886 * include/grub/disk.h (grub_disk_dev_id): Add
48887 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
48888 (grub_disk_get_size): New prototype.
48889 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
48890 returns a partition.
48891 (grub_disk_get_size): New function.
f19dbdb7 48892
2b002173 48893 * kern/i386/pc/init.c (make_install_device): Copy the prefix
48894 verbatim if grub_install_dos_part is -2.
48895
48896 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
48897 and LVM devices.
48898
48899 * util/i386/pc/grub-setup.c (setup): New argument
48900 MUST_EMBED. Force embedding of GRUB when the argument is
48901 true. Close FILE before returning.
48902 (main): Add support for RAID and LVM.
f19dbdb7 48903
2b002173 48904 * conf/common.rmk: Add RAID and LVM modules.
48905 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
48906 util/lvm.c.
48907 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
48908
48909 * kern/misc.c (grub_strstr): New function.
48910 * include/grub/misc.h (grub_strstr): New prototype.
48911
050548d0 489122006-10-10 Tristan Gingold <tristan.gingold@bull.net>
48913
48914 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
48915
da849d2d 489162006-10-05 Tristan Gingold <tristan.gingold@bull.net>
48917
48918 * kern/misc.c (grub_strtoull): Guess the base only if not
48919 specified.
48920
97b2f2ff 489212006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 48922
48923 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
48924 PowerMac support.
48925
97b2f2ff 489262006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 48927
48928 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
48929
48930 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
48931 Remove `flags' argument. All callers changed.
48932 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
48933 (IEEE1275_IHANDLE_INVALID): New variable.
48934 (IEEE1275_CELL_INVALID): New variable.
48935 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
48936 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
48937 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
48938 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
48939 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
48940 codes from Open Firmware. All callers updated.
48941 (grub_ieee1275_next_property): Directly return Open Firmware return
48942 code.
48943 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
48944 Standardize error checking from `grub_ieee1275_get_property'.
48945 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
48946 `devalias' to `aliases'. Correct comments. Consolidate error paths.
48947
97b2f2ff 489482006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 48949
48950 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
48951 `instance_to_package_args' to `instance_to_path_args'.
48952
48953 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
48954 `grub_ieee1275_chosen'.
48955
48956 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
48957 `grub_ieee1275_interpret'.
48958
97b2f2ff 489592006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 48960
48961 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
48962
97b2f2ff 489632006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 48964
48965 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
48966 (__cmpdi): Likewise.
48967
48968 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
48969 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
48970 `grub_ssize_t'.
48971
02bb8acc 48972 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 48973
48974 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
48975 to type `grub_ssize_t'.
48976 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
48977
7f9a8531 489782006-09-22 Marco Gerards <marco@gnu.org>
48979
48980 * normal/script.c (grub_script_create_cmdmenu): Skip leading
48981 newlines.
48982
b5ef1102 489832006-09-22 Marco Gerards <marco@gnu.org>
48984
48985 * commands/echo.c: New file.
48986
48987 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
48988
48989 * conf/common.rmk (echo_mod_SOURCES): New variable.
48990 (echo_mod_CFLAGS): Likewise.
48991 (echo_mod_LDFLAGS): Likewise.
48992
2cff3677 489932006-09-22 Marco Gerards <marco@gnu.org>
48994
48995 * normal/main.c (get_line): Malloc memory instead of using
48996 preallocated memory. Removed the arguments `cmdline' and
48997 `max_len'. Updated all callers.
48998
6ba4688b 489992006-09-22 Marco Gerards <marco@gnu.org>
49000
49001 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
49002 (normal_mod_DEPENDENCIES): Likewise.
49003
49004 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
49005 (normal_mod_DEPENDENCIES): Likewise.
49006
49007 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
49008
e02ac02c 490092006-09-22 Johan Rydberg <jrydberg@gnu.org>
49010
49011 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
49012 programs.
49013 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
49014 (normal_mod_DEPENDENCIES): Likewise.
49015 * conf/i386-pc.mk: Regenerate.
49016 * conf/i386-efi.mk: Likewise
49017 * conf/common.mk: Likewise.
49018 * conf/powerpc-ieee1275.mk: Likewise.
49019 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 49020
8d252e44 490212006-09-22 Robert Millan <rmh@aybabtu.com>
49022
49023 Sync with i386 version.
49024 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
49025 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
49026
209bf7ac 490272006-09-21 Robert Millan <rmh@aybabtu.com>
49028
49029 Import from GRUB Legacy (lib/device.c):
49030 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
49031 (init_device_map) [__linux__]: Add support for I2O devices.
49032
6b146090 490332006-09-14 Marco Gerards <marco@gnu.org>
49034
49035 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
49036 `-melf_i386'.
49037
e38600a8 490382006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 49039
49040 * util/i386/pc/grub-install.in: Skip menu.lst when removing
49041 /boot/grub/*.lst.
78fa1790 49042
2952da5d 49043 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 49044
2952da5d 49045 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
49046 before adding it to device.map.
49047
01b82a64 490482006-08-15 Johan Rydberg <jrydberg@gnu.org>
49049
fe6b695a 49050 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 49051 compiles a file; using the -MD option.
49052 * conf/common.mk: Regenerate.
49053 * conf/i386-pc.mk: Likewise.
49054 * conf/i386-efi.mk: Likewise.
49055 * conf/powerpc-ieee1275.mk: Likewise.
49056 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 49057
1064790d 490582006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
49059
49060 Move the prototypes of grub_setjmp and grub_longjmp to
49061 cpu/setjmp.h, so that each architecture may specify different
49062 attributes.
f19dbdb7 49063
1064790d 49064 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
49065 (grub_longjmp): Likewise.
49066 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
49067 (grub_longjmp): Likewise.
49068 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
49069 (grub_longjmp): Likewise.
49070
49071 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
49072 [!GRUB_UTIL] (grub_longjmp): Removed.
49073
29dda3ed 490742006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
49075
49076 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
49077 "color!" method does not return any value.
49078
ad2a06ed 490792006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49080
49081 * include/grub/bitmap.h: New file.
49082
49083 * include/grub/i386/pc/vbeutil.h: Likewise.
49084
49085 * video/bitmap.c: Likewise.
49086
49087 * video/readers/tga.c: Likewise.
49088
49089 * video/i386/pc/vbeutil.c: Likewise.
49090
49091 * commands/videotest.c: Code cleanup and updated to reflect to new
49092 video API.
49093
49094 * term/gfxterm.c: Likewise.
49095
49096 * video/video.c: Likewise.
49097
49098 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
49099 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
49100 (bitmap_mod_SOURCES): New entry.
49101 (bitmap_mod_CFLAGS): Likewise.
49102 (bitmap_mod_LDFLAGS): Likewise.
49103 (tga_mod_SOURCES): Likewise.
49104 (tga_mod_CFLAGS): Likewise.
49105 (tga_mod_LDFLAGS): Likewise.
49106
49107 * include/grub/video.h (grub_video_blit_operators): New enum type.
49108 (grub_video_render_target): Changed as forward declaration and moved
49109 actual definition to be video driver specific.
49110 (grub_video_adapter.blit_bitmap): Added blitting operator.
49111 (grub_video_adapter.blit_render_target): Likewise.
49112 (grub_video_blit_bitmap): Likewise.
49113 (grub_video_blit_render_target): Likewise.
49114
49115 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
49116 driver specific render target definition.
49117 (grub_video_vbe_map_rgba): Added driver internal helper.
49118 (grub_video_vbe_unmap_color): Updated to use
49119 grub_video_i386_vbeblit_info.
49120 (grub_video_vbe_get_video_ptr): Likewise.
49121
49122 * include/grub/i386/pc/vbeblit.h
49123 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
49124 grub_video_i386_vbeblit_info.
49125 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
49126 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
49127 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
49128 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
49129 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
49130 (grub_video_i386_vbeblit_index_index): Likewise.
49131 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
49132 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
49133 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
49134 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
49135 operator.
49136 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
49137 operator.
49138
49139 * video/i386/pc/vbeblit.c: Updated to reflect changes on
49140 include/grub/i386/pc/vbeblit.h.
49141
49142 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
49143 Updated to use grub_video_i386_vbeblit_info.
49144 (grub_video_i386_vbefill_R8G8B8): Likewise.
49145 (grub_video_i386_vbefill_index): Likewise.
49146 (grub_video_i386_vbefill): Added generic filler.
49147
49148 * video/i386/pc/vbefill.c: Updated to reflect changes on
49149 include/grub/i386/pc/vbefill.h.
49150
49151 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
49152 grub_video_i386_vbeblit_info.
49153 (grub_video_vbe_unmap_color): Likewise.
49154 (grub_video_vbe_blit_glyph): Likewise.
49155 (grub_video_vbe_scroll): Likewise.
49156 (grub_video_vbe_draw_pixel): Removed function.
49157 (grub_video_vbe_get_pixel): Likewise.
49158 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
49159 updated code to use it.
49160 (common_blitter): Added common blitter for render target and bitmap.
49161 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
49162 (grub_video_vbe_blit_render_target): Likewise.
49163
bc8c036d 491642006-07-30 Johan Rydberg <jrydberg@gnu.org>
49165
49166 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
49167 is in text mode if there is no console control protocol instance
49168 available.
49169
684a8eff 491702006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49171
49172 * include/grub/video.h: Code cleanup.
49173
49174 * include/grub/i386/pc/vbe.h: Likewise.
49175
49176 * video/i386/pc/vbe.c: Likewise.
49177
49178 * video/i386/pc/vbeblit.c: Likewise.
49179
49180 * video/i386/pc/vbefill.c: Likewise.
49181
49182 * video/video.c: Likewise. Also added more comments.
49183
5915059b 491842006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49185
49186 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
49187 (struct grub_biosdisk_dap): Likewise.
49188
49189 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
49190 linkage settings for all functions.
49191
90ce5d56 491922006-07-12 Marco Gerards <marco@gnu.org>
49193
49194 * configure.ac (--enable-mm-debug): Fix typo.
49195
49196 * genkernsyms.sh.in: Use proper quoting for `CC'.
49197
43e7f879 491982006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
49199
49200 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
49201 (normal_mod_ASFLAGS): Remove "-m32".
49202
4889bdec 492032006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
49204
49205 * util/misc.c: Include config.h.
49206 [!HAVE_MEMALIGN]: Do not include malloc.h.
49207 (grub_memalign): Use posix_memalign, if present. Then, use
49208 memalign, if present. Otherwise, emit an error.
49209
49210 * util/grub-emu.c: Do not include malloc.h.
49211
49212 * include/grub/util/misc.h: Include unistd.h. This is required for
49213 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
49214 D. Eades III <hde@foobar-qux.org>.
49215
49216 * configure.ac (AC_GNU_SOURCE): Added.
49217 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
49218 type.
49219
fd39d4da 492202006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
49221
49222 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
49223 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
49224
b786f3b5 492252006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
49226
49227 * include/grub/types.h (grub_host_addr_t): Rename to
49228 grub_target_addr_t.
49229 (grub_host_off_t): Rename to grub_target_off_t.
49230 (grub_host_size_t): Rename to grub_target_size_t.
49231 (grub_host_ssize_t): Rename to grub_target_ssize_t.
49232 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
49233
49234 * include/grub/kernel.h (struct grub_module_header): Change type
49235 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
49236 (grub_module_info): Likewise.
f19dbdb7 49237
051988bb 492382006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49239
49240 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
49241 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
49242 Velazquez <jesus.velazquez@gmail.com>.
49243
deae281b 492442006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49245
49246 Count partitions from 1 instead of 0 in the string representation
49247 of partitions. Still use 0-based internally.
f19dbdb7 49248
deae281b 49249 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
49250 (sun_partition_map_iterate): Use grub_partition_t instead of
49251 struct grub_partition *. Cast DESC->START_CYLINDER to
49252 grub_uint64_t after converting the endian.
49253 (sun_partition_map_probe): Subtract 1 for PARTNUM.
49254 (sun_partition_map_get_name): Add 1 to P->INDEX.
49255
49256 * partmap/pc.c (grub_partition_parse): Subtract 1 for
49257 PCDATA->DOS_PART.
49258 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
49259
49260 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
49261 zero instead of one.
49262 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
49263 (gpt_partition_map_get_name): Add 1 into P->INDEX.
49264
49265 * partmap/apple.c (apple_partition_map_iterate): Change the type
49266 of POS to unsigned.
49267 (apple_partition_map_probe): Subtract 1 for PARTNUM.
49268 (apple_partition_map_get_name): Add 1 into P->INDEX.
49269
49270 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
49271 of POS to unsigned.
49272 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
49273 calculate the offset of a partition.
49274 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
49275 (amiga_partition_map_get_name): Add 1 into P->INDEX.
49276
49277 * partmap/acorn.c (acorn_partition_map_find): Change the type of
49278 SECTOR to grub_disk_addr_t.
49279 (acorn_partition_map_iterate): Likewise.
49280 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
49281 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
49282 top.
49283 (acorn_partition_map_get_name): Add 1 into P->INDEX.
49284
49285 * kern/i386/pc/init.c (make_install_device): Add 1 into
49286 GRUB_INSTALL_DOS_PART.
49287
49288 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
49289 conditional.
49290
524a1e6a 492912006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49292
49293 Clean up the code to support 64-bit addressing in disks and
49294 files. This change is not enough for filesystems yet.
f19dbdb7 49295
524a1e6a 49296 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
49297 type of "start" to grub_uint64_t.
49298 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
49299 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
49300 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
49301 convert addresses.
49302
49303 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
49304 to grub_disk_addr_t.
49305
49306 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
49307 string.
49308
49309 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49310
49311 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
49312 to char *.
49313
49314 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
49315
49316 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
49317
49318 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
49319
49320 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
49321 to grub_off_t, to detect an error from grub_file_seek.
49322 (grub_multiboot_load_elf32): Likewise.
49323
49324 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
49325 maximum unsigned long value when an overflow is detected.
49326 (grub_strtoull): New function.
49327 (grub_divmod64): Likewise.
49328 (grub_lltoa): use grub_divmod64.
49329
49330 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
49331 grub_disk_addr_t.
49332 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
49333 the pointer to next character. Use grub_strtoull instead of
49334 grub_strtoul.
49335 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
49336 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
49337 respectively.
49338
fe6b695a 49339 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 49340 return value is signed.
49341 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
49342 test if OFFSET is less than zero, as OFFSET is unsigned now.
49343
49344 * kern/disk.c (struct grub_disk_cache): Change the type of
49345 "sector" to grub_disk_addr_t.
49346 (grub_disk_cache_get_index): Change the type of SECTOR to
49347 grub_disk_addr_t. Calculate the hash with SECTOR casted to
49348 unsigned after shifting.
49349 (grub_disk_cache_invalidate): Change the type of SECTOR to
49350 grub_disk_addr_t.
49351 (grub_disk_cache_unlock): Likewise.
49352 (grub_disk_cache_store): Likewise.
49353 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
49354 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
49355 grub_disk_addr_t and grub_uint64_t, respectively.
49356 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
49357 body, as the value of OFFSET is tweaked by
49358 grub_disk_check_range. Change the types of START_SECTOR, LEN and
49359 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
49360 respectively.
49361 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
49362 body, as the value of OFFSET is tweaked by
49363 grub_disk_check_range. Change the types of LEN and N to
49364 grub_size_t.
49365
49366 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
49367 and "saved_offset" to grub_off_t.
49368 (test_header): Cast BUF to char *.
49369 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
49370 to char *.
49371 (grub_gzio_read): Change the types of OFFSET and SIZE to
49372 grub_off_t and grub_size_t, respectively.
49373
49374 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
49375 Removed.
49376 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
49377 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
49378 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
49379 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
49380 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
49381
49382 * include/grub/types.h (grub_off_t): Unconditionally set to
49383 grub_uint64_t.
49384 (grub_disk_addr_t): Changed to grub_uint64_t.
49385
49386 * include/grub/partition.h (struct grub_partition): Change the
49387 types of "start", "len" and "offset" to grub_disk_addr_t,
49388 grub_uint64_t and grub_disk_addr_t, respectively.
49389 (grub_partition_get_start): Return grub_disk_addr_t.
49390 (grub_partition_get_len): Return grub_uint64_t.
49391
49392 * include/grub/misc.h (grub_strtoull): New prototype.
49393 (grub_divmod64): Likewise.
49394
49395 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
49396 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
49397 grub_off_t, respectively.
49398 All callers and references changed.
49399
49400 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
49401 grub_size_t in "read".
49402 All callers and references changed.
49403
49404 * include/grub/file.h (struct grub_file): Change the types of
49405 "offset" and "size" to grub_off_t and grub_off_t,
49406 respectively. Change the type of SECTOR to grub_disk_addr_t in
49407 "read_hook".
49408 (grub_file_read): Change the type of LEN to grub_size_t.
49409 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
49410 grub_off_t.
49411 (grub_file_size): Return grub_off_t.
49412 (grub_file_tell): Likewise.
49413 All callers and references changed.
49414
49415 * include/grub/disk.h (struct grub_disk_dev): Change the types of
49416 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
49417 "write".
49418 (struct grub_disk): Change the type of "total_sectors" to
49419 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 49420 "read_hook".
524a1e6a 49421 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
49422 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
49423 (grub_disk_write): Likewise.
49424 All callers and references changed.
49425
49426 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
49427 char * for grub_strncmp to silence gcc.
49428 (grub_iso9660_mount): Likewise.
49429 (grub_iso9660_mount): Likewise.
49430 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
49431 return statement.
49432 (grub_iso9660_iterate_dir): Likewise.
49433 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
49434
49435 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
49436 LEN to grub_disk_addr_t and grub_size_t, respectively.
49437
49438 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
49439
49440 * fs/jfs.c (grub_jfs_read_file): Likewise.
49441
49442 * fs/minix.c (grub_jfs_read_file): Likewise.
49443
49444 * fs/sfs.c (grub_jfs_read_file): Likewise.
49445
49446 * fs/ufs.c (grub_jfs_read_file): Likewise.
49447
49448 * fs/xfs.c (grub_jfs_read_file): Likewise.
49449
49450 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
49451 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
49452 respectively.
49453
49454 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
49455 BLKNR to -1 instead of returning GRUB_ERRNO.
49456 (grub_ext2_read_file): Change the types of SECTOR and
49457 LEN to grub_disk_addr_t and grub_size_t, respectively.
49458
49459 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
49460 LEN to grub_disk_addr_t and grub_size_t, respectively.
49461
49462 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
49463 grub_file_read.
49464
49465 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
49466 string. Do not cast SECTOR explicitly.
49467
49468 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
49469 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
49470 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
49471 grub_disk_addr_t and grub_size_t, respectively. If the sector is
49472 over 2TB and LBA mode is not supported, raise an error.
49473 (get_safe_sectors): New function.
49474 (grub_biosdisk_read): Use get_safe_sectors.
49475 (grub_biosdisk_write): Likewise.
49476
49477 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
49478 (grub_efidisk_write): Likewise.
49479
49480 * disk/loopback.c (delete_loopback): Cosmetic changes.
49481 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
49482 correctly.
49483 (grub_loopback_open): Likewise.
49484 (grub_loopback_read): Likewise. Also, change the type of POS to
49485 grub_off_t, and fix the usage of grub_memset.
49486
49487 * commands/i386/pc/play.c: Include grub/machine/time.h.
49488
49489 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
49490 print FILE->SIZE.
49491
49492 * commands/configfile.c: Include grub/env.h.
49493
49494 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
49495 GRUB_ERRNO directly instead. Change the type of POS to
49496 grub_off_t. Follow the coding standard.
49497
49498 * commands/blocklist.c: Include grub/partition.h.
49499 (grub_cmd_blocklist): Return an error if the underlying device is
49500 not a disk. Take the starting sector of a partition into account,
49501 if a partition is used.
49502
49503 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
49504 a length field.
49505 (lba_mode): Support 64-bit addresses.
49506 (chs_mode): Likewise.
49507 (copy_buffer): Adapted to the new offsets of a length field and a
49508 segment field.
49509 (blocklist_default_start): Allocate 64-bit space.
49510
49511 * boot/i386/pc/boot.S (force_lba): Removed.
49512 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 49513 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 49514 space.
49515 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
49516 is useless.
49517 (lba_mode): Refactored to support a 64-bit address. More size
49518 optimization.
49519 (setup_sectors): Likewise.
49520
53af98ad 495212006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49522
49523 * DISTLIST: Added include/grub/i386/linux.h. Removed
49524 include/grub/i386/pc/linux.h
49525
49526 * configure.ac (AC_INIT): Bumped to 1.94.
49527
49528 * config.guess: Updated from gnulib.
49529 * config.sub: Likewise.
49530 * install-sh: Likewise.
49531 * mkinstalldirs: Likewise.
49532
b4c1940a 495332006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49534
49535 * conf/common.rmk (grub_modules_init.lst): Depended on
49536 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
49537 MODSRCFILES.
49538
49539 * genmk.rb (PModule::rule): Reverted the previous change.
49540
cfca1cfd 495412006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49542
49543 * conf/common.rmk (grub_modules_init.lst): Depends on
49544 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
49545 that the target does not exist before producing.
49546 (grub_modules_init.h): Remove the target before generating.
49547 (grub_emu_init.c): Likewise.
49548
49549 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
49550
aa6d7826 495512006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
49552
49553 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
49554 for the target-specific tests. Make sure that we also have the
49555 up-to-date target variables for those tests.
49556
26c607b9 495572006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49558
49559 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
49560 (PModule::rule): Likewise.
49561
0162321a 495622006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49563
49564 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
49565 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
49566 target-specific flags should be prefixed.
49567 (PModule::rule): Likewise.
49568
6c826348 495692006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
49570
49571 * configure.ac (CMP): Check if cmp is available explicitly.
49572
b977bf01 495732006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
49574
49575 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
49576 (target_cpu): New variable.
49577 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 49578
b977bf01 49579 * util/i386/pc/grub-install.in (host_cpu): Removed.
49580 (target_cpu): New variable.
49581 (pkglibdir): Use target_cpu instead of host_cpu.
49582
49583 * util/genmoddep.c: Removed.
f19dbdb7 49584
b977bf01 49585 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
49586 instead of GRUB_HOST_SIZEOF_VOID_P.
49587 * kern/dl.c: Likewise.
49588
49589 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
49590 ...
49591 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49592 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49593 (GRUB_TARGET_SIZEOF_LONG): ... this.
49594 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49595 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49596 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49597 to ...
49598 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49599 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49600 (GRUB_TARGET_SIZEOF_LONG): ... this.
49601 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49602 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49603 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49604 to ...
49605 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49606 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49607 (GRUB_TARGET_SIZEOF_LONG): ... this.
49608 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49609 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49610
49611 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
49612 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
49613 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
49614 instead of GRUB_HOST_SIZEOF_LONG.
49615 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
49616 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
49617 GRUB_CPU_WORDS_BIGENDIAN.
49618 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
49619 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
49620 grub_host_ssize_t.
49621
49622 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
49623 (genmoddep_SOURCES): Likewise.
49624 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
49625 (genmoddep_SOURCES): Likewise.
49626 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
49627 (genmoddep_SOURCES): Likewise.
49628 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
49629 Likewise.
49630 (genmoddep_SOURCES): Likewise.
49631
49632 * genmoddep.awk: New file.
49633
49634 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
49635 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
49636 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
49637 (PModule::rule): Likewise.
49638 (Program::rule): Likewise.
49639 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
49640 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
49641 respectively.
49642
49643 * configure.ac: Rewritten intensively to use host and target
49644 instead of build and host, respectively.
49645
49646 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
49647 (host_cpu): Removed.
49648 (target_cpu): New variable.
49649 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
49650 (BUILD_CC): Removed.
49651 (BUILD_CFLAGS): Likewise.
49652 (BUILD_CPPFLAGS): Likewise.
49653 (TARGET_CC): New variable.
49654 (TARGET_CFLAGS): Likewise.
49655 (TARGET_CPPFLAGS): Likewise.
49656 (TARGET_LDFLAGS): Likewise.
49657 (AWK): Likewise.
49658 (include): Use target_cpu instead of host_cpu.
49659 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 49660
b977bf01 49661 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
49662
f09771a1 496632006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
49664
49665 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
49666 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
49667 field 'false' to 'exec_on_false'.
49668 (grub_script_create_cmdif): Renamed argument names to reflect above
49669 changes.
49670
49671 * normal/execute.c (grub_script_execute_cmdif): Likewise.
49672
49673 * normal/script.c (grub_script_create_cmdif): Likewise.
49674
118f4fb3 496752006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
49676
49677 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
49678 top.
49679 (grub_hfsplus_btree_recptr): Likewise.
49680 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
49681 FILEBLOCK both to pass a block number and store next block
49682 number.
49683 (grub_hfsplus_read_block): Rewritten heavily to support an extent
49684 overflow file correctly. Specify errors appropriately, because
49685 fshelp expects that GRUB_ERRNO is set when fails. Reuse
49686 grub_hfsplus_btree_recptr to get the pointer to a found key.
49687 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
49688 is found.
49689
49690 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
49691 linux.mod.
49692 (_linux_mod_SOURCES): New variable.
49693 (_linux_mod_CFLAGS): Likewise.
49694 (_linux_mod_LDFLAGS): Likewise.
49695 (linux_mod_SOURCES): Likewise.
49696 (linux_mod_CFLAGS): Likewise.
49697 (linux_mod_LDFLAGS): Likewise.
49698
49699 * DISTLIST: Added loader/i386/efi/linux.c,
49700 loader/i386/efi/linux_normal.c and
49701 include/grub/i386/efi/loader.h.
49702
49703 * loader/i386/efi/linux.c: New file.
49704 * loader/i386/efi/linux_normal.c: Likewise.
49705 * include/grub/i386/efi/loader.h: Likewise.
49706
89a7d726 497072006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
49708
49709 * commands/blocklist.c: New file.
49710
49711 * DISTLIST: Added commands/blocklist.c.
49712
49713 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 49714 color for the background, and a darker color for the foreground.
89a7d726 49715 (grub_console_checkkey): Return READ_KEY.
49716 (grub_console_cls): Set the background to
49717 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
49718
49719 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
49720
49721 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
49722 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
49723
49724 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
49725 prototype.
49726
49727 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
49728 BG. The spec is wrong again.
49729
49730 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
49731 prototype.
49732 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
49733
49734 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49735 commands/blocklist.c.
49736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 49737
89a7d726 49738 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
49739 (blocklist_mod_SOURCES): New variable.
49740 (blocklist_mod_CFLAGS): Likewise.
49741 (blocklist_mod_LDFLAGS): Likewise.
49742
75c8f258 497432006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
49744
49745 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
49746 duplication.
49747 (lba_mode): Use %eax more intensively to reduce the code size.
49748
da2eb181 497492006-05-20 Marco Gerards <marco@gnu.org>
49750
49751 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
49752
49753 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
49754 for `menuentry'.
49755 (script): Accept leading newlines.
49756 (newlines): New rule to describe 0 or more newlines.
49757 (commands): Accept `command' with trailing newline. Fixed the
49758 order in which arguments were passed to `grub_script_add_cmd'.
49759 Accept commands separated by newlines.
49760 (function): Changed to accept newlines.
49761 (menuentry) Rewritten.
49762
49763 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
49764 front of the list, instead of to the end.
49765
577b4050 497662006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
49767
49768 * util/i386/pc/grub-install.in (bindir): New variable.
49769 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
49770 Shaver <lbgwjl@gmail.com>.
49771
0d6e1189 497722006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
49773
49774 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
49775 grub/machine/linux.h
49776 * loader/i386/pc/linux.c: Likewise.
49777
49778 * include/grub/i386/pc/linux.h: Moved to ...
49779 * include/grub/i386/linux.h: ... here.
49780
49781 * include/grub/i386/linux.h (struct linux_kernel_params): New
49782 struct.
f19dbdb7 49783
31b86e9f 497842006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
49785
49786 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
49787 checking.
49788 (grub_video_vbe_blit_glyph): Likewise.
49789 (grub_video_vbe_blit_bitmap): Likewise.
49790 (grub_video_vbe_blit_render_target): Likewise.
49791
83b984de 497922006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
49793
49794 * configure.ac (--with-platform): Properly quote the square
49795 brackets.
49796
5f0413bd 497972006-05-08 Marco Gerards <marco@gnu.org>
49798
49799 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
49800 this...
49801 (kernel_elf_HEADERS): ...to this. Updated all users.
49802 (grubof_symlist.c): Renamed from this...
49803 (kernel_elf_symlist.c): ...to this. Updated all users.
49804 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49805 (grubof_SOURCES): Renamed from this...
49806 (kernel_elf_SOURCES): ...to this.
49807 (grubof_HEADERS): Renamed from this...
49808 (kernel_elf_HEADERS): ...to this.
49809 (grubof_CFLAGS): Renamed from this...
49810 (kernel_elf_CFLAGS): ...to this.
49811 (grubof_ASFLAGS): Renamed from this...
49812 (kernel_elf_ASFLAGS): ...to this.
49813 (grubof_LDFLAGS): Renamed from this...
49814 (kernel_elf_LDFLAGS): ...to this.
49815
49816 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
49817 this...
49818 (kernel_elf_HEADERS): ...to this. Updated all users.
49819 (grubof_symlist.c): Renamed from this...
49820 (kernel_elf_symlist.c): ...to this. Updated all users.
49821 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49822 (grubof_SOURCES): Renamed from this...
49823 (kernel_elf_SOURCES): ...to this.
49824 (grubof_HEADERS): Renamed from this...
49825 (kernel_elf_HEADERS): ...to this.
49826 (grubof_CFLAGS): Renamed from this...
49827 (kernel_elf_CFLAGS): ...to this.
49828 (grubof_ASFLAGS): Renamed from this...
49829 (kernel_elf_ASFLAGS): ...to this.
49830 (grubof_LDFLAGS): Renamed from this...
49831 (kernel_elf_LDFLAGS): ...to this.
49832
49833 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
49834 `kernel.elf' instead of `grubof'.
49835
05568c2e 498362006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
49837
49838 Add --with-platform to configure. Use pkglibdir instead of
49839 pkgdatadir. This is reported by Roger Leigh.
49840
49841 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
49842 (host_vendor): Likewise.
49843 (host_os): Likewise.
49844 (pkgdatadir): Likewise.
49845 (platform): New variable.
49846 (pkglibdir): Likewise.
49847 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 49848
05568c2e 49849 * util/i386/pc/grub-install.in (datadir): Removed.
49850 (host_vendor): Likewise.
49851 (host_os): Likewise.
49852 (pkgdatadir): Likewise.
49853 (platform): New variable.
49854 (pkglibdir): Likewise.
49855 Use PKGLIBDIR instead of PKGDATADIR.
49856
49857 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
49858 instead of GRUB_DATADIR.
49859 (main): Likewise.
49860 * util/i386/pc/grub-mkimage.c (usage): Likewise.
49861 (main): Likewise.
49862 * util/i386/efi/grub-mkimage.c (usage): Likewise.
49863 (main): Likewise.
49864
49865 * configure.ac (--with-platform): New option.
49866 Use PLATFORM instead of HOST_VENDOR to specify a platform.
49867
49868 * Makefile.in: Include a makefile based on PLATFORM instead of
49869 HOST_VENDOR.
49870 (pkgdatadir): Not appended by the machine type.
49871 (pkglibdir): Appended by the machine type.
49872 (host_vendor): Removed.
49873 (platform): New variable.
49874 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
49875 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
49876 (uninstall): Likewise.
49877
4e93851c 498782006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
49879
49880 Use the environment context in the menu. Remove the commands
49881 "default" and "timeout", and use variables instead.
f19dbdb7 49882
4e93851c 49883 * normal/menu.c: Include grub/env.h.
49884 (print_entry): Cast TITLE to silence gcc.
49885 (get_timeout): New function.
49886 (set_timeout): Likewise.
49887 (get_entry_number): Likewise.
49888 (run_menu): Use a default entry, a fallback entry and a timeout
49889 in the environment variables "default", "fallback" and
49890 "timeout". Also, tweak the default entry if it is not within the
49891 current menu entries.
49892 (grub_menu_run): Use a fallback entry in the environment variable
49893 "fallback".
49894
49895 * normal/main.c (read_config_file): Do not initialize
49896 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
49897 NEWMENU->TIMEOUT.
49898 (grub_normal_execute): Use a data slot to store the menu.
49899
49900 * include/grub/normal.h (struct grub_menu): Removed default_entry,
49901 fallback_entry and timeout.
49902 (struct grub_menu_list): Removed.
49903 (grub_menu_list_t): Likewise.
49904 (struct grub_context): Likewise.
49905 (grub_context_t): Likewise.
49906 (grub_context_get): Likewise.
49907 (grub_context_get_current_menu): Likewise.
49908 (grub_context_push_menu): Likewise.
49909 (grub_context_pop_menu): Likewise.
49910 (grub_default_init): Likewise.
49911 (grub_default_fini): Likewise.
49912 (grub_timeout_init): Likewise.
49913 (grub_timeout_fini): Likewise.
49914
49915 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
49916 and timeout.mod.
49917 (normal_mod_SOURCES): Removed normal/context.c.
49918
49919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
49920 commands/default.c, commands/timeout.c and normal/context.c.
49921 (normal_mod_SOURCES): Removed normal/context.c.
49922
49923 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
49924 commands/timeout.c and normal/context.c.
49925 (normal_mod_SOURCES): Removed normal/context.c.
49926
49927 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
49928 commands/default.c, commands/timeout.c and normal/context.c.
49929 (normal_mod_SOURCES): Removed normal/context.c.
49930
49931 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
49932 timeout.mod.
49933 (default_mod_SOURCES): Removed.
49934 (default_mod_CFLAGS): Likewise.
49935 (default_mod_LDFLAGS): Likewise.
49936 (timeout_mod_SOURCES): Removed.
49937 (timeout_mod_CFLAGS): Likewise.
49938 (timeout_mod_LDFLAGS): Likewise.
49939
49940 * DISTLIST: Removed commands/default.c, commands/timeout.c and
49941 normal/context.c.
49942
49943 * commands/default.c: Removed.
49944 * commands/timeout.c: Likewise.
49945 * normal/context.c: Likewise.
49946
1eb9cc1d 499472006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
49948
49949 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
49950
385bd9c1 499512006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
49952
49953 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
49954 "next" to "prev" for readability.
49955 (struct grub_env_sorted_var): New struct.
49956 (grub_env_context): Renamed to ...
49957 (initial_context): ... this.
49958 (grub_env_var_context): Renamed to ...
49959 (current_context): ... this.
49960 (grub_env_find): Look only at CURRENT_CONTEXT.
49961 (grub_env_context_open): Rewritten to copy exported variables from
49962 previous context.
49963 (grub_env_context_close): Rewritten according to the new
49964 scheme. Also, add an assertion to prevent the initial context from
49965 removed.
49966 (grub_env_insert): Removed the code for the sorted list.
49967 (grub_env_remove): Likewise.
49968 (grub_env_export): Simply mark the variable with
49969 GRUB_ENV_VAR_GLOBAL.
49970 (grub_env_set): A cosmetic change for naming consistency.
49971 (grub_env_get): Likewise.
49972 (grub_env_unset): Likewise.
49973 (grub_env_iterate): Rewritten to sort variables within this
49974 function.
49975 (grub_register_variable_hook): Fixed for naming consistency. Call
49976 grub_env_find again, only if NAME is not found at the first time.
49977 (mangle_data_slot_name): New function.
49978 (grub_env_set_data_slot): Likewise.
49979 (grub_env_get_data_slot): Likewise.
49980 (grub_env_unset_data_slot): Likewise.
49981
49982 * include/grub/env.h (grub_env_var_type): New enum.
49983 (GRUB_ENV_VAR_LOCAL): New constant.
49984 (GRUB_ENV_VAR_GLOBAL): Likewise.
49985 (GRUB_ENV_VAR_DATA): Likewise.
49986 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
49987 "type".
49988 (grub_env_set): Replace VAR with NAME for consistency.
49989 (grub_register_variable_hook): Likewise.
49990 (grub_env_export): Specify the name of the argument.
49991 (grub_env_set_data_slot): New prototype.
49992 (grub_env_get_data_slot): Likewise.
49993 (grub_env_unset_data_slot): Likewise.
49994
7f362539 499952006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49996
49997 Extend the loader so that GRUB can accept a loader which comes
49998 back to GRUB when a loaded image exits. Also, this change adds
49999 support for a chainloader on EFI.
f19dbdb7 50000
7f362539 50001 * term/efi/console.c: Include grub/misc.h.
50002 (grub_console_checkkey): Display a scan code on the top for
50003 debugging. This will be removed once the EFI port gets stable.
50004 Correct the scan code mapping.
50005
50006 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
50007 allocate memory from larger regions, in order to reduce the number
50008 of allocated regions. Otherwise, the MacOSX loader panics.
50009 (filter_memory_map): Avoid less than 1MB for compatibility with
50010 other loaders.
50011 (add_memory_regions): Allocate from the tail of a region, if
50012 possible, to avoid allocating a region near to 1MB, for the MacOSX
50013 loader.
50014
50015 * kern/efi/init.c (grub_efi_set_prefix): Specify
50016 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
50017
50018 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
50019 argument IMAGE_HANDLE and specify it to get a loaded image.
50020 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
50021 grub_efi_get_loaded_image.
fe6b695a 50022 (grub_efi_get_filename): Divide the length by the size of
7f362539 50023 grub_efi_char16_t.
50024 (grub_efi_get_device_path): New function.
50025 (grub_efi_print_device_path): Print End Device Path nodes. Divide
50026 the length by the size of grub_efi_char16_t for a file path device
50027 path node.
50028
50029 * kern/loader.c (grub_loader_noreturn): New variable.
50030 (grub_loader_set): Accept a new argument NORETURN. Set
50031 GRUB_LOADER_NORETURN to NORETURN.
50032 All callers changed.
50033 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
50034 grub_machine_fini.
50035
50036 * include/grub/efi/efi.h (grub_efi_get_device_path): New
50037 prototype.
50038 (grub_efi_get_loaded_image): Take an argument to specify an image
50039 handle.
50040
50041 * include/grub/loader.h (grub_loader_set): Added one more argument
50042 NORETURN.
50043
50044 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
50045 instead of grub_efi_open_protocol.
50046 (grub_efidisk_get_device_name): Likewise.
50047 (grub_efidisk_close): Print a newline.
50048 (grub_efidisk_get_device_handle): Fixed to use
50049 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
50050 GRUB_EFI_DEVICE_PATH_TYPE.
50051
50052 * disk/efi/efidisk.c (device_path_guid): Moved to ...
50053 * kern/efi/efi.c (device_path_guid): ... here.
50054
50055 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
50056 chain.mod.
50057 (kernel_mod_HEADERS): Added efi/disk.h.
50058 (_chain_mod_SOURCES): New variable.
50059 (_chain_mod_CFLAGS): Likewise.
50060 (_chain_mod_LDFLAGS): Likewise.
50061 (chain_mod_SOURCES): Likewise.
50062 (chain_mod_CFLAGS): Likewise.
50063 (chain_mod_LDFLAGS): Likewise.
50064
50065 * DISTLIST: Added include/grub/efi/chainloader.h,
50066 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
50067
50068 * include/grub/efi/chainloader.h: New file.
50069 * loader/efi/chainloader.c: Likewise.
50070 * loader/efi/chainloader_normal.c: Likewise.
50071
c0111d6e 500722006-04-30 Marco Gerards <marco@gnu.org>
50073
50074 * commands/configfile.c (grub_cmd_source): New function.
50075 (GRUB_MOD_INIT): Register the commands `source' and `.'.
50076 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
50077
df5341da 500782006-04-30 Marco Gerards <marco@gnu.org>
50079
50080 * normal/execute.c (grub_script_execute_cmd): Change the return
50081 type to `grub_err_t'. Correctly return the error.
50082 (grub_script_execute_cmdline): In case a command line is not a
50083 command or a function, try to interpret it as an assignment.
50084
f85934bd 500852006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
50086
50087 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
50088 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
50089 skip a node whose name is obviously invalid as UTF-16,
50090 i.e. contains a NUL character. Stop the iteration when the last
50091 directory entry is found. Instead of using the return value of
50092 grub_hfsplus_btree_iterate_node, store the value in RET and use
50093 it, because the iterator can be stopped by the last directory
50094 entry.
50095
8f8a2cf8 500962006-04-30 Marco Gerards <marco@gnu.org>
50097
50098 * include/grub/env.h (grub_env_export): New prototype. Reported
50099 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
50100
a27e84ce 501012006-04-30 Marco Gerards <marco@gnu.org>
50102
50103 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
50104 size of the extents in a catalog file record.
50105
eaef0553 501062006-04-29 Marco Gerards <marco@gnu.org>
50107
50108 * commands/configfile.c (grub_cmd_configfile): Execute the
50109 configfile within its own context.
50110
50111 * include/grub/env.h (grub_env_context_open): New prototype.
50112 (grub_env_context_close): Likewise.
50113
50114 * kern/env.c (grub_env): Removed.
50115 (grub_env_sorted): Likewise.
50116 (grub_env_context): New variable.
50117 (grub_env_var_context): Likewise.
50118 (grub_env_find): Search both the active context and the global
50119 context.
50120 (grub_env_context_open): New function.
50121 (grub_env_context_close): Likewise.
50122 (grub_env_insert): Likewise.
50123 (grub_env_remove): Likewise.
50124 (grub_env_export): Likewise.
50125 (grub_env_set): Changed to use helper functions to avoid code
50126 duplication.
50127 (grub_env_iterate): Rewritten so both the current context and the
50128 global context are being used.
50129
50130 * normal/command.c (export_command): New function.
50131 (grub_command_init): Register the `export' function.
50132
7b455f4d 501332006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
50134
50135 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
50136 explicitly to suppress gcc's warnings.
50137 * fs/fat.c (grub_fat_find_dir): Likewise.
50138 (grub_fat_label): Likewise.
50139 * fs/xfs.c (grub_xfs_read_inode): Likewise.
50140 (grub_xfs_mount): Likewise.
50141 (grub_xfs_label): Likewise.
50142 * fs/affs.c (grub_affs_mount): Likewise.
50143 (grub_affs_label): Likewise.
50144 (grub_affs_iterate_dir): Likewise.
50145 * fs/sfs.c (grub_sfs_mount): Likewise.
50146 (grub_sfs_iterate_dir): Likewise.
50147 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
50148 * fs/hfs.c (grub_hfs_mount): Likewise.
50149 (grub_hfs_cmp_catkeys): Likewise.
50150 (grub_hfs_find_dir): Likewise.
50151 (grub_hfs_dir): Likewise.
50152 (grub_hfs_label): Likewise.
50153 * fs/jfs.c (grub_jfs_mount): Likewise.
50154 (grub_jfs_opendir): Likewise.
50155 (grub_jfs_getent): Likewise.
50156 (grub_jfs_lookup_symlink): Likewise.
50157 (grub_jfs_label): Likewise.
50158 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
50159 (grub_hfsplus_iterate_dir): Likewise.
50160 (grub_hfsplus_btree_iterate_node): Made static.
50161
50162 * util/grub-emu.c (prefix): New variable.
50163 (grub_machine_set_prefix): New function.
50164 (main): Do not set the environment variable "prefix" here. Only
50165 set PREFIX, which is used later by grub_machine_set_prefix.
50166
50167 * include/grub/video.h: Do not include grub/symbol.h.
50168 (grub_video_register): Not exported. This symbol is not defined in
50169 the kernel.
50170 (grub_video_unregister): Likewise.
50171 (grub_video_iterate): Likewise.
50172 (grub_video_setup): Likewise.
50173 (grub_video_restore): Likewise.
50174 (grub_video_get_info): Likewise.
50175 (grub_video_get_blit_format): Likewise.
50176 (grub_video_set_palette): Likewise.
50177 (grub_video_get_palette): Likewise.
50178 (grub_video_set_viewport): Likewise.
50179 (grub_video_get_viewport): Likewise.
50180 (grub_video_map_color): Likewise.
50181 (grub_video_map_rgb): Likewise.
50182 (grub_video_map_rgba): Likewise.
50183 (grub_video_fill_rect): Likewise.
50184 (grub_video_blit_glyph): Likewise.
50185 (grub_video_blit_bitmap): Likewise.
50186 (grub_video_blit_render_target): Likewise.
50187 (grub_video_scroll): Likewise.
50188 (grub_video_swap_buffers): Likewise.
50189 (grub_video_create_render_target): Likewise.
50190 (grub_video_delete_render_target): Likewise.
50191 (grub_video_set_active_render_target): Likewise.
50192
50193 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
50194 Undefined.
50195 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
50196
50197 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
50198 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50199 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50200 instead of $(srcdir)/genkernsyms.sh.
50201
50202 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
50203 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50204 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50205 instead of $(srcdir)/genkernsyms.sh.
50206
50207 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
50208 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50209 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50210 instead of $(srcdir)/genkernsyms.sh.
50211
50212 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
50213 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50214 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50215 instead of $(srcdir)/genkernsyms.sh.
50216
50217 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
50218 genkernsyms.sh.
50219
50220 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
50221 genkernsyms.sh.
50222 (gensymlist.sh): New target.
50223 (genkernsyms.sh): Likewise.
50224
50225 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
50226 genkernsyms.sh.in and gensymlist.sh.in.
50227
50228 * genkernsyms.sh: Removed.
50229 * gensymlist.sh: Likewise.
f19dbdb7 50230
7b455f4d 50231 * genkernsyms.sh.in: New file.
50232 * gensymlist.sh.in: Likewise.
50233
1885bb27 502342006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50235
50236 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
50237 clobber "prefix", since we may have already set it manually.
50238
71538dff 502392006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50240
50241 * kern/misc.c (abort): New alias for grub_abort.
50242
2965c7cc 502432006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
50244
50245 A new machine-specific function "grub_machine_set_prefix" is
50246 defined. This is called after loading modules, so that a prefix
50247 initialization can use modules. Also, this change adds an
50248 intensive debugging feature for the memory manager via the
50249 configure option "--enable-mm-debug".
f19dbdb7 50250
2965c7cc 50251 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
50252 PART.LEN.
50253
50254 * kern/sparc64/ieee1275/init.c (abort): Removed.
50255 (grub_stop): Likewise.
50256 (grub_exit): New function.
50257 (grub_set_prefix): Renamed to ...
50258 (grub_machine_set_prefix): ... this.
50259 (grub_machine_init): Do not call grub_set_prefix.
50260
50261 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
50262 (grub_machine_set_prefix): ... this.
50263 (grub_machine_init): Do not call grub_set_prefix.
50264
50265 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
50266 (grub_machine_init): Do not set the prefix here.
50267
50268 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
50269
50270 * kern/efi/init.c: Include grub/mm.h.
50271 (grub_efi_set_prefix): New function.
50272
50273 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
50274 (grub_efi_get_filename): New function.
50275 (grub_print_device_path): Renamed to ...
50276 (grub_efi_print_device_path): ... this.
50277
50278 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
50279 [MM_DEBUG] (grub_realloc): Likewise.
50280 [MM_DEBUG] (grub_free): Likewise.
50281 [MM_DEBUG] (grub_memalign): Likewise.
50282 [MM_DEBUG] (grub_mm_debug): New variable.
50283 [MM_DEBUG] (grub_debug_malloc): New function.
50284 [MM_DEBUG] (grub_debug_free): New function.
50285 [MM_DEBUG] (grub_debug_realloc): New function.
50286 [MM_DEBUG] (grub_debug_memalign): New function.
50287
50288 * kern/misc.c (grub_abort): Print a newline to distinguish
50289 the message.
50290
50291 * kern/main.c (grub_main): Call grub_machine_set_prefix and
50292 grub_set_root_dev after loading modules. This is necessary when
50293 setting a prefix depends on modules.
50294
50295 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
50296 (grub_efi_print_device_path): ... this.
50297 (grub_efi_get_filename): New prototype.
50298 (grub_efi_set_prefix): Likewise.
50299
50300 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
50301 and grub/disk.h.
50302 (grub_efidisk_get_device_handle): New prototype.
50303 (grub_efidisk_get_device_name): Likewise.
50304
50305 * include/grub/mm.h: Include config.h.
50306 (MM_DEBUG): Removed.
50307 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
50308 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
50309 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
50310 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
50311 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
50312 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
50313 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
50314 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
50315 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
50316
50317 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
50318
50319 * disk/efi/efidisk.c: Include grub/partition.h.
50320 (iterate_child_devices): New function.
50321 (add_device): First, compare only last device path nodes, so that
50322 devices are sorted by the types.
50323 (grub_efidisk_get_device_handle): New function.
50324 (grub_efidisk_get_device_name): Likewise.
50325
50326 * configure.ac (--enable-mm-debug): New option to enable the
50327 memory manager debugging feature. This makes the binary much
50328 bigger, so is disabled by default.
50329
9cacaa17 503302006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
50331
50332 Use grub_abort instead of grub_stop, and grub_exit must be
50333 define in each architecture now. Also, this change adds support
50334 for EFI disks.
f19dbdb7 50335
9cacaa17 50336 * util/i386/pc/grub-probefs.c: Include grub/term.h.
50337 (grub_getkey): New function.
50338 (grub_term_get_current): Likewise.
50339
50340 * util/i386/pc/grub-setup.c: Include grub/term.h.
50341 (grub_getkey): New function.
50342 (grub_term_get_current): Likewise.
50343
50344 * util/misc.c (grub_stop): Renamed to ...
50345 (grub_exit): ... this.
50346
50347 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
50348 (grub_exit): ... this.
50349 (grub_machine_init): Use grub_abort instead of abort.
50350 (grub_stop): Removed.
50351
50352 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
50353 abort.
50354
50355 * kern/i386/pc/startup.S (grub_exit): New function.
50356 (cold_reboot): New label.
50357
50358 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
50359 (grub_efi_init): Call grub_efidisk_init.
50360 (grub_efi_fini): Call grub_efidisk_fini.
50361
50362 * kern/efi/efi.c: Include grub/mm.h.
50363 (grub_efi_console_control_guid): Renamed to ...
50364 (console_control_guid): ... this.
50365 (grub_efi_loaded_image_guid): Renamed to ...
50366 (loaded_image_guid): ... this.
50367 (grub_efi_locate_handle): New function.
50368 (grub_efi_open_protocol): Likewise.
50369 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
50370 GRUB_EFI_CONSOLE_CONTROL_GUID.
50371 (grub_efi_exit): Removed.
50372 (grub_stop): Likewise.
50373 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
50374 (grub_exit): New function.
50375 (grub_print_device_path): Likewise.
50376
50377 * kern/rescue.c (grub_rescue_cmd_exit): New function.
50378 (grub_enter_rescue_mode): Register "exit".
50379
50380 * kern/misc.c (grub_real_dprintf): A cosmetic change.
50381 (grub_abort): New function.
50382
50383 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
50384
50385 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
50386
50387 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
50388
50389 * include/grub/efi/efi.h (grub_efi_exit): Removed.
50390 (grub_print_device_path): New prototype.
50391 (grub_efi_locate_handle): Likewise.
50392 (grub_efi_open_protocol): Likewise.
50393
50394 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
50395 * disk/efi/efidisk.c: Likewise.
50396
50397 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
50398
50399 * include/grub/efi/console_control.h
50400 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
50401
50402 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
50403 last 8 bytes as an array.
50404 (GRUB_EFI_DISK_IO_GUID): New macro.
50405 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
50406 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
50407 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
50408 grub_uint8_t.
50409 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
50410 (struct grub_efi_device_path): Rename the member "sub_type" to
50411 "subtype".
50412 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
50413 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
50414 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
50415 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
50416 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
50417 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
50418 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
50419 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
50420 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
50421 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
50422 (struct grub_efi_pci_device_path): New structure.
50423 (grub_efi_pci_device_path_t): New type.
50424 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
50425 (struct grub_efi_pccard_device_path): New structure.
50426 (grub_efi_pccard_device_path_t): New type.
50427 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
50428 (struct grub_efi_memory_mapped_device_path): New structure.
50429 (grub_efi_memory_mapped_device_path_t): New type.
50430 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
50431 (struct grub_efi_vendor_device_path): New structure.
50432 (grub_efi_vendor_device_path_t): New type.
50433 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
50434 (struct grub_efi_controller_device_path): New structure.
50435 (grub_efi_controller_device_path_t): New type.
50436 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
50437 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
50438 (struct grub_efi_acpi_device_path): New structure.
50439 (grub_efi_acpi_device_path_t): New type.
50440 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
50441 (struct grub_efi_expanded_acpi_device_path): New structure.
50442 (grub_efi_expanded_acpi_device_path_t): New type.
50443 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
50444 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
50445 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
50446 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
50447 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
50448 (struct grub_efi_atapi_device_path): New structure.
50449 (grub_efi_atapi_device_path_t): New type.
50450 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
50451 (struct grub_efi_fibre_channel_device_path): New structure.
50452 (grub_efi_fibre_channel_device_path_t): New type.
50453 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
50454 (struct grub_efi_1394_device_path): New structure.
50455 (grub_efi_1394_device_path_t): New type.
50456 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
50457 (struct grub_efi_usb_device_path): New structure.
50458 (grub_efi_usb_device_path_t): New type.
50459 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
50460 (struct grub_efi_usb_class_device_path): New structure.
50461 (grub_efi_usb_class_device_path_t): New type.
50462 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
50463 (struct grub_efi_i2o_device_path): New structure.
50464 (grub_efi_i2o_device_path_t): New type.
50465 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
50466 (struct grub_efi_mac_address_device_path): New structure.
50467 (grub_efi_mac_address_device_path_t): New type.
50468 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
50469 (struct grub_efi_ipv4_device_path): New structure.
50470 (grub_efi_ipv4_device_path_t): New type.
50471 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
50472 (struct grub_efi_ipv6_device_path): New structure.
50473 (grub_efi_ipv6_device_path_t): New type.
50474 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
50475 (struct grub_efi_infiniband_device_path): New structure.
50476 (grub_efi_infiniband_device_path_t): New type.
50477 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
50478 (struct grub_efi_uart_device_path): New structure.
50479 (grub_efi_uart_device_path_t): New type.
50480 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
50481 (struct grub_efi_vendor_messaging_device_path): New structure.
50482 (grub_efi_vendor_messaging_device_path_t): New type.
50483 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
50484 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
50485 (struct grub_efi_hard_drive_device_path): New structure.
50486 (grub_efi_hard_drive_device_path_t): New type.
50487 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
50488 (struct grub_efi_cdrom_device_path): New structure.
50489 (grub_efi_cdrom_device_path_t): New type.
50490 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
50491 (struct grub_efi_vendor_media_device_path): New structure.
50492 (grub_efi_vendor_media_device_path_t): New type.
50493 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
50494 (struct grub_efi_file_path_device_path): New structure.
50495 (grub_efi_file_path_device_path_t): New type.
50496 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
50497 (struct grub_efi_protocol_device_path): New structure.
50498 (grub_efi_protocol_device_path_t): New type.
50499 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
50500 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
50501 (struct grub_efi_bios_device_path): New structure.
50502 (grub_efi_bios_device_path_t): New type.
50503 (struct grub_efi_disk_io): New structure.
50504 (grub_efi_disk_io_t): New type.
50505 (struct grub_efi_block_io_media): New structure.
50506 (grub_efi_block_io_media_t): New type.
50507 (struct grub_efi_block_io): New structure.
50508 (grub_efi_block_io_t): New type.
50509
50510 * include/grub/misc.h (grub_stop): Removed.
50511 (grub_exit): New prototype.
50512 (grub_abort): Likewise.
50513
50514 * include/grub/disk.h (enum grub_disk_dev_id): Added
50515 GRUB_DISK_DEVICE_EFIDISK_ID.
50516
50517 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
50518 disk/efi/efidisk.c.
50519 (kernel_syms.lst): Remove the target if an error occurs.
50520
49986a9f 505212006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
50522
50523 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
50524 as it was simply too buggy.
50525
970d3b8a 505262006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
50527
50528 * kern/misc.c (grub_lltoa): New function.
50529 (grub_vsprintf): Added support for the long long suffix,
50530 i.e. "ll".
50531
ff04ec24 505322006-04-20 Hollis Blanchard <hollis@penguinppc.org>
50533
50534 * Makefile.in (LDFLAGS): Add variable.
50535 (LD): Remove variable.
50536 * configure.ac: Add -m32 to LDFLAGS.
50537 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
50538 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
50539 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
50540 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
50541 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
50542 variables.
50543 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
50544 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
50545 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
50546
37e5e1a4 505472006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
50548
50549 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
50550 length for unknown glyph.
50551
c352d8dd 505522006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50553
2eab1c0d 50554 Add support for pre-loaded modules into the EFI port.
f19dbdb7 50555
2eab1c0d 50556 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
50557 completely. Accept one more argument DIR. The caller has changed.
50558
50559 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
50560
50561 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
50562 (grub_efi_loaded_image_guid): New variable.
50563 (grub_efi_get_loaded_image): New function.
50564 (grub_arch_modules_addr): Likewise.
50565
50566 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
50567 prototype.
50568
50569 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
50570 (struct grub_efi_loaded_image): New structure.
50571 (grub_efi_loaded_image_t): New type.
50572
505732006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 50574
c352d8dd 50575 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
50576 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
50577 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
50578
6d01d6b4 505792006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
50580
50581 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
50582
976a4ea0 505832006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
50584
50585 * DISTLIST: Added include/grub/efi/console.h,
50586 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
50587 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50588
50589 * include/grub/efi/console.h: New file.
50590 * include/grub/efi/time.h: Likewise.
50591 * include/grub/i386/efi/kernel.h: Likewise.
50592 * kern/efi/init.c: Likewise.
50593 * kern/efi/mm.c: Likewise.
50594 * term/efi/console.c: Likewise.
f19dbdb7 50595
976a4ea0 50596 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
50597 (grub_stop): Removed.
50598 (grub_get_rtc): Likewise.
50599 (grub_machine_init): Simply call grub_efi_init.
50600 (grub_machine_fini): Call grub_efi_fini.
50601
50602 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
50603 (grub_efi_output_string): Removed.
50604 (grub_efi_stall): New function.
50605 (grub_stop): Likewise.
50606 (grub_get_rtc): Likewise.
50607
50608 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
50609 (grub_efi_stall): New prototype.
50610 (grub_efi_allocate_pages): Likewise.
50611 (grub_efi_free_pages): Likewise.
50612 (grub_efi_get_memory_map): Likewise.
50613 (grub_efi_mm_init): Likewise.
50614 (grub_efi_mm_fini): Likewise.
50615 (grub_efi_init): Likewise.
50616 (grub_efi_fini): Likewise.
50617
50618 * include/grub/i386/efi/time.h: Do not include
50619 grub/symbol.h. Include grub/efi/time.h.
50620 (GRUB_TICKS_PER_SECOND): Removed.
50621 (grub_get_rtc): Likewise.
50622
50623 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
50624 Added padding. The EFI spec is buggy.
50625 (GRUB_EFI_BLACK): New macro.
50626 (GRUB_EFI_BLUE): Likewise.
50627 (GRUB_EFI_GREEN): Likewise.
50628 (GRUB_EFI_CYAN): Likewise.
50629 (GRUB_EFI_RED): Likewise.
50630 (GRUB_EFI_MAGENTA): Likewise.
50631 (GRUB_EFI_BROWN): Likewise.
50632 (GRUB_EFI_LIGHTGRAY): Likewise.
50633 (GRUB_EFI_BRIGHT): Likewise.
50634 (GRUB_EFI_DARKGRAY): Likewise.
50635 (GRUB_EFI_LIGHTBLUE): Likewise.
50636 (GRUB_EFI_LIGHTGREEN): Likewise.
50637 (GRUB_EFI_LIGHTCYAN): Likewise.
50638 (GRUB_EFI_LIGHTRED): Likewise.
50639 (GRUB_EFI_LIGHTMAGENTA): Likewise.
50640 (GRUB_EFI_YELLOW): Likewise.
50641 (GRUB_EFI_WHITE): Likewise.
50642 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
50643 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
50644 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
50645 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
50646 (GRUB_EFI_BACKGROUND_RED): Likewise.
50647 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
50648 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
50649 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
50650 (GRUB_EFI_TEXT_ATTR): Likewise.
50651
50652 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
50653 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50654 (kernel_mod_HEADERS): Added efi/time.h.
50655
83709125 506562006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
50657
50658 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
50659 include/grub/efi/api.h, include/grub/efi/console_control.h,
50660 include/grub/efi/efi.h, include/grub/efi/pe32.h,
50661 include/grub/i386/efi/time.h, kern/efi/efi.c,
50662 kern/i386/efi/init.c, kern/i386/efi/startup.S,
50663 and util/i386/efi/grub-mkimage.c.
50664
50665 * Makefile.in (RMKFILES): Added i386-efi.rmk.
50666
50667 * genmk.rb (PModule#rule): Do not export symbols if
50668 #{prefix}_EXPORTS is set to "no".
50669
50670 * conf/i386-efi.mk: New file.
50671 * conf/i386-efi.rmk: Likewise.
50672 * include/grub/efi/api.h: Likewise.
50673 * include/grub/efi/console_control.h: Likewise.
50674 * include/grub/efi/efi.h: Likewise.
50675 * include/grub/efi/pe32.h: Likewise.
50676 * include/grub/i386/efi/time.h: Likewise.
50677 * kern/efi/efi.c: Likewise.
50678 * kern/i386/efi/init.c: Likewise.
50679 * kern/i386/efi/startup.S: Likewise.
50680 * util/i386/efi/grub-mkimage.c: Likewise.
50681
506822006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 50683
50684 * include/grub/script.h: Include <grub/parser.h> and
50685 "grub_script.tab.h".
50686 (struct grub_lexer_param): New struct.
50687 (struct grub_parser_param): Likewise.
50688 (grub_script_create_arglist): Pass the state in an argument.
50689 (grub_script_add_arglist): Likewise.
50690 (grub_script_create_cmdline): Likewise.
50691 (grub_script_create_cmdblock): Likewise.
50692 (grub_script_create_cmdif): Likewise.
50693 (grub_script_create_cmdmenu): Likewise.
50694 (grub_script_add_cmd): Likewise.
50695 (grub_script_arg_add): Likewise.
50696 (grub_script_lexer_ref): Likewise.
50697 (grub_script_lexer_deref): Likewise.
50698 (grub_script_lexer_record_start): Likewise.
50699 (grub_script_lexer_record_stop): Likewise.
50700 (grub_script_mem_record): Likewise.
50701 (grub_script_mem_record_stop): Likewise.
50702 (grub_script_malloc): Likewise.
50703 (grub_script_yylex): Likewise.
50704 (grub_script_yyparse): Likewise.
50705 (grub_script_yyerror): Likewise.
50706 (grub_script_yylex): Likewise.
50707 (grub_script_lexer_init): Return the state.
50708
50709 * normal/lexer.c (grub_script_lexer_state): Removed variable.
50710 (grub_script_lexer_done): Likewise.
50711 (grub_script_lexer_getline): Likewise.
50712 (grub_script_lexer_refs): Likewise.
50713 (script): Likewise.
50714 (newscript): Likewise.
50715 (record): Likewise.
50716 (recording): Likewise.
50717 (recordpos): Likewise.
50718 (recordlen): Likewise.
50719 (grub_script_lexer_init): Return the state instead of setting
50720 global variables.
50721 (grub_script_lexer_ref): Use the newly added argument for state
50722 instead of globals.
50723 (grub_script_lexer_deref): Likewise.
50724 (grub_script_lexer_record_start): Likewise.
50725 (grub_script_lexer_record_stop): Likewise.
50726 (recordchar): Likewise.
50727 (nextchar): Likewise.
50728 (grub_script_yylex2): Likewise.
50729 (grub_script_yylex): Likewise.
50730 (grub_script_yyerror): Likewise.
50731
50732 * normal/parser.y (func_mem): Removed variable.
50733 (menu_entry): Likewise.
50734 (err): Likewise.
50735 (%lex-param): New parser option.
50736 (%parse-param): Likewise.
50737 (script): Always return the AST.
50738 (argument): Pass the state around.
50739 (arguments): Likewise.
50740 (grubcmd): Likewise.
50741 (commands): Likewise.
50742 (function): Likewise.
50743 (menuentry): Likewise.
50744 (if_statement): Likewise.
50745 (if): Likewise.
50746
50747 * normal/script.c (grub_script_memused): Removed variable.
50748 (grub_script_parsed): Likewise.
50749 (grub_script_malloc): Added a state argument. Use that instead of
50750 global variables.
50751 (grub_script_mem_record): Likewise.
50752 (grub_script_mem_record_stop): Likewise.
50753 (grub_script_arg_add): Likewise.
50754 (grub_script_add_arglist): Likewise.
50755 (grub_script_create_cmdline): Likewise.
50756 (grub_script_create_cmdif): Likewise.
50757 (grub_script_create_cmdmenu): Likewise.
50758 (grub_script_add_cmd): Likewise.
50759 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 50760
e2a8c904 507612006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 50762
50763 * normal/command.c (grub_command_init): Remove the title command.
50764
50765 * normal/lexer.c (grub_script_yylex): Renamed from this...
50766 (grub_script_yylex2): ... to this.
50767 (grub_script_yylex): New function. Temporary
50768 introduced to filter some tokens.
50769 (grub_script_yyerror): Print a newline.
50770
50771 * normal/main.c (read_config_file): Output information about the
50772 lines that contain errors. Wait for a key after all lines have
50773 been processed. Don't return an empty menu.
50774
50775 * normal/parser.y (func_mem): Don't initialize.
50776 (menu_entry): Likewise.
50777 (err): New variable.
50778 (script): Don't return anything when an error was encountered.
50779 (ws, returns): Removed rules.
50780 (argument): Disabled concatenated variable support.
50781 (arguments): Remove explicit separators.
50782 (grubcmd): Likewise.
50783 (function): Likewise.
50784 (menuentry): Likewise.
50785 (if): Likewise.
50786 (commands): Likewise. Add error handling.
50787
50788 * normal/script.c (grub_script_create_cmdline): If
50789 `grub_script_parsed' is 0, assume the parser encountered an error.
50790
c9a86192 507912006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
50792
50793 * configure.ac: Add support for EFI. Fix the typo
50794 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
50795
70f3b243 507962006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50797
50798 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
50799 foreign multibyte characters should be shown correctly.
50800
65f201ad 508012006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50802
50803 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
50804 calculation.
50805 (read_config_file): Made it to close file before returning.
50806
b4b93674 508072006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
50808
50809 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
50810 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
50811 video/i386/pc/vbefill.c.
50812
50813 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
50814 video/i386/pc/vbefill.c.
50815
50816 * include/grub/video.h (grub_video_blit_format): New enum.
50817 (grub_video_mode_info): Added new member blit_format.
50818 (grub_video_get_blit_format): New function prototype.
50819
50820 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
50821 function prototype.
50822 (grub_video_vbe_map_rgb): Likewise.
50823 (grub_video_vbe_unmap_color): Likewise.
50824
50825 * include/grub/i386/pc/vbeblit.h: New file.
50826
50827 * include/grub/i386/pc/vbefill.h: New file.
50828
50829 * video/video.c (grub_video_get_blit_format): New function.
50830 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
50831 (grub_video_vbe_map_rgb): Likewise.
50832 (grub_video_vbe_unmap_color): Likewise.
50833
50834 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
50835 optimized fills.
50836 (grub_video_vbe_blit_render_target): Changed to use more optimized
50837 blits.
50838 (grub_video_vbe_setup): Added detection for optimized settings.
50839 (grub_video_vbe_create_render_target): Likewise.
50840
50841 * video/i386/pc/vbeblit.c: New file.
50842
50843 * video/i386/pc/vbefill.c: New file.
50844
c2379b9c 508452006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
50846
50847 * font/manager.c (grub_font_get_glyph): Removed font fixup from
50848 here...
50849
50850 * util/unifont2pff.rb: ... and moved it to here. Improved argument
50851 parsing to support both hex and dec ranges. If filename was missing
50852 show usage information.
50853
bd0d7896 508542006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
50855
50856 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
50857 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
50858
50859 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
50860 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
50861 (video_mod_SOURCES): Added.
50862 (video_mod_CFLAGS): Likewise.
50863 (video_mod_LDFLAGS): Likewise.
50864 (gfxterm_mod_SOURCES): Likewise.
50865 (gfxterm_mod_CFLAGS): Likewise.
50866 (gfxterm_mod_LDFLAGS): Likewise.
50867 (videotest_mod_SOURCES): Likewise.
50868 (videotest_mod_CFLAGS): Likewise.
50869 (videotest_mod_LDFLAGS): Likewise.
50870 (vesafb_mod_SOURCES): Removed.
50871 (vesafb_mod_CFLAGS): Likewise.
50872 (vesafb_mod_LDFLAGS): Likewise.
50873 (vga_mod_SOURCES): Likewise.
50874 (vga_mod_CFLAGS): Likewise.
50875 (vga_mod_LDFLAGS): Likewise.
50876
50877 * commands/videotest.c: New file.
50878
50879 * font/manager.c (fill_with_default_glyph): Modified to use
50880 grub_font_glyph.
50881 (grub_font_get_glyph): Likewise.
50882 (fontmanager): Renamed from this...
50883 (font_manager): ... to this.
50884
50885 * include/grub/font.h (grub_font_glyph): Added new structure.
50886 (grub_font_get_glyph): Modified to use grub_font_glyph.
50887
50888 * include/grub/misc.h (grub_abs): Added as inline function.
50889
50890 * include/grub/video.h: New file.
50891
50892 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
50893 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
50894 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
50895 (grub_vbe_get_controller_info): Renamed from this...
50896 (grub_vbe_bios_get_controller_info): ... to this.
50897 (grub_vbe_get_mode_info): Renamed from this...
50898 (grub_vbe_bios_get_mode_info): ... to this.
50899 (grub_vbe_set_mode): Renamed from this...
50900 (grub_vbe_bios_set_mode): ... to this.
50901 (grub_vbe_get_mode): Renamed from this...
50902 (grub_vbe_bios_get_mode): ... to this.
50903 (grub_vbe_set_memory_window): Renamed from this...
50904 (grub_vbe_bios_set_memory_window): ... to this.
50905 (grub_vbe_get_memory_window): Renamed from this...
50906 (grub_vbe_bios_get_memory_window): ... to this.
50907 (grub_vbe_set_scanline_length): Renamed from this...
50908 (grub_vbe_set_scanline_length): ... to this.
50909 (grub_vbe_get_scanline_length): Renamed from this...
50910 (grub_vbe_bios_get_scanline_length): ... to this.
50911 (grub_vbe_set_display_start): Renamed from this...
50912 (grub_vbe_bios_set_display_start): ... to this.
50913 (grub_vbe_get_display_start): Renamed from this...
50914 (grub_vbe_bios_get_display_start): ... to this.
50915 (grub_vbe_set_palette_data): Renamed from this...
50916 (grub_vbe_bios_set_palette_data): ... to this.
50917 (grub_vbe_set_pixel_rgb): Removed.
50918 (grub_vbe_set_pixel_index): Likewise.
50919
50920 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
50921 from this...
50922 (grub_vbe_bios_get_controller_info): ... to this.
50923 (grub_vbe_get_mode_info): Renamed from this...
50924 (grub_vbe_bios_get_mode_info): ... to this.
50925 (grub_vbe_set_mode): Renamed from this...
50926 (grub_vbe_bios_set_mode): ... to this.
50927 (grub_vbe_get_mode): Renamed from this...
50928 (grub_vbe_bios_get_mode): ... to this.
50929 (grub_vbe_set_memory_window): Renamed from this...
50930 (grub_vbe_bios_set_memory_window): ... to this.
50931 (grub_vbe_get_memory_window): Renamed from this...
50932 (grub_vbe_bios_get_memory_window): ... to this.
50933 (grub_vbe_set_scanline_length): Renamed from this...
50934 (grub_vbe_set_scanline_length): ... to this.
50935 (grub_vbe_get_scanline_length): Renamed from this...
50936 (grub_vbe_bios_get_scanline_length): ... to this.
50937 (grub_vbe_set_display_start): Renamed from this...
50938 (grub_vbe_bios_set_display_start): ... to this.
50939 (grub_vbe_get_display_start): Renamed from this...
50940 (grub_vbe_bios_get_display_start): ... to this.
50941 (grub_vbe_set_palette_data): Renamed from this...
50942 (grub_vbe_bios_set_palette_data): ... to this.
50943 (grub_vbe_bios_get_controller_info): Fixed problem with registers
50944 getting corrupted after calling it. Added more pushes and pops.
50945 (grub_vbe_bios_set_mode): Likewise.
50946 (grub_vbe_bios_get_mode): Likewise.
50947 (grub_vbe_bios_get_memory_window): Likewise.
50948 (grub_vbe_bios_set_scanline_length): Likewise.
50949 (grub_vbe_bios_get_scanline_length): Likewise.
50950 (grub_vbe_bios_get_display_start): Likewise.
50951 (grub_vbe_bios_set_palette_data): Likewise.
50952
50953 * normal/cmdline.c (cl_set_pos): Refresh the screen.
50954 (cl_insert): Likewise.
50955 (cl_delete): Likewise.
50956
50957 * term/gfxterm.c: New file.
50958
50959 * term/i386/pc/vesafb.c: Removed file.
50960
50961 * video/video.c: New file.
50962
50963 * video/i386/pc/vbe.c (real2pm): Added new function.
50964 (grub_video_vbe_draw_pixel): Likewise.
50965 (grub_video_vbe_get_video_ptr): Likewise.
50966 (grub_video_vbe_get_pixel): Likewise
50967 (grub_video_vbe_init): Likewise.
50968 (grub_video_vbe_fini): Likewise.
50969 (grub_video_vbe_setup): Likewise.
50970 (grub_video_vbe_get_info): Likewise.
50971 (grub_video_vbe_set_palette): Likewise.
50972 (grub_video_vbe_get_palette): Likewise.
50973 (grub_video_vbe_set_viewport): Likewise.
50974 (grub_video_vbe_get_viewport): Likewise.
50975 (grub_video_vbe_map_color): Likewise.
50976 (grub_video_vbe_map_rgb): Likewise.
50977 (grub_video_vbe_map_rgba): Likewise.
50978 (grub_video_vbe_unmap_color): Likewise.
50979 (grub_video_vbe_fill_rect): Likewise.
50980 (grub_video_vbe_blit_glyph): Likewise.
50981 (grub_video_vbe_blit_bitmap): Likewise.
50982 (grub_video_vbe_blit_render_target): Likewise.
50983 (grub_video_vbe_scroll): Likewise.
50984 (grub_video_vbe_swap_buffers): Likewise.
50985 (grub_video_vbe_create_render_target): Likewise.
50986 (grub_video_vbe_delete_render_target): Likewise.
50987 (grub_video_vbe_set_active_render_target): Likewise.
50988 (grub_vbe_set_pixel_rgb): Remove function.
50989 (grub_vbe_set_pixel_index): Likewise.
50990 (index_color_mode): Remove static variable.
50991 (active_mode): Likewise.
50992 (framebuffer): Likewise.
50993 (bytes_per_scan_line): Likewise.
50994 (grub_video_vbe_adapter): Added new static variable.
50995 (framebuffer): Likewise.
50996 (render_target): Likewise.
50997 (initial_mode): Likewise.
50998 (mode_in_use): Likewise.
50999 (mode_list): Likewise.
51000
5f97350b 510012006-03-10 Marco Gerards <marco@gnu.org>
51002
51003 * configure.ac (AC_INIT): Bumped to 1.93.
51004
51005 * DISTLIST: Added `include/grub/hfs.h'.
51006
a3c5c6f8 510072006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
51008
51009 * boot/i386/pc/boot.S (general_error): Before looping, try INT
51010 18H, which might help the BIOS falling back to next boot media.
51011
6de53d26 510122006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
51013
51014 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
51015 Poe Chen <poe.poechen@gmail.com>.
51016
77c4a393 510172006-01-17 Marco Gerards <marco@gnu.org>
51018
51019 * include/grub/normal.h: Include <grub/script.h>.
51020 (grub_command_list): Removed struct.
51021 (grub_command_list_t): Removed type.
51022 (grub_menu_entry): Remove members `num' and `command_list'. Add
51023 members `commands' and `sourcecode'.
51024 * include/grub/script.h: Add inclusion guards.
51025 (grub_script_cmd_menuentry): New struct.
51026 (grub_script_execute_menuentry): New prototype.
51027 (grub_script_lexer_record_start): Likewise.
51028 (grub_script_lexer_record_stop): Likewise.
51029 * normal/execute.c (grub_script_execute_menuentry): New function.
51030 * normal/lexer.c (record, recording, recordpos, recordlen): New
51031 variables.
51032 (grub_script_lexer_record_start): New function.
51033 (grub_script_lexer_record_stop): Likewise.
51034 (recordchar): Likewise.
51035 (nextchar): Likewise.
51036 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
51037 2048 as the buffer size. Add the tokens `menuentry' and `@'.
51038 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
51039 (current_menu): New variable.
51040 (free_menu): Mainly rewritten.
51041 (grub_normal_menu_addentry): New function.
51042 (read_config_file): Rewritten.
51043 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 51044 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 51045 the menu entry.
51046 (run): Mainly rewritten.
51047 * normal/parser.y (menu_entry): New variable.
51048 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
51049 (menuentry): New rule.
51050 (command): Add `menuentry'.
51051 (if_statement): Allow additional returns before `fi'.
51052 * normal/script.c (grub_script_create_cmdmenu): New function.
51053
144f1f98 510542006-01-03 Marco Gerards <marco@gnu.org>
51055
51056 * INSTALL: GNU Bison is required.
51057 * configure.ac: Rewritten the test to detect Bison.
51058 * Makefile.in (YACC): New variable. Reported by Xun Sun
51059 <xun.sun.cn@gmail.com>.
51060
af4b2d89 510612006-01-03 Marco Gerards <marco@gnu.org>
51062
51063 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
51064 the HFS+ filesystem to filesystem blocks.
51065 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
51066 GCC warning is silenced.
51067
15643b71 510682006-01-03 Marco Gerards <marco@gnu.org>
51069
51070 * partmap/apple.c (apple_partition_map_iterate): Convert the data
51071 read from disk from big endian to host byte order.
51072
00905879 510732006-01-03 Hollis Blanchard <hollis@penguinppc.org>
51074
51075 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
51076 documentation.
51077 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
51078 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
51079 embedded HFS+ filesystem.
51080 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
51081 (grub_hfs_sblock): Move from here...
51082 * include/grub/hfs.h: To here... New file.
51083 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
51084 documentation.
51085 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
51086 New macros.
51087 (grub_hfsplus_volheader): Change type of member `magic' to
51088 `grub_uint16_t'.
51089 (grub_hfsplus_data): Add new member `embedded_offset'.
51090 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
51091 returned block.
51092 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
51093 Calculate the offset.
51094
8899bc3e 510952005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51096
51097 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
51098 Removed.
51099 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
51100
ae8c0277 511012005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51102
51103 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
51104 ENV->NAME is NULL after allocating ENV->VALUE.
51105
07084456 511062005-12-25 Marco Gerards <marco@gnu.org>
51107
51108 * kern/env.c (grub_env_set): Rewritten the error handling code.
51109
4750f5f1 511102005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51111
51112 * geninit.sh: Made more robust, and more portable.
51113
50214199 511142005-12-25 Marco Gerards <marco@gnu.org>
51115
51116 Add support for Apple HFS+ filesystems.
f19dbdb7 51117
50214199 51118 * fs/hfsplus.c: New file.
51119
51120 * DISTLIST: Added `fs/hfsplus.c'.
51121
51122 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
51123 (hfsplus_mod_SOURCES): New variable.
51124 (hfsplus_mod_CFLAGS): Likewise.
51125 (hfsplus_mod_LDFLAGS): Likewise.
51126 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
51127 (grub_setup_SOURCES): Likewise.
51128 (grub_mkdevicemap_SOURCES): Likewise.
51129 (grub_emu_SOURCES): Likewise.
51130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51131
51132 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
51133
51134 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
51135
befaed6c 511362005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51137
51138 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
51139 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
51140 include/grub/parser.h, include/grub/script.h, kern/parser.c,
51141 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
51142 normal/lexer.c, normal/parser.y, normal/script.c, and
51143 partmap/gpt.c.
51144 Removed kern/sparc64/cache.c.
51145
51146 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
51147 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
51148 grub_emu_init.c.
51149
51150 * configure.ac (AC_INIT): Bumped to 1.92.
51151
6a124103 511522005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
51153
51154 * kern/err.c (grub_error_push): Added new function to support error
51155 stacks.
51156 (grub_error_pop): Likewise.
51157 (grub_error_stack_items): New local variable to support error stacks.
51158 (grub_error_stack_pos): Likewise.
51159 (grub_error_stack_assert): Likewise.
51160 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
51161 stack depth.
51162 (grub_print_error): Added support to print errors from error stack.
51163
51164 * include/grub/err.h (grub_error_push): Added function prototype.
51165 (grub_error_pop): Likewise.
51166
be973c1b 511672005-12-09 Hollis Blanchard <hollis@penguinppc.org>
51168
51169 * configure.ac: Accept `powerpc64' as host_cpu.
51170 (amd64): Rename to `biarch32'.
51171
51172 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
51173 non-cacheline-aligned addresses.
51174
51175 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
51176 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
51177 if `size' is non-zero.
51178
b04216ab 511792005-12-03 Marco Gerards <mgerards@xs4all.nl>
51180
51181 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
51182 and `cd' to make sure the filename is not prefixed with a
51183 directory name.
51184 (pkgdata_MODULES): Add `gpt.mod'.
51185 (gpt_mod_SOURCES): New variable.
51186 (gpt_mod_CFLAGS): Likewise.
51187 (gpt_mod_LDFLAGS): Likewise.
51188
51189 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
51190
51191 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
51192 New macro.
51193
51194 * partmap/gpt.c: New file.
51195
51196 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
51197 GPT partition map is detected.
51198
41730ed9 511992005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
51200
51201 * commands/i386/pc/play.c: New file.
51202 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
51203 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
51204 macros.
f19dbdb7 51205
95dc3643 512062005-11-27 Marco Gerards <mgerards@xs4all.nl>
51207
51208 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
51209 ((unused))' to silence gcc warning.
51210
1569ec51 512112005-11-26 Hollis Blanchard <hollis@penguinppc.org>
51212
51213 * configure.ac: Correct `AC_PROG_YACC' test.
51214
9abde152 512152005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51216
51217 * util/powerpc/ieee1275/grub-install.in: Run the mount point
51218 check before installing files.
51219
44b83271 512202005-11-22 Mike Small <smallm@panix.com>
51221
51222 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
51223 number regex so multidigit numbers are recognized correctly.
51224
512252005-11-22 Mike Small <smallm@panix.com>
51226
51227 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
51228 debugging message before attempting to claim memory.
51229 (grub_rescue_cmd_initrd): Add a claim debugging message and try
51230 multiple addresses in case of failure.
51231
9c12956b 512322005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51233
51234 * term/tparm.c (get_space): Remove empty `if' statement.
51235
51236 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
51237
51238 * kern/parser.c (check_varstate): Rename `state' to 's'.
51239
aeaf81d9 512402005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51241
51242 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
51243 variable definitions to the beginning of each function. Sort stack
51244 variables by size.
51245 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
51246 `buf' argument to `char *'.
51247
79bbb63f 512482005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51249
51250 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
51251 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 51252 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 51253 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51254 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51255 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51256 configfile.mod, search.mod, gzio.mod and test.mod.
51257 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51258 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51259 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51260 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51261 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51262 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51263 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51264 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51265 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51266 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51267 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51268 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51269 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51270 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51271 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51272 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51273 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51274 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51275 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51276 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51277 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51278 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51279 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
51280
51281 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
51282 `grep --include'.
51283 (pkgdata_MODULES): Add test.mod.
51284
233b1628 512852005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51286
51287 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
51288 appending to variables with "+=".
51289 (PModule): Use full pathname to generate *.lst filenames.
51290
51291 * Makefile.in: Fixed list rules moved from genmk.rb.
51292 (.DELETE_ON_ERROR): New special target.
51293 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
51294
51295 * conf/i386-pc.rmk: Include conf/common.mk.
51296 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 51297 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 51298 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51299 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51300 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51301 configfile.mod, search.mod, gzio.mod and test.mod.
51302 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51303 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51304 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51305 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51306 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51307 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51308 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51309 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51310 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51311 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51312 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51313 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51314 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51315 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51316 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51317 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51318 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51319 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51320 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51321 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51322 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51323 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51324 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
51325 here...
51326 * conf/common.rmk: ... to here. New file.
51327
51328 * conf/common.mk: New file.
51329
16f820c8 513302005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
51331
51332 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
51333 (grub_script.tab.c): ... here.
51334
51335 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
51336 (grub_script.tab.c): ... here.
51337
51338 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
51339 (grub_script.tab.c): ... here.
51340
51341 * normal/command.c (grub_command_find): Fixed a memory leak of
51342 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
51343
63ba1554 513442005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51345
51346 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
51347 "@" which marks the start of a comment on ARM.
51348 (VARIABLE): Likewise.
51349
7f67dc13 513502005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51351
79bbb63f 51352 Add support for Linux/ADFS partition tables.
7f67dc13 51353
51354 * partmap/acorn.c: New file.
51355
51356 * include/grub/acorn_filecore.h: Likewise.
51357
51358 * DISTLIST: Added `partmap/acorn.c' and
51359 `include/grub/acorn_filecore.h'.
f19dbdb7 51360
7f67dc13 51361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51362 `partmap/acorn.c'.
51363 (pkgdata_MODULES): Add `acorn.mod'.
51364 (acorn_mod_SOURCES): New variable.
51365 (acorn_mod_CFLAGS): Likewise.
51366
51367 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51368 `partmap/acorn.c'.
51369 (pkgdata_MODULES): Add `acorn.mod'.
51370 (acorn_mod_SOURCES): New variable.
51371 (acorn_mod_CFLAGS): Likewise.
51372
51373 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
51374 (pkgdata_MODULES): Add `acorn.mod'.
51375 (acorn_mod_SOURCES): New variable.
51376 (acorn_mod_CFLAGS): Likewise.
51377 (acorn_mod_LDFLAGS): Likewise.
51378
51379 * include/types.h (grub_disk_addr_t): New typedef.
51380
6d099807 513812005-11-13 Marco Gerards <mgerards@xs4all.nl>
51382
51383 * geninit.sh: New file.
51384
51385 * geninitheader.sh: Likewise.
51386
51387 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
51388 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
51389 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
51390 * commands/configfile.c (grub_configfile_init)
51391 (grub_configfile_fini): Likewise.
51392 * commands/default.c (grub_default_init, grub_default_fini):
51393 Likewise.
51394 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
51395 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
51396 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
51397 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
51398 Likewise.
51399 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
51400 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
51401 Likewise.
51402 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 51403 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 51404 Likewise.
51405 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
51406 Likewise.
fe6b695a 51407 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 51408 Likewise.
51409 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
51410 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
51411 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
51412 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
51413 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
51414 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
51415 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
51416 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
51417 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
51418 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
51419 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
51420 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
51421 * partmap/amiga.c (grub_amiga_partition_map_init)
51422 (grub_amiga_partition_map_fini): Likewise.
51423 * partmap/apple.c (grub_apple_partition_map_init)
51424 (grub_apple_partition_map_fini): Likewise.
51425 * partmap/pc.c (grub_pc_partition_map_init)
51426 (grub_pc_partition_map_fini): Likewise.
51427 * partmap/sun.c (grub_sun_partition_map_init,
51428 grub_sun_partition_map_fini): Likewise.
51429 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
51430 Likewise.
51431
51432 * util/grub-emu.c: Include <grub_modules_init.h>.
51433 (main): Don't initialize and de-initialize any modules directly,
51434 use `grub_init_all' and `grub_fini_all' instead.
51435
51436 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
51437 `grub_vesafb_mod_init'.
51438 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
51439 all users.
51440 * term/i386/pc/vga.c (grub_vga_init): Renamed to
51441 `grub_vga_mod_init'. Updated all users.
51442 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 51443
6d099807 51444 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
51445 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
51446 rules.
51447
51448 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
51449 Generate a function to initialize the module in utilities.
51450 Updated all callers.
51451 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
51452 initialize the module in utilities. Updated all callers.
51453
9046bcf0 514542005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51455
51456 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
51457 escape sequence and a literal ^L to clear the screen.
51458
51459 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
51460 when returning from Open Firmware.
51461
d13ea639 514622005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51463
51464 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
51465 (grub_ofconsole_height): Likewise.
51466 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
51467 manually insert a '\n'.
51468 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
51469 `grub_ofconsole_height'. Return early if these are already set.
51470
a8fcf206 514712005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
51472
51473 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51474 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
51475 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
51476 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
51477 and `normal/script.c'.
51478 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51479 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51480 (test_mod_SOURCES): New variable.
51481 (test_mod_CFLAGS): Likewise.
51482 (test_mod_LDFLAGS): Likewise.
51483 (pkgdata_MODULES): Add `test.mod'.
51484 (grub_script.tab.c): New rule.
51485 (grub_script.tab.h): Likewise.
51486
b6b32745 514872005-11-07 Marco Gerards <mgerards@xs4all.nl>
51488
51489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51490 `commands/test.c', `normal/execute.c', `normal/lexer.c',
51491 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51492 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51493 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51494 (test_mod_SOURCES): New variable.
51495 (test_mod_CFLAGS): Likewise.
51496 (pkgdata_MODULES): Add `test.mod'.
51497 (grub_script.tab.c): New rule.
51498 (grub_script.tab.h): Likewise.
51499
daac212a 515002005-11-06 Marco Gerards <mgerards@xs4all.nl>
51501
51502 Add initial scripting support.
51503
51504 * commands/test.c: New file.
51505 * include/grub/script.h: Likewise.
51506 * normal/execute.c: Likewise.
51507 * normal/function.c: Likewise.
51508 * normal/lexer.c: Likewise.
51509 * normal/parser.y: Likewise.
51510 * normal/script.c: Likewise.
51511
51512 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 51513
daac212a 51514 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
51515 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
51516 `normal/function.c' and `normal/script.c'.
51517 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51518 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 51519 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
51520 variables.
daac212a 51521 (pkgdata_MODULES): Add `test.mod'.
51522 (grub_script.tab.c): New rule.
51523 (grub_script.tab.h): Likewise.
51524
51525 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
51526
51527 * include/grub/normal.h (grub_test_init): New prototype.
51528 (grub_test_fini): Likewise.
f19dbdb7 51529
daac212a 51530 * normal/command.c: Include <grub/script.h>.
51531 (grub_command_execute): Rewritten.
f19dbdb7 51532
daac212a 51533 * util/grub-emu.c (main): Call `grub_test_init' and
51534 `grub_test_fini'.
51535
77500b2b 515362005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51537
51538 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
51539 to 0.
51540 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
51541 there are no pending characters.
51542
e45deb9e 515432005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51544
51545 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
51546 `grub_strndup' to drop device arguments. Replace unnecessary
51547 `grub_strndup' with `grub_strdup'.
51548
4ce32619 515492005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51550
51551 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
51552 `debug' environment variable has been set.
51553
515542005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51555
4ce32619 51556 * Makefile.in (install-local): Use $(DATA).
51557 (uninstall): Likewise.
51558 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
51559 (sbin_UTILITIES): ... to here.
51560 (sbin_SCRIPTS): New variable.
51561 (grub_install_SOURCES): New variable.
51562 * util/powerpc/ieee1275/grub-install.in: New file.
51563 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
51564 variable.
51565 (add_segments): Call `grub_util_get_path'.
51566
25fe6f03 515672005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
51568
51569 From Timothy Baldwin:
51570 * commands/ls.c (grub_ls_list_files): Close FILE with
51571 grub_file_close.
51572 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
51573
04ccf3ec 515742005-10-24 Marco Gerards <mgerards@xs4all.nl>
51575
51576 * include/grub/parser.h: New file.
51577
51578 * kern/parser.c: Likewise.
51579
51580 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
51581 (grub_setup_SOURCES): Likewise.
51582 (grub_probefs_SOURCES): Likewise.
51583 (grub_emu_SOURCES): Likewise.
51584 (kernel_img_HEADERS): Add `parser.h'.
51585
51586 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51587 (grub_emu_SOURCES): Add `kern/parser.c'.
51588 (grubof_SOURCES): Likewise.
51589
51590 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51591 (grubof_SOURCES): Add `kern/parser.c'.
51592
51593 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
51594
51595 * kern/misc.c (grub_split_cmdline): Removed function.
51596
51597 * kern/rescue.c: Include <grub/parser.h>.
51598 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
51599 of `grub_split_cmdline'.
51600
51601 * normal/command.c: Include <grub/parser.h>.
51602 (grub_command_execute): Use `grub_parser_split_cmdline' instead
51603 of `grub_split_cmdline'.
51604
51605 * normal/completion.c: Include <grub/parser.h>.
51606 (cmdline_state): New variable.
51607 (iterate_dir): End the filename with a quote depending on the
51608 command line state.
51609 (get_state): new function.
51610 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
51611 split the arguments and determine the current argument. When the
51612 argument string is not quoted, escape all spaces.
51613
6d8f4b0e 516142005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51615
51616 * normal/sparc64/setjmp.S: New file.
51617
15cf03ed 516182005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51619
51620 * include/grub/sparc64/libgcc.h: New file.
51621 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
51622 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
51623 normal/sparc64/setjmp.c.
51624
03e8661a 516252005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51626
51627 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
51628 * kern/sparc64/cache.S: New file.
51629 * kern/sparc64/cache.c: Removed.
51630 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
51631 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
51632 -mtune=ultrasparc.
51633 (COMMON_LDFLAGS): Add -melf64_sparc.
51634 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
51635 (grubof_SOURCES): Use cache.S instead of cache.c.
51636 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
51637 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
51638 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
51639 commented though.
51640 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
51641 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
51642 (linux_mod_CFLAGS): Commented out.
51643 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
51644 out because module isn't built.
51645 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
51646 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
51647 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
51648 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
51649 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
51650 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51651 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51652 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
51653 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
51654 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
51655 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51656 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51657 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
51658 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
51659
34eeec8a 516602005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
51661
51662 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
51663 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
51664 longer, because HFS should not be used on PC.
51665
708367a3 516662005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51667
51668 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
51669 consistently within the loop.
51670
6fa1251a 516712005-10-15 Marco Gerards <mgerards@xs4all.nl>
51672
51673 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
51674 directory can not be read.
51675
4801580b 516762005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51677
51678 * configure.ac (AC_INIT): Increase the version number to 1.91.
51679
51680 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
51681 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
51682 term/i386/pc/serial.c.
51683
219ad426 516842005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51685
51686 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
51687 file size must be permitted.
51688
51689 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
51690 between %ah and %al.
51691
688e5699 516922005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51693
51694 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
51695 grub_uint64_t.
51696 Call the hook with a NUL-terminated filename.
51697 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
51698 grub_cpu_to_be32.
51699
51700 * kern/term.c (cursor_state): New variable.
51701 (grub_term_set_current): Reset the cursor state on a new
51702 terminal.
51703 (grub_setcursor): Rewritten to use CURSOR_STATE.
51704 (grub_getcursor): New function.
51705
51706 * include/grub/term.h (grub_getcursor): New prototype.
51707
51708 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
51709 integers on ARM. Reported by Timothy Baldwin
51710 <T.E.Baldwin99@members.leeds.ac.uk>.
51711
bb34586c 517122005-10-11 Marco Gerards <mgerards@xs4all.nl>
51713
51714 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
51715 allocated.
51716 (grub_sfs_dir): Likewise.
51717
9a909877 517182005-10-09 Marco Gerards <mgerards@xs4all.nl>
51719
51720 Add support for the SFS filesystem.
51721
51722 * fs/sfs.c: New file.
51723
51724 * DISTLIST: Added `fs/sfs.c'.
51725
51726 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
51727 (grub_probefs_SOURCES): Likewise.
51728 (grub_emu_SOURCES): Likewise.
51729 (pkgdata_MODULES): Add `sfs.mod'.
51730 (sfs_mod_SOURCES): New variable.
51731 (sfs_mod_CFLAGS): Likewise.
51732 (sfs_mod_LDFLAGS): Likewise.
51733
51734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
51735 (pkgdata_MODULES): Add `sfs.mod'.
51736 (sfs_mod_SOURCES): New variable.
51737 (sfs_mod_CFLAGS): Likewise.
51738
51739 * util/grub-emu.c (main): Call `grub_sfs_init' and
51740 `grub_sfs_fini'.
51741
51742 * include/grub/fs.h (grub_sfs_init): New prototype.
51743 (grub_sfs_fini): Likewise.
51744
57bdbde3 517452005-10-07 Marco Gerards <mgerards@xs4all.nl>
51746
51747 Add support for the AFFS filesystem.
51748
51749 * fs/affs.c: New file.
51750
51751 * DISTLIST: Added `fs/affs.c'.
51752
51753 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
51754 (grub_probefs_SOURCES): Likewise.
51755 (grub_emu_SOURCES): Likewise.
51756 (pkgdata_MODULES): Add `affs.mod'.
51757 (affs_mod_SOURCES): New variable.
51758 (affs_mod_CFLAGS): Likewise.
51759 (affs_mod_LDFLAGS): Likewise.
51760
51761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
51762 (pkgdata_MODULES): Add `affs.mod'.
51763 (affs_mod_SOURCES): New variable.
51764 (affs_mod_CFLAGS): Likewise.
51765
51766 * util/grub-emu.c (main): Call `grub_affs_init' and
51767 `grub_affs_fini'.
51768
51769 * include/grub/fs.h (grub_affs_init): New prototype.
51770 (grub_affs_fini): Likewise.
51771
047b67e0 517722005-10-01 Marco Gerards <mgerards@xs4all.nl>
51773
51774 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
51775
59b8208a 517762005-10-01 Marco Gerards <mgerards@xs4all.nl>
51777
51778 * configure.ac: Accept `x86_64' as host_cpu. In that case add
51779 `-m32' to CFLAGS.
51780
51781 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
51782 linking.
f19dbdb7 51783
59b8208a 51784 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
51785 (COMMON_LDFLAGS): New variable.
51786 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
51787 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
51788 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
51789 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
51790 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
51791 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
51792 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
51793 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
51794 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
51795 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
51796 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51797 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51798 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
51799 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
51800 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
51801 variables.
51802 (normal_mod_ASFLAGS): Add `-m32'.
51803
51804 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
51805 (grub_host_size_t, grub_host_ssize_t): New types.
51806 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 51807 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 51808 `GRUB_HOST_SIZEOF_VOID_P'.
51809
51810 * include/grub/kernel.h (struct grub_module_header): Type of
51811 member offset changed to `grub_host_off_t'. Type of member size
51812 changed to `grub_host_size_t'.
51813 (struct grub_module_info): Type of member offset changed to
51814 `grub_host_off_t'. Type of member size changed to
51815 `grub_host_size_t'.
51816
b4093103 518172005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
51818
51819 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 51820
b4093103 51821 * kern/i386/pc/startup.S (multiboot_header): New label.
51822 (multiboot_entry): Likewise.
51823 (multiboot_trampoline): Likewise.
51824
51825 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51826 Increased to 0x4A0.
51827
51828 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
51829 put parentheses after a question mark.
51830 [!GRUB_UTIL] (my_mod): New variable.
51831
51832 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
51833
b2499b29 518342005-09-28 Marco Gerards <mgerards@xs4all.nl>
51835
51836 Adds support for the XFS filesystem. Btrees are not supported
51837 yet.
51838
51839 * fs/xfs.c: New file.
51840
51841 * DISTLIST: Added `fs/xfs.c'.
51842
51843 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
51844 (grub_probefs_SOURCES): Likewise.
51845 (grub_emu_SOURCES): Likewise.
51846 (pkgdata_MODULES): Add `xfs.mod'.
51847 (xfs_mod_SOURCES): New variable.
51848 (xfs_mod_CFLAGS): Likewise.
51849
51850 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
51851 (pkgdata_MODULES): Add `xfs.mod'.
51852 (xfs_mod_SOURCES): New variable.
51853 (xfs_mod_CFLAGS): Likewise.
51854
51855 * util/grub-emu.c (main): Call `grub_xfs_init' and
51856 `grub_xfs_fini'.
51857
51858 * include/grub/fs.h (grub_xfs_init): New prototype.
51859 (grub_xfs_fini): Likewise.
51860
f19dbdb7 51861
83d37a62 518622005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
51863
51864 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
51865 color modes, allow greater than 16 colors to be configured as
51866 a default palette.
51867
47d2d65e 518682005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
51869
51870 * normal/completion.c (complete_arguments): Add the qualifier
51871 const into OPTIONS.
51872
51873 From Omniflux <omniflux+lists@omniflux.com>:
51874 * include/grub/terminfo.h: New file.
51875 * include/grub/tparm.h: Likewise.
51876 * include/grub/i386/pc/serial.h: Likewise.
51877 * term/terminfo.c: Likewise.
51878 * term/tparm.c: Likewise.
51879 * term/i386/pc/serial.c: Likewise.
51880 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
51881 serial.mod.
51882 (terminfo_mod_SOURCES): New variable.
51883 (terminfo_mod_CFLAGS): Likewise.
51884 (serial_mod_SOURCES): Likewise.
51885 (serial_mod_CFLAGS): Likewise.
51886
48b671ff 518872005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
51888
51889 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
51890 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
51891 and kern/powerpc/ieee1275/cmain.c, respectively.
51892
51893 * boot/powerpc/ieee1275/crt0.S: Moved to ...
51894 * kern/powerpc/ieee1275/crt0.S: ... here.
51895
51896 * boot/powerpc/ieee1275/cmain.c: Moved to ...
51897 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 51898
48b671ff 51899 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
51900 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
51901 instead of boot/powerpc/ieee1275/crt0.S and
51902 boot/powerpc/ieee1275/cmain.c, respectively.
51903
51904 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
51905 sectors. It was not used anyway.
51906
09fc77a7 519072005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51908
51909 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
51910 `unused parameter' warning.
51911
003789c7 519122005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51913
51914 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
51915 function.
51916 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
51917 getcharwidth.
51918
67f44c86 519192005-08-28 Marco Gerards <metgerards@student.han.nl>
51920
51921 * include/grub/normal.h (enum grub_completion_type): Added
51922 `GRUB_COMPLETION_TYPE_ARGUMENT'.
51923
51924 * normal/cmdline.c (print_completion): Handle
51925 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
51926 * normal/menu_entry.c (store_completion): Likewise.
51927
51928 * normal/completion.c (complete_arguments): New function.
51929 (grub_normal_do_completion): Call `complete_arguments' when the
51930 current words start with a dash.
51931
0b5abe02 519322005-08-27 Marco Gerards <metgerards@student.han.nl>
51933
51934 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
51935 `gzio.mod' instead of `io.mod').
51936
d9864ee1 519372005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
51938
51939 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
51940 (DISTDIRS): Added io and video.
51941 Rewrite the search routine to make an output consistently.
51942
51943 * DISTLIST: Added conf/sparc64-ieee1275.mk,
51944 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
51945 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
51946 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
51947 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
51948 util/powerpc/ieee1275/misc.c.
f19dbdb7 51949
d9864ee1 51950 * include/grub/gzio.h: New file.
51951 * io/gzio.c: Likewise.
f19dbdb7 51952
d9864ee1 51953 * kern/file.c (grub_file_close): Call grub_device_close only if
51954 FILE->DEVICE is not NULL.
51955
51956 * include/grub/mm.h [!NULL] (NULL): New macro.
51957
51958 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
51959
51960 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
51961 (pkgdata_MODULES): Added gzio.mod.
51962 (gzio_mod_SOURCES): New variable.
51963 (gzio_mod_CFLAGS): Likewise.
51964
51965 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
51966 (pkgdata_MODULES): Added gzio.mod.
51967 (gzio_mod_SOURCES): New variable.
51968 (gzio_mod_CFLAGS): Likewise.
51969
51970 * commands/cat.c: Include grub/gzio.h.
51971 (grub_cmd_cat): Use grub_gzfile_open instead of
51972 grub_file_open.
f19dbdb7 51973
d9864ee1 51974 * commands/cmp.c: Include grub/gzio.h.
51975 (grub_cmd_cmp): Use grub_gzfile_open instead of
51976 grub_file_open.
51977
51978 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
51979 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
51980 grub_file_open.
51981 (grub_rescue_cmd_module): Likewise.
51982
fa46f4b5 519832005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51984
51985 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
51986 kern/sparc64/ieee1275/init.c because it contains _start.
51987 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
51988
e9211b5d 519892005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51990
51991 * configure.ac: Add support for sparc64 host with ieee1275
51992 firmware.
51993 * configure: Generated from configure.ac.
51994 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
51995 instead of int.
51996 (grub_ofdisk_read): Likewise.
51997 (grub_ofdisk_open): Use %p to print pointer values, and cast the
51998 pointers as (void *) to remove a warning.
51999 (grub_ofdisk_close): Likewise.
52000 (grub_ofdisk_read): Likewise.
52001 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
52002 returns, so make it return void to remove a warning.
52003 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
52004 Corresponding prototype change.
52005 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
52006 values, and cast the pointers as (void *) to remove a warning.
52007 (grub_mm_dump): Likewise.
52008 * conf/sparc64-ieee1275.mk: New file.
52009 * conf/sparc64-ieee1275.rmk: Likewise.
52010 * include/grub/sparc64/setjmp.h: Likewise.
52011 * include/grub/sparc64/types.h: Likewise.
52012 * include/grub/sparc64/ieee1275/console.h: Likewise.
52013 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
52014 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
52015 * include/grub/sparc64/ieee1275/time.h: Likewise.
52016 * kern/sparc64/cache.c: Likewise.
52017 * kern/sparc64/dl.c: Likewise.
52018 * kern/sparc64/ieee1275/init.c: Likewise.
52019 * kern/sparc64/ieee1275/openfw.c: Likewise.
52020
385c6a92 520212005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52022
52023 * util/console.c (grub_ncurses_putchar): If C is greater than
52024 0x7f, set C to a question mark.
52025 (grub_ncurses_getcharwidth): New function.
52026 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
52027 getcharwidth.
52028
52029 * normal/menu.c (print_entry): Made aware of Unicode. First,
52030 convert TITLE to UCS-4, and predict the cursor position by
52031 grub_getcharwidth.
52032
52033 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
52034 const to SRC.
52035 * kern/misc.c (grub_utf16_to_utf8): Likewise.
52036
16ccb8b1 520372005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
52038
52039 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
52040 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
52041 grub_strcat.
52042
52043 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
52044 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
52045 grub_strcpy and grub_strlen. Take it into account that a space
52046 character is inserted as a delimiter.
52047
6a85ce79 520482005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
52049
52050 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 52051 invalid magic in the error.
6a85ce79 52052
52053 * commands/search.c: New file.
f19dbdb7 52054
6a85ce79 52055 * util/grub-emu.c (main): Call grub_search_init and
52056 grub_search_fini.
52057
52058 * kern/rescue.c (grub_rescue_print_disks): Removed.
52059 (grub_rescue_print_devices): New function.
52060 (grub_rescue_cmd_ls): Use grub_device_iterate with
52061 grub_rescue_print_devices instead of grub_disk_dev_iterate with
52062 grub_rescue_print_disks.
52063
52064 * kern/partition.c (grub_partition_iterate): Return the result of
52065 PARTMAP->ITERATE instead of GRUB_ERRNO.
52066
52067 * kern/device.c: Include grub/partition.h.
52068 (grub_device_iterate): New function.
52069
52070 * include/grub/partition.h (grub_partition_iterate): Return int
52071 instead of grub_err_t.
52072
52073 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
52074 prototype.
52075 [GRUB_UTIL] (grub_search_fini): Likewise.
52076
52077 * include/grub/device.h (grub_device_iterate): New prototype.
52078
52079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52080 commands/search.c.
52081 (pkgdata_MODULES): Added search.mod.
52082 (search_mod_SOURCES): New variable.
52083 (search_mod_CFLAGS): Likewise.
52084
52085 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
52086 (pkgdata_MODULES): Added search.mod.
52087 (search_mod_SOURCES): New variable.
52088 (search_mod_CFLAGS): Likewise.
52089
52090 * commands/ls.c (grub_ls_list_disks): Renamed to ...
52091 (grub_ls_list_devices): ... this, and use grub_device_iterate.
52092 All callers changed.
52093
52094 * DISTLIST: Added commands/search.c.
52095
ef095434 520962005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
52097
52098 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
52099 conversion.
52100 (grub_getcharwidth): New function.
52101
52102 * kern/misc.c (grub_utf8_to_ucs4): New function.
52103
52104 * include/grub/term.h (struct grub_term): Added a new member
52105 "getcharwidth".
52106 (grub_getcharwidth): New prototype.
52107
52108 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
52109
52110 * term/i386/pc/console.c (map_char): New function. Segregated from
52111 grub_console_putchar.
52112 (grub_console_putchar): Use map_char.
52113 (grub_console_getcharwidth): New function.
52114 (grub_console_term): Specified grub_console_getcharwidth as
52115 getcharwidth.
52116
52117 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
52118 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
52119
52120 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
52121 GRUB_ERRNO.
52122 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
52123 on grub_strtoul completely.
52124 (write_char): Declare local variables in the beginning of the
52125 function.
52126 (grub_vesafb_getcharwidth): New function.
52127 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
52128 getcharwidth.
52129
1f0a95e4 521302005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
52131
52132 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
52133 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
52134 commands/i386/pc/vbetest.c.
52135
52136 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
52137 call grub_vbe_get_controller_info again, because the returned
52138 information is volatile.
52139 (grub_vbe_set_video_mode): Mostly rewritten.
52140 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
52141 grub_vbe_status_t correctly.
52142 (grub_vbe_get_video_mode_info): Likewise.
52143 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
52144 several if statements.
52145
52146 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
52147 * commands/i386/pc/vbeinfo.c: ... this.
52148
52149 * commands/i386/pc/vbe_test.c: Renamed to ...
52150 * commands/i386/pc/vbetest.c: ... this.
52151
52152 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
52153 ...
52154 (grub_cmd_vbeinfo): ... this. Save video modes before
52155 iterating. Skip a video mode, if it is not available, not enough
52156 information is given or it is monochrome. Show the memory
52157 model. Leave the interpretation of MODEVAR to grub_strtoul
52158 completely.
52159 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
52160 (GRUB_MOD_FINI): Likewise.
52161
52162 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
52163 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
52164 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
52165 duplicated grub_env_get. Leave the interpretation of MODEVAR to
52166 grub_strtoul completely.
52167 (real2pm): Removed.
52168 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
52169 (GRUB_MOD_FINI): Likewise.
52170
52171 * normal/misc.c: Include grub/mm.h.
52172
52173 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
52174 vbe_list_modes with vbetest.mod and vbeinfo.mod.
52175 (vbe_list_modes_mod_SOURCES): Removed.
52176 (vbe_list_modes_mod_CFLAGS): Likewise.
52177 (vbe_test_mod_SOURCES): Likewise.
52178 (vbe_test_mod_CFLAGS): Likewise.
52179 (vbeinfo_mod_SOURCES): New variable.
52180 (vbeinfo_mod_CFLAGS): Likewise.
52181 (vbetest_mod_SOURCES): Likewise.
52182 (vbetest_mod_CFLAGS): Likewise.
52183
992ffbbe 521842005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
52185
52186 * normal/misc.c: New file.
52187
52188 * DISTLIST: Added normal/misc.c.
f19dbdb7 52189
992ffbbe 52190 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
52191 DISK to HOOK. Call HOOK with DISK.
52192 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52193 * partmap/pc.c (pc_partition_map_iterate): Likewise.
52194 * partmap/sun.c (sun_partition_map_iterate): Likewise.
52195
52196 * normal/menu_entry.c (struct screen): Added a new member
52197 "completion_shown".
52198 (completion_buffer): New global variable.
52199 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
52200 (store_completion): New function.
52201 (complete): Likewise.
52202 (clear_completions): Likewise.
52203 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
52204 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
52205 a tab, call complete.
52206
52207 * normal/completion.c (disk_dev): Removed.
52208 (print_simple_completion): Likewise.
52209 (print_partition_completion): Likewise.
52210 (print_func): New global variable.
52211 (add_completion): Do not take the arguments WHAT or PRINT any
52212 longer. Added a new argument TYPE. Instead of printing directly,
52213 call PRINT_FUNC if not NULL.
52214 All callers changed.
52215 (complete_device): Use a local variable DEV instead of
52216 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
52217 (grub_normal_do_completion): Take a new argument HOOK. Do not
52218 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
52219 empty string, return NULL instead.
52220 All callers changed.
52221
52222 * normal/cmdline.c (print_completion): New function.
52223
52224 * kern/partition.c (grub_partition_iterate): Add an argument DISK
52225 to HOOK.
52226 All callers changed.
52227
52228 * kern/disk.c (grub_print_partinfo): Removed.
52229
52230 * include/grub/partition.h (struct grub_partition_map): Add a new
52231 argument DISK into HOOK of ITERATE.
52232 (grub_partition_iterate): Add a new argument DISK to HOOK.
52233
52234 * include/grub/normal.h (enum grub_completion_type): New enum.
52235 (grub_completion_type_t): New type.
52236 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
52237 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
52238 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
52239 (GRUB_COMPLETION_TYPE_FILE): Likewise.
52240 (grub_normal_do_completion): Added a new argument HOOK.
52241 (grub_normal_print_device_info): New prototype.
52242
52243 * include/grub/disk.h (grub_print_partinfo): Removed.
52244
52245 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
52246 (normal_mod_SOURCES): Likewise.
52247 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52248 (normal_mod_SOURCES): Likewise.
52249
52250 * commands/ls.c (grub_ls_list_disks): Use
52251 grub_normal_print_device_info instead of grub_print_partinfo. Free
52252 PNAME.
52253 (grub_ls_list_files): Use grub_normal_print_device_info instead of
52254 duplicating the code.
52255
0bd41162 522562005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52257
52258 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 52259 follow GCS more precisely.
52260 * commands/i386/pc/vbe_test.c: Likewise.
52261 * include/grub/i386/pc/vbe.h: Likewise.
52262 * term/i386/pc/vesafb.c: Likewise.
52263 * video/i386/pc/vbe.c: Likewise.
0bd41162 52264
6323696a 522652005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52266
52267 * DISTLIST: Added term/i386/pc/vesafb.c
52268 DISTLIST: Added video/i386/pc/vbe.c
52269 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
52270 DISTLIST: Added commands/i386/pc/vbe_test.c.
52271 * commands/i386/pc/vbe_list_modes.c: New file.
52272 * commands/i386/pc/vbe_test.c: Likewise.
52273 * term/i386/pc/vesafb.c: Likewise.
52274 * video/i386/pc/vbe.c: Likewise.
52275 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
52276 (grub_vbe_probe) Added prototype.
52277 (grub_vbe_set_video_mode) Likewise.
52278 (grub_vbe_get_video_mode) Likewise.
52279 (grub_vbe_get_video_mode_info) Likewise.
52280 (grub_vbe_set_pixel_rgb) Likewise.
52281 (grub_vbe_set_pixel_index) Likewise.
52282 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
52283 (pkgdata_MODULES): Added vesafb.mod.
52284 (pkgdata_MODULES): Added vbe_list_modes.mod.
52285 (pkgdata_MODULES): Added vbe_test.mod.
52286 (vbe_mod_SOURCES): Added.
52287 (vbe_mod_CFLAGS): Likewise.
52288 (vesafb_mod_SOURCES): Likewise.
52289 (vesafb_mod_CFLAGS): Likewise.
52290 (vbe_list_modes_mod_SOURCES): Likewise.
52291 (vbe_list_modes_mod_CFLAGS): Likewise.
52292 (vbe_test_mod_SOURCES): Likewise.
52293 (vbe_test_mod_CFLAGS): Likewise.
52294
0a74e62f 522952005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
52296
0a74e62f 52297 * normal/command.c (grub_command_execute): If INTERACTIVE is
52298 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
52299 CMDLINE. Disable the pager if INTERACTIVE is true.
52300 All callers are changed.
52301
52302 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
52303 before reading a config file.
52304 * normal/main.c (read_config_file): Even if a command is not
52305 found, register it if it is within an entry.
52306
52307 * util/grub-emu.c: Include sys/types.h and unistd.h.
52308 (options): Added --hold.
52309 (struct arguments): Added a new member "hold".
52310 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
52311 missing.
52312 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
52313 cleared by a debugger, if it is not zero.
52314
52315 * include/grub/normal.h (grub_command_execute): Add an argument
52316 INTERACTIVE.
52317
e51f85ae 523182005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
52319
52320 * DISTLIST: Added include/grub/i386/pc/vbe.h.
52321
e9c6f39b 523222005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
52323
52324 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
52325 program with another one, because the old one didn't detect a bug
52326 in gcc-3.4. Always use regparm 2, because the new test is still
52327 not enough for gcc-4.0. Someone must investigate a simple test
52328 case which detects a bug in gcc-4.0.
52329
8de3495c 523302005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
52331
52332 * DISTLIST: Added normal/completion.c.
52333
52334 * normal/completion.c: New file.
f19dbdb7 52335
8de3495c 52336 * term/i386/pc/console.c (grub_console_getwh): New function.
52337 (grub_console_term): Assign grub_console_getwh to getwh.
52338
52339 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
52340 function is defined in normal/completion.c as
52341 grub_normal_do_completion.
52342 (grub_cmdline_get): Use grub_normal_do_completion instead of
52343 grub_tab_complete.
52344
52345 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
52346 returns non-zero, otherwise return 0.
52347 (grub_partition_iterate): First, probe the partition map. Then,
52348 call ITERATE only for this partition map.
52349
52350 * kern/misc.c (grub_strncmp): Rewritten.
52351
52352 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
52353 returns non-zero. Otherwise return 0.
52354
52355 * include/grub/partition.h (grub_partition_map_iterate): Return
52356 int instead of void.
52357
52358 * include/grub/normal.h (grub_normal_do_completion): New prototype.
52359
52360 * include/grub/misc.h (grub_strncmp): Change the type of N to
52361 grub_size_t.
52362
52363 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
52364 of void.
52365
52366 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 52367 unsigned explicitly before comparing it with I.
8de3495c 52368
52369 * kern/main.c (grub_env_write_root): Add the attribute unused into
52370 VAR.
52371
52372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52373 normal/completion.c.
52374 (normal_mod_SOURCES): Likewise.
52375 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
52376 (normal_mod_SOURCES): Likewise.
52377
52378 * normal/command.c (grub_iterate_commands): If ITERATE returns
52379 non-zero, return one immediately.
52380
e85e144b 523812005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
52382
52383 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
52384 * kern/i386/pc/startup.S: Updated Global Descriptor table's
52385 descriptions.
52386 (grub_vbe_get_controller_info): New function.
52387 (grub_vbe_get_mode_info): Likewise.
52388 (grub_vbe_set_mode): Likewise.
52389 (grub_vbe_get_mode): Likewise.
52390 (grub_vbe_set_memory_window): Likewise.
52391 (grub_vbe_get_memory_window): Likewise.
52392 (grub_vbe_set_scanline_length): Likewise.
52393 (grub_vbe_get_scanline_length): Likewise.
52394 (grub_vbe_set_display_start): Likewise.
52395 (grub_vbe_get_display_start): Likewise.
52396 (grub_vbe_set_palette_data): Likewise.
52397 * include/grub/i386/pc/vbe.h: New file.
52398
c46153d2 523992005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52400
52401 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52402 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
52403 * DISTLIST: Likewise.
52404 * kern/ieee1275/of.c: Moved to ...
52405 * kern/ieee1275/ieee1275.c: ... here.
52406
0cb90c45 524072005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52408
52409 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
52410 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
52411 Pass 0 as `end' parameter to grub_strtoul().
52412
a19fb360 524132005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52414
52415 * include/grub/powerpc/ieee1275/console.h: Do not include
52416 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
52417 ifdef.
52418 (grub_console_cur_color): Remove i386-specific prototype.
52419 (grub_console_real_putchar): Likewise.
52420 (grub_console_checkkey): Likewise.
52421 (grub_console_getkey): Likewise.
52422 (grub_console_getxy): Likewise.
52423 (grub_console_gotoxy): Likewise.
52424 (grub_console_cls): Likewise.
52425 (grub_console_setcursor): Likewise.
52426 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
52427 Include <grub/machine/console.h>.
52428 * term/ieee1275/ofconsole.c: Likewise.
52429
4ac9bd04 524302005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
52431
52432 * Makefile.in (LIBLZO): New variable.
52433
52434 * configure.ac: Check for LZO version 2.
52435
52436 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
52437 lzo/lzo1x.h instead of lzo1x.h.
52438
52439 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
52440 of -llzo.
52441
52442 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
52443 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
52444
52445 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
52446 copying the data from PARTITION to P.
52447
f4917dfd 524482005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52449
52450 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
52451 negative, unload the module.
52452
52453 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
52454 map is "pc_partition_map" but not "pc".
52455 (usage): Fix the description. The options are --boot-image and
52456 --core-image but not --boot-file or --core-file.
52457 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
52458 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
52459 DEFAULT_DIRECTORY.
52460
52461 * util/i386/pc/grub-install.in: Do not specify --boot-file or
52462 --core-file. Specify INSTALL_DEVICE as an argument.
52463
52464 * util/console.c: Include config.h.
52465 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
52466 [HAVE_NCURSES_H]: Include ncurses.h.
52467 [HAVE_CURSES_H]: Include curses.h.
52468 [!A_NORMAL] (A_NORMAL): Defined as zero.
52469 [!A_STANDOUT] (A_STANDOUT): Likewise.
52470
52471 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
52472 -lncurses.
52473 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
52474
52475 * configure.ac: Check for curses libraries and headers.
52476
52477 * Makefile.in (LIBCURSES): New variable.
52478
52479 * genmk.rb (Script::rule): Set the executable bits.
52480
52481 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
52482 name of the PC partition map is "pc_partition_map" but not "pc".
52483
0e143073 524842005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52485
52486 * util/i386/pc/grub-install.in (grub_probefs): New variable.
52487 (modules): Likewise.
52488 (usage): Added descriptions for --modules and --grub-probefs.
52489 Handle --modules and --grub-probefs. Save the arguments in MODULES
52490 and GRUB_PROBEFS, respectively.
52491 Auto-detect a filesystem module against GRUBDIR. If the result is
52492 empty and modules are not specified explicitly, abort the
52493 installation. Add the result to MODULES.
52494
52495 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
52496 disk/powerpc/ieee1275/ofdisk.c,
52497 include/grub/powerpc/ieee1275/init.h and
52498 term/powerpc/ieee1275/ofconsole.c.
52499 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
52500 term/ieee1275/ofconsole.c.
52501
52502 * include/grub/powerpc/ieee1275/console.h: Resurrected.
52503
52504 * COPYING: Upgraded to the latest version. Only the address of the
52505 FSF office has changed.
f19dbdb7 52506
efd6e6d5 525072005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52508
52509 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52510 kern/ieee1275.c with kern/ieee1275/of.c.
52511
52512 * kern/ieee1275.c: Moved to ...
52513 * kern/ieee1275/of.c: ... here.
52514
8ceafda2 525152005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
52516
52517 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 52518 readability.
8ceafda2 52519
52520 * config.guess: Updated to the latest version from gnulib.
52521 * config.sub: Likewise.
52522 * install.sh: Likewise.
52523 * mkinstalldirs: Likewise.
52524
52525 * include/grub/console.h: Removed. This file is arch-specific. Do
52526 not put this in include/grub.
52527
52528 * include/grub/i386/pc/console.h: Resurrected.
52529
52530 * util/console.c: Include grub/machine/console.h instead of
52531 grub/console.h.
52532 * util/grub-emu.c: Likewise.
52533
267f6cd9 525342005-08-04 Marco Gerards <metgerards@student.han.nl>
52535
52536 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
52537 hardcoded value.
f19dbdb7 52538
267f6cd9 52539 From Vincent Pelletier <subdino2004@yahoo.fr>
52540 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
52541 Redefined to use grub_getwh.
52542 (grub_term): New member named getwh.
52543 (grub_getwh): New prototype.
52544 * kern/term.c (grub_getwh): New function.
52545 * term/i386/pc/console.c (grub_console_getwh): New function.
52546 (grub_console_term): New member `getwh'.
52547 * term/i386/pc/vga.c (grub_vga_getwh): New function.
52548 (grub_vga_term): New member `getwh'.
0b5abe02 52549 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 52550 grub_ssize_t.
52551 (grub_ofconsole_getw): New function.
52552 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
52553 (grub_ofconsole_term): New field named getwh and new initial
52554 value.
52555
3be7266d 525562005-08-03 Hollis Blanchard <hollis@penguinppc.org>
52557
52558 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
52559 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
52560 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
52561 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
52562 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
52563 of <grub/machine/ieee1275.h>.
52564 * commands/ieee1275/reboot.c: Likewise.
52565 * boot/powerpc/ieee1275/ieee1275.c: Move ...
52566 * kern/ieee1275.c: ... to here. All users updated. Change all
52567 parameter structs to use new type `grub_ieee1275_cell_t'.
52568 * term/powerpc/ieee1275/ofconsole.c: Move ...
52569 * term/ieee1275/ofconsole.c: ... to here. All users updated.
52570 * disk/powerpc/ieee1275/ofdisk.c: Move ...
52571 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
52572 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
52573 to return int.
52574 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
52575 Remove unused prototypes. All users updated.
52576 * include/grub/powerpc/ieee1275/console.h: Removed.
52577 * include/grub/powerpc/ieee1275/ieee1275.h: Define
52578 `grub_ieee1275_cell_t'.
52579 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
52580 Cast comparisons with -1 to the correct type.
52581 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
52582 type to match `grub_ieee1275_entry_fn'.
52583
8b5f3938 525842005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
52585
52586 * DISTLIST: Added util/i386/pc/grub-probefs.c.
52587
52588 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
52589 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
52590 partmap/sun.c.
52591 (grub_probefs_SOURCES): New variable.
52592
52593 * util/i386/pc/grub-probefs.c: New file.
52594
52595 * util/i386/pc/grub-setup.c (main): Call
52596 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
52597 grub_hfs_init and grub_jfs_init to initialize the system. Call
52598 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
52599 grub_pc_partition_map_fini to finish the system.
52600
ea409713 526012005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
52602
52603 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
52604 function.
52605 (grub_multiboot_load_elf32): Likewise.
52606 (grub_multiboot_is_elf64): Likewise.
52607 (grub_multiboot_load_elf64): Likewise.
52608 (grub_multiboot_load_elf): Likewise.
52609 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
52610 an ELF32 or ELF64 file.
52611 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
52612
52613 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
52614 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
52615 NULL before calling FS->LABEL.
52616 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
52617 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
52618 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
52619 before calling FS->LABEL.
52620
141a288b 526212005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
52622
52623 * util/i386/pc/grub-install.in (datadir): New variable.
52624 (libdir): Removed.
52625 (pkgdatadir): New variable.
52626 (pkglibdir): Removed.
52627
0d5f8a54 526282005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
52629
52630 * DISTLIST: Added util/i386/pc/grub-install.in.
52631
52632 * util/i386/pc/grub-install.in: New file.
52633
52634 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
52635 (grub_install_SOURCES): Likewise.
52636
52637 * genmk.rb: Added support for scripts.
52638 (Script): New class.
52639 (scripts): New variable.
52640
52641 * Makefile.in (install-local): Install sbin_SCRIPTS by
52642 INSTALL_SCRIPT.
52643 (uninstall): Remove sbin_SCRIPTS.
52644
52645 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
52646 device, try to get a GRUB device by
52647 grub_util_biosdisk_get_grub_dev.
52648 Free DEST_DEV.
52649
52650 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
52651 description for --device-map.
52652
5f968e1e 526532005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52654
52655 Change the semantics of variable hooks. They now return strings
52656 instead of error values.
f19dbdb7 52657
5f968e1e 52658 * util/i386/pc/grub-setup.c: Include grub/env.h.
52659 (setup): Use grub_device_set_root instead of grub_env_set.
52660
52661 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
52662 grub_env_get instead of grub_device_set_root and
52663 grub_device_get_root, respectively.
52664
52665 * kern/main.c (grub_env_write_root): New function.
52666 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
52667 grub_env_set instead of grub_device_set_root.
52668
52669 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
52670 many variables.
52671 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
52672 rather than calling ENV->WRITE_HOOK afterwards.
52673 (grub_env_get): Return the result of ENV->READ_HOOK rather than
52674 passing a pointer of a pointer.
52675 (grub_register_variable_hook): Change the types of "read_hook" and
52676 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
52677 respectively.
52678 Allocate the default empty string on the heap, because this string
52679 may be freed later.
52680
52681 * kern/device.c: Include grub/env.h.
52682 (grub_device_set_root): Removed.
52683 (grub_device_get_root): Likewise.
52684 (grub_device_open): Use grub_env_get instead of
52685 grub_device_get_root.
52686
52687 * include/grub/env.h (grub_env_read_hook_t): New type.
52688 (grub_env_write_hook_t): Likewise.
52689 (grub_env_var): Change the types of "read_hook" and "write_hook"
52690 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
52691 (grub_register_variable_hook): Likewise.
52692
52693 * include/grub/device.h (grub_device_set_root): Removed.
52694 (grub_device_set_root): Likewise.
52695
52696 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
52697 make sure that DIRNAME terminates with '/', so that
52698 grub_fat_find_dir will fail if PATH is not a directory.
52699
52700 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
52701 from DIRNAME.
52702 Use the qualifier auto for print_files and print_files_long.
52703 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
52704 as a regular file.
52705 Put a newline only if there is no error.
52706 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
52707 used.
52708
896f0afd 527092005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52710
52711 * kern/partition.c (grub_partition_probe): Initialize PART to
52712 NULL. Otherwise, when no partition map is registered, this returns
52713 a garbage.
52714
b28b81b2 527152005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
52716
52717 * partmap/apple.c (apple_partition_map_iterate): Check if POS
52718 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
52719 valid.
52720
5f3607e0 527212005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
52722
52723 * commands/ls.c (grub_ls_list_disks): Print the filesystem
52724 information on each device, if it does not have partitions. Print
52725 "Device" instead of "Disk", because this function is not specific
52726 to disk devices.
52727
52728 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
52729 static to ensure that it is put on the memory rather than a
52730 register.
52731
502c87e8 527322005-07-17 Yoshinori Okuji <okuji@enbug.org>
52733
52734 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
52735 (grub_cat_init): Likewise.
52736 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
52737 (options): Likewise.
52738 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
52739 (grub_configfile_init): Likewise.
52740 * font/manager.c (GRUB_MOD_INIT): Likewise.
52741 * commands/help.c (GRUB_MOD_INIT): Likewise.
52742 (grub_help_init): Likewise.
52743 * normal/command.c (grub_command_init): Likewise.
52744 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
52745 * disk/loopback.c (grub_loop_init): Likewise.
52746 (GRUB_MOD_INIT): Likewise.
52747 * commands/ls.c (grub_ls_init): Likewise.
52748 (GRUB_MOD_INIT): Likewise.
52749 (options): Likewise.
52750 * commands/boot.c (grub_boot_init): Likewise.
52751 (GRUB_MOD_INIT): Likewise.
52752 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
52753 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
52754 (GRUB_MOD_INIT): Likewise.
52755 * commands/cmp.c (grub_cmp_init): Likewise.
52756 (GRUB_MOD_INIT): Likewise.
52757
52758 * normal/arg.c: Use <> instead of "" to include header files.
52759 (SHORT_ARG_HELP): New macro.
52760 (SHORT_ARG_USAGE): Likewise.
52761 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
52762 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
52763 descriptions.
52764 (find_short): Check if C is 'h' or 'u' explicitly.
52765 (grub_arg_show_help): Use space characters instead of tabs. Treat
52766 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
52767 are shown with --help and --usage only if they are not used for
52768 the command itself.
52769 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
52770 'h' and 'u'.
52771
52772 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
52773 const into "longarg". Change the type of "shortarg" to int.
52774
f806d18e 527752005-07-17 Yoshinori Okuji <okuji@enbug.org>
52776
52777 * boot/i386/pc/boot.S (boot_drive_check): New label.
52778
52779 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
52780 macro.
52781
52782 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
52783 which do not pass a boot drive correctly. Copied from GRUB Legacy.
52784
e293232b 527852005-07-17 Yoshinori Okuji <okuji@enbug.org>
52786
52787 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
52788 When turning off Gate A20, skip the check and return immediately,
52789 because this is not fatal usually.
52790
ebedfd00 527912005-07-17 Yoshinori Okuji <okuji@enbug.org>
52792
52793 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
52794 be 0x7C00 instead of 0x8000.
52795
52796 * boot/i386/pc/pxeboot.S: Rewritten.
52797
52798 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
52799 EXT_C.
52800 (gate_a20_check_state): Read a byte from 0x108000. Invert the
52801 result.
52802
654fc59f 528032005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
52804
52805 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
52806 robustness. This routine now supports a BIOS call and System
52807 Control Port A to modify the gate A20.
52808
52809 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
52810 Increased to 0x440.
52811
09f9923f 528122005-07-12 Hollis Blanchard <hollis@penguinppc.org>
52813
52814 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
52815 device path and resulting ihandle.
52816 (grub_ofdisk_close): dprintf the ihandle being closed.
52817 (grub_ofdisk_read): dprintf function parameters.
52818 * kern/mm.c (grub_mm_init_region): Likewise.
52819 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
52820 (grub_linux_boot): dprintf the Linux entry point, initrd address and
52821 size, and boot arguments.
52822 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
52823 before loading into memory.
52824 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
52825 before loading into memory.
52826
7ef504d8 528272005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
52828
52829 * kern/mm.c: Added much documentation.
52830 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
52831 8, set to 5 instead of 8.
52832
e0f050c2 528332005-07-10 Yoshinori Okuji <okuji@enbug.org>
52834
52835 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
52836
52837 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
52838 (grub_mkdevicemap_SOURCES): New variable.
52839
52840 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
52841 lib/device.c of GRUB Legacy.
52842
7224189a 528432005-07-10 Yoshinori Okuji <okuji@enbug.org>
52844
52845 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
52846 instead of PATH is NULL.
52847
68c864eb 528482005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
52849
52850 * commands/cmp.c (BUFFER_SIZE): New macro.
52851 (grub_cmd_cmp): Close the right file at the right time. Compare
52852 only data just read. Don't report files of different size as
52853 identical. Dynamically allocate buffers. Move variable
52854 declarations at the beginning of function.
52855
e6f3e614 528562005-07-09 Yoshinori Okuji <okuji@enbug.org>
52857
52858 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
52859 reverse.
52860
f8f1559a 528612004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
52862
52863 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
52864 when backspace is pressed at beginning of line.
52865
39c9d41d 528662005-07-03 Yoshinori Okuji <okuji@enbug.org>
52867
52868 * DISTLIST: Added genfslist.sh.
52869
52870 * normal/main.c (fs_module_list): New variable.
52871 (autoload_fs_module): New function.
52872 (read_fs_list): Likewise.
52873 (grub_normal_execute): Call read_fs_list.
52874
52875 * kern/fs.c (grub_fs_autoload_hook): New variable.
52876 (grub_fs_probe): Added support for auto-loading.
52877
52878 * include/grub/normal.h (struct grub_fs_module_list): New struct.
52879 (grub_fs_module_list_t): New type.
52880
52881 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
52882 (grub_fs_autoload_hook): New prototype.
52883
52884 * genfslist.sh: New file.
f19dbdb7 52885
39c9d41d 52886 * genmk.rb: Added a rule to generate a filesystem list.
52887
121c1d83 528882005-06-30 Marco Gerards <metgerards@student.han.nl>
52889
52890 * configure.ac: Fix the test for cross-compiling.
52891
52892 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
52893 define GRUB_UTIL anymore.
52894
52895 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
52896 so this function works on other systems than just big endian.
52897 (load_modules): Likewise.
52898 (add_segments): Likewise.
52899
e75d76e1 529002005-06-23 Hollis Blanchard <hollis@penguinppc.org>
52901
52902 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
52903 contains `l' modifier, get a long from va_arg().
52904
50b5a0a7 529052005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
52906
52907 * kern/mm.c (grub_free): If the next free block which is being
52908 merged is the first free block, set the first block to the block
52909 being freed.
52910 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
52911
89371b20 529122005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52913
52914 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
52915 `grub_ieee1275_chosen'.
52916
168d6e58 529172005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52918
52919 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
52920 (grub_ieee1275_chosen): New variable.
52921 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
52922 `chosen'.
52923 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
52924 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52925 Rename first argument to `phandle' for consistency.
52926 (grub_ieee1275_get_property_length): Likewise.
52927 (grub_ieee1275_next_property): Likewise. Change type of first argument
52928 to grub_ieee1275_phandle_t.
52929 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
52930 Move export next to declaration.
52931 (grub_ieee1275_chosen): New variable.
52932 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
52933 Correct cosmetic typo.
52934 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
52935 `grub_ieee1275_chosen'.
52936 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
52937 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
52938 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
52939 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
52940 `grub_ieee1275_chosen'.
52941
ca5baa3f 529422005-05-10 Hollis Blanchard <hollis@penguinppc.org>
52943
52944 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
52945 /chosen/bootargs.
52946 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
52947 /chosen/bootargs as "variable=value" pairs.
52948
708b345f 529492005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
52950
52951 * include/grub/misc.h (grub_dprintf): New macro.
52952 (grub_real_dprintf): New prototype.
52953 (grub_strword): Likewise.
52954 (grub_iswordseparator): Likewise.
52955 * kern/misc.c (grub_real_dprintf): New function.
52956 (grub_strword): Likewise.
52957 (grub_iswordseparator): Likewise.
52958
f4c5e67c 529592005-04-30 Hollis Blanchard <hollis@penguinppc.org>
52960
52961 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
52962 (roundup): Remove macro.
52963 (grub_ieee1275_flags): Make static.
52964 (grub_ieee1275_realmode): Remove.
52965 (grub_ieee1275_test_flag): New function.
52966 (grub_ieee1275_set_flag): Likewise.
52967 (find_options): Rename to `grub_ieee1275_find_options'; update
52968 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
52969 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
52970 (cmain): New prototype.
52971 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
52972 `grub_ieee1275_flags' directly.
52973 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
52974 machine/biosdisk.h.
52975 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
52976 Don't include grub/machine/init.h.
52977 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
52978 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52979 Remove prototype.
52980 (grub_ieee1275_realmode): Likewise.
52981 (grub_ieee1275_flag): New enum.
52982 (grub_ieee1275_test_flag): New prototype.
52983 (grub_ieee1275_set_flag): New prototype.
52984 * include/grub/powerpc/ieee1275/init.h: Remove file.
52985 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
52986 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
52987 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
52988 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
52989 comment.
52990 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
52991 `grub_ieee1275_test_flag'.
52992 (grub_ieee1275_encode_devname): Likewise.
52993
ed16607e 529942005-04-21 Hollis Blanchard <hollis@penguinppc.org>
52995
52996 * include/grub/powerpc/ieee1275/ieee1275.h
52997 (grub_ieee1275_encode_devname): New prototype.
52998 (grub_ieee1275_get_filename): Likewise.
52999 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
53000 function.
53001 (grub_set_prefix): Likewise.
53002 (grub_machine_init): Call grub_set_prefix.
53003 * kern/powerpc/ieee1275/openfw.c: Fix typos.
53004 (grub_parse_type): New enum.
53005 (grub_ieee1275_get_devargs): New function.
53006 (grub_ieee1275_get_devname): Likewise.
53007 (grub_ieee1275_parse_args): Likewise.
53008 (grub_ieee1275_get_filename): Likewise.
53009 (grub_ieee1275_encode_devname): Likewise.
53010
be369920 530112005-03-30 Marco Gerards <metgerards@student.han.nl>
53012
53013 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
53014 `grub_loader_unset'.
53015
a5ce3a4a 530162005-03-26 Hollis Blanchard <hollis@penguinppc.org>
53017
53018 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
53019 instead of grub_ieee1275_interpret.
53020 (grub_halt_init): New function.
53021 (grub_halt_fini): Likewise.
53022 (GRUB_MOD_INIT): Correct message grammar.
53023 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
53024 instead of grub_ieee1275_interpret.
53025 (grub_reboot_init): New function.
53026 (grub_reboot_fini): Likewise.
53027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
53028 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
53029 util/i386/pc/misc.c with commands/ieee1275/halt.c,
53030 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
53031 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
53032 function.
53033 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
53034 Add prototype.
53035 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
53036 prototype.
53037 (grub_halt): Likewise.
53038 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
53039 (cmain): Remove __attribute__((unused)).
53040 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
53041 (grub_heap_len): Likewise.
53042 (grub_machine_fini): New function.
53043 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
53044 (grub_halt): Likewise.
53045 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
53046 function.
53047 * util/powerpc/ieee1275/misc.c: New file.
53048
0058f771 530492005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
53050
53051 * DISTLIST: New file.
53052 * gendistlist.sh: Likewise.
f19dbdb7 53053
0058f771 53054 * Makefile.in (COMMON_DISTFILES): Removed.
53055 (BOOT_DISTFILES): Likewise.
53056 (CONF_DISTFILES): Likewise.
53057 (DISK_DISTFILES): Likewise.
53058 (FS_DISTFILES): Likewise.
53059 (INCLUDE_DISTFILES): Likewise.
53060 (KERN_DISTFILES): Likewise.
53061 (LOADER_DISTFILES): Likewise.
53062 (TERM_DISTFILES): Likewise.
53063 (UTIL_DISTFILES): Likewise.
53064 (DISTFILES): Likewise.
53065 (uninstall): Uninstall files in $(pkgdata_DATA).
53066 (DISTLIST): New target.
53067 (distdir): Use the contents of the file DISTLIST to get a list of
53068 distributed files.
53069
46b3b8a5 530702005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
53071
53072 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
53073 descriptor. This is ported from GRUB Legacy.
53074
53075 * gencmdlist.sh: Added an extra semicolon to make it work with
53076 old sed versions. Reported by Robert Bihlmeyer
53077 <robbe@orcus.priv.at>.
53078
5822ff87 530792005-03-08 Yoshinori Okuji <okuji@enbug.org>
53080
53081 Automatic loading of commands is supported.
f19dbdb7 53082
5822ff87 53083 * normal/main.c (read_command_list): New function.
53084 (grub_normal_execute): Call read_command_list.
53085
53086 * normal/command.c (grub_register_command): Return zero or CMD.
53087 Allocate CMD->NAME from the heap.
53088 Initialize CMD->MODULE_NAME to zero.
53089 Find the same name as well. If the same command is found and it is
53090 a dummy command, overwrite members. If it is not a dummy command,
53091 return zero.
53092 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
53093 (grub_command_find): If a dummy command is found, load a module
53094 and retry to find a command only once.
53095
53096 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
53097 make sure that each command is loaded.
53098
53099 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
53100 macro.
53101 (struct grub_command): Remove const from the member `name'.
53102 Add a new member `module_name'.
53103 (grub_register_command): Return grub_command_t.
53104
53105 * commands/help.c (grub_cmd_help): Call grub_command_find to make
53106 sure that each command is loaded.
53107
53108 * genmk.rb (PModule::rule): Specify a module name without the
53109 suffix ".mod" to gencmdlist.sh.
53110
7b1f4b57 531112005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
53112
53113 * gencmdlist.sh: New file.
f19dbdb7 53114
7b1f4b57 53115 * genmk.rb (PModule::rule): Generate a rule for a command list.
53116 Clean command.lst.
53117 Generate command.lst from $(COMMANDFILES).
53118
53119 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
53120 (DATA): Added $(pkgdata_DATA).
53121 (install-local): Install files in $(pkgdata_DATA).
53122
062aaf39 531232005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
53124
53125 * term/i386/pc/vga.c (debug_command): Removed.
53126 (GRUB_MOD_INIT): Do not register the command "debug".
53127
53128 From Hollis Blanchard:
53129 * commands/configfile.c: New file.
53130 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53131 commands/configfile.c.
53132 (pkgdata_MODULES): Added configfile.mod.
53133 (configfile_mod_SOURCES): New variable.
53134 (configfile_mod_CFLAGS): Likewise.
53135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
53136 commands/configfile.c.
53137 (pkgdata_MODULES): Added configfile.mod.
53138 (configfile_mod_SOURCES): New variable.
53139 (configfile_mod_CFLAGS): Likewise.
53140 * util/grub-emu.c (main): Call grub_configfile_init and
53141 grub_configfile_fini.
53142 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
53143 prototype.
53144 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 53145
cee01aa6 531462005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
53147
53148 * normal/arg.c (grub_arg_show_help): Do not show the bug report
53149 address.
53150
53151 * commands/help.c (grub_cmd_help): Do not print newlines after
53152 the last command in print_command_help.
53153
93f3a1d8 531542005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
53155
53156 * commands/default.h: New file.
53157 * commands/timeout.h: Likewise.
53158 * normal/context.c: Likewise.
f19dbdb7 53159
93f3a1d8 53160 * util/misc.c: Do not include sys/times.h.
53161 Include sys/time.h and grub/machine/time.h.
53162 (grub_get_rtc): Rewritten with gettimeofday.
53163
53164 * util/grub-emu.c (main): Call grub_default_init and
53165 grub_timeout_init before grub_normal_init, and call
53166 grub_timeout_fini and grub_default_fini after grub_main.
53167
53168 * util/console.c (grub_ncurses_checkkey): Return the read
53169 character or -1.
53170
53171 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
53172 timeouts.
53173
53174 * normal/main.c (read_config_file): Push MENU. If this fails,
53175 print an error and wait for a user input.
53176 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
53177 If a menu is empty or an error occurs, pop MENU.
53178 (grub_normal_execute): Pop and free MENU after grub_menu_run
53179 returns.
53180
53181 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
53182
53183 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
53184 include time.h.
53185 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53186 without GRUB_UTIL.
53187 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
53188 time.h.
53189 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53190 without GRUB_UTIL.
53191
53192 * include/grub/normal.h (struct grub_menu_list): New struct.
53193 (grub_menu_list_t): New type.
53194 (struct grub_context): New struct.
53195 (grub_context_t): New type.
53196 (grub_register_command): Got rid of EXPORT_FUNC.
53197 (grub_unregister_command): Likewise.
53198 (grub_context_get): New prototype.
53199 (grub_context_get_current_menu): Likewise.
53200 (grub_context_push_menu): Likewise.
53201 (grub_context_pop_menu): Likewise.
53202 [GRUB_UTIL] (grub_default_init): Likewise.
53203 [GRUB_UTIL] (grub_default_fini): Likewise.
53204 [GRUB_UTIL] (grub_timeout_init): Likewise.
53205 [GRUB_UTIL] (grub_timeout_fini): Likewise.
53206
53207 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
53208 commands/timeout.c and normal/context.c.
53209 (pkgdata_MODULES): Added default.mod and timeout.mod.
53210 (normal_mod_SOURCES): Added normal/context.c.
53211 (default_mod_SOURCES): New variable.
53212 (default_mod_CFLAGS): Likewise.
53213 (timeout_mod_SOURCES): Likewise.
53214 (timeout_mod_CFLAGS): Likewise.
53215 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
53216 conf/i386-pc.rmk.
53217 (pkgdata_MODULES): Added default.mod and timeout.mod.
53218 (normal_mod_SOURCES): Added normal/context.c.
53219 (default_mod_SOURCES): New variable.
53220 (default_mod_CFLAGS): Likewise.
53221 (timeout_mod_SOURCES): Likewise.
53222 (timeout_mod_CFLAGS): Likewise.
53223
53224 * Makefile.in (all-local): Added $(MKFILES).
53225
4ed2e1dd 532262005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
53227
53228 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
53229 (grub_emu_SOURCES): Likewise.
53230 (pkgdata_MODULES): Add `sun.mod'.
53231 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53233 `partmap/sun.c'.
53234 (pkgdata_MODULES): Add `sun.mod'.
53235 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53236 * include/grub/partition.h (grub_sun_partition_map_init): New
53237 prototype.
53238 (grub_sun_partition_map_fini): Likewise.
53239 * partmap/sun.c: New file.
53240 * util/grub-emu.c (main): Initialize and de-initialize the sun
53241 partitionmap support.
53242
4d4e372e 532432005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
53244
53245 This implements an Emacs-like menu entry editor.
f19dbdb7 53246
4d4e372e 53247 * normal/menu_entry.c: New file.
f19dbdb7 53248
4d4e372e 53249 * util/console.c (grub_ncurses_putchar): Translate some Unicode
53250 characters to ASCII.
53251 (saved_char): New variable.
53252 (grub_ncurses_checkkey): Rewritten completely.
53253 (grub_ncurses_getkey): Likewise.
53254 (grub_ncurses_init): Call raw instead of cbreak.
53255
53256 * normal/menu.c (print_entry): Do not put a space.
53257 (init_page): Renamed to ...
53258 (grub_menu_init_page): ... this. All callers changed.
53259 (edit_menu_entry): Removed.
53260 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
53261
53262 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
53263
53264 * kern/misc.c (grub_vprintf): Call grub_refresh.
53265
53266 * normal/menu.c (DISP_LEFT): Renamed to ...
53267 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
53268 * normal/menu.c (DISP_UP): Renamed to ...
53269 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
53270 * normal/menu.c (DISP_RIGHT): Renamed to ...
53271 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
53272 * normal/menu.c (DISP_DOWN): Renamed to ...
53273 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
53274 * normal/menu.c (DISP_HLINE): Renamed to ...
53275 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
53276 * normal/menu.c (DISP_VLINE): Renamed to ...
53277 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
53278 * normal/menu.c (DISP_UL): Renamed to ...
53279 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
53280 * normal/menu.c (DISP_UR): Renamed to ...
53281 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
53282 * normal/menu.c (DISP_LL): Renamed to ...
53283 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
53284 * normal/menu.c (DISP_LR): Renamed to ...
53285 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
53286 * normal/menu.c (TERM_WIDTH): Renamed to ...
53287 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
53288 * normal/menu.c (TERM_HEIGHT): Renamed to ...
53289 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
53290 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
53291 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
53292 * normal/menu.c (TERM_MARGIN): Renamed to ...
53293 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
53294 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
53295 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
53296 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
53297 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
53298 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
53299 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
53300 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
53301 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
53302 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
53303 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
53304 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
53305 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
53306 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
53307 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
53308 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
53309 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
53310 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
53311 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
53312 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
53313 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
53314 All callers changed.
53315
53316 * include/grub/normal.h: New prototype.
53317
53318 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53319 normal/menu_entry.c.
53320 (normal_mod_SOURCES): Likewise.
53321 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
53322 (normal_mod_SOURCES): Likewise.
53323
e6b92c8a 533242005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
53325
53326 * include/grub/normal.h (grub_halt_init): New prototype.
53327 (grub_halt_fini): Likewise.
53328 (grub_reboot_init): Likewise.
53329 (grub_reboot_fini): Likewise.
53330
53331 * util/grub-emu.c: Include signal.h.
53332 (main_env): New global variable.
53333 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
53334 catch C-c.
53335 (grub_machine_fini): New function.
53336 (main): Call grub_halt_init and grub_reboot_init before
53337 grub_main, and grub_reboot_fini and grub_halt_fini after it.
53338 Call setjmp with MAIN_ENV to go back afterwards.
53339 Call grub_machine_fini right before return.
53340
53341 * include/grub/util/misc.h: Include setjmp.h.
53342 (main_env): New prototype.
53343
53344 * include/grub/kernel.h (grub_machine_fini): New prototype.
53345 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
53346 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
53347
53348 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
53349 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
53350 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 53351
e6b92c8a 53352 * util/i386/pc/misc.c: New file.
f19dbdb7 53353
e6b92c8a 53354 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53355 util/i386/pc/misc.c, commands/i386/pc/halt.c and
53356 commands/i386/pc/reboot.c.
53357
c642636f 533582005-02-14 Guillem Jover <guillem@hadrons.org>
53359
53360 * include/grub/dl.h (grub_dl_check_header): New prototype.
53361 (grub_arch_dl_check_header): Change return type to grub_err_t,
53362 remove size parameter and export function. Update all callers.
53363 * kern/dl.c (grub_dl_check_header): New function.
53364 (grub_dl_load_core): Use `grub_dl_check_header' instead of
53365 `grub_arch_dl_check_header'. Check ELF type. Check if sections
53366 are inside the core.
53367 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
53368 independent ELF header checks.
53369 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53370 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
53371 `grub_dl_check_header' instead of explicit checks. Check for the
53372 ELF type.
53373 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
53374 `grub_dl_check_header' instead of explicit checks. Remove arch
53375 specific ELF header checks.
53376
e6b92c8a 53377 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
53378 argument SIZE.
53379
5eabe94b 533802005-02-13 Hollis Blanchard <hollis@penguinppc.org>
53381
53382 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
53383 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
53384
1b14a681 533852005-02-12 Hollis Blanchard <hollis@penguinppc.org>
53386
53387 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 53388 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 53389 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 53390 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 53391 * partmap/amiga.c (amiga_partition_map_iterate): Return
53392 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
53393 * partmap/apple.c (apple_partition_map_iterate): Likewise.
53394
aca108aa 533952005-02-01 Guillem Jover <guillem@hadrons.org>
53396
53397 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
53398 help info.
53399
c9f9c556 534002005-01-31 Marco Gerards <metgerards@student.han.nl>
53401
53402 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
53403 Removed prototype.
53404 (grub_rescue_cmd_linux): New prototype.
53405 (grub_rescue_cmd_initrd): Likewise.
53406 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
53407 `bi_rec'.
53408 (grub_linux_release_mem): Release the memory for the initrd.
53409 (grub_load_linux): Renamed from this...
53410 (grub_rescue_cmd_linux): ...To this. Changed all callers.
53411 Changed `entry' not to be static. Loop over memory regions to
53412 find another one when the default fails.
53413 (grub_rescue_cmd_initrd): New function.
53414 (grub_linux_init): Remove function.
53415 (grub_linux_fini): Likewise.
53416 (GRUB_MOD_INIT): Register `initrd'.
53417 (GRUB_MOD_FINI): Unregister `initrd'.
53418 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
53419 Function removed.
53420 (grub_linux_normal_fini): Likewise.
53421 (GRUB_MOD_INIT): Register `initrd'.
53422 (GRUB_MOD_FINI): Unregister `initrd'.
53423
990cf3aa 534242005-01-31 Marco Gerards <metgerards@student.han.nl>
53425
53426 * commands/help.c: New file.
53427 * normal/arg.c (show_help): Renamed to...
53428 (grub_arg_show_help): ... this.
53429 * commands/i386/pc/halt.c: New file.
53430 * commands/i386/pc/reboot.c: Likewise.
53431 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
53432 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
53433 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
53434 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
53435 variables.
53436 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53437 `commands/help.c'.
53438 (pkgdata_MODULES): Add `help.mod'.
53439 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
53440 * grub/i386/pc/init.h (grub_reboot): New prototype.
53441 (grub_halt): Likewise.
53442 * include/grub/normal.h (grub_arg_show_help): New prototype.
53443 (grub_help_init): Likewise.
53444 (grub_help_fini): Likewise.
53445 * util/grub-emu.c (main): Initialize and deinitialize the help
53446 command.
53447
53448 * normal/cmdline.c (grub_cmdline_get): Doc fix.
53449
53450 * normal/command.c (grub_command_init): Fixed the description of
53451 the `set' and `unset' commands.
53452
534532005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 53454
53455 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
53456 function.
53457 * commands/ieee1275/halt.c: New file.
53458 * commands/ieee1275/reboot.c: Likewise.
53459 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
53460 `__attribute__ ((unused))'. Some GCS related fixed.
53461 (grub_suspend_init) [GRUB_UTIL]: Function removed.
53462 (grub_suspend_fini): Likewise.
53463 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
53464 and `halt.mod'.
53465 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
53466 (halt_mod_CFLAGS): New variables.
53467 * include/grub/powerpc/ieee1275/ieee1275.h
53468 (grub_ieee1275_interpret): New prototype.
53469
1ab09cc7 534702005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
53471
53472 * include/grub/misc.h (memmove): New prototype.
53473 (memcpy): Likewise.
53474
8b8cbdb2 534752005-01-22 Hollis Blanchard <hollis@penguinppc.org>
53476
53477 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
53478 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
53479
e3741a27 534802005-01-22 Marco Gerards <metgerards@student.han.nl>
53481
53482 * kern/misc.c (grub_strndup): Function rewritten.
53483
776bd780 534842005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
53485
53486 * normal/menu.c (TERM_WIDTH): Macro redefined.
53487 (TERM_TOP_BORDER_Y): Likewise.
53488 (draw_border): Replaced while-loop by a for-loop. Make the number
53489 of lines consistent with the number of lines displayed in
53490 print_entries. Added a margin below the rectangle.
53491 (print_entry): Make the entry fit in the rectangle.
53492 (print_entries): Display the scroll arrows next to the right
53493 border.
53494
78026bce 534952005-01-21 Marco Gerards <metgerards@student.han.nl>
53496
53497 * fs/minix.c (grub_minix_find_file): Reserve more space for
53498 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
53499 `grub_strncpy' to copy `path' into it.
53500
67bbaf0f 535012005-01-21 Marco Gerards <metgerards@student.han.nl>
53502
53503 Add the loopback device, a device via which files can be accessed
53504 as devices.
f19dbdb7 53505
67bbaf0f 53506 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
53507 (pkgdata_MODULES): Add loopback.mod.
53508 (loopback_mod_SOURCES): New variable.
53509 (loopback_mod_CFLAGS): Likewise.
53510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53511 `disk/loopback.c'.
53512 (pkgdata_MODULES): Add loopback.mod.
53513 (loopback_mod_SOURCES): New variable.
53514 (loopback_mod_CFLAGS): Likewise.
53515 * disk/loopback.c: new file.
53516 * include/grub/normal.h (grub_loop_init): New prototype.
53517 (grub_loop_fini): New prototype.
53518 * util/grub-emu.c (main): Initialize and de-initialize loopback
53519 support.
53520 * include/grub/disk.h (grub_disk_dev_id): Add
53521 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
53522
6f1c18bd 535232005-01-20 Hollis Blanchard <hollis@penguinppc.org>
53524
53525 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
53526 function.
53527 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
53528 (suspend_mod_SOURCES): New variable.
53529 (suspend_mod_CFLAGS): Likewise.
53530 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
53531 New prototype.
53532 * commands/ieee1275/suspend.c: New file.
53533
b38551da 535342005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
53535
53536 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 53537 ((unused))' to `__attribute__ ((used))'.
b38551da 53538 (GRUB_MOD_FINI): Likewise.
53539 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
53540 * genmk.rb (PModule): Assign space to common symbols when linking
53541 modules.
53542
777aff39 535432005-01-20 Marco Gerards <metgerards@student.han.nl>
53544
53545 * include/grub/mm.h (grub_mm_init_region): Change the type of the
53546 `unsigned' arguments to `grub_size_t'.
53547 (grub_malloc): Likewise.
53548 (grub_realloc): Likewise.
53549 (grub_memalign): Likewise.
53550 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
53551 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53552 * util/misc.c (grub_malloc): Likewise.
53553 (grub_realloc): Likewise.
53554 * kern/mm.c (get_header_from_pointer): Change the casts to
53555 `unsigned' into a cast to `grub_size_t'.
53556
53557 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
53558 point to `currnode' when `currnode' is changed.
53559
53560 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
53561 Schottelius <nico-linux@schottelius.org>.
53562
d0ff18e1 535632005-01-09 Hollis Blanchard <hollis@penguinppc.org>
53564
53565 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
53566 (note_path): Remove variable.
53567 (GRUB_IEEE1275_NOTE_NAME): New macro.
53568 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
53569 (grub_ieee1275_note_hdr): New structure.
53570 (grub_ieee1275_note_desc): Likewise.
53571 (grub_ieee1275_note): Likewise.
53572 (load_note): Remove `dir' argument. All callers updated. Remove
53573 `note_img' and `path'. Do not load a file from `note_path'.
53574 Initialize a struct grub_ieee1275_note and write that to `out'.
53575 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
53576
4ca7004c 535772005-01-05 Marco Gerards <metgerards@student.han.nl>
53578
53579 * util/misc.c (grub_util_read_image): Revert last change. It
53580 called `grub_util_read_at', which seeks from the beginning of the
53581 file.
53582
0b412211 535832005-01-04 Hollis Blanchard <hollis@penguinppc.org>
53584
53585 * TODO: Add note about endianness in grub-mkimage.
53586 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
53587 section.
53588 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
53589 (grub_mkimage_SOURCES): New target.
53590 * include/grub/kernel.h (grub_start_addr): Remove variable.
53591 (grub_end_addr): Likewise.
53592 (grub_total_module_size): Likewise.
53593 (grub_kernel_image_size): Likewise.
53594 (GRUB_MODULE_MAGIC): New constant.
53595 (grub_module_info): New structure.
53596 (grub_arch_modules_addr): New prototype.
53597 (grub_get_end_addr): Remove prototype.
53598 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
53599 * include/grub/powerpc/ieee1275/kernel.h: New file.
53600 * include/grub/util/misc.h (grub_util_get_fp_size): New
53601 prototype.
53602 (grub_util_read_at): Likewise.
53603 (grub_util_write_image_at): Likewise.
53604 * kern/main.c (grub_get_end_addr): Remove function.
53605 (grub_load_modules): Call grub_arch_modules_addr instead of using
53606 grub_end_addr. Look for a grub_module_info struct in memory. Use
53607 the grub_module_info fields instead of calling grub_get_end_addr
53608 as loop conditions. Move grub_add_unused_region code here.
53609 (grub_add_unused_region): Remove function.
53610 * kern/i386/pc/init.c: Include grub/cache.h.
53611 (grub_machine_init): Remove call to grub_get_end_addr. Remove
53612 one call to add_mem_region.
53613 (grub_arch_modules_addr): New function.
53614 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
53615 (grub_total_module_size): Likewise.
53616 Include grub/machine/kernel.h.
53617 (grub_arch_modules_addr): New function.
53618 * util/grub-emu.c (grub_end_addr): Remove variable.
53619 (grub_total_module_size): Likewise.
53620 (grub_arch_modules_addr): New function.
53621 * util/misc.c: Include unistd.h.
53622 (grub_util_get_fp_size): New function.
53623 (grub_util_read_at): Likewise.
53624 (grub_util_write_image_at): Likewise.
53625 (grub_util_read_image): Call grub_util_read_at.
53626 (grub_util_write_image): Call grub_util_write_image_at.
53627 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
53628 additional memory in kernel_img for a struct grub_module_info.
53629 Fill in that grub_module_info.
53630 * util/powerpc/ieee1275/grub-mkimage.c: New file.
53631
458786f8 536322005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53633
53634 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
53635 New function.
53636 * include/grub/powerpc/ieee1275/ieee1275.h
53637 (grub_ieee1275_milliseconds): New prototype.
53638 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
53639 Change to 1000.
53640 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
53641 grub_ieee1275_milliseconds.
53642
ac507d1b 536432005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53644
53645 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
53646 variable.
53647 (find_options): New function.
53648 (cmain): Call find_options.
53649 * include/grub/powerpc/ieee1275/ieee1275.h
53650 (grub_ieee1275_realmode): New extern variable.
53651 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
53652 grub_map if grub_ieee1275_realmode is false.
53653
6b8fd1c4 536542004-12-29 Marco Gerards <metgerards@student.han.nl>
53655
53656 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
53657 lines are inserted and make it work like readline. Reported by
53658 Vincent Pelletier <subdino2004@yahoo.fr>.
53659
8514a1e0 536602004-12-28 Marco Gerards <metgerards@student.han.nl>
53661
53662 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
53663
53664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
53665 `kern/powerpc/cache.S'.
53666
924b6140 536672004-12-27 Marco Gerards <metgerards@student.han.nl>
53668
53669 * genmk.rb: Handle the `Program' class in the main loop. Written
53670 by Johan Rydberg <jrydberg@gnu.org>.
53671 (Program): New class.
53672 (programs): New variable.
53673 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
53674 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
53675 instead of "grub/kernel.h". Include <grub/machine/init.h>.
53676 (help_arch): Function removed.
53677 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
53678 `powerpc/libgcc.h' and `loader.h'.
53679 (pkgdata_PROGRAMS): New variable.
53680 (sbin_UTILITIES): Variable removed.
53681 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
53682 (grubof_SOURCES): Variable re-defined so it only includes the
53683 core functionality.
53684 (grubof_CFLAGS): Remove `-DGRUBOF'.
53685 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
53686 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
53687 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
53688 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
53689 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
53690 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
53691 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
53692 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
53693 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
53694 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
53695 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
53696 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
53697 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
53698 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
53699 (pc_mod_CFLAGS): New variables.
53700 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
53701 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
53702 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
53703 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
53704 Moved from here...
53705 * include/grub/i386/pc/init.h (grub_os_area_addr)
53706 (rub_os_area_size): ... to here.
53707 * include/grub/powerpc/ieee1275/ieee1275.h
53708 (grub_ieee1275_entry_fn): Export symbol.
53709 * include/grub/powerpc/ieee1275/init.h: New file.
53710 * include/grub/powerpc/libgcc.h: Likewise.
53711 * include/grub/cache.h: Likewise.
53712 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
53713 <hollis@penguinppc.org>.
53714 * kern/dl.c: Include <grub/cache.h>.
53715 (grub_dl_flush_cache): New function.
53716 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
53717 for this module.
53718 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
53719 (grub_console_init): Removed prototypes.
53720 (grub_machine_init): Don't initialize the modules anymore.
53721 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
53722 static.
53723 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
53724 Macro undef removed.
53725 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
53726 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
53727 relocation `R_PPC_REL32'. Return an error when the relocation is
53728 unknown.
53729 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
53730 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
53731 * util/misc.c (grub_arch_sync_caches): Likewise.
53732
e4b47e0c 537332004-12-19 Marco Gerards <metgerards@student.han.nl>
53734
53735 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
53736 `symlist.c', add `grubof_symlist.c'.
53737 (symlist.c): Variable removed.
53738 (grubof_HEADERS): Variable added.
53739 (grubof_symlist.c): New target.
53740 (kernel_syms.lst): Use `grubof_HEADERS' instead of
53741 `kernel_img_HEADERS'.
53742 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
53743 * kern/powerpc/dl.c: New file.
53744 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
53745 Function removed.
53746 (grub_arch_dl_relocate_symbols): Likewise.
53747 (grub_register_exported_symbols): Likewise.
53748
4ceb3636 537492004-12-13 Marco Gerards <metgerards@student.han.nl>
53750
53751 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
53752 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
53753 to fail instead. Reported by Vincent Pelletier
53754 <subdino2004@yahoo.fr>.
53755
53756 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
53757 it is not allocated. Reported by Vincent Pelletier
53758 <subdino2004@yahoo.fr>.
53759
53760 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
53761 output so the output looks better.
f19dbdb7 53762
3f1578fe 537632004-12-04 Marco Gerards <metgerards@student.han.nl>
53764
53765 Modulize the partition map support and add support for the amiga
53766 partition map.
f19dbdb7 53767
3f1578fe 53768 * commands/ls.c: Include <grub/partition.h> instead of
53769 <grub/machine/partition.h>.
53770 * kern/disk.c: Likewise.
53771 * kern/rescue.c: Likewise.
53772 * loader/i386/pc/chainloader.c: Likewise.
53773 * normal/cmdline.c: Likewise.
53774 * kern/powerpc/ieee1275/init.c: Likewise.
53775 (grub_machine_init): Call `grub_pc_partition_map_init',
53776 `grub_amiga_partition_map_init' and
53777 `grub_apple_partition_map_init'.
53778 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
53779 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
53780 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
53781 `partition.h' and `pc_partition.h'.
53782 (grub_setup_SOURCES): Remove
53783 `disk/i386/pc/partition.c'. Add `kern/partition.c',
53784 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53785 (grub_emu_SOURCES): Likewise.
53786 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
53787 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
53788 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
53789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53790 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
53791 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53792 (grubof_SOURCES): Likewise.
53793 * disk/i386/pc/partition.c: File removed.
53794 * disk/powerpc/ieee1275/partition.c: Likewise.
53795 * include/grub/powerpc/ieee1275/partition.h: Likewise.
53796 * include/grub/i386/pc/partition.h: Likewise.
53797 * kern/partition.c: New file.
53798 * partmap/amiga.c: Likewise.
53799 * partmap/apple.c: Likewise.
53800 * partmap/pc.c: Likewise.
53801 * include/grub/partition.h: Likewise..
53802 * include/grub/pc_partition.h: Likewise.
53803 * util/grub-emu.c: Include <grub/partition.h> instead of
53804 <grub/machine/partition.h>.
53805 (main): Call `grub_pc_partition_map_init',
53806 `grub_amiga_partition_map_init' and
53807 `grub_apple_partition_map_init' and deinitialize afterwards.
53808 * util/i386/pc/biosdisk.c: Include `#include
53809 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53810 `<grub/machine/partition.h>'.
53811 * util/i386/pc/grub-setup.c: Likewise.
53812 * util/i386/pc/biosdisk.c: Likewise.
53813 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
53814 partition information in case of a PC partition.
53815 * util/i386/pc/grub-setup.c: Include `#include
53816 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53817 `<grub/machine/partition.h>'.
53818 (setup): Only access the PC specific partition information in case
53819 of a PC partition.
53820
0ef4ced9 538212004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 53822
0ef4ced9 53823 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
53824 (grub_longjmp): Likewise.
53825 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
53826 20.
53827 * normal/powerpc/setjmp.S: New file.
53828 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53829 `normal/powerpc/setjmp.S'.
53830 (grubof_CFLAGS): Add `-DGRUBOF'.
53831 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
53832 [GRUB_UTIL && !GRUBOF].
f19dbdb7 53833
19950e29 538342004-11-16 Marco Gerards <metgerards@student.han.nl>
53835
53836 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
53837 property named `name'. Correctly handle the error returned by
53838 `grub_ieee1275_finddevice' if a device can not be opened.
53839
a2fea427 538402004-11-02 Hollis Blanchard <hollis@penguinppc.org>
53841
53842 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
53843 `actual' for negativity.
53844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53845 kern/fshelp.c.
53846
41ea0ea3 538472004-11-01 Marco Gerards <metgerards@student.han.nl>
53848
53849 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
53850 (PAGE_OFFSET): New macro.
53851 (CRTC_ADDR_PORT): Likewise.
53852 (CRTC_DATA_PORT): Likewise.
53853 (START_ADDR_HIGH_REGISTER): Likewise.
53854 (START_ADDR_LOW_REGISTER): Likewise.
53855 (GRAPHICS_ADDR_PORT): Likewise.
53856 (GRAPHICS_DATA_PORT): Likewise.
53857 (READ_MAP_REGISTER): Likewise.
53858 (INPUT_STATUS1_REGISTER): Likewise.
53859 (INPUT_STATUS1_VERTR_BIT): Likewise.
53860 (page): New variable.
53861 (wait_vretrace): New function.
53862 (set_read_map): Likewise.
53863 (set_start_address): Likewise.
53864 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
53865 the right page.
53866 (check_vga_mem): Take the page into account.
53867 (write_char): Likewise.
53868 (write_cursor): Likewise.
53869 (scroll_up): Likewise. Copy the page to the page that is not
53870 shown and switch between both pages.
53871 (grub_vga_putchar): Fix off by one error.
53872 (grub_vga_cls): Wait for the vertical retrace. Take the page into
53873 account.
53874
ad0bd20b 538752004-11-01 Marco Gerards <metgerards@student.han.nl>
53876
53877 Add support for iso9660 (including rockridge).
f19dbdb7 53878
ad0bd20b 53879 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53880 (iso9660_mod_SOURCES): New variable.
53881 (iso9660_mod_CFLAGS): Likewise.
53882 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53883 * include/grub/fs.h (grub_iso9660_init): New prototype.
53884 * util/grub-emu.c (main): Call `grub_iso9660_init'.
53885 * fs/iso9660.c: New file.
53886
53887 * include/grub/misc.h (grub_strncat): New prototype.
53888 * kern/misc.c (grub_strncat): New function.
f19dbdb7 53889
ad0bd20b 53890 * fs/hfs.c (grub_hfs_mount): Translate the error
53891 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
53892 * fs/jfs.c (grub_jfs_mount): Likewise.
53893 * fs/ufs.c (grub_ufs_mount): Likewise.
53894
a5477a59 538952004-10-28 Hollis Blanchard <hollis@penguinppc.org>
53896
53897 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
53898 which initialized BAT registers.
53899 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
53900 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53901 Move from here...
53902 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
53903 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53904 ... to here.
53905 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
53906 (grub_mapclaim): Likewise.
53907 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
53908 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
53909 hand.
53910
9304c1f8 539112004-10-19 Hollis Blanchard <hollis@penguinppc.org>
53912
53913 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
53914 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
53915 -ffreestanding and -msoft-float.
53916
86f4ae25 539172004-10-15 Hollis Blanchard <hollis@penguinppc.org>
53918
53919 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
53920 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
53921 set in grub_ieee1275_flags.
53922
38912228 539232004-10-14 Hollis Blanchard <hollis@penguinppc.org>
53924
53925 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
53926 prototype.
53927 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
53928 grub_console_init first.
53929 Change the memory range used for grub_ieee1275_claim and
53930 grub_mm_init_region.
53931 Print an error message if the claim fails.
53932 Include <grub/misc.h>.
53933
d1923dc8 539342004-10-13 Hollis Blanchard <hollis@penguinppc.org>
53935
53936 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
53937 Call grub_children_iterate for device nodes of type `scsi',
53938 `ide', or `ata'.
53939 (grub_ofdisk_open): Remove manual device alias resolution.
53940 Fix memory leak when device cannot be opened.
f19dbdb7 53941 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 53942 (grub_children_iterate): New prototype.
53943 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
53944 New function.
53945 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53946 Return -1 if args.size was -1.
53947
4512e4f3 539482004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53949
53950 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
53951 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
53952 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
53953 Open Firmware's memory for it; claim memory from _start to _end.
53954 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
53955 (_end): New extern.
53956 (_start): Zero BSS from __bss_start to _end.
53957 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53958 New extern.
53959 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
53960
4d61feb0 539612004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53962
ad0bd20b 53963 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
53964 -1 if args.base was -1.
4d61feb0 53965
026fa2f9 539662004-10-08 Hollis Blanchard <hollis@penguinppc.org>
53967
53968 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
53969 escape sequence instead of a literal ^L. Also call
53970 grub_ofconsole_gotoxy.
53971
9f2220ef 539722004-10-03 Hollis Blanchard <hollis@penguinppc.org>
53973
53974 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
53975 void * arguments to grub_addr_t. All callers updated. Also make
53976 the `result' argument optional.
53977 (grub_ieee1275_release): change void * arguments to grub_addr_t.
53978 All callers updated.
53979
8a572cd7 539802004-09-22 Hollis Blanchard <hollis@penguinppc.org>
53981
53982 * commands/ls.c (grub_ls_list_files): Use the string following the
53983 initial ')', if present, as the filesystem path.
53984 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
53985
53986 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
53987
18aa81f2 539882004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
53989
53990 Make the source code of the menu interface more readable.
f19dbdb7 53991
18aa81f2 53992 * normal/menu.c: Include grub/mm.h.
53993 (TERM_WIDTH): New macro.
53994 (TERM_HEIGHT): Likewise.
53995 (TERM_INFO_HEIGHT): Likewise.
53996 (TERM_MARGIN): Likewise.
53997 (TERM_SCROLL_WIDTH): Likewise.
53998 (TERM_TOP_BORDER_Y): Likewise.
53999 (TERM_LEFT_BORDER_X): Likewise.
54000 (TERM_BORDER_WIDTH): Likewise.
54001 (TERM_MESSAGE_HEIGHT): Likewise.
54002 (TERM_BORDER_HEIGHT): Likewise.
54003 (TERM_NUM_ENTRIES): Likewise.
54004 (TERM_FIRST_ENTRY_Y): Likewise.
54005 (TERM_ENTRY_WIDTH): Likewise.
54006 (TERM_CURSOR_X): Likewise.
54007 (draw_border): Use macros instead of magic numbers.
54008 (print_entry): Likewise.
54009 (print_entries): Likewise.
54010 (run_menu): Likewise. Also, handle the key 'e'.
54011 (run_menu_entry): Ignore empty command lines.
54012 (print_message): Added a new argument EDIT. If EDIT is true,
54013 print a different message.
54014 (init_page): Likewise.
54015 (edit_menu_entry): New function. Not implemented yet.
54016
b47efe30 540172004-09-17 Marco Gerards <metgerards@student.han.nl>
54018
54019 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
54020 can be loaded from normal mode.
f19dbdb7 54021
b47efe30 54022 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
54023 `multiboot.mod'.
54024 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
54025 (multiboot_mod_CFLAGS): New variables.
54026 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 54027 * loader/i386/pc/multiboot_normal.c: Likewise.
54028
b47efe30 54029 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
54030 attribute `unused'.
f19dbdb7 54031
b47efe30 54032 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
54033 `fdiro' to read the mode information from instead of `diro'.
54034
54035 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
54036 looking up a symlink.
54037
54038 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
54039 macro.
54040 * normal/command.c (grub_command_execute): Don't parse the
54041 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
54042 flags of the command.
54043
54044 * normal/menu.c (grub_menu_run): Fix typo.
54045
da75ac71 540462004-09-14 Hollis Blanchard <hollis@penguinppc.org>
54047
54048 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
54049
54050 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
54051 `y + 1' instead of `y - 1'.
54052
54053 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 54054
062b24c2 540552004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
54056
54057 From Hollis Blanchard <hollis@penguinppc.org>:
54058 * kern/misc.c (memmove): New alias for grub_memmove.
54059 (memcmp): New alias for grub_memcmp.
54060 (memset): New alias for grub_memset.
f19dbdb7 54061 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 54062 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 54063 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 54064 (grub_ieee1275_get_property): Likewise.
f19dbdb7 54065
8ddad845 540662004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
54067
54068 Added normal mode command `chainloader' as module chain.mod, which
54069 depends on normal.mod and _chain.mod.
f19dbdb7 54070
8ddad845 54071 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
54072 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
54073 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
54074 Deleted prototype.
54075 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
54076 but arguments parsing moved to ...
54077 (grub_chainloader_cmd): ... here. New function.
54078 * include/grub/i386/pc/chainloader.h: New file.
54079 * loader/i386/pc/chainloader_normal.c: Likewise.
54080
2c1f4ce3 540812004-09-11 Marco Gerards <metgerards@student.han.nl>
54082
54083 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
54084 (grub_mkimage_LDFLAGS): Likewise.
54085 (grub_emu_SOURCES): Likewise.
54086 (kernel_img_HEADERS): Added fshelp.h.
54087 * fs/ext2.c: Include <grub/fshelp.h>.
54088 (FILETYPE_REG): New macro.
54089 (FILETYPE_INO_REG): Likewise.
54090 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
54091 Changed all users.
54092 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
54093 all users.
54094 (grub_fshelp_node): New struct.
54095 (grub_ext2_data): Added member `diropen'. Changed member `inode'
54096 to a pointer.
54097 (grub_ext2_get_file_block): Removed function.
54098 (grub_ext2_read_block): New function.
54099 (grub_ext2_read_file): Replaced parameter `data' by `node'.
54100 This function was written.
54101 (grub_ext2_mount): Read the root inode. Create a diropen struct.
54102 (grub_ext2_find_file): Removed function.
54103 (grub_ext2_read_symlink): New function.
54104 (grub_ext2_iterate_dir): Likewise.
54105 (grub_ext2_open): Rewritten.
54106 (grub_ext2_dir): Rewritten.
54107 * include/grub/fshelp.h: New file.
54108 * fs/fshelp.c: Likewise.
54109
3c52136a 541102004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
54111
54112 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
54113 (print_message): Add a missing newline.
54114 (run_menu): Added timeout support.
54115 (run_menu_entry): New local function.
54116 (grub_menu_run): Added support for booting.
54117
54118 * kern/loader.c (grub_loader_is_loaded): New function.
54119
54120 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
54121 (grub_get_rtc): Exported.
54122
54123 * include/grub/i386/pc/time.h: Include grub/symbol.h.
54124 (grub_get_rtc): Exported.
54125
54126 * include/grub/normal.h (struct grub_command_list): Remove
54127 constant from the member `command'.
54128
54129 * include/grub/loader.h (grub_loader_is_loaded): Declared.
54130
54131 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
54132
54133 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
54134
aa033560 541352004-08-28 Marco Gerards <metgerards@student.han.nl>
54136
54137 Add support for the JFS filesystem.
54138
54139 * fs/jfs.c: New file.
54140 * include/grub/fs.h (grub_jfs_init): New prototype.
54141 (grub_jfs_fini): New prototype.
54142 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
54143 (grub_emu_SOURCES): Likewise.
54144 (pkgdata_MODULES): Add jfs.mod.
54145 (jfs_mod_SOURCES): New variable.
54146 (jfs_mod_CFLAGS): Likewise.
54147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
54148 (grubof_SOURCES): Likewise.
54149 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
54150
54151 * fs/fat.c (grub_fat_find_dir): Convert the filename little
54152 endian to the host endian.
54153 (grub_fat_utf16_to_utf8): Move function from there...
54154 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 54155 the endianness of the source string anymore.
aa033560 54156 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
54157
94bc45af 541582004-08-24 Marco Gerards <metgerards@student.han.nl>
54159
54160 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
54161 (grub_boot_fini) [GRUB_UTIL]: Likewise.
54162 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
54163 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 54164
94bc45af 54165 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
54166 (grub_hfs_iterate_dir): Make the function static. Add prototypes
54167 for `node_found' and `it_dir'.
54168 (grub_hfs_dir): Add prototype for `dir_hook'.
54169
54170 * fs/minix.c (grub_minix_get_file_block): Add prototype for
54171 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
54172 and `indir32' to silence a gcc warning.
54173
54174 * include/grub/fs.h (grub_hfs_init): New prototype.
54175 (grub_hfs_fini): Likewise.
f19dbdb7 54176
54177
97543f08 541782004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
54179
54180 Each disk device has its own id now. This is useful to make use
54181 of multiple disk devices.
f19dbdb7 54182
97543f08 54183 * include/grub/disk.h (grub_disk_dev_id): New enum.
54184 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
54185 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
54186
54187 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
54188 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54189
54190 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
54191 GRUB_DISK_DEVICE_OFDISK_ID as an id.
54192
54193 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
54194 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54195
54196 * include/grub/disk.h (struct grub_disk_dev): Added a new member
54197 "id" which is used by the cache manager.
54198
54199 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
54200 of just "GRUB".
54201
64372eb4 542022004-08-18 Marco Gerards <metgerards@student.han.nl>
54203
54204 * fs/hfs.c: New file.
54205 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
54206 (grub_emu_SOURCES): Likewise.
54207 (pkgdata_MODULES): Add hfs.mod.
54208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
54209 (grubof_SOURCES): Likewise.
54210 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
54211
54212 * include/grub/misc.h (grub_strncasecmp): Add prototype.
54213 * kern/misc.c (grub_strncasecmp): Add function.
54214
cc61b58f 542152004-08-14 Marco Gerards <metgerards@student.han.nl>
54216
54217 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
54218 with parentheses.
54219
54220 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
54221 (grub_ext2_dir): In case the directory entry type is unknown, read
54222 it from the inode.
54223
0ef123f6 542242004-08-02 Peter Bruin <pjbruin@dds.nl>
54225
54226 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
54227 grub_load_linux instead of grub_rescue_cmd_linux as second
54228 argument of grub_rescue_register_command.
54229
54230 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
54231
a447c5df 542322004-07-27 Marco Gerards <metgerards@student.han.nl>
54233
54234 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
54235 function.
54236 * commands/boot.c: Remove the check for `GRUB_UTIL'.
54237 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
54238 `loader/powerpc/ieee1275/linux.c',
54239 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
54240 * include/grub/powerpc/ieee1275/ieee1275.h
54241 (grub_ieee1275_release): New prototype.
54242 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
54243 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
54244 normal, boot, linux and linux_normal.
54245 * loader/powerpc/ieee1275/linux.c: New file.
54246 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
54247
5a9e3546 542482004-07-12 Marco Gerards <metgerards@student.han.nl>
54249
54250 * normal/arg.c (grub_arg_parse): Correct error handling after
54251 reallocating the argumentlist (check if `argl' is not null instead
54252 of checking if `args' is not null).
54253 * kern/mm.c (grub_realloc): Return the same pointer when using the
54254 same region, instead of returning the header address.
54255
e15199cb 542562004-07-11 Marco Gerards <metgerards@student.han.nl>
54257
54258 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
54259 one block instead of two when looking for the initial partition.
54260 (grub_partition_probe): Initialize the local variable `p' with 0.
54261 Use base 10 for the grub_strtoul call.
54262 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
54263 need for one local variable.
54264 (grub_strtoul): Don't add the new value to `num', instead of that
54265 just assign it.
54266
020616c2 542672004-07-11 Marco Gerards <metgerards@student.han.nl>
54268
54269 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
54270 (pxeboot_img_SOURCES): New variable.
54271 (pxeboot_img_ASFLAGS): Likewise.
54272 (pxeboot_img_LDFLAGS): Likewise.
54273 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
54274 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
54275 <lode_leroy@hotmail.com>.
54276
6c51eb64 542772004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54278
54279 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
54280 there was no input.
54281
cfb12aff 542822004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54283
54284 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
54285 the history buffer logic.
54286
6eabba74 542872004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54288
54289 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
54290 (FILETYPE_INO_SYMLINK): New macros.
54291 (grub_ext2_find_file): Check if the node is a directory using the
54292 inode stat information instead of using the filetype in the
54293 dirent. Exclude the first character of an absolute symlink.
54294 (grub_ext2_dir): Mask out the filetype part of the mode member of
54295 the inode.
54296
66e19ef8 542972004-05-24 Marco Gerards <metgerards@student.han.nl>
54298
54299 Add support for UFS version 1 and 2. Add support for the minix
54300 filesystem version 1 and 2, both the variants with 14 and 30 long
54301 filenames.
f19dbdb7 54302
66e19ef8 54303 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
54304 fs/minix.c.
54305 (grub_emu_SOURCES): Likewise.
54306 (pkgdata_MODULES): Add ufs.mod and minix.mod.
54307 (ufs_mod_SOURCES): New variable.
54308 (ufs_mod_CFLAGS): Likewise.
54309 (minix_mod_SOURCES): Likewise.
54310 (minix_mod_CFLAGS): Likewise.
54311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
54312 fs/minix.c.
54313 (grubof_SOURCES): Likewise.
54314 * fs/ufs.c: New file.
54315 * fs/minix.c: New file.
54316 * include/grub/fs.h (grub_ufs_init): New prototype.
54317 (grub_ufs_fini): Likewise.
54318 (grub_minix_init): Likewise.
54319 (grub_minix_fini): Likewise.
54320 * util/grub-emu.c (main): Initialize and deinitialize UFS and
54321 minix fs.
54322
cc2e748a 543232004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
54324
54325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
54326 commands/ls.c, commands/terminal.c, commands/boot.c,
54327 commands/cmp.c and commands/cat.c.
54328 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
54329
54330 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
54331 "env.h"
54332
4b13b216 543332004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54334
54335 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
54336 and grub_, respectively. Because the conversion is trivial and
54337 mechanical, I omit the details here. Please refer to the CVS
54338 if you need more information.
54339
6a142551 543402004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54341
54342 * include/pupa: Renamed to ...
54343 * include/grub: ... this.
54344 * util/i386/pc/pupa-mkimage.c: Renamed to ...
54345 * util/i386/pc/grub-mkimage.c: ... this.
54346 * util/i386/pc/pupa-setup.c: Renamed to ...
54347 * util/i386/pc/grub-setup.c: ... this.
54348 * util/pupa-emu.c: Renamed to ...
54349 * util/grub-emu.c: ... this.
54350
e56cdf21 543512004-03-29 Marco Gerards <metgerards@student.han.nl>
54352
54353 Add support for the newworld apple macintosh (PPC). This has been
54354 tested on the powerbook 2000 only. It only adds support for
54355 generic ieee1275 functions, console and disk support. This should
54356 be easy to port to other architectures with support for Open
54357 Firmware.
f19dbdb7 54358
e56cdf21 54359 * configure.ac: Accept the powerpc as host_cpu. In the case of
54360 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
54361 specific tests are only executed while building for the i386.
54362 Inverse test for crosscompile.
54363 * genmk.rb (Utility): Allow assembler files.
54364 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
54365 * conf/powerpc-ieee1275.rmk: New file.
54366 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
54367 * disk/powerpc/ieee1275/partition.c: Likewise.
54368 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
54369 * include/pupa/powerpc/ieee1275/console.h: Likewise.
54370 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
54371 * include/pupa/powerpc/ieee1275/time.h: Likewise.
54372 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
54373 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
54374 * include/pupa/powerpc/ieee1275/loader.h
54375 * include/pupa/powerpc/setjmp.h: Likewise.
54376 * include/pupa/powerpc/types.h: Likewise.
54377 * kern/powerpc/ieee1275/init.c: Likewise.
54378 * kern/powerpc/ieee1275/openfw.c: Likewise.
54379 * term/powerpc/ieee1275/ofconsole.c: Likewise.
54380
54381 These files were written by Johan Rydberg
54382 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 54383
e56cdf21 54384 * boot/powerpc/ieee1275/cmain.c: New file.
54385 * boot/powerpc/ieee1275/crt0.S: Likewise.
54386 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
54387 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
54388
8c8cc205 543892004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
54390
54391 * Makefile.in: Update copyright.
54392 * genmodsrc.sh: Likewise.
54393 * gensymlist.sh: Likewise.
54394 * term/i386/pc/vga.c: Indent correctly.
54395
54396 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
54397 bugreporting address.
54398 * util/i386/pc/pupa-setup.c (usage): Likewise,
54399 (main): Call pupa_ext2_init and pupa_ext2_fini.
54400
f19dbdb7 54401 * fs/fat.c (log2): Renamed to ...
8c8cc205 54402 (fat_log2): ... this.
54403 All callers changed.
54404 * kern/misc.c (memcpy): Alias to pupa_memmove.
54405 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
54406 lvalue cast.
54407 * util/console.c (pupa_ncurses_fini): Return 0.
54408
54409 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
54410 Move fail label here.
54411 [__GNU__]: Don't warn when using stat.
54412 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
54413 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
54414 long int. Use strtol instead of strtoul.
f19dbdb7 54415
db1771cf 544162004-03-14 Marco Gerards <metgerards@student.han.nl>
54417
54418 * commands/boot.c: New file.
54419 * commands/cat.c: Likewise.
54420 * commands/cmp.c: Likewise.
54421 * commands/ls.c: Likewise.
54422 * commands/terminal.c: Likewise.
54423 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
54424 (pupa_register_command): Changed interface to match the new
54425 argument parser.
54426 (pupa_command_execute): Changed (almost rewritten) so it uses
54427 pupa_split_command. Added support for setting variables using the
54428 syntax `foo=bar'.
54429 (rescue_command): Changed to work with the new argument parser.
54430 (terminal_command): Moved from here to commands/terminal.c.
54431 (set_command): New function.
54432 (unset_command): New function.
54433 (insmod_command): New function.
54434 (rmmod_command): New function.
54435 (lsmod_command): New function.
54436 (pupa_command_init): Don't initialize the command terminal
54437 anymore. Initialize the commands set, unset, insmod, rmmod and
54438 lsmod.
54439 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
54440 (kernel_img_HEADERS): Add arg.h and env.h.
54441 (pupa_mkimage_LDFLAGS): Add kern/env.c.
54442 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
54443 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
54444 normal/arg.c.
54445 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
54446 terminal.mod.
54447 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
54448 (boot_mod_SOURCES): New variable.
54449 (terminal_mod_SOURCES): Likewise.
54450 (ls_mod_SOURCES): Likewise.
54451 (cmp_mod_SOURCES): Likewise.
54452 (cat_mod_SOURCES): Likewise.
54453
54454 * normal/arg.c: New file.
54455 * kern/env.c: Likewise.
54456 * include/pupa/arg.h: Likewise.
54457 * include/pupa/env.h: Likewise.
54458 * font/manager.c (font_command): Changed to match argument parsing
54459 interface changes.
54460 (PUPA_MOD_INIT): Likewise.
54461 * hello/hello.c (pupa_cmd_hello): Likewise.
54462 (PUPA_MOD_INIT): Likewise.
54463 * include/pupa/disk.h: Include <pupa/device.h>.
54464 (pupa_print_partinfo): New prototype.
54465 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
54466 (pupa_dl_get_prefix): Likewise.
54467 * include/pupa/misc.h: Include <pupa/err.h>.
54468 (pupa_isgraph): New prototype.
54469 (pupa_isdigit): Likewise.
54470 (pupa_split_cmdline): Likewise.
54471 * include/pupa/normal.h: Include <pupa/arg.h>.
54472 (pupa_command): Changed the prototype of the member `func' to
54473 match the argument parsing interface. Added member `options'.
54474 (pupa_register_command): Updated to match function.
54475 (pupa_arg_parse): New prototype.
54476 (pupa_hello_init) [PUPA_UTIL]: New prototype.
54477 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
54478 (pupa_ls_init) [PUPA_UTIL]: Likewise.
54479 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
54480 (pupa_cat_init) [PUPA_UTIL]: Likewise.
54481 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
54482 (pupa_boot_init) [PUPA_UTIL]: Likewise.
54483 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
54484 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
54485 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
54486 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
54487 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
54488 * kern/disk.c: Include <pupa/file.h>.
54489 (pupa_print_partinfo): New function.
54490 * kern/dl.c: Include <pupa/env.h>.
54491 (pupa_dl_dir): Variable removed.
54492 (pupa_dl_load): Use the environment variable `prefix' instead of
54493 the variable pupa_dl_dir.
54494 (pupa_dl_set_prefix): Function removed.
54495 (pupa_dl_get_prefix): Likewise.
54496 * kern/i386/pc/init.c: Include <pupa/env.h>.
54497 (pupa_machine_init): Use the environment variable `prefix' instead of
54498 using pupa_dl_set_prefix to set the prefix.
54499 * kern/main.c: Include <pupa/env.h>.
54500 (pupa_set_root_dev): Use the environment variable `prefix' instead of
54501 using pupa_dl_get_prefix to get the prefix.
54502 * kern/misc.c: Include <pupa/env.h>.
54503 (pupa_isdigit): New function.
54504 (pupa_isgraph): Likewise.
54505 (pupa_ftoa): Likewise.
54506 (pupa_vsprintf): Added support for printing values of the type
54507 `double'. Make it possible to format variable output when using
54508 formatting like `%1.2%f'.
54509 (pupa_split_cmdline): New function.
54510 * kern/rescue.c: Include <pupa/env.h>.
54511 (next_word): Removed function.
54512 (pupa_rescue_cmd_prefix): Likewise.
54513 (pupa_rescue_cmd_set): New function.
54514 (pupa_rescue_cmd_unset): New function.
54515 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
54516 split the command line instead of splitting it here. Added
54517 support for setting variables using the syntax `foo=bar'. Don't
54518 initialize the prefix command anymore. Initialized the set and
54519 unset commands.
54520 * normal/cmdline.c: Include <pupa/env.h>.
54521 (pupa_tab_complete): Added prototypes for print_simple_completion,
54522 print_partition_completion, add_completion, iterate_commands,
54523 iterate_dev, iterate_part and iterate_dir. Moved code to print
54524 partition information from here to kern/disk.c.
fe6b695a 54525 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 54526 * normal/main.c: Include <pupa/env.h>.
54527 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
54528 instead of using pupa_dl_get_prefix to get the prefix.
54529 * term/i386/pc/vga.c: Include <pupa/arg.h>.
54530 (check_vga_mem): Cast pointers to `void *' to silence a gcc
54531 warning.
54532 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
54533 (pupa_vga_setcolor): Declare unused variables with `__attribute__
54534 ((unused))' to silence a gcc warning.
54535 (pupa_vga_setcolor): Likewise.
54536 (debug_command): Changed to match argument parsing
54537 interface changes.
54538 * util/pupa-emu.c: Include <pupa/env.h>.
54539 (options): Added 0's for unused fields to silence a gcc warning.
54540 (argp): Likewise.
54541 (main): Use the environment variable `prefix' instead of using
54542 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
54543 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
54544 and terminal.
54545
54546 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
54547 * util/misc.c: Include <malloc.h>.
54548 (pupa_malloc): Rewritten so errors are correctly reported.
54549 (pupa_realloc): Likewise.
54550 (pupa_memalign): Likewise.
54551 (pupa_mm_init_region): Declare unused variables with
54552 `__attribute__ ((unused))' to silence a gcc warning.
54553 * normal/i386/setjmp.S: Remove tab at the end of the file to
54554 silence a gcc warning.
54555 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
54556 variables with `__attribute__ ((unused))' to silence a gcc
54557 warning.
54558 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
54559 local variable i unsigned to silence a gcc warning.
54560
54561 * kern/term.c: Include <pupa/misc.h>.
54562 (pupa_more_lines): New variable.
54563 (pupa_more): Likewise.
54564 (pupa_putcode): When the pager is active pause at the end of every
54565 screen.
54566 (pupa_set_more): New function.
54567 * include/pupa/term.h (pupa_set_more): New prototype.
54568
54569
3b1139cb 545702004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
54571
54572 Now this project is GRUB 2 rather than PUPA. The location of
54573 the CVS repository was moved to GRUB's.
f19dbdb7 54574
3b1139cb 54575 * configure.ac: Use bug-grub as the reporting address.
54576 Use GRUB instead of PUPA.
54577 Change the version number to 1.90.
54578
8367695c 545792004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
54580
54581 * genkernsyms.sh: Updated copyright information.
54582 * genmk.rb: Likewise.
54583 * genmodsrc.sh: Likewise.
54584 * gensymlist.sh: Likewise.
54585 * boot/i386/pc/boot.S: Likewise.
54586 * boot/i386/pc/diskboot.S: Likewise.
54587 * disk/i386/pc/biosdisk.c: Likewise.
54588 * disk/i386/pc/partition.c: Likewise.
54589 * font/manager.c: Likewise.
54590 * fs/ext2.c: Likewise.
54591 * fs/fat.c: Likewise.
54592 * include/pupa/boot.h: Likewise.
54593 * include/pupa/device.h: Likewise.
54594 * include/pupa/disk.h: Likewise.
54595 * include/pupa/dl.h: Likewise.
54596 * include/pupa/elf.h: Likewise.
54597 * include/pupa/err.h: Likewise.
54598 * include/pupa/file.h: Likewise.
54599 * include/pupa/font.h: Likewise.
54600 * include/pupa/fs.h: Likewise.
54601 * include/pupa/kernel.h: Likewise.
54602 * include/pupa/loader.h: Likewise.
54603 * include/pupa/misc.h: Likewise.
54604 * include/pupa/mm.h: Likewise.
54605 * include/pupa/net.h: Likewise.
54606 * include/pupa/normal.h: Likewise.
54607 * include/pupa/rescue.h: Likewise.
54608 * include/pupa/setjmp.h: Likewise.
54609 * include/pupa/symbol.h: Likewise.
54610 * include/pupa/term.h: Likewise.
54611 * include/pupa/types.h: Likewise.
54612 * include/pupa/i386/setjmp.h: Likewise.
54613 * include/pupa/i386/types.h: Likewise.
54614 * include/pupa/i386/pc/biosdisk.h: Likewise.
54615 * include/pupa/i386/pc/boot.h: Likewise.
54616 * include/pupa/i386/pc/console.h: Likewise.
54617 * include/pupa/i386/pc/init.h: Likewise.
54618 * include/pupa/i386/pc/kernel.h: Likewise.
54619 * include/pupa/i386/pc/linux.h: Likewise.
54620 * include/pupa/i386/pc/loader.h: Likewise.
54621 * include/pupa/i386/pc/memory.h: Likewise.
54622 * include/pupa/i386/pc/multiboot.h: Likewise.
54623 * include/pupa/i386/pc/partition.h: Likewise.
54624 * include/pupa/i386/pc/time.h: Likewise.
54625 * include/pupa/i386/pc/vga.h: Likewise.
54626 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
54627 * include/pupa/util/getroot.h: Likewise.
54628 * include/pupa/util/misc.h: Likewise.
54629 * include/pupa/util/resolve.h: Likewise.
54630 * kern/device.c: Likewise.
54631 * kern/disk.c: Likewise.
54632 * kern/dl.c: Likewise.
54633 * kern/err.c: Likewise.
54634 * kern/file.c: Likewise.
54635 * kern/fs.c: Likewise.
54636 * kern/loader.c: Likewise.
54637 * kern/main.c: Likewise.
54638 * kern/misc.c: Likewise.
54639 * kern/mm.c: Likewise.
54640 * kern/rescue.c: Likewise.
54641 * kern/term.c: Likewise.
54642 * kern/i386/dl.c: Likewise.
54643 * kern/i386/pc/init.c: Likewise.
54644 * kern/i386/pc/lzo1x.S: Likewise.
54645 * kern/i386/pc/startup.S: Likewise.
54646 * loader/i386/pc/chainloader.c: Likewise.
54647 * loader/i386/pc/linux.c: Likewise.
54648 * loader/i386/pc/multiboot.c: Likewise.
54649 * normal/cmdline.c: Likewise.
54650 * normal/command.c: Likewise.
54651 * normal/main.c: Likewise.
54652 * normal/menu.c: Likewise.
54653 * normal/i386/setjmp.S: Likewise.
54654 * term/i386/pc/console.c: Likewise.
54655 * term/i386/pc/vga.c: Likewise.
54656 * util/console.c: Likewise.
54657 * util/genmoddep.c: Likewise.
54658 * util/misc.c: Likewise.
54659 * util/pupa-emu.c: Likewise.
54660 * util/resolve.c: Likewise.
54661 * util/unifont2pff.rb: Likewise.
54662 * util/i386/pc/biosdisk.c: Likewise.
54663 * util/i386/pc/getroot.c: Likewise.
54664 * util/i386/pc/pupa-mkimage.c: Likewise.
54665 * util/i386/pc/pupa-setup.c: Likewise.
54666
e6eced71 546672004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
54668
54669 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
54670 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
54671 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
54672 reading and reset it after reading.
54673 (pupa_ext2_close): Return PUPA_ERR_NONE.
54674
54675 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
54676 Correct value.
54677 (struct linux_kernel_header): Add kernel_version and
54678 initrd_addr_max.
54679 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
54680 pupa_file_read succeeds.
54681 (pupa_rescue_cmd_initrd): Implement.
54682
5aded270 546832003-12-03 Marco Gerards <metgerards@student.han.nl>
54684
54685 * fs/ext2.c (pupa_ext2_label): New function.
54686 (pupa_ext2_fs): Added label.
54687 * fs/fat.c (pupa_fat_label): New function.
54688 (pupa_fat_fs): Added label.
54689 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
54690
54691 * kern/misc.c (pupa_strndup): New function.
54692 * include/pupa/misc.h (pupa_strndup): New prototype.
54693
54694 * include/pupa/normal.h: Include <pupa/err.h>.
54695 (pupa_set_history): New prototype.
54696 (pupa_iterate_commands): New prototype.
54697 * normal/cmdline.c: Include <pupa/machine/partition.h>,
54698 <pupa/disk.h>, <pupa/file.h>.
54699 (hist_size): New variable.
54700 (hist_lines): Likewise.
54701 (hist_end): Likewise.
54702 (hist_used): Likewise.
54703 (pupa_set_history): New function.
54704 (pupa_history_get): Likewise.
54705 (pupa_history_add): Likewise.
54706 (pupa_history_replace): Likewise.
54707 (pupa_tab_complete): Likewise.
54708 (pupa_cmdline_run): Added tab completion and history buffer. Tab
54709 completion shows partitionnames while completing partitions, this
54710 feature was suggested by Jeff Bailey.
54711 * normal/command.c (pupa_iterate_commands): New function.
54712 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
54713 (pupa_normal_init): Initialize history buffer.
54714 (PUPA_MOD_INIT): Likewise.
54715 (pupa_normal_fini): Free the history buffer.
54716 (PUPA_MOD_FINI): Likewise.
54717
54718 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
54719 key.
54720
54721 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
54722 * configure.ac [i386]: Check for regparam bug.
54723 (NESTED_FUNC_ATTR) [! i386]: Defined.
54724
1f7315a3 547252003-11-17 Marco Gerards <metgerards@student.han.nl>
54726
54727 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
54728 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
54729 (pupa_emu_SOURCES): New variable.
54730 (pupa_emu_LDFLAGS): Likewise.
54731 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
54732 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
54733 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
54734 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54735 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
54736 (pupa_jmp_buf): New typedef.
54737 (pupa_setjmp) [PUPA_UTIL]: New macro.
54738 (pupa_longjmp) [PUPA_UTIL]: Likewise.
54739 * include/pupa/term.h (struct pupa_term): New member `refresh'.
54740 (pupa_refresh): New prototype.
54741 * include/pupa/util/getroot.h: New file.
54742 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
54743 it.
54744 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
54745 (pupa_rescue_cmd_cat): Likewise.
54746 (pupa_rescue_cmd_ls): Likewise.
54747 (pupa_rescue_cmd_testload): Likewise.
54748 (pupa_rescue_cmd_lsmod): Likewise.
54749 * normal/cmdline.c (pupa_cmdline_get): Likewise.
54750 * normal/menu.c (run_menu): Likewise.
54751 * kern/term.c (pupa_cls): Likewise.
54752 (pupa_refresh): New function.
54753 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
54754 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54755 * util/console.c: New file.
f19dbdb7 54756
1f7315a3 54757 * util/i386/pc/getroot.c: New file.
54758 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
54759 (pupa_putchar): New function.
54760 (pupa_refresh): Likewise.
54761 (xgetcwd): Function moved to ...
54762 (strip_extra_slashes): Likewise.
54763 (get_prefix): Likewise.
f19dbdb7 54764 * util/i386/pc/getroot.c: ... here.
1f7315a3 54765 (find_root_device): Function moved and renamed to...
54766 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
54767 Changed all callers.
54768 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
54769 and renamed to...
54770 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
54771 Changed all callers.
54772 * util/misc.c (pupa_memalign): New function.
54773 (pupa_mm_init_region): Likewise.
54774 (pupa_register_exported_symbols): Likewise.
54775 (pupa_putchar): Function removed.
54776 * util/pupa-emu.c: New file.
54777
9a5c1ade 547782003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
54779
54780 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
54781 (_multiboot_mod_SOURCES): New variable.
54782 (_multiboot_mod_CFLAGS): Likewise.
54783 * loader/i386/pc/multiboot.c: New file.
54784 * include/pupa/i386/pc/multiboot.h: Likewise.
54785 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
54786 (pupa_multiboot_real_boot): New function.
54787 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
54788 (pupa_multiboot_real_boot): New prototype.
54789 (pupa_rescue_cmd_multiboot): Likewise
54790 (pupa_rescue_cmd_module): Likewise.
54791
54792 * kern/loader.c (pupa_loader_set): Continue when
54793 pupa_loader_unload_func() fails.
54794 (pupa_loader_unset): New function.
54795 * include/pupa/loader.h (pupa_loader_unset): New prototype.
54796
54797 * kern/misc.c (pupa_stpcpy): New function.
54798 * include/pupa/misc.h (pupa_stpcpy): New prototype.
54799
8e72a9c0 548002003-11-12 Marco Gerards <metgerards@student.han.nl>
54801
54802 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
54803 for available extensions.
54804
54805 * include/pupa/i386/pc/time.h: New file.
54806 * kern/disk.c: Include <pupa/machine/time.h>.
54807 (PUPA_CACHE_TIMEOUT): New macro.
54808 (pupa_last_time): New variable.
54809 (pupa_disk_open): Flush the cache when there was a timeout.
54810 (pupa_disk_close): Reset the timer.
54811 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
54812 pupa_currticks.
54813 * util/misc.c: Include <sys/times.h>
54814 (pupa_get_rtc): New function.
54815
c4adbd32 548162003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
54817
54818 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
54819 as blocks.
54820 (pupa_ext2_get_file_block): Use blocks member.
54821
54822 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
54823 first block. Return -1 instead of pupa_errno on error.
54824
bfd30f06 548252003-10-27 Marco Gerards <metgerards@student.han.nl>
54826
54827 * README: In the pupa-mkimage example use _chain instead of chain
54828 and ext2 instead of fat.
54829 * TODO: Replace ext2fs with jfs as an example. Add an item for
54830 adding journal playback for ext2fs.
54831 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
54832 (pkgdata_MODULES): Added ext2.mod.
54833 (ext2_mod_SOURCES): New variable.
54834 (ext2_mod_CFLAGS): Likewise.
54835 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
54836 * include/pupa/misc.h (pupa_strncpy): New prototype.
54837 (pupa_strcat): Likewise.
54838 (pupa_strncmp): Likewise.
54839 * kern/misc.c (pupa_strcat): Enable function.
54840 (pupa_strncpy): New function.
54841 (pupa_strncmp): Likewise.
54842 * fs/ext2.c: New file.
f19dbdb7 54843
bfd30f06 54844 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
54845 when the read failed before retrying.
54846 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
54847 (_FILE_OFFSET_BITS): Likewise.
54848 * configure.ac: Added AC_SYS_LARGEFILE.
54849
98d15063 548502003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54851
54852 * genmk.rb (PModule#rule): Make sure to get only symbol names
54853 from the output of nm.
59cad637 54854 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 54855
18d9c7cd 548562003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54857
54858 I forgot to check in these changes for a long time. This adds
54859 incomplete support for VGA console, and this is still very
54860 buggy. Also, a lot of consideration is required for I18N,
54861 UNICODE, and VGA font issues. Therefore, assume that this is
54862 such that "better than nothing".
f19dbdb7 54863
18d9c7cd 54864 * font/manager.c: New file.
54865 * include/pupa/font.h: Likewise.
54866 * include/pupa/i386/pc/vga.h: Likewise.
54867 * term/i386/pc/vga.c: Likewise.
54868 * util/unifont2pff.rb: Likewise.
54869
54870 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
54871 (pkgdata_MODULES): Added vga.mod and font.mod.
54872 (vga_mod_SOURCES): New variables.
54873 (vga_mod_CFLAGS): Likewise.
54874 (font_mod_SOURCES): Likewise.
54875 (font_mod_CFLAGS): Likewise.
54876
54877 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
54878
54879 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 54880 (struct pupa_term): Added init and fini.
18d9c7cd 54881 Changed the argument of putchar to pupa_uint32_t.
54882
54883 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
54884 (pupa_console_real_putchar): New prototype.
54885 (pupa_console_putchar): Removed.
54886 (pupa_console_checkkey): Exported.
54887 (pupa_console_getkey): Likewise.
54888
54889 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
54890 characters.
54891
54892 * kern/term.c (pupa_term_set_current): Rewritten.
54893 (pupa_putchar): Likewise.
54894 (pupa_putcode): New function.
54895
54896 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
54897 (pupa_console_real_putchar): ... this.
54898 (pupa_vga_set_mode): New function.
54899 (pupa_vga_get_font): Likewise.
54900
54901 * normal/command.c: Include pupa/term.h.
54902 (terminal_command): New function.
54903 (pupa_command_init): Register the command "terminal".
54904
54905 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
54906 (DISP_UP): Likewise.
54907 (DISP_RIGHT): Likewise.
54908 (DISP_DOWN): Likewise.
54909 (DISP_HLINE): Likewise.
54910 (DISP_VLINE): Likewise.
54911 (DISP_UL): Likewise.
54912 (DISP_UR): Likewise.
54913 (DISP_LL): Likewise.
54914 (DISP_LR): Likewise.
54915
54916 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 54917
977329f5 549182003-02-08 NIIBE Yutaka <gniibe@m17n.org>
54919
54920 * util/resolve.c (pupa_util_resolve_dependencies): BUG
54921 FIX. Reverse the path_list.
54922
54923 * include/pupa/normal.h: Export pupa_register_command and
54924 pupa_unregister_command.
54925
54926 * hello/hello.c (pupa_cmd_hello): New module.
54927 * conf/i386-pc.rmk: Added hello.mod.
54928
1f5ab428 549292003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
54930
54931 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 54932
1f5ab428 54933 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
54934 (compress_kernel): New variable.
54935 (generate_image): Heavily modified to support compressing a
54936 large part of the core image.
54937
54938 * util/misc.c (pupa_util_read_image): Fix a file descriptor
54939 leak.
54940 (pupa_util_load_image): New function.
54941
54942 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
54943 (pupa_compressed_size): New variable.
54944 (codestart): Enable Gate A20 here.
54945 Decompress the compressed part of the core image.
54946 Rearrange the code to put functions and variables which are
54947 required for initialization in the non-compressed part.
54948 Include lzo1x.S.
54949
54950 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
54951 here.
54952
54953 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
54954
f19dbdb7 54955 * include/pupa/i386/pc/kernel.h
1f5ab428 54956 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
54957 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
54958 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54959 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54960 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
54961
54962 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
54963
54964 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
54965 (Utility#rule): Likewise.
54966
54967 * configure.ac: Check if LZO is available.
54968
ce5bf700 549692003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
54970
54971 * include/pupa/normal.h: New file.
54972 * include/pupa/setjmp.h: Likewise.
54973 * include/pupa/i386/setjmp.h: Likewise.
54974 * normal/cmdline.c: Likewise.
54975 * normal/command.c: Likewise.
54976 * normal/main.c: Likewise.
54977 * normal/menu.c: Likewise.
54978 * normal/i386/setjmp.S: Likewise.
f19dbdb7 54979
ce5bf700 54980 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
54981 (pupa_rescue_cmd_initrd): Likewise.
54982
54983 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
54984 Likewise.
54985
54986 * kern/i386/pc/startup.S (translation_table): New variable.
54987 (translate_keycode): New function.
54988 (pupa_console_getkey): Call translate_keycode.
54989
54990 * kern/rescue.c (attempt_normal_mode): New function.
54991 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
54992 it failed, print a message.
54993
54994 * kern/mm.c (pupa_real_malloc): Print more information when a
54995 free magic is broken.
54996 (pupa_free): If the first free header is not free actually, set
54997 it to P.
54998
54999 * kern/main.c (pupa_load_normal_mode): Just load the module
55000 "normal".
55001 (pupa_main): Don't print the message
55002 "Entering into rescue mode..." here.
55003
55004 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
55005 Declared.
55006 (pupa_rescue_cmd_initrd): Likewise.
55007 (pupa_rescue_cmd_initrd): Likewise.
55008
55009 * include/pupa/symbol.h (FUNCTION): Specify the type.
55010 (VARIABLE): Likewise.
55011
55012 * include/pupa/err.h (pupa_err_t): Added
55013 PUPA_ERR_UNKNOWN_COMMAND.
55014
55015 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
55016 (pupa_dl_get_prefix): Likewise.
55017
55018 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
55019 Added _chain.mod and _linux.mod instead of chain.mod and
55020 linux.mod.
55021 (chain_mod_SOURCES): Renamed to ...
55022 (_chain_mod_SOURCES): ... this.
55023 (chain_mod_CFLAGS): Renamed to ...
55024 (_chain_mod_CFLAGS): ... this.
55025 (linux_mod_SOURCES): Renamed to ...
55026 (_linux_mod_SOURCES): ... this.
55027 (linux_mod_CFLAGS): Renamed to ...
55028 (_linux_mod_CFLAGS): ... this.
55029 (normal_mod_SOURCES): New variable.
55030 (normal_mod_CFLAGS): Likewise.
55031 (normal_mod_ASFLAGS): Likewise.
55032
550332003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
55034
55035 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
55036 possible.
55037
fe6b695a 55038 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 55039 recursively.
55040 (pupa_dl_unref): Unrefer depending modules recursively.
55041 Don't call pupa_dl_unload implicitly, because PUPA can crash if
55042 a module is unloaded before one depending on that module is
55043 unloaded.
55044 (pupa_dl_unload): Unload depending modules explicitly,
55045 if possible.
55046
c04da074 550472003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
55048
55049 * include/pupa/i386/pc/linux.h: New file.
55050 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 55051
c04da074 55052 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
55053 Removed.
55054 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
55055 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
55056 of PUPA_CHAINLOADER_BOOT_SECTOR.
55057
55058 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
55059 (pupa_linux_prot_size): New variable.
55060 (pupa_linux_tmp_addr): Likewise.
55061 (pupa_linux_real_addr): Likewise.
55062 (pupa_linux_boot_zimage): New function.
55063 (pupa_linux_boot_bzimage): Likewise.
55064
55065 * kern/i386/pc/init.c (struct mem_region): New structure.
55066 (MAX_REGIONS): New macro.
55067 (mem_regions): New variable.
55068 (num_regions): Likewise.
55069 (pupa_os_area_addr): Likewise.
55070 (pupa_os_area_size): Likewise.
55071 (pupa_lower_mem): Likewise.
55072 (pupa_upper_mem): Likewise.
55073 (add_mem_region): New function.
55074 (compact_mem_regions): Likewise.
55075 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
55076 the size of the conventional memory and that of so-called upper
55077 memory (before the first memory hole).
55078 Instead of adding each found region to free memory, use
55079 add_mem_region and add them after removing overlaps.
55080 Also, add only 1/4 of the upper memory to free memory. The rest
55081 is used for loading OS images. Maybe this is ad hoc, but this
55082 makes it much easier to relocate OS images when booting.
55083
55084 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
55085 (pupa_enter_rescue_mode): Don't register initrd and module.
55086
55087 * kern/mm.c: Include pupa/dl.h.
55088
55089 * kern/main.c: Include pupa/file.h and pupa/device.h.
55090
55091 * kern/loader.c (pupa_loader_load_module_func): Removed.
55092 (pupa_loader_load_module): Likewise.
55093
55094 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
55095 ``.o''.
55096
55097 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
55098 (pupa_linux_tmp_addr): Likewise.
55099 (pupa_linux_real_addr): Likewise.
55100 (pupa_linux_boot_zimage): Likewise.
55101 (pupa_linux_boot_bzimage): Likewise.
55102
55103 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
55104 (pupa_upper_mem): Likewise.
55105 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
55106 module is too dangerous.
55107
55108 * include/pupa/loader.h (pupa_os_area_addr): Declared.
55109 (pupa_os_area_size): Likewise.
55110 (pupa_loader_set): Remove the first argument. Loader doesn't
55111 manage modules or initrd any longer.
55112 (pupa_loader_load_module): Removed.
55113
55114 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
55115 (linux_mod_SOURCES): New variable.
55116 (linux_mod_CFLAGS): Likewise.
55117
a13f9237 551182003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
55119
55120 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
55121 the length of a blocklist correctly.
55122
55123 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
55124 Use ioctl only if the OS file is a block device.
55125 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
55126 not very useful for normal files.
55127
55128 * kern/main.c (pupa_set_root_dev): New function.
55129 (pupa_load_normal_mode): Likewise.
55130 (pupa_main): Call those above.
55131
55132 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
55133 pupa_uint16_t.
55134
55135 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
55136
a5ffe966 551372003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
55138
55139 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
55140 (setup): Configure the installed partition information and the
55141 dl prefix.
55142
55143 * loader/i386/pc/chainloader.c (my_mod): New variable.
55144 (pupa_chainloader_unload): New function.
55145 (pupa_rescue_cmd_chainloader): Refer itself.
55146 (PUPA_MOD_INIT): Save its own module in MY_MOD.
55147
55148 * kern/i386/pc/startup.S (install_partition): Removed.
55149 (version_string): Likewise.
55150 (config_file): Likewise.
55151 (pupa_install_dos_part): New variable.
55152 (pupa_install_bsd_part): Likewise.
55153 (pupa_prefix): Likewise.
55154 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
55155
55156 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
55157 and pupa/misc.h.
55158 (make_install_device): New function.
55159 (pupa_machine_init): Set the dl prefix.
55160
55161 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
55162 (buf): Renamed to ...
55163 (linebuf): ... this.
55164 (pupa_rescue_cmd_prefix): New function.
55165 (pupa_rescue_cmd_insmod): Likewise.
55166 (pupa_rescue_cmd_rmmod): Likewise.
55167 (pupa_rescue_cmd_lsmod): Likewise.
55168 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
55169 rmmod and lsmod.
55170
55171 * kern/mm.c (pupa_memalign): If failed even after invalidating
55172 disk caches, unload unneeded modules and retry.
55173
55174 * kern/misc.c (pupa_memmove): New function.
55175 (pupa_memcpy): Removed.
55176 (pupa_strcpy): New function.
55177 (pupa_itoa): Made static.
55178
55179 * kern/dl.c (pupa_dl_iterate): New function.
55180 (pupa_dl_ref): Likewise.
55181 (pupa_dl_unref): Likewise.
55182 (pupa_dl_unload): Return if succeeded or not.
55183 (pupa_dl_unload_unneeded): New function.
55184 (pupa_dl_unload_all): Likewise.
55185 (pupa_dl_init): Renamed to ...
55186 (pupa_dl_set_prefix): ... this.
55187 (pupa_dl_get_prefix): New function.
55188
55189 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
55190 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
55191 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
55192 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
55193 (pupa_install_dos_part): Declared.
55194 (pupa_install_bsd_part): Likewise.
55195 (pupa_prefix): Likewise.
55196 (pupa_boot_drive): Likewise.
55197
55198 * include/pupa/types.h: Fix a typo.
55199
55200 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
55201 pupa_memmove.
55202 (pupa_memmove): Declared.
55203 (pupa_strcpy): Likewise.
55204
55205 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
55206 pupa_mod_init takes one argument, its own module.
55207 (pupa_dl_unload_unneeded): Declared.
55208 (pupa_dl_unload_all): Likewise.
55209 (pupa_dl_ref): Likewise.
55210 (pupa_dl_unref): Likewise.
55211 (pupa_dl_iterate): Likewise.
55212 (pupa_dl_init): Renamed to ...
55213 (pupa_dl_set_prefix): ... this.
55214 (pupa_dl_get_prefix): Declared.
55215
55216 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 55217 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 55218 unloaded.
55219 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
55220 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
55221
55222 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
55223 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
55224
012d7999 552252003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55226
55227 * util/i386/pc/pupa-setup.c (setup): Define the internal
55228 function find_first_partition_start at the top level, because GCC
55229 3.0.x cannot compile internal functions in deeper scopes
55230 correctly.
55231 (find_root_device): Use lstat instead of stat.
55232 Don't follow symbolic links.
55233 Fix the path-constructing code.
55234
55235 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
55236 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
55237 by a BLKGETSIZE ioctl first, because block devices don't fill
55238 the member st_mode of the structure stat on Linux.
55239 [__linux__] (linux_find_partition): Use a temporary buffer
55240 REAL_DEV for the working space. Copy it to DEV before returning.
55241 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
55242 buffer cache consistent.
55243 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
55244 strncmp. The previous value was merely wrong.
55245 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
55246
55247 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
55248 FAT size is 12. The previous value was merely wrong.
55249
55250 * kern/main.c (pupa_main): Don't split the starting message from
55251 newlines.
55252
55253 * kern/term.c (pupa_putchar): Put CR after LF instead of before
55254 LF, because BIOS goes crazy about character attributes in this
55255 case.
55256
1cc73a62 552572003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55258
55259 * include/i386/pc/util/biosdisk.h: New file.
55260 * util/i386/pc/biosdisk.c: Likewise.
55261 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 55262
1cc73a62 55263 * Makefile.in (INCLUDE_DISTFILES): Added
55264 include/pupa/i386/pc/util/biosdisk.h.
55265 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
55266 directory util/i386/pc.
55267 (install-local): Added a rule for sbin_UTILITIES.
55268 (uninstall): Likewise.
55269
55270 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
55271
55272 * util/misc.c (xrealloc): New function.
55273 (pupa_malloc): Likewise.
55274 (pupa_free): Likewise.
55275 (pupa_realloc): Likewise.
55276 (pupa_stop): Likewise.
55277 (pupa_putchar): Likewise.
55278
55279 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
55280
55281 * include/pupa/util/misc.h (xrealloc): Declared.
55282
55283 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
55284 macro.
55285 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
55286 (PUPA_BOOT_MACHINE_BPB_END): ... this.
55287
55288 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
55289 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55290
55291 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
55292 way should be implemented.
55293 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55294
55295 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
55296 the size of NAME for safety.
55297 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
55298 0x88.
55299
55300 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
55301 (pupa_setup_SOURCES): Likewise.
55302
55303 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
55304
08b70fe8 553052002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55306
55307 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
55308 bunch of pushl's from pusha, because this destroys the return
55309 value.
55310
62ddcc8f 553112002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55312
55313 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
55314 This means that any missing prototypes could be fatal. Also, you
55315 must take care when writing assembly code. See the comments at
55316 the beginning of startup.S, for more details.
f19dbdb7 55317
62ddcc8f 55318 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
55319 compilation mechanism.
55320 (pupa_chainloader_real_boot): Likewise.
55321 (pupa_biosdisk_rw_int13_extensions): Likewise.
55322 (pupa_biosdisk_rw_standard): Likewise.
55323 (pupa_biosdisk_check_int13_extensions): Likewise.
55324 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
55325 (pupa_biosdisk_get_diskinfo_standard): Likewise.
55326 (pupa_get_memsize): Likewise.
55327 (pupa_get_mmap_entry): Likewise.
55328 (pupa_console_putchar): Likewise.
55329 (pupa_console_setcursor): Likewise.
55330 (pupa_getrtsecs): Use pushl instead of push.
55331
55332 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
55333 memory instead of the stack for a mmap entry, because some
55334 BIOSes may ignore the maximum size and overflow.
55335
55336 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
55337
55338 * genmk.rb (PModule#rule): Compile automatically generated
55339 sources with module-specific CFLAGS as well as other sources.
55340
9962ed99 553412002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55342
55343 * configure.ac: Check ld.
55344 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
55345 respectively, before checking endianness and sizes.
55346
55347 * Makefile.in (LD): New variable.
f19dbdb7 55348
abdfc3c5 553492002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55350
55351 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
55352
6a161fa9 553532002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55354
55355 * Changelog: New file.
55356